update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2011-07-22  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Fput_char_attribute): Accept nil as a value of
4         CCS-feature [it means that specified object does not have
5         code-point of the CCS-feature].
6
7 2011-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * mule-charset.c (complex_vars_of_mule_charset): Use "jisx0208"
10         instead of "jisx0208\\.1990" as the X-registry of `=jis-x0208'.
11
12 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * text-coding.c (char_encode_as_entity_reference): Don't use
15         `DECODE_CHAR' to detect isolated characters.
16
17         * mule-charset.c (charset_code_point): Change the third argument
18         `defined_only' to `accepted_mode'; `accepted_mode' can be
19         CHAR_ISOLATED_ONLY, CHAR_ALL or CHAR_DEFINED_ONLY.
20
21         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
22         (CHAR_ALL): New macro.
23         (CHAR_DEFINED_ONLY): New macro.
24
25 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
26
27         * chartab.c (Fchar_feature_base_name_eq): New function when
28         UTF2000 is enabled.
29         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
30         (syms_of_chartab): Add new builtin function
31         `char-feature-base-name=' when UTF2000 is enabled.
32
33 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
34
35         * text-coding.c (Vdecomposition_feature_list): New variable when
36         UTF2000 is defined.
37         (char_encode_utf8): Refer variable `decomposition-feature-list'
38         instead of `=decomposition' feature.
39         (vars_of_file_coding): Add new variable
40         `decomposition-feature-list' when UTF2000 is defined.
41
42 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
43
44         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
45         `=decomposition' feature.
46
47 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
48
49         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
50         coded-charsets with builtin characters.
51
52 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
53
54         * text-coding.c (Qrep_decomposition): New extern.
55         (char_encode_utf8): Try to encode as combing sequence (or IVS).
56
57 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
58
59         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
60         "#endif" for code to refer Vchise_system_db_directory.
61
62 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
65         (Fconcord_object_adjoin): New function.
66         (Fconcord_object_adjoinX): New function.
67         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
68         `Fconcord_object_adjoinX'.
69
70 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * concord.c:
73         - Include "elconcord.h".
74         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
75           and `Fconcord_object_get' to elconcord.h.
76         (Lisp_CONCORD_DS): Moved to elconcord.h.
77         (struct Lisp_CONCORD_DS): Ditto.
78         (XCONCORD_DS): Ditto.
79         (XSET_CONCORD_DS): Ditto.
80         (CONCORD_DS_P): Ditto.
81         (CHECK_CONCORD_DS): Ditto.
82         (CONCHECK_CONCORD_DS): Ditto.
83         (Lisp_CONCORD_Object): Ditto.
84         (struct Lisp_CONCORD_Object): Ditto.
85         (XCONCORD_OBJECT): Ditto.
86         (XSET_CONCORD_OBJECT): Ditto.
87         (CONCORD_OBJECT_P): Ditto.
88         (CHECK_CONCORD_OBJECT): Ditto.
89         (CONCHECK_CONCORD_OBJECT): Ditto.
90         (CONCORD_OBJECT_GENRE): Ditto.
91         (CONCORD_OBJECT_ID): Ditto.
92         (XCONCORD_OBJECT_ID): Ditto.
93         (XCONCORD_OBJECT_GENRE): Ditto.
94         (concord_object_equal): New function.
95         (LRECORD_IMPLEMENTATION of "concord_object"): Use
96         `concord_object_equal'.
97
98         * elconcord.h: New file.
99
100 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * concord.c (print_concord_object): Use readable form even if
103         `print-readably' is nil.
104
105 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * concord.c (print_concord_object): Don't display location of
108         data-source when `print-readably' is nil.
109
110 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
113         the default location of data-source.
114         (complex_vars_of_concord): Use Vchise_system_db_directory to
115         assign genre `character' and `feature'.
116
117         * chartab.h (Vchise_system_db_directory): New extern when
118         HAVE_CONCORD is defined.
119
120 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
123         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
124         (Qfeature): Ditto.
125         (Fconcord_object_genre): New function.
126         (syms_of_concord):
127         - Add new builtin symbols `character' and `feature' when
128           HAVE_LIBCHISE is defined.
129         - Add Add new builtin function `concord-object-genre'.  
130         (complex_vars_of_concord): New function; assign genres `character'
131         and `feature' when HAVE_LIBCHISE is defined.
132
133 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * emacs.c (main_1): Call `complex_vars_of_concord' when
136         HAVE_CONCORD is defined.
137
138         * symsinit.h (complex_vars_of_concord): New prototype.
139
140 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * chartab.c (allocate_character): Add `static'.
143
144 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * chartab.c (allocate_character): New function.
147         (Fdefine_char): Use allocate_character().
148
149 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
152         (Ōkawara).
153
154 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * chartab.c (save_uint8_byte_table): Fixed problem when a property
157         is unloaded.
158         (save_uint16_byte_table): Likewise.
159
160 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * chartab.c (Fchar_feature_property): New function when LIBCHISE
163         is enabled.
164         (Fput_char_feature_property): Likewise.
165         (syms_of_chartab): Add new builtin functions
166         `char-feature-property' and `put-char-feature-property' when
167         LIBCHISE is enabled.
168
169 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
172         '=>iso-ir.
173         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
174
175 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
178         (make_charset): Add new argument `iso_ir'.
179         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
180         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
181         XEmacs CHISE.
182         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
183         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
184         XEmacs CHISE.
185         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
186         function `make_charset'.
187
188         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
189         (struct Lisp_Charset): Add new member `iso_ir'.
190         (CHARSET_ISO_IR): New macro.
191
192 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
195         code-point by GL charset.
196
197 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * concord.c (concord_id_validate): New function.
200         (structure_type_create_concord): Use `concord_id_validate' instead
201         of `concord_name_validate' to accept integer and character as =id.
202
203 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * concord.c (func_for_each_object): Fix bug about GC-protection.
206
207 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * concord.c (Fconcord_object_put): Check argument FEATURE is a
210         symbol.
211
212 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * text-coding.c (struct decoding_stream): Add new member
215         `bom_flag' in XEmacs CHISE.
216         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
217         in XEmacs CHISE.
218
219 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * mule-charset.c: Move definition of `=jis-x0208@1978' to
222         lisp/mule/mule-conf.el.
223
224 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
227         (make_charset): Add new argument `partial'.
228         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
229         (Fmake_reverse_direction_charset): Modify for `make_charset'.
230         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
231         CHISE.
232         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
233         `=jis-x0208' as a partial coded-charset.
234
235 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * text-coding.c (decode_add_er_char): Fix problem when a character
238         represented by an entity-reference is not defined.
239
240 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
243         Qrep_*.
244
245 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
248         (Kasagi).
249
250 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
253         is a relation feature.
254
255 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * chartab.c (syms_of_chartab): Define
258         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
259
260         * chartab.h (Q_denotational): New extern when UTF2000 or
261         HAVE_CONCORD is defined.
262         (Q_denotational_from): Likewise.
263         (Q_subsumptive): Likewise.
264         (Q_subsumptive_from): Likewise.
265
266 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * concord.c (concord_object_put): New function.
269         (Fconcord_object_put): Use `concord_object_put'.
270
271 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * concord.c (Fconcord_define_object): New function.
274         (syms_of_concord): Add new builtin function
275         `concord-define-object'.
276
277 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
280         (Kamo).
281
282 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * concord.c: Add EXFUN for Fconcord_object_get.
285         (Vconcord_genre_object_hash_table): New variable.
286         (concord_genre_cache_get_object): New function.
287         (concord_genre_cache_put_object): New function.
288         (Fconcord_make_object): Use object cache; put object-ID into `=id'
289         feature.
290         (Fconcord_object_put): Call `concord_index_sync' after
291         `concord_index_strid_put_obj'.
292         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
293
294 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
295
296         * concord.c (Fconcord_decode_object): Do GCPRO for
297         Fconcord_make_object.
298         (func_for_each_object): Likewise; do GCPRO for
299         for_each_object_closure->function.
300         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
301         for_each_object_closure->function, for_each_object_closure->genre,
302         for_each_object_closure->ds and for_each_object_closure->ret.
303         (concord_object_validate): Do GCPRO for Fconcord_make_object.
304
305 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * concord.c: Add EXFUNs for Fconcord_decode_object and
308         Fconcord_object_put.
309         (Fconcord_make_object): Change order of arguments.
310         (Fconcord_decode_object): Modify for Fconcord_make_object.
311         (func_for_each_object): Likewise.
312         (concord_object_validate): Likewise.
313         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
314
315 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
318
319 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
320
321         * concord.c (Fconcord_decode_object): Try to use readable print
322         form as a key of Concord-index.
323         (Fconcord_object_get): Try to use readable print form as an ID of
324         Concord-object.
325         (Fconcord_object_put): Try to use readable print form as an ID of
326         Concord-object and a feature value.
327         (Fconcord_object_spec): Try to use readable print form as an ID of
328         Concord-object.
329
330 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * concord.c (print_concord_object): Support readable form.
333
334 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * emacs.c (main_1): Call `structure_type_create_concord' when
337         HAVE_CONCORD is defined.
338
339         * symsinit.h (structure_type_create_concord): New prototype.
340
341         * concord.c (Qconcord_object): New variable.
342         (Qgenre): Likewise.
343         (Q_id): Likewise.
344         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
345         for directory.
346         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
347         char*> for genre-name.
348         (Fconcord_feature_list): Likewise.
349         (Fconcord_make_object): Likewise.
350         (Fconcord_decode_object): Likewise; use <char*> instead of
351         <unsigned char*> for feature_name and strid.
352         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
353         c_obj and feature_name.
354         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
355         char*> for c_value.
356         (struct closure_for_object_spec): Use <char*> instead of <unsigned
357         char*> for member `object_id'.
358         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
359         char*> for feature-name.
360         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
361         for c_obj.
362         (func_for_each_object): Cast to avoid warnings.
363         (Fconcord_foreach_object_in_feature): Use <char*> instead of
364         <unsigned char*> for genre_name and feature_name.
365         (concord_name_validate): New function.
366         (concord_object_validate): Likewise.
367         (concord_object_instantiate): Likewise.
368         (syms_of_concord): Add new builtin symbols `concord-object',
369         `genre' and `=id'.
370         (structure_type_create_concord): New function.
371
372 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * concord.c (Vconcord_ds_hash_table): New variable.
375         (Vconcord_genre_hash_table): New variable.
376         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
377         (Fconcord_ds_directory): New function.
378         (Fconcord_assign_genre): New function.
379         (Fconcord_genre_directory): New function.
380         (Fconcord_genre_ds): New function.
381         (Fconcord_feature_list): Allow to omit `ds'.
382         (Fconcord_make_object): Likewise.
383         (Fconcord_decode_object): Likewise.
384         (Fconcord_foreach_object_in_feature): Likewise.
385         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
386         Fconcord_assign_genre, Fconcord_genre_directory and
387         Fconcord_genre_ds.
388         (vars_of_concord): Setup Vconcord_ds_hash_table and
389         Vconcord_genre_hash_table.
390
391 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * concord.c (struct closure_for_each_object): Add new member
394         `ret'.
395         (func_for_each_object): Setup the return value to
396         `for_each_object_closure->ret'.
397         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
398         returns the value instead of Qt.
399
400 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * concord.c: New file.
403
404 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
407         `lrecord_type_concord_object'.
408
409 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * symsinit.h (syms_of_concord): New prototype.
412         (vars_of_concord): New prototype.
413
414         * emacs.c (main_1): Setup symbols and variable about concord if
415         HAVE_CONCORD is defined.
416
417         * config.h.in (HAVE_CONCORD): New macro.
418
419 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * chartab.c (Fput_char_attribute): For each character relation
422         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
423
424 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
425
426         * chartab.c (Fput_char_attribute): Use
427         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
428         calling `put_char_composition'.
429
430 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * chartab.c (Q_halfwidth_of): New variable.
433         (put_char_composition): Return `<-halfwidth' instead of
434         `=decomposition' for compatibility mapping to single character
435         tagged `narrow'.
436         (Fput_char_attribute): Convert char-specs in value of
437         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
438         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
439         for `<-halfwidth'.
440         (syms_of_chartab): Add new symbol `<-halfwidth'.
441
442 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * chartab.c (put_char_composition): Return
445         `<-formed@{isolated|initial|medial|final}' for compatibility
446         mapping to single character tagged
447         `{isolated|initial|medial|final}'.
448
449 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * chartab.c (Q_compat_of): Deleted.
452         (put_char_composition): Return `<-FOO' for compatibility mapping
453         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
454         of `symbol_name (XSYMBOL(...))'.
455         (Fput_char_attribute): Convert char-specs in value of
456         `{<-|->}font[^*]*' to characters and put reverse links.
457         (Fsave_char_attribute_table): Don't refer Q_compat_of.
458         (syms_of_chartab): Delete builtin symbol `<-compat'.
459
460 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
461
462         * chartab.c (Q_circled_of): New variable.
463         (put_char_composition): Return `<-circled' instead of
464         `=decomposition' for compatibility mapping to single character
465         tagged `circle'.
466         (Fput_char_attribute): Convert char-specs in value of
467         `{<-|->}circled[^*]*' to characters and put reverse links.
468         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
469         for `<-circled'.
470         (syms_of_chartab): Add new symbol `<-circled'.
471
472 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * chartab.c (Qto_decomposition_at_circled): New variable.
475         (put_char_composition): Return `=>decomposition@circled' instead
476         of `=decomposition' for compatibility decomposition mapping tagged
477         `circle'.
478         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
479
480 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c (Q_subscript_of): New variable.
483         (put_char_composition): Return `<-subscript' instead of
484         `=decomposition' for compatibility mapping to single character
485         tagged `sub'.
486         (Fput_char_attribute): Convert char-specs in value of
487         `{<-|->}subscript[^*]*' to characters and put reverse links.
488         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
489         for `<-subscript'.
490         (syms_of_chartab): Add new symbol `<-subscript'.
491
492 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * chartab.c (Q_superscript_of): New variable.
495         (put_char_composition): Return `<-superscript' instead of
496         `=decomposition' for compatibility mapping to single character
497         tagged `super'.
498         (Fput_char_attribute): Convert char-specs in value of
499         `{<-|->}superscript[^*]*' to characters and put reverse links.
500         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
501         for `<-superscript'.
502         (syms_of_chartab): Add new symbol `<-superscript'.
503
504 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (Qto_decomposition_at_compat): Deleted.
507         (Qto_decomposition_at_superscript): New variable.
508         (put_char_composition): Use `=>decomposition@superscript' instead
509         of `=decomposition' for compatibility decomposition mapping tagged
510         `super'.
511         (Fput_char_attribute): Fix condition about `put_char_composition'.
512         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
513         add news symbol `=>decomposition@superscript'.
514
515 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
518         for compatibility decomposition mapping tagged FOO.
519         (Fput_char_attribute): Modify for `put_char_composition'.
520
521 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * chartab.c (Qto_decomposition_at_compat): New variable.
524         (Q_compat_of): Renamed from `Q_compatibility_of'.
525         (put_char_composition): Rename `Q_compatibility_of' to
526         `Q_compat_of'; return `=>decomposition@compat' for compatibility
527         decomposition mapping.
528         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
529         `Q_compat_of'.
530         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
531         `<-compatibility' to `<-compat'.
532
533 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * chartab.c (Q_compatibility_of): New variable.
536         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
537         object is proved to be a cons cell; return `<-compatibility' if
538         the first element of argument `value' is `compat'.
539         (Fput_char_attribute): Eliminate the first value if
540         `put_char_composition' returns `<-compatibility'.
541         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
542         for `<-compatibility'.
543         (syms_of_chartab): Add new symbol `<-compatibility'.
544
545 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * chartab.c (Q_canonical): New variable.
548         (put_char_composition): Return a feature name: return
549         `->canonical' if argument `value' specifies single character.
550         (Fput_char_attribute): Use `put_char_composition' to determine
551         feature name for `=decomposition' or `->denotational'.
552         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
553         for `->canonical'.
554         (syms_of_chartab): Add new symbol `->canonical'.
555
556 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * chartab.c (Qmap_decomposition): New variable.
559         (Fput_char_attribute): Convert `->decomposition' to
560         `=decomposition'.
561         (syms_of_chartab): Add new symbol `=decomposition'.
562
563 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * chartab.c (Fget_range_char_table): Fix serious problem when
566         `range' is nil.
567
568 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * chartab.c (char_table_get_db): Use `read_from_c_string'.
571
572 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
573
574         * lread.c (read_from_c_string): New function.
575
576         * lisp.h (read_from_c_string): New prototype.
577
578 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * chartab.c (Fput_char_attribute): Convert char-specs in value of
581         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
582         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
583         for `{<-|->}Oracle-Bones[^*]*'.
584
585 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
588         (Kizu).
589
590 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
591
592         * text-coding.c (Qccs_priority_list): New variable in XEmacs
593         CHISE.
594         (Fmake_coding_system): Support new property `ccs-priority-list' in
595         XEmacs CHISE.
596         (Fcoding_system_property): Likewise.
597         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
598         Vdefault_coded_charset_priority_list in XEmacs CHISE.
599         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
600         XEmacs CHISE.
601         (complex_vars_of_file_coding): Define new coding-system-property
602         `ccs-priority-list' in XEmacs CHISE.
603
604         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
605
606 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
609         changed to normal function.
610         (encode_char_2): Likewise.
611
612         * mule-charset.c (decoding_table_put_char): Copied from
613         char-ucs.h; changed to normal function.
614         (encode_char_2): Likewise.
615
616 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
619         New extern.
620         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
621         (encode_char_2_search_children): New inline function.
622         (encode_char_2): Refer
623         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
624         and use `encode_char_2_search_children'.
625
626 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * mule-charset.c
629         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
630         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
631         (vars_of_mule_charset): Add new variable
632         `display-coded-charset-priority-use-inheritance' and
633         `display-coded-charset-priority-use-hierarchy-order'.
634
635 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * char-ucs.h (Q_subsumptive): New extern.
638         (Q_denotational): Likewise.
639         (encode_char_2): Search children specified by `->subsumptive' and
640         `->denotational'.
641
642 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * mule-charset.c (complex_vars_of_mule_charset): Modify the
645         X-registry of `ucs-bmp'.
646
647 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * chartab.c (char-variants): Refer `->subsumptive',
650         `->denotational' and `->identical' as same as `->ucs-unified'.
651
652 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * chartab.c (Fput_char_attribute): Convert char-specs in value of
655         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
656         links.
657
658 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * text-coding.c: Add EXFUN for `Fregexp_quote'.
661         (decode_add_er_char): Fix problem about infinite loop when a CCS
662         specified in `coded-charset-entity-reference-alist' is not
663         existed.
664
665 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * mule-charset.c (syms_of_mule_charset): Rename
668         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
669
670 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * fns.c (simplify_char_spec): Don't allocate new character-object
673         if specified char_spec does not have any CCS-features.
674
675         * chartab.h: Add EXFUN for Fdefine_char.
676
677         * chartab.c: Delete EXFUN for Fdefine_char.
678
679 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * fns.c (simplify_char_spec): Use Fdefine_char instead of
682         Ffind_char for char-spec.
683
684 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * lisp-disunion.h (XCHARVAL): Fix condition about
687         SIZEOF_EMACS_INT.
688
689 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
692         <int> for `code'.
693         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
694         point; use <Emchar> instead of <int> for character-id.
695
696 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
699         (make_char): Likewise.
700         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
701         environment.
702         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
703         instead of <int> as the type of return value; use <Lisp_Object>
704         instead of <Emchar> as the type of argument.
705         (XCHARVAL[macro version]): Cast the result into <Emchar>.
706
707         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
708         syntaxcode> instead of <int>.
709
710 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * chartab.c (put_char_composition): Use DECODE_CHAR to get
713         character corresponding with UCS code point.
714         (Fput_char_attribute): Likewise.
715
716         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
717         character in the UCS decoding-table if the char-id is not equal to
718         the UCS code point.
719
720 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
721
722         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
723         for aliases; write `description'; write
724         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
725         not 0.
726
727 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * chartab.c (Fsave_char_attribute_table): Don't use
730         `save_charset_properties'.
731
732         * mule-charset.c (Fsave_charset_properties): Renamed from
733         `save_charset_properties' and changed to Lisp function again;
734         write property `type' as `CCS'; write properties `final-byte' and
735         `mother' if they exists.
736         (syms_of_mule_charset): Revive builtin function
737         `save-charset-properties' when HAVE_LIBCHISE is defined.
738
739 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
742         instead of Vexec_directory.
743         (char_attribute_system_db_file): Likewise.
744
745 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * chartab.c (Fsave_char_attribute_table): Use
748         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
749         defined.
750
751         * mule-charset.c (save_charset_properties): Renamed from
752         `Fsave_charset_properties'; changed to non-Lisp function.
753         (syms_of_mule_charset): Abolish builtin function
754         `save-charset-properties'.
755
756 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * mule-charset.c (Fsave_charset_properties): New function when
759         HAVE_LIBCHISE is defined.
760         (syms_of_mule_charset): Add new builtin function
761         `save-charset-properties' when HAVE_LIBCHISE is defined.
762
763 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * chartab.c (Fput_char_attribute): Convert char-specs in value of
766         `{<-|->}ancient[^*]*' to characters and put reverse links.
767         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
768         for `{<-|->}ancient[^*]*'.
769
770 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * chartab.c (Fput_char_attribute): Convert char-specs in value of
773         `{<-|->}original[^*]*' to characters and put reverse links.
774         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
775         for `{<-|->}original[^*]*'.
776
777 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
780
781 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * mule-charset.c (Qsystem_char_id): New variable.
784
785         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
786         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
787
788 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * chartab.c (Fput_char_attribute): When processing a reference of
791         a character, put into the end of the reversed reference of each
792         target character.
793
794 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * chartab.c (Q_same): Deleted.
797         (Q_same_of): Deleted.
798         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
799         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
800         for `{<-|->}same'.
801         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
802
803 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
804
805         * chartab.c (Q_vulgar): Deleted.
806         (Q_vulgar_of): Deleted.
807         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
808         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
809         for `{<-|->}vulgar'.
810         (syms_of_chartab): Don't define `{<-|->}vulgar'.
811
812 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
813
814         * chartab.c (Fput_char_attribute): Convert char-specs in value of
815         `{<-|->}wrong[^*]*' to characters and put reverse links.
816         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
817         for `{<-|->}wrong[^*]*'.
818
819 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * chartab.c (Q_vulgar): New variable.
822         (Q_vulgar_of): New variable.
823         (Fput_char_attribute): Convert char-specs in value of
824         `{->|<-}vulgar' to characters and put reverse links.
825         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
826         for `{->|<-}vulgar'.
827         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
828
829 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * text-coding.c (decode_add_er_char): Must to quote prefix string
832         as regexp.
833
834 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * mule-charset.c (put_char_ccs_code_point): Store characters of
837         =ucs whose code_points >= 0xF0000.
838
839 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
842         CHISE.
843         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
844         CHISE.
845         (complex_vars_of_mule_charset): Add new coded-charset
846         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
847         builtin characters over 0xEFFFF.
848
849         * chartab.c (syms_of_chartab): Don't define symbol
850         `system-char-id' in every case.
851
852         * char-ucs.h (Qsystem_char_id): New extern variable.
853         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
854
855 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * text-coding.c (char_encode_utf8): Try to use entity-references
858         for U-000F0000 ...  U-0010FFFF.
859
860 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * text-coding.c (ER_BUF_SIZE): New macro.
863         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
864         `er_buf'.
865         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
866         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
867
868 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * chartab.c (find_char_feature_in_family): New function.
871         (Fchar_feature): Use `find_char_feature_in_family' with
872         `->identical', `<-subsumptive' and `<-denotational'.
873
874 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * text-coding.c (char_encode_as_entity_reference): Allow prefix
877         within 8 characters; fix infinite loop.
878
879 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
880
881         * chartab.c (Q_same): New variable.
882         (Q_same_of): New variable.
883         (Fput_char_attribute): Convert char-specs in value of
884         `{->|<-}same' to characters and put reverse links.
885         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
886         for `{->|<-}same'.
887         (syms_of_chartab): Add new symbols `{->|<-}same'.
888
889 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * chartab.c (Q_component): New variable.
892         (Q_component_of): Likewise.
893         (Fput_char_attribute): Convert char-specs in value of
894         `{->|<-}ideographic-component-forms' to characters and put reverse
895         links.
896         (syms_of_chartab): Add new symbols
897         `{->|<-}ideographic-component-forms'.
898
899 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
900
901         * chartab.c (Q_identical): New variable.
902         (Q_identical_from): New variable.
903         (Fchar_feature): Regard `->identical' as a feature to find
904         ancestors.
905         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
906         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
907         for `{->|<-}identical'.
908         (syms_of_chartab): Add new symbols `{->|<-}identical'.
909
910 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
911
912         * char-ucs.h (encode_char_2): New inline function.
913         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
914
915 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * chartab.c (Fput_char_attribute): Convert char-specs to
918         characters in value of `ideographic-structure'.
919         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
920         for `{<-|->}simplified(@...)'.
921         (Fdefine_char): Try to use predefined character's id.
922
923 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * fns.c (simplify_char_spec): Try to convert builtin chars to
926         defined chars.
927
928 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
929
930         * chartab.c (Fput_char_attribute): Convert char-specs in value of
931         `<-simplified[^*]*' to characters and put reverse links.
932
933 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * chartab.c (Q_subsumptive): Renamed from Q_unified.
936         (Q_subsumptive_from): Renamed from Q_unified_from.
937         (Fchar_feature): Use `Q_subsumptive_from' instead of
938         `Q_unified_from'.
939         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
940         `Q_unified'.
941         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
942         `<-unified' to `<-subsumptive'.
943
944 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
947         inheritance itself; fix typo; stop recursive search if cyclic
948         inheritance is found.
949
950 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * chartab.c (Q_denotational): New variable.
953         (Q_denotational_from): New variable.
954         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
955         (put_char_attribute): New function.
956         (Fput_char_attribute): Use `put_char_attribute'; regard
957         `->denotational' and `<-denotational' as same as `->unified' and
958         `<-unified'.
959         (syms_of_chartab): Add new symbols `->denotational' and
960         `<-denotational'.
961
962 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
963
964         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
965         `Fget_char_attribute'.
966         (Fchar_variants): Likewise.
967         (get_char_table): Likewise.
968         (Fchar_feature): New function.
969         (put_char_composition): Use `Fchar_feature' instead of
970         `Fget_char_attribute'.
971         (Fput_char_attribute): Likewise; don't put the target character
972         into its `->unified' value.
973         (syms_of_chartab): Add new builtin function `char-feature'.
974
975 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
978         `Fget_char_attribute'.
979         (char_encode_utf8): Likewise.
980
981         * chartab.h: Add an EXFUN for `Fchar_feature'.
982
983 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
984
985         * chartab.c (Vnext_defined_char_id): New variable.
986         (Fput_char_attribute): Accept characters in `->unified'.
987         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
988         new characters which are not related with builtin char-id ranges.
989         (vars_of_chartab): Add new variable `next-defined-char-id'.
990
991 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
992
993         * chartab.c (Q_unified): New variable.
994         (Q_unified_from): New variable.
995         (Fput_char_attribute): Add code for `->unified'.
996         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
997         XEmacs CHISE.
998
999 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1000
1001         * mule-charset.c (decode_ccs_conversion): New function.
1002         (decode_defined_char): Use `decode_ccs_conversion'.
1003         (decode_builtin_char): Likewise.
1004
1005 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * char-ucs.h: Change some charset-ids of private coded-charsets.
1008
1009 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
1012         (char_encode_as_entity_reference): Likewise.
1013         (decode_coding_big5): Modify for `decode_defined_char' and
1014         `DECODE_CHAR'.
1015         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1016         avoid compiler warning.
1017         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1018
1019         * mule-charset.c (decode_defined_char): Add new argument
1020         `without_inheritance'.
1021         (Fdecode_char): Add new optional argument `without_inheritance'.
1022         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1023
1024         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1025         (simplify_char_spec): Likewise.
1026
1027         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1028         setting.
1029
1030         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1031         (map_char_table): Likewise.
1032         (Fdefine_char): Use `Fdecode_char' without inheritance.
1033         (Ffind_char): Modify for `Fdecode_char'.
1034
1035         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1036
1037         * char-ucs.h (decode_defined_char): Add new argument
1038         `without_inheritance'.
1039         (DECODE_CHAR): Likewise.
1040         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1041
1042 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.c (Vchise_system_db_directory): New variable.
1045         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1046
1047 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1048
1049         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1050         (print_chartab_range): Don't define when `UTF2000' is defined.
1051         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1052         `CHISE_DS_open'.
1053
1054 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1055
1056         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1057         and optional argument `rehash' is specified, call
1058         `open_chise_data_source_maybe' before
1059         `chise_ds_foreach_char_feature_name' is called.
1060
1061 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1062
1063         * chartab.c (char_attribute_list_reset_map_func): New function
1064         when HAVE_LIBCHISE is defined.
1065         (Fchar_attribute_list): Add new optional argument `rehash' when
1066         HAVE_LIBCHISE is defined.
1067         (open_chise_data_source_maybe): Use "chise-db" instead of
1068         "char-db".
1069         (char_attribute_system_db_file): Likewise.
1070         (Fload_char_attribute_table): Use
1071         `chise_feature_foreach_char_with_value' instead of
1072         `chise_char_feature_value_iterate'.
1073
1074 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1075
1076         * chartab.c (Vchise_db_directory): New variable.
1077         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1078
1079 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1082         instead of HAVE_CHISE to specify using with libchise.
1083
1084         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1085
1086         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1087
1088         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1089         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1090         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1091         is defined.
1092         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1093         HAVE_CHISE to specify using with libchise.
1094         (syms_of_chartab): Don't define symbol `system-char-id' when
1095         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1096
1097 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1100         specify CHISE DB support.
1101         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1102         of `char_attribute_system_db_file' to check feature DB file.
1103
1104         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1105         HAVE_CHISE_CLIENT to specify CHISE DB support.
1106
1107         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1108         specify CHISE DB support.
1109         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1110         not defined.
1111         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1112         instead of `char_attribute_system_db_file' to check feature DB
1113         file.
1114
1115 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1118         `HAVE_CHISE_CLIENT'.
1119
1120 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1123         (Fsave_charset_mapping_table): Don't use
1124         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1125
1126         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1127         (HAVE_LIBCHISE): New macro.
1128
1129         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1130
1131         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1132         (Fsave_char_attribute_table): Don't use
1133         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1134
1135 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1138         defined.
1139         (save_uint16_byte_table): Likewise.
1140         (save_byte_table): Likewise.
1141         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1142         instead of `chise_char_load_feature_value'.
1143         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1144
1145 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * chartab.h (struct Lisp_Char_Table): Delete member
1148         `feature_table' if CHISE is defined.
1149
1150         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1151         (Fcopy_char_table): Likewise.
1152         (char_table_open_db_maybe): Likewise.
1153         (char_table_close_db_maybe): Likewise.
1154         (char_table_get_db): Likewise.
1155         (Fmount_char_attribute_table): Likewise.
1156         (Fload_char_attribute_table): Likewise.
1157
1158 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * mule-charset.c (load_char_decoding_entry_maybe): Use
1161         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1162         `chise_ccs_decode'.
1163
1164 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1165
1166         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1167         instead of `chise_open_data_source'.
1168         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1169         `chise_ds_close'.
1170
1171 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1174         instead of `chise_ds_open_feature_table'.
1175         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1176
1177 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c (Fsave_charset_mapping_table): Use
1180         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1181         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1182         `chise_ccs_sync' instead of `chise_ccst_close'.
1183         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1184
1185         * chartab.c (open_chise_data_source_maybe): Modify for
1186         `chise_open_data_source'.
1187         (char_table_open_db_maybe): Modify for
1188         `chise_ds_open_feature_table'.
1189
1190 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1191
1192         * mule-charset.c (load_char_decoding_entry_maybe): Use
1193         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1194         `chise_ccst_close'.
1195
1196 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1197
1198         * mule-charset.c (Fsave_charset_mapping_table): Use
1199         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1200         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1201         `chise_dt_put_char' and `chise_dt_close'.
1202         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1203         `chise_ccs_decode' and `chise_ccst_close' instead of
1204         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1205         `chise_dt_close'.
1206
1207         * chartab.c (char_table_get_db): Use
1208         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1209         (load_char_attribute_table_map_func): Modify for
1210         `chise_char_feature_value_iterate'.
1211         (Fload_char_attribute_table): Use
1212         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1213
1214 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1215
1216         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1217
1218 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1219
1220         * chartab.c (put_char_table): Modify for inherited coded-charsets
1221         in XEmacs CHISE.
1222
1223 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1224
1225         * chartab.c (Fput_char_table_map_function): Fixed.
1226         (word_boundary_p): Don't check charset in XEmacs CHISE.
1227
1228 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1229
1230         * mule-charset.c (Fsave_charset_mapping_table): Use
1231         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1232         instead of `chise_open_decoding_table'; refer
1233         `default_chise_data_source'; use `chise_dt_close' instead of
1234         `chise_close_decoding_table'.
1235         (load_char_decoding_entry_maybe): Likewise.
1236
1237         * chartab.c (default_chise_data_source): New variable when `CHISE'
1238         is defined.
1239         (Fcopy_char_table): `ct->ds' is deleted.
1240         (open_chise_data_source_maybe): New function.
1241         (Fclose_char_data_source): New function.
1242         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1243         use `chise_ds_open_feature_table' instead of
1244         `chise_open_feature_table'.
1245         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1246         `chise_close_feature_table'; `cit->ds' is deleted.
1247         (syms_of_chartab): Add new builtin function
1248         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1249
1250         * chartab.h (default_chise_data_source): New extern variable.
1251         (open_chise_data_source_maybe): New prototype.
1252         (struct Lisp_Char_Table): Delete `ds'.
1253
1254 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1257         `CHISE' is defined.
1258
1259 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1262         not defined; add code for non-libchise setting.
1263         (char_table_close_db_maybe): Likewise.
1264         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1265         defined.
1266         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1267         even if `CHISE' is not defined.
1268         (Freset_char_attribute_table): Likewise.
1269         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1270         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1271         `char_table_get_db'.
1272         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1273         `char_table_close_db_maybe' even if `CHISE' is not defined.
1274
1275 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * chartab.c (char_table_open_db_maybe): New function.
1278         (char_table_close_db_maybe): New function.
1279         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1280         (Freset_char_attribute_table): Likewise.
1281         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1282         `char_table_close_db_maybe'.
1283         (Fload_char_attribute_table): Likewise.
1284
1285 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * chartab.c: Don't include <chise.h> because it is included in
1288         chartab.h.
1289         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1290         defined.
1291         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1292         `CHISE' is defined.
1293         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1294         `CHISE' is defined.
1295         (Fclose_char_attribute_table): Close `ct->feature_table' and
1296         `ct->ds' when `CHISE' is defined.
1297         (Freset_char_attribute_table): Likewise.
1298         (load_char_attribute_maybe): Use `cit->ds' and
1299         `cit->feature_table' when `CHISE' is defined.
1300         (Fload_char_attribute_table): Likewise.
1301
1302         * chartab.h: Include <chise.h> when `CHISE' is defined.
1303         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1304         when `CHISE' is defined.
1305
1306 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1307
1308         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1309         is defined.
1310         (char_table_description): Likewise.
1311         (Fmake_char_table): Likewise.
1312         (Fcopy_char_table): Likewise.
1313         (Fmount_char_attribute_table): Likewise.
1314         (Fclose_char_attribute_table): Likewise.
1315         (Freset_char_attribute_table): Likewise.
1316         (load_char_attribute_maybe): Likewise.
1317         (Fload_char_attribute_table): Likewise.
1318
1319         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1320         defined.
1321
1322 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1323
1324         * chartab.c (load_char_attribute_table_map_func): New function
1325         when CHISE is defined.
1326         (Qload_char_attribute_table_map_function): Don't define when CHISE
1327         is defined.
1328         (Fload_char_attribute_table_map_function): Likewise.
1329         (Fload_char_attribute_table): Use libchise when `CHISE' is
1330         defined.
1331         (syms_of_chartab): Don't define
1332         `load-char-attribute-table-map-function' when CHISE is defined.
1333
1334 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1335
1336         * chartab.c: Include <chise.h> when `CHISE' is defined.
1337         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1338
1339 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1340
1341         * mule-charset.c (charset_code_point): Fix problem when searching
1342         in mother CCS fails with `defined_only' mode.
1343
1344 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1345
1346         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1347         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1348         (put_char_composition): Likewise.
1349         (Fput_char_attribute): Likewise.
1350         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1351
1352 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1353
1354         * chartab.c (Q_ucs): Deleted.
1355         (Fput_char_attribute): Don't refer `->ucs'.
1356         (Fdefine_char): Likewise.
1357         (Ffind_char): Likewise.
1358         (syms_of_chartab): Delete `->ucs'.
1359
1360 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * mule-charset.c (Qmap_cns11643_2): Renamed from
1363         `Qchinese_cns11643_2'.
1364         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1365         `chinese-cns11643-2'.
1366         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1367         `=cns11643-2'.
1368
1369 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1370
1371         * mule-charset.c (Qmap_cns11643_1): Renamed from
1372         `Qchinese_cns11643_1'.
1373         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1374         `chinese-cns11643-1'.
1375         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1376         `=cns11643-1'.
1377
1378 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1379
1380         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1381         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1382         `chinese-gb12345'.
1383         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1384         `=gb12345'.
1385
1386 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1387
1388         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1389         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1390         `chinese-gb2312'.
1391         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1392         `=gb2312'.
1393
1394 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1395
1396         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1397         (syms_of_mule_charset): Add new symbol `=big5' instead of
1398         `chinese-big5'.
1399         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1400
1401 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1404         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1405         `korean-ksc5601'.
1406         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1407         `=ks-x1001'.
1408
1409 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1410
1411         * mule-charset.c (Qmap_jis_x0212): Renamed from
1412         `Qjapanese_jisx0212'.
1413         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1414         `japanese-jisx0212'.
1415         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1416         `=jis-x0212'.
1417
1418 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1419
1420         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1421         `Qjapanese_jisx0208'.
1422         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1423         of `japanese-jisx0208'.
1424         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1425         `=jis-x0208-1983'.
1426
1427 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1430         `Qjapanese_jisx0208_1978'.
1431         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1432         of `japanese-jisx0208-1978'.
1433         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1434         `=jis-x0208-1978'.
1435
1436 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1437
1438         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1439         only for XEmacs CHISE.
1440
1441 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1442
1443         * char-ucs.h: Compact non-ISO-IR charset-ids.
1444         (LEADING_BYTE_UCS): Changed to -177.
1445         (LEADING_BYTE_CONTROL_1): Changed to -77.
1446         (LEADING_BYTE_UCS_BMP): Changed to -176.
1447         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1448
1449 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1450
1451         * mule-charset.c (Qiso_ir): New variable.
1452         (Fmake_charset): Recognise new property `iso-ir'.
1453         (syms_of_mule_charset): Add new symbol `iso-ir'.
1454
1455 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1456
1457         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1458         n to -n; charset-id of non ISO-IR sets are changed to positive
1459         numbers.
1460
1461 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1462
1463         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1464         for &MCS-XXXXXXXX; values.
1465
1466 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * mule.c (Vxemacs_chise_version): Renamed from
1469         `Vutf_2000_version'.
1470         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1471         `utf-2000-version' as an alias for `xemacs-chise-version'.
1472
1473 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1474
1475         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1476         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1477         defined.
1478
1479         * config.h.in (CHISE): New macro.
1480
1481 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1484         of `ucs'.
1485         (Qmap_ucs): New variable.
1486         (syms_of_mule_charset): Add new symbol `=ucs'.
1487         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1488
1489         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1490         (simplify_char_spec): Likewise.
1491
1492         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1493
1494         * char-ucs.h (Qmap_ucs): New extern variable.
1495
1496 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1499         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1500         don't define it when UTF2000 is not defined.
1501         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1502         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1503         when UTF2000 is not defined.
1504         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1505         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1506
1507 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1510
1511         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1512         (Qucs_gb): Deleted.
1513         (syms_of_mule_charset): Delete `ucs-gb'.
1514         (complex_vars_of_mule_charset): Likewise.
1515
1516 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1517
1518         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1519
1520         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1521         (Qucs_cns): Deleted.
1522         (syms_of_mule_charset): Delete `ucs-cns'.
1523         (complex_vars_of_mule_charset): Likewise.
1524
1525 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1526
1527         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1528
1529         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1530         (Qucs_jis): Deleted.
1531         (syms_of_mule_charset): Delete `ucs-jis'.
1532         (complex_vars_of_mule_charset): Likewise.
1533
1534 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1535
1536         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1537
1538         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1539         (Qucs_ks): Deleted.
1540         (syms_of_mule_charset): Delete `ucs-ks'.
1541         (complex_vars_of_mule_charset): Likewise.
1542
1543 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1544
1545         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1546         (Qideograph_daikanwa_2): Deleted.
1547         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1548         (complex_vars_of_mule_charset): Likewise.
1549
1550         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1551         (LEADING_BYTE_DAIKANWA_1): Deleted.
1552         (LEADING_BYTE_DAIKANWA_2): Deleted.
1553         (MIN_CHAR_DAIKANWA): Deleted.
1554         (MAX_CHAR_DAIKANWA): Deleted.
1555
1556 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1557
1558         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1559         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1560         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1561
1562         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1563         (Vcharset_ideograph_daikanwa): Deleted.
1564         (Qideograph_hanziku_{1..12}): Deleted.
1565         (Qideograph_daikanwa): Deleted.
1566         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1567         Vcharset_ideograph_daikanwa.
1568         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1569         `ideograph-hanziku-{1..12}'.
1570         (complex_vars_of_mule_charset): Likewise.
1571
1572 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1573
1574         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1575
1576         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1577         (Qideograph_gt_pj_{1..11}): Deleted.
1578         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1579         (complex_vars_of_mule_charset): Likewise.
1580
1581 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1584         (Vcharset_ideograph_gt): Deleted.
1585         (Qucs_big5): Deleted.
1586         (Qideograph_gt): Deleted.
1587         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1588         `ideograph-gt'.
1589         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1590         and `ideograph-gt'.
1591
1592         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1593         (LEADING_BYTE_GT): Deleted.
1594         (MIN_CHAR_GT): Deleted.
1595         (MAX_CHAR_GT): Deleted.
1596
1597 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1598
1599         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1600
1601 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1604         (save_uint16_byte_table): Likewise.
1605         (save_byte_table): Likewise; convert values by it.
1606         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1607         for `ideographic-structure'.
1608         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1609         as the filter for `ideographic-structure'.
1610
1611 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1612
1613         * chartab.c (put_char_composition): New function.
1614         (Fput_char_attribute): Use `put_char_composition'; use
1615         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1616
1617         * fns.c (simplify_char_spec): New function.
1618         (char_ref_simplify_spec): New function.
1619         (Fchar_refs_simplify_char_specs): New function.
1620         (syms_of_fns): Add new builtin function
1621         `char-refs-simplify-char-specs'.
1622
1623 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1624
1625         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1626         (Qideograph_cbeta): Deleted.
1627         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1628         (complex_vars_of_mule_charset): Likewise.
1629
1630         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1631         (MIN_CHAR_CBETA): Comment out.
1632         (MAX_CHAR_CBETA): Likewise.
1633
1634 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1635
1636         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1637         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1638         CHISE client feature.
1639
1640 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1641
1642         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1643
1644 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1645
1646         * mule-charset.c (charset_lookup_description_1): Use
1647         `NUM_LEADING_BYTES' in UTF-2000.
1648
1649 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1650
1651         * char-ucs.h (GC_CHARSETP): Deleted.
1652
1653 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * char-ucs.h (MAX_CHAR_GT): Updated.
1656
1657 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1658
1659         * text-coding.c: Sync with XEmacs 21.4.10.
1660
1661 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1662
1663         * mule-charset.c (Vcharset_china3_jef): Deleted.
1664         (Qchina3_jef): Deleted.
1665         (syms_of_mule_charset): Don't define `china3-jef'.
1666         (complex_vars_of_mule_charset): Likewise.
1667
1668         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1669         (MIN_CHAR_CHINA3_JEF): Comment out.
1670         (MAX_CHAR_CHINA3_JEF): Comment out.
1671
1672 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1673
1674         * mule-charset.c (Vcharset_ucs_gb): New variable.
1675         (Qucs_gb): New variable.
1676         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1677         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1678
1679         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1680
1681 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * mule-charset.c (charset_code_point): if a coded-charset has a
1684         final-byte, don't inherit the builtin range of the mother CCS.
1685
1686 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1687
1688         * mule-charset.c (charset_code_point): Fix problem about
1689         inheritance.
1690
1691 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1692
1693         * mule-charset.c (decode_builtin_char): Reorganized.
1694
1695 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * text-coding.c (char_encode_as_entity_reference): Modify for
1698         `charset_code_point'.
1699         (char_encode_shift_jis): Likewise.
1700         (char_encode_big5): Likewise.
1701         (char_encode_utf8): Likewise.
1702         (char_encode_iso2022): Likewise.
1703
1704         * mule-charset.c (charset_code_point): Add new argument
1705         `defined_only'.
1706         (Fencode_char): Add new optional argument `defined_only'.
1707
1708         * chartab.c (put_char_table): Modify for `charset_code_point'.
1709
1710         * char-ucs.h (charset_code_point): Add new argument
1711         `defined_only'.
1712         (encode_char_1): Modify for `charset_code_point'.
1713
1714 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1715
1716         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1717         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1718
1719 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1720
1721         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1722         (Qjis_x0208): Likewise.
1723         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1724         XCHARSET_FINAL(charset).
1725         (charset_code_point): Modify condition for final-byte based
1726         builtin-chars.
1727         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1728         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1729         in UTF-2000; specify `=jis-x0208' as the mother of
1730         `japanese-jisx0208-1978', `japanese-jisx0208' and
1731         `japanese-jisx0208-1990' in UTF-2000.
1732
1733 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1734
1735         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1736
1737 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1738
1739         * text-coding.c (decode_coding_utf16): Support UTF-16.
1740         (char_encode_utf16): Fixed.
1741
1742 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * text-coding.c (Qutf16): New variable in MULE.
1745         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1746         (Fcoding_system_type): Add `utf-16' in MULE.
1747         (struct detection_state): Add a structure for utf16 in MULE.
1748         (detect_coding_type): Setup st->utf16.mask in MULE.
1749         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1750         MULE.
1751         (reset_encoding_stream): Use `char_encode_utf16' and
1752         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1753         (detect_coding_utf16): New function [incomplete].
1754         (decode_coding_utf16): New function [support only UCS-2].
1755         (char_encode_utf16): New function.
1756         (char_finish_utf16): New function.
1757         (syms_of_file_coding): Add new symbol `utf-16'; setup
1758         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1759
1760         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1761         UTF-2000.
1762         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1763         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1764
1765 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1766
1767         * chartab.c (put_char_table): When a charset is specified as a
1768         range in UTF-2000, don't support builtin characters.
1769
1770 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1771
1772         * mule-charset.c (decode_defined_char): Don't refer external
1773         database if Qunbound or Qnil are found.
1774         (Fsave_charset_mapping_table): Don't define it if
1775         HAVE_CHISE_CLIENT is not defined.
1776         (Freset_charset_mapping_table): New function.
1777         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1778         found in external database.
1779         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1780         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1781         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1782
1783 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1784
1785         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1786         not.
1787
1788 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1791         Q_lowercase, Q_uppercase in UTF-2000.
1792
1793         * chartab.c (get_char_table): Add special code for the standard
1794         case table to use character attribute `->downcase' and
1795         `->uppercase' for case operations in UTF-2000.
1796
1797         * casetab.c (Qflippedcase): New variable in UTF-2000.
1798         (Q_lowercase): Likewise.
1799         (Q_uppercase): Likewise.
1800         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1801         and `->uppercase' in UTF-2000.
1802         (complex_vars_of_casetab): Assign attribute name `downcase' to
1803         downcase and CANON table of Vstandard_case_table in UTF-2000;
1804         assign attribute name `flippedcase' to upcase and EQV table of
1805         Vstandard_case_table in UTF-2000.
1806
1807 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * text-coding.c (decode_add_er_char): Support isolated-chars.
1810         (char_encode_as_entity_reference): Likewise.
1811
1812 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1813
1814         * emacs.c (Vutf_2000_lisp_directory): New variable.
1815         (Vconfigure_utf_2000_lisp_directory): Likewise.
1816         (complex_vars_of_emacs): Add new variable
1817         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1818
1819 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1820
1821         * char-ucs.h (DECODE_CHAR): Delete special code for
1822         `chinese-big5-1' and `chinese-big5-2'.
1823
1824         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1825         (Qbig5_2): Likewise.
1826         (decode_defined_char): Support CONVERSION_BIG5_1 and
1827         CONVERSION_BIG5_2.
1828         (decode_builtin_char): Likewise.
1829         (charset_code_point): Likewise.
1830         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1831         'conversion in UTF-2000.
1832         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1833         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1834         `chinese-big5-2' as children of `chinese-big5'.
1835
1836         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1837         (CONVERSION_BIG5_2): New macro.
1838
1839 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1840
1841         * text-coding.c (char_encode_big5): Support entity-reference.
1842
1843 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1844
1845         * text-coding.c (char_encode_as_entity_reference): New function.
1846         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1847
1848 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1849
1850         * text-coding.c (decode_coding_big5): Support entity-reference
1851         decoding feature.
1852
1853 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * text-coding.c (allocate_coding_system): Initialize initial
1856         charsets for CODESYS_UTF8.
1857         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1858         charset-g2 for CODESYS_UTF8.
1859         (decode_coding_utf8): Use charset-g0.
1860         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1861         to force variants to map to UCS.
1862
1863 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * text-coding.c (Qutf_8_mcs): New variable.
1866         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1867         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1868         instead of `utf-8' in UTF-2000.
1869
1870 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1871
1872         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1873         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1874         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1875         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1876         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1877         CONVERSION_96x96x96x96 are introduced.
1878         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1879         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1880         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1881
1882         * char-ucs.h (CONVERSION_94): New macro.
1883         (CONVERSION_96): New macro.
1884         (CONVERSION_94x94): New macro.
1885         (CONVERSION_96x96): New macro.
1886         (CONVERSION_94x94x94): New macro.
1887         (CONVERSION_96x96x96): New macro.
1888         (CONVERSION_94x94x94x60): New macro.
1889         (CONVERSION_94x94x94x94): New macro.
1890         (CONVERSION_96x96x96x96): New macro.
1891
1892 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1893
1894         * chartab.c (Vcharacter_variant_table): Deleted.
1895         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1896         of `Vcharacter_variant_table'.
1897         (Fput_char_attribute): Likewise.
1898         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1899         (complex_vars_of_chartab): Likewise.
1900
1901 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1902
1903         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1904
1905         * fns.c (Qideographic_structure): New variable.
1906         (Qkeyword_char): New variable.
1907         (ids_format_unit): New function.
1908         (Fideographic_structure_to_ids): New function.
1909         (syms_of_fns): Add new symbols `ideographic-structure' and
1910         `:char'; add new builtin function `ideographic-structure-to-ids'.
1911
1912         * data.c (Fchar_ref_p): New function.
1913         (syms_of_data): Add new builtin function `char-ref-p'.
1914
1915         * chartab.h: Add an EXFUN for `Ffind_char'.
1916
1917 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * text-coding.c (Vcharacter_composition_table): Deleted.
1920         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1921         in every UTF-2000.
1922
1923         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1924         UTF-2000.
1925         (Vcharacter_composition_table): Deleted.
1926         (Fget_composite_char): Use the implementation for external-DB
1927         support in every UTF-2000.
1928         (Fput_char_attribute): Likewise.
1929         (char_attribute_system_db_file): Don't define if external-DB
1930         feature is not available.
1931         (Fsave_char_attribute_table): Likewise.
1932         (Fmount_char_attribute_table): Likewise.
1933         (Fclose_char_attribute_table): Likewise.
1934         (Freset_char_attribute_table): Likewise.
1935         (Fload_char_attribute_table): Likewise.
1936         (syms_of_chartab): Don't define `save-char-attribute-table',
1937         `mount-char-attribute-table', `reset-char-attribute-table',
1938         `close-char-attribute-table' and `load-char-attribute-table' if
1939         external-DB feature is not available.
1940         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1941
1942 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1943
1944         * text-coding.c (Qcomposition): Add extern if external-DB feature
1945         is supported.
1946         (Vcharacter_composition_table): Don't add extern if external-DB
1947         feature is supported.
1948         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1949         character composition rule if external-DB feature is supported.
1950
1951         * chartab.c (Vcharacter_composition_table): Don't define if
1952         external-DB feature is supported.
1953         (Qcomposition): New variable.
1954         (Fget_composite_char): New implementation for external-DB support.
1955         (Fput_char_attribute): Use `composition' property of each
1956         character instead of `Vcharacter_composition_table' to store
1957         character-composition rules if external-DB feature is supported.
1958         (syms_of_chartab): Add new symbol `composition'.
1959         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1960         external-DB feature is supported.
1961
1962 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1963
1964         * chartab.c (Vchar_db_stingy_mode): New variable.
1965         (load_char_attribute_maybe): Close database if
1966         Vchar_db_stingy_mode is not NIL.
1967         (Fload_char_attribute_table_map_function): Use
1968         `get_char_id_table_0' instead of `get_char_id_table'.
1969         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1970
1971         * chartab.h (get_char_id_table_0): New inline function.
1972         (get_char_id_table): Use `get_char_id_table_0'.
1973
1974 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1975
1976         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1977         and `COMPOSE_ADD_CHAR'.
1978         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1979
1980 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1981
1982         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1983         instead of `DECODE_ADD_UCS_CHAR'.
1984         (COMPOSE_ADD_CHAR): Likewise.
1985
1986 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1987
1988         * text-coding.c (decode_flush_er_chars): New inline function.
1989         (decode_add_er_char): New function.
1990         (decode_coding_utf8): Use `decode_flush_er_chars' and
1991         `decode_add_er_char'.
1992
1993 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1994
1995         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1996         done before `decode_output_utf8_partial_char'.
1997
1998         * mule-charset.c (complex_vars_of_mule_charset): Specify
1999         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
2000         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
2001
2002 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2003
2004         * mule-charset.c (decode_defined_char): New function; search
2005         mother.
2006         (decode_builtin_char): Don't search mother if
2007         XCHARSET_MAX_CODE(charset) == 0.
2008         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
2009         == 0 even if code >= XCHARSET_MAX_CODE(charset).
2010         (Fdecode_char): Use `decode_defined_char' instead of
2011         `DECODE_DEFINED_CHAR'.
2012         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
2013         mother of `Vcharset_ucs_jis'.
2014
2015         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2016         instead of `DECODE_DEFINED_CHAR'.
2017
2018         * char-ucs.h (decode_defined_char): Renamed from
2019         `DECODE_DEFINED_CHAR'; changed to normal function.
2020         (DECODE_CHAR): Use `decode_defined_char' instead of
2021         `DECODE_DEFINED_CHAR'.
2022
2023         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2024
2025 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2028
2029         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2030         variable.
2031         (Quse_entity_reference): New variable.
2032         (Qd): New variable.
2033         (Qx): New variable.
2034         (QX): New variable.
2035         (coding_system_description): Add description for
2036         `ccs_priority_list'.
2037         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2038         (allocate_coding_system): Initialize `ccs_priority_list' in
2039         UTF-2000.
2040         (Fmake_coding_system): Add description about
2041         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2042         (codesys).
2043         (Fcoding_system_property): Accept `disable-composition' and
2044         `use-entity-reference' in UTF-2000.
2045         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2046         in UTF-2000.
2047         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2048         (decode_coding_utf8): Decode entity-reference if
2049         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2050         (char_encode_utf8): Encode non-Unicode characters as
2051         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2052         (str->codesys).
2053         (syms_of_file_coding): Add new symbols `use-entity-reference',
2054         `d', `x', `X'.
2055         (vars_of_file_coding): Add new variable
2056         `coded-charset-entity-reference-alist'.
2057         (complex_vars_of_file_coding): Declare `disable-composition' and
2058         `use-entity-reference' to be coding-system-properties in UTF-2000.
2059
2060         * file-coding.h (struct Lisp_Coding_System): Add new member
2061         `use_entity_reference' and `ccs_priority_list'.
2062         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2063         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2064         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2065
2066 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2067
2068         * chartab.c (save_uint8_byte_table): Don't clear the table.
2069         (save_uint16_byte_table): Likewise.
2070         (save_byte_table): Likewise.
2071         (Fmount_char_attribute_table): New function.
2072         (syms_of_chartab): Add new builtin function
2073         `mount-char-attribute-table'.
2074
2075 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2076
2077         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2078         "w+" mode.
2079         (load_char_decoding_entry_maybe): Open database as read-only mode.
2080
2081         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2082         open database as "w+" mode.
2083         (load_char_attribute_maybe): Open database as read-only mode.
2084         (Fload_char_attribute_table): Likewise.
2085
2086 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2087
2088         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2089         (char_table_description): Delete member `db_file'.
2090         (Fmake_char_table): Don't refer `ct->db_file'.
2091         (Fcopy_char_table): Likewise.
2092         (Fsave_char_attribute_table): Likewise.
2093         (Fclose_char_attribute_table): Likewise.
2094         (Freset_char_attribute_table): Likewise.
2095         (load_char_attribute_maybe): Likewise.
2096         (Fload_char_attribute_table): Likewise.
2097
2098         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2099
2100 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2101
2102         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2103         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2104         `ct->db' is living.
2105         (load_char_attribute_maybe): Likewise.
2106         (Fload_char_attribute_table): Likewise.
2107
2108 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2109
2110         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2111         `ct->db_file' unconditionally.
2112
2113 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2114
2115         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2116         UTF-2000.
2117         (char_table_description): Add description for `db_file' and `db'
2118         in UTF-2000.
2119         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2120         UTF-2000.
2121         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2122         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2123         (Fclose_char_attribute_table): New function.
2124         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2125         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2126         and `cit->db'.
2127         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2128         (syms_of_chartab): Add new builtin function
2129         `Fclose_char_attribute_table'.
2130
2131 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2132
2133         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2134         `db' in UTF-2000.
2135         (load_char_attribute_maybe): Change interface.
2136         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2137
2138 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2139
2140         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2141
2142 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2143
2144         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2145         instead of `DECODE_CHAR' for mother; don't use special code for
2146         chinese-big5 to use code space of chinese-big5-1 and
2147         chinese-big5-2.
2148         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2149         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2150
2151         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2152         (MAX_CHAR_BIG5_CDP): Revival.
2153
2154 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2157         the XLFD registry-encoding name of `chinese-big5'.
2158
2159 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2160
2161         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2162         (Qchinese_big5_cdp): Deleted.
2163         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2164         (complex_vars_of_mule_charset): Delete coded-charset
2165         `chinese-big5-cdp'.
2166
2167         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2168         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2169         `CHARSET_ID_OFFSET - n' for private CCS.
2170         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2171         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2172         of `MIN_LEADING_BYTE'.
2173         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2174         `(CHARSET_ID_OFFSET - 97)'.
2175         (MIN_CHAR_BIG5_CDP): Deleted.
2176         (MAX_CHAR_BIG5_CDP): Deleted.
2177
2178 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2179
2180         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2181
2182 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2183
2184         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2185         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2186         chartab.c].
2187
2188         * chartab.c (Vutf_2000_version): Moved to mule.c.
2189         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2190
2191 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2192
2193         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2194         when HAVE_CHISE_CLIENT is not defined.
2195
2196         * mule.c (vars_of_mule): Provide feature `chise' when
2197         HAVE_CHISE_CLIENT is defined.
2198
2199 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2200
2201         * config.h.in (UTF2000): Add comment.
2202         (HAVE_CHISE_CLIENT): New macro.
2203
2204 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2205
2206         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2207         CONSP.
2208         (Fput_char_attribute): Likewise.
2209         (char_attribute_system_db_file): Encode file-name of attribute.
2210         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2211         the initial value.
2212
2213 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2214
2215         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2216         (Fsave_charset_mapping_table): Use
2217         `char_attribute_system_db_file'.
2218         (load_char_decoding_entry_maybe): Likewise.
2219
2220         * chartab.h (Qsystem_char_id): New external variable.
2221         (char_attribute_system_db_file): New prototype.
2222
2223         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2224         (char_attribute_system_db_file): New function.
2225         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2226         (Freset_char_attribute_table): Likewise.
2227         (load_char_attribute_maybe): Likewise.
2228         (Fload_char_attribute_table): Likewise.
2229         (syms_of_chartab): Add new symbol `system-char-id'.
2230
2231 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2232
2233         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2234         `XCHARSET_GRAPHIC(ccs)'.
2235
2236 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2237
2238         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2239
2240 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2241
2242         * chartab.c (Q_ucs_variants): New variable.
2243         (syms_of_chartab): Add new symbol `->ucs-variants'.
2244         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2245         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2246         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2247
2248         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2249
2250         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2251         `HAVE_DATABASE' is defined.
2252         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2253         `HAVE_DATABASE' is defined.
2254
2255 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2256
2257         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2258         attribute-table.
2259         (Freset_char_attribute_table): New function.
2260         (syms_of_chartab): Add new builtin function
2261         `reset-char-attribute-table'.
2262
2263 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2264
2265         * chartab.c (load_char_attribute_maybe): Don't make directories.
2266
2267 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2268
2269         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2270
2271         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2272         for decoding-table.
2273
2274 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2275
2276         * mule-charset.c (Fsave_charset_mapping_table): Use
2277         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2278
2279         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2280         instead of `XCHARSET_CHARS'.
2281
2282 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2283
2284         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2285         (XCHARSET_BYTE_SIZE): Likewise.
2286
2287         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2288         mule-charset.c].
2289         (XCHARSET_BYTE_SIZE): Likewise.
2290
2291 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2292
2293         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2294         data-directory to store database.
2295         (Fsave_char_attribute_table): Likewise.
2296         (load_char_attribute_maybe): Likewise.
2297         (Fload_char_attribute_table): Likewise.
2298
2299 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2300
2301         * mule-charset.c (Fsave_charset_mapping_table): New function.
2302         (syms_of_mule_charset): Add new builtin function
2303         `save-charset-mapping-table'.
2304
2305 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2306
2307         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2308         (get_ccs_octet_table): New inline function.
2309         (put_ccs_octet_table): Likewise.
2310         (decoding_table_put_char): Use `get_ccs_octet_table' and
2311         `put_ccs_octet_table'.
2312         (decoding_table_remove_char): Use `decoding_table_put_char'.
2313         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2314
2315         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2316         into encoding_table.
2317         (make_charset): Use Qunbound instead Qnil as initial value of
2318         decoding_table.
2319
2320 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2321
2322         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2323         element is Qunloaded.
2324         (map_over_uint16_byte_table): Likewise.
2325         (map_over_byte_table): Likewise.
2326         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2327         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2328         database support, load encoding-table of the specified
2329         coded-charset if it is not loaded yet.
2330         (save_uint8_byte_table): New function of UTF-2000 with external
2331         database support.
2332         (save_uint16_byte_table): Likewise.
2333         (save_byte_table): Likewise.
2334         (Fput_char_attribute): Don't store value into external database
2335         even if the external database feature is supported in UTF-2000;
2336         set `attribute' as name of char-table if the external database
2337         feature is supported.
2338         (Fsave_char_attribute_table): New function in UTF-2000.
2339         (syms_of_chartab): Add new builtin function
2340         `save-char-attribute-table' in UTF-2000.
2341
2342 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2343
2344         * chartab.c (char_attribute_table_to_put): New variable in
2345         UTF-2000.
2346         (Qput_char_table_map_function): Likewise.
2347         (value_to_put): Likewise.
2348         (Fput_char_table_map_function): New function in UTF-2000.
2349         (put_char_table): Use `Fmap_char_attribute' for
2350         CHARTAB_RANGE_CHARSET in UTF-2000.
2351         (Fput_char_attribute): Store symbol instead of string in
2352         `XCHAR_TABLE_NAME (table)'.
2353         (load_char_attribute_maybe): Likewise.
2354         (syms_of_chartab): Add new symbol/function
2355         `put-char-table-map-function'.
2356
2357 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2358
2359         * database.h: Add new EXFUN for `Fmap_database'.
2360
2361         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2362         (syms_of_database): Likewise.
2363
2364         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2365         UTF-2000.
2366         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2367         (XCHAR_TABLE_UNLOADED): Likewise.
2368
2369         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2370         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2371         HAVE_DATABASE is defined.
2372         (char_attribute_table_to_load): New variable of UTF-2000 with
2373         external database support.
2374         (Qload_char_attribute_table_map_function): Likewise.
2375         (Fload_char_attribute_table_map_function): New function of
2376         UTF-2000 with external database support.
2377         (Fload_char_attribute_table): New function of UTF-2000.
2378         (Fmap_char_attribute): Call Fload_char_attribute_table if
2379         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2380         (syms_of_chartab): Add new symbol and function
2381         `load-char-attribute-table-map-function' in UTF-2000 with external
2382         database support; add new function `load-char-attribute-table' in
2383         UTF-2000.
2384
2385 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * chartab.h (load_char_attribute_maybe): New prototype for
2388         UTF-2000 with DATABASE support.
2389         (get_char_id_table): Use `load_char_attribute_maybe' if
2390         HAVE_DATABASE is defined.
2391
2392         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2393         with DATABASE support.
2394
2395 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2396
2397         * chartab.c (Fput_char_attribute): Use S-expression as key of
2398         external database.
2399
2400         * chartab.h (get_char_id_table): Use S-expression as key of
2401         external database.
2402
2403 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2404
2405         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2406         if an element is not loaded, load the corresponding attributes
2407         from an external database.
2408         (map_over_uint16_byte_table): Likewise.
2409         (map_over_byte_table): Likewise.
2410         (map_char_table): Modify for `map_over_uint8_byte_table',
2411         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2412         element is not loaded, load the corresponding attributes from an
2413         external database.
2414         (Fput_char_attribute): Change initial values to Qunloaded.
2415
2416         * chartab.h (get_char_id_table): If a character attribute is not
2417         loaded and the attribute value is not found in an external
2418         database, store Qunbound as the attribute value.
2419
2420 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2421
2422         * chartab.c (BT_UINT8_unloaded): New macro.
2423         (UINT8_VALUE_P): Accept Qunloaded.
2424         (UINT8_ENCODE): Likewise.
2425         (UINT8_DECODE): Likewise.
2426         (BT_UINT16_unloaded): New macro.
2427         (UINT16_VALUE_P): Accept Qunloaded.
2428         (UINT16_ENCODE): Likewise.
2429         (UINT16_DECODE): Likewise.
2430         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2431         BT_UINT16_unloaded.
2432         (mark_char_table): Mark `ct->name' in UTF-2000.
2433         (char_table_description): Add `name' in UTF-2000.
2434         (Fmake_char_table): Initialize `ct->name'.
2435         (Fcopy_char_table): Copy `ct->name'.
2436         (Fput_char_attribute): Store value into an external database if
2437         HAVE_DATABASE is defined.
2438
2439         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2440         UTF-2000.
2441         (CHAR_TABLE_NAME): New macro in UTF-2000.
2442         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2443         (get_char_id_table): Try to read an external database if Qunloaded
2444         is stored in a table.
2445
2446         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2447         Qunloaded.
2448
2449 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2450
2451         * database.h: Add EXFUN definitions for Fopen_database,
2452         Fput_database, Fget_database and Fclose_database.
2453
2454         * data.c (Qunloaded): New variable in UTF-2000.
2455
2456         * lisp.h (Qunloaded): New variable in UTF-2000.
2457
2458 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * mule-charset.c (put_char_ccs_code_point): Modify for
2461         `decoding_table_remove_char' and `decoding_table_put_char'.
2462         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2463
2464         * char-ucs.h (decoding_table_remove_char): Change arguments to
2465         hide decoding_table vector.
2466         (decoding_table_put_char): Likewise.
2467
2468 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2469
2470         * mule-charset.c (decoding_table_remove_char): Moved to
2471         char-ucs.h.
2472         (decoding_table_put_char): Likewise.
2473
2474         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2475         from mule-charset.c].
2476         (decoding_table_remove_char): New inline function [moved from
2477         mule-charset.c].
2478         (decoding_table_put_char): Likewise.
2479
2480 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2481
2482         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2483         extension.
2484
2485 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2486
2487         * mule-charset.c (decode_builtin_char): Support mother charsets.
2488
2489 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2490
2491         * mule-charset.c (Q94x94x60): New variable.
2492         (charset_code_point): Support conversion `94x94x60'.
2493         (Fmake_charset): Likewise.
2494         (syms_of_mule_charset): Add new symbol `94x94x60'.
2495
2496         * char-ucs.h (CONVERSION_94x94x60): New macro.
2497
2498 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2499
2500         * mule-charset.c (charset_code_point): Unify code about
2501         `code-offset'.
2502
2503 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2504
2505         * mule-charset.c (charset_code_point): Merge code about builtin
2506         characters into code about mother charsets; don't use
2507         `range_charset_code_point'.
2508         (range_charset_code_point): Deleted.
2509
2510 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2511
2512         * mule-charset.c (Qcode_offset): New variable.
2513         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2514         `max-code'; accept new property `code-offset'.
2515         (syms_of_mule_charset): Add new symbol `code-offset'.
2516
2517 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2518
2519         * mule-charset.c (range_charset_code_point): Fixed.
2520
2521 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (decode_builtin_char): Change semantics of
2524         code-offset of coded-charset.
2525         (charset_code_point): Likewise.
2526         (range_charset_code_point): Likewise.
2527         (complex_vars_of_mule_charset): Modify for the change.
2528
2529 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2530
2531         * mule-charset.c (Fencode_char): Reverse arguments.
2532
2533         * mule-charset.c (charset_code_point): Fixed.
2534
2535 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2536
2537         * mule-charset.c (Vcharset_mojikyo): Deleted.
2538         (Vcharset_mojikyo_2022_1): Deleted.
2539         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2540         (Qmin_code): New variable in UTF-2000.
2541         (Qmax_code): Likewise.
2542         (Qmother): Likewise.
2543         (Qconversion): Likewise.
2544         (Q94x60): Likewise.
2545         (Qmojikyo): Deleted.
2546         (Qmojikyo_2022_1): Deleted.
2547         (Qmojikyo_pj_{1..22}): Deleted.
2548         (mark_charset): Mark `cs->mother'.
2549         (charset_description): Add description for `mother'.
2550         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2551         new arguments `mother' and `conversion'; use
2552         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2553         (charset_code_point): Moved from char-ucs.h; support `mother'
2554         charset feature.
2555         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2556         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2557         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2558         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2559         allow 2 as the value of `graphic' in UTF-2000; add new properties
2560         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2561         require `final' in UTF-2000; modify for `make_charset'.
2562         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2563         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2564         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2565         (Fencode_char): New function.
2566         (syms_of_mule_charset): Add new builtin function `encode-char' in
2567         UTF-2000; add new symbols `min-code', `max-code', `mother',
2568         `conversion' and `94x60'; delete symbols `mojikyo',
2569         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2570         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2571         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2572         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2573
2574         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2575         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2576
2577         * char-ucs.h (Vcharset_mojikyo): Deleted.
2578         (Vcharset_mojikyo_2022_1): Deleted.
2579         (LEADING_BYTE_MOJIKYO): Deleted.
2580         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2581         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2582         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2583         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2584         add new member `mother'; add new member `conversion'.
2585         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2586         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2587         (CHARSET_MOTHER): New macro.
2588         (CHARSET_CONVERSION): New macro.
2589         (CONVERSION_IDENTICAL): New macro.
2590         (CONVERSION_94x60): New macro.
2591         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2592         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2593         (XCHARSET_MOTHER): New macro.
2594         (XCHARSET_CONVERSION): New macro.
2595         (MIN_CHAR_MOJIKYO): Deleted.
2596         (MAX_CHAR_MOJIKYO): Deleted.
2597         (DECODE_MOJIKYO_2022): Deleted.
2598         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2599         (charset_code_point): Changed to non-inline function.
2600         (encode_char_1): Use `charset_code_point'.
2601         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2602
2603 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * lread.c (read_compiled_function): Fix prototype.
2606         (read_vector): Likewise.
2607
2608 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * lrecord.h (struct lrecord_header): Delete `older'.
2611         (set_lheader_implementation): Delete code for `older'.
2612         (set_lheader_older_implementation): Deleted.
2613         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2614         (OLDER_RECORD_P): Deleted.
2615         (OLDER_RECORD_HEADER_P): Deleted.
2616         (alloc_older_lcrecord): Deleted.
2617         (alloc_older_lcrecord_type): Deleted.
2618
2619         * alloc.c (all_older_lcrecords): Deleted.
2620         (alloc_older_lcrecord): Deleted.
2621         (disksave_object_finalization_1): Delete code for older objects.
2622         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2623         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2624
2625 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2626
2627         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2628         instead of `make_older_vector'.
2629         (put_char_ccs_code_point): Likewise.
2630         (mark_charset): Mark `cs->decoding_table'.
2631         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2632
2633         * lisp.h (make_older_vector): Deleted.
2634         (make_vector_newer): Deleted.
2635
2636         * config.h.in (HAVE_GGC): Deleted.
2637
2638         * alloc.c (make_older_vector): Deleted.
2639         (make_vector_newer_1): Deleted.
2640         (make_vector_newer): Deleted.
2641
2642 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2645         (Qideograph_daikanwa_2): New variable.
2646         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2647         (complex_vars_of_mule_charset): Add new coded-charset
2648         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2649         `LEADING_BYTE_DAIKANWA'.
2650
2651         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2652         (LEADING_BYTE_DAIKANWA_1): New macro.
2653         (LEADING_BYTE_DAIKANWA_2): New macro.
2654         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2655
2656 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2657
2658         * mule-charset.c (complex_vars_of_mule_charset): Change
2659         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2660         the second revised version.
2661
2662 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2663
2664         * mule-charset.c (Vcharset_ucs_smp): New variable.
2665         (Vcharset_ucs_sip): New variable.
2666         (Qucs_smp): New variable.
2667         (Qucs_sip): New variable.
2668         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2669         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2670         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2671         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2672         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2673         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2674
2675         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2676         (LEADING_BYTE_UCS_SIP): New macro.
2677         (MIN_CHAR_SMP): New macro.
2678         (MAX_CHAR_SMP): New macro.
2679         (MIN_CHAR_SIP): New macro.
2680         (MAX_CHAR_SIP): New macro.
2681
2682 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2683
2684         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2685         utf-2000.
2686
2687 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2688
2689         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2690         value; don't store value into `encoding_table' of `Lisp_Charset'.
2691         (mark_charset): `encoding_table' was deleted.
2692         (charset_description): Likewise.
2693         (make_charset): Likewise.
2694         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2695         `put_char_ccs_code_point'.
2696
2697         * chartab.h (Fput_char_attribute): New EXFUN.
2698
2699         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2700         is unified with normal symbol space.
2701         (Fget_char_attribute): Likewise.
2702         (Fput_char_attribute): Likewise; behavior of
2703         `put_char_ccs_code_point' is changed.
2704
2705         * char-ucs.h: Include "elhash.h".
2706         (Vchar_attribute_hash_table): New external variable.
2707         (struct Lisp_Charset): Delete `encoding_table'.
2708         (CHARSET_ENCODING_TABLE): New implementation; refer
2709         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2710         `Lisp_Charset'.
2711
2712 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2713
2714         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2715         (cs) == 0.
2716
2717 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2718
2719         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2720         `chinese-big5'.
2721
2722 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2723
2724         * chartab.c (uint8_byte_table_description): New constant.
2725         (uint8-byte-table): Use `uint8_byte_table_description'.
2726         (uint16_byte_table_description): New constant.
2727         (uint16-byte-table): Use `uint16_byte_table_description'.
2728
2729 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2730
2731         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2732         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2733
2734 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2735
2736         * mule-charset.c (Vcharset_ucs_ks): New variable.
2737         (Qucs_ks): New variable.
2738         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2739         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2740
2741         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2742
2743 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2746         (Fdecode_char): Likewise.
2747
2748         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2749         chartab.h.
2750         (Fdefine_char): Modify for Fdecode_char.
2751         (Ffind_char): Likewise.
2752
2753         * mule-charset.c (Fdecode_char): Add new optional argument
2754         `defined-only'.
2755         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2756
2757 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2758
2759         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2760         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2761         (allocate_coding_system): Initialize initial-charsets of
2762         CODESYS_BIG5 in XEmacs UTF-2000.
2763         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2764         CODESYS_BIG5 in XEmacs UTF-2000.
2765         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2766         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2767
2768         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2769         variables.
2770         (Qideograph_hanziku_{1 .. 12}): Likewise.
2771         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2772         .. 12}'.
2773         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2774         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2775         `ideograph-hanziku-{1 .. 12}'.
2776
2777         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2778         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2779         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2780         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2781         (DECODE_DEFINED_CHAR): New inline function.
2782         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2783
2784 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2785
2786         * mule-charset.c (Vcharset_china3_jef): Renamed from
2787         `Vcharset_japanese_jef_china3'.
2788         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2789         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2790         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2791         (syms_of_mule_charset): Rename `china3-jef' from
2792         `japanese-jef-china3'.
2793         (complex_vars_of_mule_charset): Likewise; rename
2794         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2795
2796         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2797         `LEADING_BYTE_JEF_CHINA3'.
2798         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2799         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2800
2801 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * mule-charset.c (encode_builtin_char_1): Comment out special code
2804         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2805
2806         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2807         (MAX_CHAR_MOJIKYO_0): Comment out.
2808         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2809         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2810         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2811         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2812
2813 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2816         (Qideograph_cbeta): New variable.
2817         (encode_builtin_char_1): Comment out special code for
2818         coded-charset `mojikyo' and `japanese-jef-china3'.
2819         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2820         (complex_vars_of_mule_charset): Add new coded-charset
2821         `ideograph-cbeta'.
2822
2823         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2824         (MIN_CHAR_CBETA): New macro.
2825         (MAX_CHAR_CBETA): New macro.
2826
2827 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2828
2829         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2830         (LEADING_BYTE_JEF_CHINA3): New macro.
2831         (MIN_CHAR_JEF_CHINA3): New macro.
2832         (MAX_CHAR_JEF_CHINA3): Likewise.
2833         (DECODE_CHAR): Fixed.
2834
2835 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2836
2837         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2838         (Qjapanese_jef_china3): New variable.
2839         (encode_builtin_char_1): Support `japanese-jef-china3'.
2840         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2841         (complex_vars_of_mule_charset): Add new coded-charset
2842         `japanese-jef-china3'.
2843
2844 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2845
2846         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2847         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2848         94^4, 96^3, 96^4, 128^n and 256^n set.
2849         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2850         (map_char_table): Likewise.
2851
2852 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2853
2854         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2855         UTF-2000.
2856
2857 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2858
2859         * chartab.h (get_char_id_table): New inline function.
2860
2861         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2862         function.
2863
2864 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2865
2866         * chartab.h (decode_char_table_range): New prototype in XEmacs
2867         UTF-2000.
2868         (put_char_id_table): New inline function in XEmacs UTF-2000.
2869
2870         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2871         function.
2872         (decode_char_table_range): Delete static declaration in XEmacs
2873         UTF-2000.
2874
2875 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2876
2877         * chartab.c (put_char_id_table): Use `put_char_table'.
2878
2879 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2880
2881         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2882         (map_over_uint16_byte_table): Likewise.
2883         (map_over_byte_table): Likewise.
2884         (map_char_table): Modify for `map_over_uint8_byte_table',
2885         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2886         UTF-2000.
2887
2888 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2889
2890         * chartab.c (struct map_char_table_for_charset_arg): New
2891         structure.
2892         (map_char_table_for_charset_fun): New function.
2893         (map_char_table): Use `map_char_table' for encoding_table of
2894         `range->charset'.
2895
2896 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2897
2898         * chartab.c (map_char_table): Check a character is found in
2899         range->charset instead of non default value is defined in
2900         char-table when range is CHARTAB_RANGE_ROW.
2901
2902 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2903
2904         * chartab.c (map_char_id_table): Deleted.
2905         (Fmap_char_attribute): Use `map_char_table' instead of
2906         `map_char_id_table'.
2907
2908 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2909
2910         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2911         UTF-2000.
2912         (update_syntax_table): Deleted in XEmacs UTF-2000.
2913
2914         * syntax.c (find_defun_start): Use `syntax_table' instead of
2915         `mirror_syntax_table' in XEmacs UTF-2000.
2916         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2917         UTF-2000.
2918         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2919         XEmacs UTF-2000.
2920         (Fmatching_paren): Likewise.
2921         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2922         in XEmacs UTF-2000.
2923         (find_start_of_comment): Likewise.
2924         (find_end_of_comment): Likewise.
2925         (Fforward_comment): Likewise.
2926         (scan_lists): Likewise.
2927         (char_quoted): Likewise.
2928         (Fbackward_prefix_chars): Likewise.
2929         (scan_sexps_forward): Likewise.
2930         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2931         (update_syntax_table): Likewise.
2932
2933         * search.c (skip_chars): Use `syntax_table' instead of
2934         `mirror_syntax_table' in XEmacs UTF-2000.
2935         (wordify): Likewise.
2936         (Freplace_match): Likewise.
2937
2938         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2939         `mirror_syntax_table' in XEmacs UTF-2000.
2940         (WORDCHAR_P_UNSAFE): Likewise.
2941         (re_match_2_internal): Likewise.
2942
2943         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2944         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2945
2946         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2947         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2948
2949         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2950         XEmacs UTF-2000.
2951
2952         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2953         UTF-2000.
2954         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2955         (char_table_description): Delete `mirror_table' in XEmacs
2956         UTF-2000.
2957         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2958         UTF-2000.
2959         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2960         (Fcopy_char_table): Likewise.
2961         (put_char_table): Don't call `update_syntax_table' in XEmacs
2962         UTF-2000.
2963
2964         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2965         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2966         (casify_region_internal): Likewise.
2967
2968         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2969
2970         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2971         `mirror_syntax_table' in XEmacs UTF-2000.
2972
2973         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2974         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2975         (Fexpand_abbrev): Likewise.
2976
2977 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2978
2979         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2980
2981 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2982
2983         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2984         (map_over_uint16_byte_table): Likewise.
2985         (map_over_byte_table): Likewise.
2986         (get_char_id_table): Refer `cit->default_value'.
2987         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2988         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2989         of character-id ranges.
2990         (mark_char_table): Mark `ct->default_value'.
2991         (char_table_description): Add `default_value'.
2992         (fill_char_table): Use `default_value'.
2993         (decode_char_table_range): Decode `nil' as
2994         `CHARTAB_RANGE_DEFAULT'.
2995         (get_char_id_table): Refer `cit->default_value'.
2996         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2997         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2998         temporary hack; check value of char-table is bound or not.
2999         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
3000
3001         * chartab.h (struct Lisp_Char_Table): Add new member
3002         `default_value' in XEmacs UTF-2000.
3003         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
3004         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
3005         UTF-2000.
3006
3007 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3008
3009         * chartab.h (Lisp_Char_ID_Table): Deleted.
3010
3011         * chartab.c (char_table_description): Fix typo.
3012         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
3013         `Lisp_Char_ID_Table'.
3014
3015 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3016
3017         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3018         `CHAR_ID_TABLE_P'.
3019
3020         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3021         `CHAR_ID_TABLE_P'.
3022
3023         * chartab.h (XCHAR_ID_TABLE): Deleted.
3024         (XSETCHAR_ID_TABLE): Deleted.
3025         (CHAR_ID_TABLE_P): Deleted.
3026
3027         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3028         `CHAR_ID_TABLE_P'.
3029         (Fget_composite_char): Likewise.
3030         (put_char_table): Likewise.
3031         (add_char_attribute_alist_mapper): Fixed.
3032         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3033         `CHAR_ID_TABLE_P'.
3034         (Fget_char_attribute): Likewise.
3035         (Fget_char_attribute): Likewise.
3036         (Fmap_char_attribute): Likewise.
3037
3038         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3039         `CHAR_ID_TABLE_P'.
3040         (encode_char_1): Likewise.
3041
3042 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3043
3044         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3045         `XCHAR_ID_TABLE'.
3046
3047         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3048         instead of `XCHAR_ID_TABLE'.
3049         (remove_char_ccs): Likewise.
3050
3051         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3052         `XCHAR_ID_TABLE'.
3053         (Fget_composite_char): Likewise.
3054         (Fchar_variants): Likewise.
3055         (put_char_table): Likewise.
3056         (add_char_attribute_alist_mapper): Likewise.
3057         (Fchar_attribute_alist): Likewise.
3058         (Fget_char_attribute): Likewise.
3059         (Fput_char_attribute): Likewise.
3060         (Fmap_char_attribute): Likewise.
3061         (Fmap_char_attribute): Likewise.
3062
3063         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3064         `XCHAR_ID_TABLE'.
3065         (encode_char_1): Likewise.
3066
3067 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3068
3069         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3070         `Lisp_Char_ID_Table'.
3071         (mark_char_id_table): Deleted.
3072         (print_char_id_table): Likewise.
3073         (char_id_table_equal): Likewise.
3074         (char_id_table_hash): Likewise.
3075         (char_id_table_description): Likewise.
3076         (char_id_table): Likewise.
3077         (make_char_id_table): Use `Fmake_char_table' and
3078         `fill_char_table'.
3079         (get_char_id_table): Use `Lisp_Char_Table' instead of
3080         `Lisp_Char_ID_Table'.
3081         (put_char_id_table): Likewise.
3082         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3083         `XCHAR_ID_TABLE'.
3084         (Fremove_char_attribute): Likewise.
3085         (syms_of_chartab): Don't define type `char-id-table'.
3086
3087         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3088         (char_id_table): Likewise.
3089         (GC_CHAR_ID_TABLE_P): Likewise.
3090         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3091         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3092         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3093         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3094         (get_char_id_table): Use `Lisp_Char_Table' instead of
3095         `Lisp_Char_ID_Table'.
3096         (put_char_id_table_0): Likewise.
3097         (put_char_id_table): Likewise.
3098
3099 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3100
3101         * chartab.h: Lisp_Byte_Table related codes are moved from
3102         chartab.h.
3103
3104         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3105
3106 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3107
3108         * chartab.h: Don't include "chartab.h".
3109         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3110         (Lisp_Char_ID_Table): Likewise.
3111         (char_id_table): Likewise.
3112         (XCHAR_ID_TABLE): Likewise.
3113         (XSETCHAR_ID_TABLE): Likewise.
3114         (CHAR_ID_TABLE_P): Likewise.
3115         (GC_CHAR_ID_TABLE_P): Likewise.
3116         (get_char_id_table): Likewise.
3117
3118         * char-ucs.h: Include "chartab.h".
3119         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3120         (Lisp_Char_ID_Table): Likewise.
3121         (char_id_table): Likewise.
3122         (XCHAR_ID_TABLE): Likewise.
3123         (XSETCHAR_ID_TABLE): Likewise.
3124         (CHAR_ID_TABLE_P): Likewise.
3125         (GC_CHAR_ID_TABLE_P): Likewise.
3126         (get_char_id_table): Likewise.
3127
3128 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3129
3130         * chartab.c (copy_uint8_byte_table): New function.
3131         (copy_uint16_byte_table): New function.
3132         (copy_byte_table): New function.
3133         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3134         characters to call.
3135         (map_over_uint16_byte_table): Likewise.
3136         (map_over_byte_table): Likewise.
3137         (get_byte_table): Move prototype to chartab.h.
3138         (put_byte_table): Likewise.
3139         (put_char_id_table_0): Moved to chartab.h.
3140         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3141         (char_table_entry_equal): Likewise.
3142         (char_table_entry_hash): Likewise.
3143         (char_table_entry_description): Likewise.
3144         (char_table_entry): Likewise.
3145         (make_char_table_entry): Likewise.
3146         (copy_char_table_entry): Likewise.
3147         (get_non_ascii_char_table_value): Likewise.
3148         (map_over_charset_ascii): Likewise.
3149         (map_over_charset_control_1): Likewise.
3150         (map_over_charset_row): Likewise.
3151         (map_over_other_charset): Likewise.
3152         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3153         (print_char_table): Likewise.
3154         (char_table_equal): Likewise.
3155         (char_table_hash): Likewise.
3156         (char_table_description): Likewise.
3157         (fill_char_table): Likewise.
3158         (Fcopy_char_table): Likewise.
3159         (get_char_table): Likewise.
3160         (Fget_range_char_table): Likewise.
3161         (put_char_table): Likewise.
3162         (map_char_table): Likewise.
3163         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3164         UTF-2000.
3165
3166 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3167
3168         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3169         `Vauto_fill_chars' in XEmacs UTF-2000.
3170
3171         * chartab.h (get_byte_table): New prototype [moved from
3172         chartab.c].
3173         (put_byte_table): Likewise [moved from chartab.c].
3174         (put_char_id_table_0): New inline function [moved from chartab.c].
3175         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3176         (Lisp_Char_Table_Entry): Likewise.
3177         (char_table_entry): Likewise.
3178         (XCHAR_TABLE_ENTRY): Likewise.
3179         (XSETCHAR_TABLE_ENTRY): Likewise.
3180         (CHAR_TABLE_ENTRYP): Likewise.
3181         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3182         (NUM_ASCII_CHARS): Likewise.
3183         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3184         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3185
3186 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3187
3188         * chartab.c (get_char_id_table): Change interface.
3189         (put_char_id_table_0): New function.
3190         (put_char_id_table): Change interface; new implementation.
3191         (Fget_composite_char): Modify for interface change of
3192         `get_char_id_table'.
3193         (Fchar_variants): Likewise.
3194         (add_char_attribute_alist_mapper): Likewise.
3195         (Fchar_attribute_alist): Likewise.
3196         (Fget_char_attribute): Likewise.
3197         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3198         as same as character as the first argument like `put-char-table';
3199         modify for interface change of `put_char_id_table'.
3200         (Fremove_char_attribute): Modify for interface change of
3201         `put_char_id_table'.
3202
3203 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3204
3205         * text-coding.c: Sync up with XEmacs 21.2.41.
3206         (COMPOSE_ADD_CHAR): Modify for interface change of
3207         `get_char_id_table'.
3208
3209         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3210         change of `put_char_id_table'.
3211         (remove_char_ccs): Likewise.
3212
3213         * chartab.h (put_char_id_table): Change interface.
3214
3215         * char-ucs.h (get_char_id_table): Change interface.
3216         (charset_code_point): Modify for interface change of
3217         `get_char_id_table'.
3218         (encode_char_1): Likewise.
3219
3220 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3221
3222         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3223         argument `ccs'.
3224         (map_over_uint16_byte_table): Likewise.
3225         (map_over_byte_table): Likewise.
3226         (map_char_id_table): Add new argument `range' like
3227         `map_char_table'.
3228         (Fmap_char_attribute): Add new argument `range' like
3229         `Fmap_char_table'.
3230
3231 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3232
3233         * chartab.c (map_over_uint8_byte_table): Change interface of
3234         mapping function to use struct chartab_range instead of Emchar.
3235         (map_over_uint16_byte_table): Likewise.
3236         (map_over_byte_table): Likewise.
3237         (map_char_id_table): Likewise.
3238         (struct slow_map_char_id_table_arg): Deleted.
3239         (slow_map_char_id_table_fun): Deleted.
3240         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3241         function `slow_map_char_table_fun' instead of struct
3242         `slow_map_char_id_table_arg' and function
3243         `slow_map_char_id_table_fun'.
3244
3245 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * mule-charset.c: Move char-it-table related codes to chartab.c.
3248         (Vutf_2000_version): Moved to chartab.c.
3249         (Fdefine_char): Likewise.
3250         (Ffind_char): Likewise.
3251         (syms_of_mule_charset): Move types `uint8-byte-table',
3252         `uint16-byte-table', `byte-table' and `char-id-table' to
3253         chartab.c; move functions `char_attribute_list,
3254         `find_char_attribute_table, `char_attribute_alist,
3255         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3256         `map_char_attribute, `define_char, `find_char, `char_variants and
3257         `get_composite_char to chartab.c; move symbols `=>ucs',
3258         `->decomposition', `compat', `isolated', `initial', `medial',
3259         `final', `vertical', `noBreak', `fraction', `super', `sub',
3260         `circle', `square', `wide', `narrow', `small' and `font' to
3261         chartab.c.
3262         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3263         setting codes for `Vcharacter_composition_table' and
3264         `Vcharacter_variant_table' to chartab.c.
3265         (complex_vars_of_mule_charset): Move setting code for
3266         `Vchar_attribute_hash_table' to chartab.c.
3267
3268         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3269         (make_char_id_table): New prototype.
3270         (put_char_id_table): Likewise.
3271         (Fget_char_attribute): Likewise.
3272
3273         * chartab.c: Move char-id-table related code from mule-charset.c.
3274         (Vutf_2000_version): Moved from mule-charset.c.
3275
3276         * char-ucs.h (Qucs): New external variable.
3277         (put_char_ccs_code_point): New prototype.
3278         (remove_char_ccs): Likewise.
3279
3280 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3281
3282         * mule-charset.c (Vcharset_ucs_jis): New variable.
3283         (Qucs_jis): Likewise.
3284         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3285         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3286
3287         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3288
3289 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c (map_over_uint8_byte_table): New function.
3292         (map_over_uint16_byte_table): Likewise.
3293         (map_over_byte_table): Likewise.
3294         (map_char_id_table): Likewise.
3295         (slow_map_char_id_table_fun): Likewise.
3296         (Fmap_char_attribute): Likewise.
3297         (syms_of_mule_charset): Add new function `map-char-attribute'.
3298
3299 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3300
3301         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3302         (syms_of_mule_charset): Add new function `find-char'.
3303
3304 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3305
3306         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3307         XEmacs UTF-2000.
3308         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3309         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3310         XEmacs UTF-2000.
3311         (complex_vars_of_mule_charset): Add new coded-charset
3312         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3313         `ideograph-gt-pj-*'.
3314
3315         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3316
3317 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3318
3319         * mule-charset.c (encode_builtin_char_1): Purge codes about
3320         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3321         {MIN|MAX}_CHAR_HEBREW.
3322         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3323         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3324
3325         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3326         (MAX_CHAR_GREEK): Purged.
3327         (MIN_CHAR_CYRILLIC): Purged.
3328         (MAX_CHAR_CYRILLIC): Purged.
3329         (MIN_CHAR_HEBREW): Commented out.
3330         (MAX_CHAR_HEBREW): Likewise.
3331
3332 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3333
3334         * mule-charset.c (Qto_ucs): New variable.
3335         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3336         (Fdefine_char): Likewise.
3337         (syms_of_mule_charset): Add new symbol `=>ucs'.
3338
3339 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3340
3341         * mule-charset.c (Fdecode_char): Fixed.
3342
3343 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3346         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3347         "tcvn5712-1".
3348
3349 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3350
3351         * mule-charset.c (Vcharset_ucs_big5): New variable.
3352         (Qucs_big5): Likewise.
3353         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3354         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3355
3356         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3357
3358 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * mule-charset.c (decode_builtin_char): Check Big5 code range
3361         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3362
3363 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3364
3365         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3366         (Qchinese_gb12345): Likewise.
3367         (Fdecode_builtin_char): Fixed.
3368         (syms_of_mule_charset): Add `chinese-gb12345'.
3369         (complex_vars_of_mule_charset): Add coded-charset
3370         `chinese-gb12345'.
3371
3372         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3373         (LEADING_BYTE_CHINESE_GB12345): New macro.
3374
3375 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3376
3377         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3378         and `latin-viscii-upper' for `latin-viscii'.
3379
3380 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3381
3382         * mule-charset.c (Fdecode_builtin_char): Comment out
3383         regularization code for ISO-IR GR representation.
3384
3385 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3386
3387         * mule-charset.c (decode_builtin_char): New function; renamed from
3388         `make_builtin_char'; return -1 instead of signal.
3389         (Fdecode_builtin_char): Use `decode_builtin_char'.
3390
3391         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3392         `make_builtin_char'.
3393         (DECODE_CHAR): Use `decode_builtin_char' instead of
3394         `make_builtin_char'; use mapping table of `chinese-big5' for
3395         `chinese-big5-{1,2}'.
3396
3397 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3398
3399         * text-coding.c (char_encode_big5): New function.
3400         (char_finish_big5): Likewise.
3401         (reset_encoding_stream): Use `char_encode_big5' and
3402         `char_finish_big5' for CODESYS_BIG5.
3403         (mule_encode): Don't use `encode_coding_big5'.
3404         (encode_coding_big5): Deleted.
3405
3406 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3407
3408         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3409         0x81- in XEmacs UTF-2000.
3410         (detect_coding_big5): Likewise.
3411
3412 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3413
3414         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3415         generate character-id if the CCS property does not have
3416         corresponding predefined character.
3417         (make_builtin_char): Return -1 if corresponding predefined
3418         character is not found.
3419         (Fdecode_char): Return nil if corresponding character is not
3420         found.
3421         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3422         don't map to builtin ucs space.
3423
3424 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3425
3426         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3427         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3428
3429 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3430
3431         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3432         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3433         (Qideograph_gt): Likewise.
3434         (Qideograph_gt_pj_{1..11}): Likewise.
3435         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3436         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3437         `ideograph-gt-pj-11'.
3438         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3439         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3440         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3441
3442         * char-ucs.h (LEADING_BYTE_GT): New macro.
3443         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3444         (MIN_CHAR_GT): Likewise.
3445         (MAX_CHAR_GT): Likewise.
3446
3447 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3450         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3451
3452         * doprnt.c (unsigned_int_converters): Add `c'.
3453         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3454
3455         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3456         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3457         `MIN_CHAR_MOJIKYO'.
3458         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3459         (MAX_CHAR_MOJIKYO_0): New macro.
3460         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3461
3462 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * mule-charset.c (Fdefine_char): Delete cemented out code.
3465         (encode_builtin_char_1): Modify for new allocation of builtin
3466         Mojikyo characters.
3467
3468         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3469
3470 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3471
3472         * mule-charset.c (Vcharset_ucs_cns): New variable.
3473         (Qucs_cns): New variable.
3474         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3475         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3476
3477 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3478
3479         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3480
3481 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3482
3483         * search.c (search_buffer): Make `charset_base_code' as
3484         character-id >> 6 to eliminate the corresponding last byte in
3485         UTF-8 representation [I'm not sure it is right thing].
3486         (boyer_moore): Likewise.
3487
3488 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3489
3490         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3491         representation in MULE.
3492
3493 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3494
3495         * text-coding.c (Fmake_coding_system): Use
3496         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3497         `EXTERNAL_PROPERTY_LIST_LOOP'.
3498
3499 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3500
3501         * text-coding.c (decode_output_utf8_partial_char): New function.
3502         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3503
3504 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3505
3506         * text-coding.c (decode_coding_utf8): Output original byte
3507         sequence if it is broken; change order of conditions.
3508
3509         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3510         of conditions.
3511
3512         * mb-multibyte.h (BYTE_ASCII_P):
3513         Use bit ops for char-signedness safety.
3514         (BYTE_C0_P): Use bit ops for char-signedness safety.
3515         (BYTE_C1_P): Use bit ops for char-signedness safety.
3516
3517         * character.h: (XCHAR_OR_CHAR_INT):
3518         Always use inline function.
3519         Remove redundant type checking assert() - XINT will abort quite
3520         nicely.
3521
3522 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3523
3524         * text-coding.c: (Fencode_shift_jis_char):
3525         (Fencode_big5_char):
3526         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3527         Replace 0 with '\0' when working with bytes.
3528         Replace initial "(" with "\(" in docstrings.
3529
3530         (Fmake_coding_system):
3531         When type is ccl and value is vector, register it with a proper
3532         symbol.  And checks whether the given ccl program is valid.
3533         (mule_decode): When calling ccl_driver, if src indicates
3534         NULL pointer, set an empty string instead.
3535         (mule_encode): Likewise.
3536
3537         (detect_eol_type):
3538         (detect_coding_sjis):
3539         (decode_coding_sjis):
3540         (detect_coding_big5):
3541         (decode_coding_big5):
3542         (detect_coding_ucs4):
3543         (decode_coding_ucs4):
3544         (detect_coding_utf8):
3545         (decode_coding_utf8):
3546         (detect_coding_iso2022):
3547         (decode_coding_iso2022):
3548         (decode_coding_no_conversion):
3549         (mule_decode):
3550         Make all detecting and decoding functions take an Extbyte * arg.
3551         (text_encode_generic):
3552         (encode_coding_big5):
3553         (encode_coding_no_conversion):
3554         (mule_encode):
3555         Make all encoding functions take a Bufbyte * arg.
3556         Use size_t instead of unsigned int for memory sizes.
3557         Only cast to unsigned char whenever dereferencing Extbyte *.
3558
3559         (struct lrecord_description fcd_description_1): Use countof.
3560         (complex_vars_of_file_coding):
3561         Use countof instead of sizeof.
3562         Use CHECK_NATNUM instead of CHECK_INT.
3563
3564 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3565
3566         * mule-charset.c (Fget_char_attribute): Add new optional argument
3567         `default-value'.
3568         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3569         (remove_char_ccs): Likewise.
3570
3571 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3572
3573         * text-coding.c (char_encode_shift_jis): New implementation in
3574         UTF-2000.
3575         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3576         ...)'.
3577
3578         * mule-charset.c (Vcharset_chinese_big5): New variable in
3579         UTF-2000.
3580         (Qchinese_big5): New variable in UTF-2000.
3581         (BIG5_SAME_ROW): New macro in UTF-2000.
3582         (make_builtin_char): Use builtin characters of
3583         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3584         characters of `Vcharset_chinese_big5'.
3585         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3586         (complex_vars_of_mule_charset): Add new coded-charset
3587         `chinese-big5' in UTF-2000.
3588
3589         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3590         (Vcharset_chinese_big5): New external variable declaration.
3591         (Vcharset_japanese_jisx0208_1990): Likewise.
3592
3593 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3594
3595         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3596         function.
3597         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3598
3599 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3600
3601         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3602         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3603         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3604         `mojikyo-pj-*'.
3605
3606 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3607
3608         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3609
3610 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3611
3612         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3613         to 0.17.
3614
3615 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3616
3617         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3618         for `CHARSET_BY_ATTRIBUTES'.
3619         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3620         `CHARSET_BY_ATTRIBUTES'.
3621
3622         * text-coding.c (struct decoding_stream): Rename member `CH' to
3623         `CPOS'.
3624         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3625         (decode_coding_sjis): Likewise.
3626         (decode_coding_big5): Likewise.
3627         (decode_coding_ucs4): Likewise.
3628         (decode_coding_utf8): Likewise.
3629         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3630         `CHARSET_BY_ATTRIBUTES'.
3631         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3632         `str->counter'; decode 3, 4 bytes sets.
3633         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3634         sets.
3635         (decode_coding_no_conversion): Use `str->cpos' instead of
3636         `str->ch'.
3637
3638         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3639         (Qmojikyo_2022_1): New variable.
3640         (make_charset): Don't use `CHARSET_TYPE_*'.
3641         (range_charset_code_point): Support coded-charset
3642         `mojikyo-2022-1'.
3643         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3644         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3645         `CHARSET_BY_ATTRIBUTES'.
3646         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3647         `CHARSET_BY_ATTRIBUTES'.
3648         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3649         (complex_vars_of_mule_charset): Add new coded-charset
3650         `mojikyo-2022-1'.
3651
3652         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3653         interface; changed to inline function.
3654
3655         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3656         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3657         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3658         (CHARSET_TYPE_94): Deleted.
3659         (CHARSET_TYPE_94X94): Deleted.
3660         (CHARSET_TYPE_96): Deleted.
3661         (CHARSET_TYPE_96X96): Deleted.
3662         (CHARSET_TYPE_128): Deleted.
3663         (CHARSET_TYPE_128X128): Deleted.
3664         (CHARSET_TYPE_256): Deleted.
3665         (CHARSET_TYPE_256X256): Deleted.
3666         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3667         to inline function.
3668         (DECODE_MOJIKYO_2022): New inline function.
3669         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3670         `Vcharset_mojikyo_2022_1'.
3671
3672 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3673
3674         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3675         instead of `EQ'.
3676         (put_byte_table): Likewise.
3677         (char_id_table_equal): Use `get_byte_table' [new implementation].
3678
3679 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3680
3681         * mule-charset.c: Include <limits.h> in UTF-2000.
3682         (BT_UINT8_MIN): New macro in UTF-2000.
3683         (BT_UINT8_MAX): New macro in UTF-2000.
3684         (BT_UINT8_t): New macro in UTF-2000.
3685         (BT_UINT8_nil): New macro in UTF-2000.
3686         (BT_UINT8_unbound): New macro in UTF-2000.
3687         (INT_UINT8_P): New inline function in UTF-2000.
3688         (UINT8_VALUE_P): New inline function in UTF-2000.
3689         (UINT8_ENCODE): New inline function in UTF-2000.
3690         (UINT8_DECODE): New inline function in UTF-2000.
3691         (mark_uint8_byte_table): New function in UTF-2000.
3692         (print_uint8_byte_table): New function in UTF-2000.
3693         (uint8_byte_table_equal): New function in UTF-2000.
3694         (uint8_byte_table_hash): New function in UTF-2000.
3695         (make_uint8_byte_table): New function in UTF-2000.
3696         (uint8_byte_table_same_value_p): New function in UTF-2000.
3697         (BT_UINT16_MIN): New macro in UTF-2000.
3698         (BT_UINT16_MAX): New macro in UTF-2000.
3699         (BT_UINT16_t): New macro in UTF-2000.
3700         (BT_UINT16_nil): New macro in UTF-2000.
3701         (BT_UINT16_unbound): New macro in UTF-2000.
3702         (INT_UINT16_P): New inline function in UTF-2000.
3703         (UINT16_VALUE_P): New inline function in UTF-2000.
3704         (UINT16_ENCODE): New inline function in UTF-2000.
3705         (UINT16_DECODE): New inline function in UTF-2000.
3706         (UINT8_TO_UINT16): New inline function in UTF-2000.
3707         (mark_uint16_byte_table): New function in UTF-2000.
3708         (print_uint16_byte_table): New function in UTF-2000.
3709         (uint16_byte_table_equal): New function in UTF-2000.
3710         (uint16_byte_table_hash): New function in UTF-2000.
3711         (make_uint16_byte_table): New function in UTF-2000.
3712         (uint16_byte_table_same_value_p): New function in UTF-2000.
3713         (print_byte_table): New function in UTF-2000.
3714         (byte-table): Use `print_byte_table' as printer.
3715         (make_byte_table): Delete second argument `older'.
3716         (byte_table_same_value_p): New function in UTF-2000.
3717         (copy_byte_table): Deleted.
3718         (get_byte_table): New function in UTF-2000.
3719         (put_byte_table): New function in UTF-2000.
3720         (print_char_id_table): New function in UTF-2000.
3721         (char-id-table): Use `print_char_id_table' as printer.
3722         (make_char_id_table): Delete second argument `older'.
3723         (get_char_id_table): Use `get_byte_table [new implementation].
3724         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3725         implementation].
3726         (Ffind_char_attribute_table): New function in UTF-2000.
3727         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3728         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3729         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3730         (syms_of_mule_charset): Add new function
3731         `find-char-attribute-table' in UTF-2000.
3732
3733         * lrecord.h (enum lrecord_type): Add
3734         `lrecord_type_uint16_byte_table' and
3735         `lrecord_type_uint8_byte_table'.
3736
3737         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3738         (Lisp_Uint8_Byte_Table): New type.
3739         (XUINT8_BYTE_TABLE): New macro.
3740         (XSETUINT8_BYTE_TABLE): New macro.
3741         (UINT8_BYTE_TABLE_P): New macro.
3742         (GC_UINT8_BYTE_TABLE_P): New macro.
3743         (struct Lisp_Uint16_Byte_Table): New structure.
3744         (Lisp_Uint16_Byte_Table): New type.
3745         (XUINT16_BYTE_TABLE): New macro.
3746         (XSETUINT16_BYTE_TABLE): New macro.
3747         (UINT16_BYTE_TABLE_P): New macro.
3748         (GC_UINT16_BYTE_TABLE_P): New macro.
3749
3750 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3751
3752         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3753         (Vcharacter_ideographic_strokes_table): Deleted.
3754         (Vcharacter_total_strokes_table): Deleted.
3755         (Vcharacter_morohashi_daikanwa_table): Deleted.
3756         (Vcharacter_decomposition_table): Deleted.
3757         (Qname): Deleted because it is duplicated.
3758         (Qideographic_radical): Deleted.
3759         (Qideographic_strokes): Deleted.
3760         (Qtotal_strokes): Deleted.
3761         (Qmorohashi_daikanwa): Deleted.
3762         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3763         `ideographic-radical', `ideographic-strokes', `total-strokes',
3764         `morohashi-daikanwa' and `->decomposition'.
3765         (Fget_char_attribute): Likewise.
3766         (Fput_char_attribute): Likewise; use `make-vector' instead of
3767         `make_older_vector' for `->decomposition' value.
3768         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3769         `ideograph-daikanwa'.
3770         (syms_of_mule_charset): Delete builtin symbols `name',
3771         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3772         `morohashi-daikanwa'.
3773         (vars_of_mule_charset): Don't setup
3774         `Vcharacter_ideographic_radical_table',
3775         `Vcharacter_ideographic_strokes_table',
3776         `Vcharacter_total_strokes_table',
3777         `Vcharacter_morohashi_daikanwa_table' and
3778         `Vcharacter_decomposition_table'.
3779
3780 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3781
3782         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3783         `make_older_vector', `make_vector_newer_1' and
3784         `make_vector_newer'.
3785
3786         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3787         `make_older_vector' and `make_vector_newer'.
3788
3789         * config.h.in (HAVE_GGC): New macro.
3790
3791 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3792
3793         * mule-charset.c (struct char_attribute_list_closure): New
3794         structure in UTF-2000.
3795         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3796         (Fchar_attribute_list): Likewise.
3797         (Fset_charset_mapping_table): Use `make_vector_newer'.
3798         (Fdecode_builtin_char): New function in UTF-2000.
3799         (syms_of_mule_charset): Add new function `char-attribute-list' and
3800         `decode-builtin-char' in UTF-2000.
3801
3802         * lisp.h (make_vector_newer): New prototype.
3803
3804         * alloc.c (make_vector_newer_1): New function.
3805         (make_vector_newer): New function.
3806
3807 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3808
3809         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3810         50100)'.
3811
3812 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3813
3814         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3815         (Vcharacter_attribute_table): Deleted.
3816         (Vcharacter_name_table): Deleted.
3817         (put_char_attribute): Deleted.
3818         (remove_char_attribute): Deleted.
3819         (struct char_attribute_alist_closure): New structure.
3820         (add_char_attribute_alist_mapper): New function.
3821         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3822         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3823         (Fget_char_attribute): Likewise.
3824         (Fput_char_attribute): Likewise.
3825         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3826         of `remove_char_attribute'.
3827         (Fdefine_char): Return character.
3828         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3829         and `Vcharacter_name_table'.
3830         (complex_vars_of_mule_charset): Likewise
3831         `Vchar_attribute_hash_table'.
3832
3833 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3834
3835         * character.h (CHARC_CHARSET): New macro.
3836         (CHARC_CHARSET_ID): New macro.
3837         (CHARC_CODE_POINT): New macro.
3838         (CHARC_COLUMNS): New macro.
3839         (CHARC_TO_CHAR): New inline function.
3840         (CHARC_EQ): New inline function.
3841         (CHARC_ASCII_EQ): New inline function.
3842         (CHARC_IS_SPACE): New inline function.
3843         (ASCII_TO_CHARC): New inline function.
3844
3845         * char-ucs.h (encode_char_2): Deleted.
3846         (ENCODE_CHAR): Use `encode_char_1' again.
3847         (breakup_char_1): Likewise.
3848         (CHAR_TO_CHARC): New inline function.
3849
3850         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3851
3852 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3853
3854         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3855         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3856         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3857         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3858         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3859         `CHARC_IS_SPACE'.
3860         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3861
3862         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3863         `CHARC_CODE_POINT'.
3864         (x_output_display_block): Use `CHARC_CHARSET' and
3865         `CHARC_ASCII_EQ'.
3866
3867         * redisplay-tty.c (tty_output_display_block): Use
3868         `CHARC_ASCII_EQ'.
3869         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3870
3871         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3872
3873         * insdel.c (find_charsets_in_charc_string): Use
3874         `CHARC_CHARSET_ID'.
3875         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3876         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3877         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3878         (convert_charc_string_into_malloced_string): Likewise.
3879
3880 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3881
3882         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3883         instead of <Emchar_dynarr *> for buf; use
3884         `convert_bufbyte_string_into_charc_dynarr' instead of
3885         `convert_bufbyte_string_into_emchar_dynarr'; use
3886         `find_charsets_in_charc_string' instead of
3887         `find_charsets_in_emchar_string'.
3888
3889         * redisplay.h:
3890         - Include "character.h".
3891         (struct rune): New member `cglyph'; delete member `chr'.
3892
3893         * redisplay.c (redisplay_text_width_charc_string): New function;
3894         delete `redisplay_text_width_emchar_string'.
3895         (rtw_charc_dynarr): New variable; renamed from
3896         `rtw_emchar_dynarr'.
3897         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3898         `rtw_emchar_dynarr'; use
3899         `convert_bufbyte_string_into_charc_dynarr' instead of
3900         `convert_bufbyte_string_into_emchar_dynarr'; use
3901         `redisplay_text_width_charc_string' instead of
3902         `redisplay_text_width_emchar_string'.
3903         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3904         instead of `rtw_emchar_dynarr'; use
3905         `convert_bufbyte_string_into_charc_dynarr' instead of
3906         `convert_bufbyte_string_into_emchar_dynarr'.
3907         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3908         `redisplay_text_width_charc_string' instead of
3909         `redisplay_text_width_emchar_string'.
3910         (create_text_block): Modify for <struct rune> change.
3911         (generate_formatted_string_db): Likewise.
3912         (create_string_text_block): Likewise.
3913         (pixel_to_glyph_translation): Likewise.
3914
3915         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3916         instead of <const Emchar *>.
3917         (x_text_width): Likewise.
3918         (x_output_display_block): Use <Charc_dynarr *> instead
3919         <Emchar_dynarr *>; modify for <structure rune> change.
3920         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3921         *>.
3922
3923         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3924         <const Emchar *>; use `charc_string_displayed_columns' instead of
3925         `emchar_string_displayed_columns'.
3926         (tty_output_display_block): Use <Charc_dynarr *> instead of
3927         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3928         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3929         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3930         `tty_output_emchar_dynarr_dynarr'.
3931         (tty_output_charc_dynarr): New function; delete
3932         `tty_output_charc_dynarr'.
3933
3934         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3935         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3936         <Emchar_dynarr *> for buf; use
3937         `convert_bufbyte_string_into_charc_dynarr' instead of
3938         `convert_bufbyte_string_into_emchar_dynarr'.
3939
3940         * frame.c (title_string_charc_dynarr): New variable; renamed from
3941         `title_string_emchar_dynarr'.
3942         (generate_title_string): Use `title_string_charc_dynarr' instead
3943         of `title_string_emchar_dynarr'; use
3944         `convert_charc_string_into_malloced_string' instead of
3945         `convert_emchar_string_into_malloced_string'.
3946         (init_frame): Use `title_string_charc_dynarr' instead of
3947         `title_string_emchar_dynarr'.
3948
3949         * console.h:
3950         - Include "character.h".
3951         (struct console_methods): Use <const Charc *> instead of <const
3952         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3953         <Emchar_dynarr *> in output_string_method.
3954
3955         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3956         <Emchar_dynarr *>.
3957
3958         * console-stream.c (stream_text_width): Use <const Charc *>
3959         instead of <const Emchar *>.
3960
3961         * character.h (Charc_dynarr): New type.
3962
3963         * char-ucs.h (structure Charc): New structure; define new type
3964         `Charc'.
3965
3966         * char-lb.h (DECODE_CHAR): New inline function.
3967         (encode_char_1): New inline function.
3968         (ENCODE_CHAR): New macro.
3969         (structure Charc): New structure; define new type `Charc'.
3970
3971         * char-1byte.h (Vcharset_control_1): New macro.
3972         (Vcharset_latin_iso8859_1): New macro.
3973         (DECODE_CHAR): New inline function.
3974         (encode_char_1): New inline function.
3975         (ENCODE_CHAR): New macro.
3976         (structure Charc): New structure; define new type `Charc'.
3977
3978         * insdel.c (find_charsets_in_charc_string): New function; delete
3979         `find_charsets_in_emchar_string'.
3980         (charc_string_displayed_columns): New function; delete
3981         `emchar_string_displayed_columns'.
3982         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3983         `convert_bufbyte_string_into_emchar_dynarr'.
3984         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3985         `convert_charc_string_into_bufbyte_dynarr'.
3986         (convert_charc_string_into_malloced_string): New function; delete
3987         `convert_charc_string_into_malloced_string'.
3988
3989         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3990         `find_charsets_in_emchar_string'.
3991         (charc_string_displayed_columns): New prototype; delete
3992         `emchar_string_displayed_columns'.
3993         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3994         `convert_charc_string_into_bufbyte_dynarr'.
3995         (convert_charc_string_into_malloced_string): New prototype; delete
3996         `convert_charc_string_into_malloced_string'.
3997
3998 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3999
4000         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
4001
4002 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4003
4004         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
4005
4006         * char-ucs.h: Use <short> for <Charset_ID>.
4007
4008         * mule-charset.h, char-1byte.h: Use <unsigned char> for
4009         <Charset_ID>.
4010
4011 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4012
4013         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4014         to 0.16.
4015
4016 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4017
4018         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4019         variable.
4020         (Qmorohashi_daikanwa): New variable.
4021         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4022         for `morohashi-daikanwa' attribute.
4023         (Fget_char_attribute): Likewise.
4024         (Fput_char_attribute): Likewise.
4025         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4026         has the same value of `ideograph-daikanwa'.
4027         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4028         (vars_of_mule_charset): Setup
4029         `Vcharacter_morohashi_daikanwa_table'.
4030
4031 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4032
4033         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4034         attributes.
4035         (add_charset_to_list_mapper): Add `key' instead of
4036         `XCHARSET_NAME (value)' to return aliases.
4037
4038 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4039
4040         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4041         variable.
4042         (Vcharacter_ideographic_strokes_table): New variable.
4043         (Qideographic_radical): New variable.
4044         (Qideographic_strokes): New variable.
4045         (Fchar_attribute_alist): Use
4046         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4047         attribute; use `Vcharacter_ideographic_strokes_table' for
4048         `ideographic-strokes' attribute.
4049         (Fget_char_attribute): Likewise.
4050         (Fput_char_attribute): Likewise.
4051         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4052         `ideographic-strokes'.
4053         (vars_of_mule_charset): Setup
4054         `Vcharacter_ideographic_radical_table' and
4055         `Vcharacter_ideographic_strokes_table'.
4056
4057 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4058
4059         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4060         (Qtotal_strokes): New variable.
4061         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4062         `total-strokes' attribute.
4063         (Fget_char_attribute): Likewise.
4064         (Fput_char_attribute): Likewise.
4065         (syms_of_mule_charset): Add new symbol `total-strokes'.
4066         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4067
4068 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4069
4070         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4071         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4072         are found.
4073         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4074         `->decomposition' attribute.
4075         (Fput_char_attribute): Likewise.
4076         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4077
4078 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4079
4080         * mule-charset.c (decoding_table_check_elements): New function.
4081         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4082
4083 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4084
4085         * mule-charset.c (Fset_charset_mapping_table): Use
4086         `put_char_ccs_code_point'.
4087
4088 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4089
4090         * mule-charset.c (decoding_table_put_char): New inline function.
4091         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4092
4093 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4094
4095         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4096         (XCHARSET_BYTE_SIZE): New macro.
4097         (decoding_table_remove_char): New inline function.
4098         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4099         `decoding_table_remove_char'.
4100         (remove_char_ccs): Use `decoding_table_remove_char'.
4101         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4102
4103 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4104
4105         * mule-charset.c (Vcharacter_name_table): New variable.
4106         (Qname): New variable.
4107         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4108         attribute.
4109         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4110         `Vcharacter_name_table' for `name' attribute.
4111         (Fremove_char_attribute): Use function `remove_char_ccs'.
4112         (put_char_ccs_code_point): New function.
4113         (remove_char_ccs): New function.
4114         (syms_of_mule_charset): Add new symbol `name'.
4115         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4116
4117 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4118
4119         * mule-charset.c (make_byte_table): Add new argument `older'.
4120         (make_char_id_table): Likewise.
4121         (copy_char_id_table): Comment out because it is not used.
4122         (put_char_id_table): Modify for `make_byte_table'.
4123         (Fput_char_attribute): Make encoding_table as older object;
4124         inherit older bit of `Vcharacter_composition_table'.
4125         (mark_charset): Don't mark `cs->encoding_table'.
4126         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4127         normal object; make `Vcharacter_composition_table' as an older
4128         object; delete staticpro for `Vcharacter_composition_table'; make
4129         `Vcharacter_variant_table' as a normal object.
4130
4131         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4132         (mark_object): Don't check older object in UTF-2000.
4133
4134         * lrecord.h (struct lrecord_header): Add new member `older' in
4135         UTF-2000.
4136         (set_lheader_implementation): Setup `SLI_header->older' in
4137         UTF-2000.
4138         (set_lheader_older_implementation): New macro in UTF-2000.
4139         (OLDER_RECORD_P): New macro in UTF-2000.
4140         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4141         (alloc_older_lcrecord): New prototype in UTF-2000.
4142         (alloc_older_lcrecord_type): New macro in UTF-2000.
4143
4144 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4145
4146         * mule-charset.c (byte_table_description): Use
4147         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4148         (char_id_table_description): Delete bogus `, 1'.
4149         (Fget_char_attribute): Refer encoding_table of each coded-charset
4150         to get value of coded-charset attribute of a character.
4151         (Fput_char_attribute): Use `make_older_vector' instead of
4152         `make_vector'; use encoding_table of each coded-charset to store
4153         value of coded-charset attribute of a character.
4154         (Fremove_char_attribute): Use encoding_table of each coded-charset
4155         to store value of coded-charset attribute of a character.
4156         (mark_charset): Mark `cs->encoding_table'; don't mark
4157         `cs->decoding_table'.
4158         (charset_description): Add description of new member
4159         `encoding_table'.
4160         (make_charset): Initialize `encoding_table'.
4161
4162         * char-ucs.h (struct Lisp_Charset): Add new member
4163         `encoding_table'.
4164         (CHARSET_ENCODING_TABLE): New macro.
4165         (XCHARSET_ENCODING_TABLE): New macro.
4166         (charset_code_point): New implementation.
4167         (encode_char_1): Likewise.
4168
4169         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4170         (disksave_object_finalization_1): Call finalizers of
4171         `all_older_lcrecords' in UTF-2000.
4172         (make_older_vector): New function in UTF-2000.
4173         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4174         UTF-2000.
4175
4176         * lisp.h (make_older_vector): New prototype in UTF-2000.
4177
4178 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4179
4180         * lrecord.h (enum lrecord_type): Rename
4181         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4182
4183         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4184         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4185         `get_char_code_table'.
4186
4187         * mule-charset.c (mark_char_id_table): Renamed from
4188         `mark_char_code_table'.
4189         (char_id_table_equal): Renamed from `char_code_table_equal'.
4190         (char_id_table_hash): Renamed from `char_code_table_hash'.
4191         (make_char_id_table): Renamed from `make_char_code_table'.
4192         (copy_char_id_table): Renamed from `copy_char_code_table'.
4193         (get_char_id_table): Renamed from `get_char_code_table'.
4194         (put_char_id_table): Renamed from `put_char_code_table'.
4195         (to_char_id): Renamed from `to_char_code'.
4196
4197         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4198         `Lisp_Char_Code_Table'.
4199         (char_id_table): Renamed from `char_code_table'.
4200         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4201         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4202         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4203         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4204         (get_char_id_table): Renamed from `get_char_code_table'.
4205
4206 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4207
4208         * lrecord.h (enum lrecord_type): Rename
4209         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4210
4211         * mule-charset.c (mark_byte_table): Renamed from
4212         `mark_char_byte_table'.
4213         (byte_table_equal): Renamed from `char_byte_table_equal'.
4214         (byte_table_hash): Renamed from `byte_table_hash'.
4215         (make_byte_table): Renamed from `make_byte_table'.
4216         (copy_byte_table): Renamed from `copy_char_byte_table'.
4217
4218         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4219         `Lisp_Char_Byte_Table'.
4220         (byte_table): Renamed from `char_byte_table'.
4221         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4222         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4223         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4224         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4225
4226 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4227
4228         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4229         (dfc_convert_to_internal_format): Likewise.
4230         
4231         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4232         * text-coding.c (Fcoding_system_alias_p): New function.
4233         * text-coding.c (Fcoding_system_aliasee): New function.
4234         * text-coding.c (append_suffix_to_symbol): New function.
4235         * text-coding.c (dangling_coding_system_alias_p): New function.
4236         * text-coding.c (Ffind_coding_system):
4237         * text-coding.c (Fcopy_coding_system):
4238         * text-coding.c (encode_coding_no_conversion):
4239         * text-coding.c (syms_of_file_coding):
4240         * text-coding.c (vars_of_file_coding):
4241         Rewrite coding system alias code.
4242         Allow nested aliases, like symbolic links.
4243         Allow redefinition of coding system aliases.
4244         Prevent existence of dangling coding system aliases.
4245         Eliminate convert_to_external_format.
4246         Eliminate convert_to_internal_format.
4247         
4248         * text-coding.c: Change enum eol_type to eol_type_t.
4249
4250 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4251
4252         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4253         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4254
4255         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4256         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4257
4258 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4259
4260         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4261         `ideograph-daikanwa'.
4262
4263         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4264         (Vcharset_ucs_bmp): Likewise.
4265         (Vcharset_mojikyo): Add new extern variable definition.
4266         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4267         (Vcharset_latin_iso8859_3): Likewise.
4268         (Vcharset_latin_iso8859_4): Likewise.
4269         (Vcharset_latin_iso8859_9): Likewise.
4270         (Vcharset_latin_viscii_lower): Likewise.
4271         (Vcharset_latin_viscii_upper): Likewise.
4272         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4273         `mojikyo' code-point is used to decode.
4274         (encode_char_2): New function [to convert `mojikyo' code-point to
4275         Mojikyo font encoding].
4276         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4277         (breakup_char_1): Likewise.
4278         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4279
4280 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4281
4282         * text-coding.c (Fmake_coding_system): Add document about
4283         `disable-composition' property.
4284
4285 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4286
4287         * text-coding.c (Qdisable_composition): New variable; delete
4288         `Qcomposite'.
4289         (Fmake_coding_system): Add new property `disable-composite';
4290         delete property `composite'.
4291         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4292         instead of `!CODING_SYSTEM_COMPOSITE'.
4293         (syms_of_file_coding): Add new symbol `disable-composition';
4294         delete symbol `composite'.
4295
4296         * file-coding.h (struct Lisp_Coding_System): Add
4297         `disable_composition'; delete `enable_composition'.
4298         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4299         `CODING_SYSTEM_COMPOSITE'.
4300         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4301         `XCODING_SYSTEM_COMPOSITE'.
4302
4303 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4304
4305         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4306         to 0.15.
4307
4308 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4309
4310         * text-coding.c (Qcomposite): New variable.
4311         (Fmake_coding_system): Add new property `composite'.
4312         (struct decoding_stream): Add `combined_char_count',
4313         `combined_chars' and `combining_table' in UTF-2000.
4314         (COMPOSE_FLUSH_CHARS): New macro.
4315         (COMPOSE_ADD_CHAR): New macro.
4316         (reset_decoding_stream): Reset `str->combined_char_count' and
4317         `str->combining_table' in UTF-2000.
4318         (decode_coding_iso2022): Modify for character-decomposition.
4319         (syms_of_file_coding): Add new symbol `composite'.
4320
4321 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4322
4323         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4324         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4325         of `Vcharacter_composition_table' if `->decomposition' property
4326         has only 1 element.
4327         (Qlatin_tcvn5712): New variable.
4328         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4329         (complex_vars_of_mule_charset): Add new coded-charset
4330         `latin-tcvn5712'.
4331
4332         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4333
4334 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4335
4336         * file-coding.h (struct Lisp_Coding_System): Add
4337         `enable_composition'.
4338         (CODING_SYSTEM_COMPOSITE): New macro.
4339         (XCODING_SYSTEM_COMPOSITE): New macro.
4340
4341 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4342
4343         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4344
4345 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4346
4347         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4348         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4349
4350 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4351
4352         * mule-charset.c (Vcharset_mojikyo): New variable.
4353         (Fdefine_char): Don't use coded-charset which does not have
4354         non-builtin character range to allocate character-id.
4355         (Qmojikyo): New variable.
4356         (syms_of_mule_charset): Add new symbol `mojikyo'.
4357         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4358
4359         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4360         (LEADING_BYTE_MOJIKYO): New macro.
4361         (MIN_CHAR_MOJIKYO): New macro.
4362         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4363         (MAX_CHAR_MOJIKYO): New macro.
4364
4365 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4366
4367         * mule-charset.c (remove_char_attribute): Fixed.
4368
4369 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4370
4371         * mule-charset.c (remove_char_attribute): New function.
4372         (Fremove_char_attribute): New function.
4373         (encode_builtin_char_1): Comment out builtin-support for
4374         greek-iso8859-7 and cyrillic-iso8859-5.
4375         (Fdecode_char): Check `code' is an integer.
4376         (syms_of_mule_charset): Add `remove-char-attribute'.
4377         (MIN_CHAR_GREEK): Deleted.
4378         (MAX_CHAR_GREEK): Likewise.
4379         (MIN_CHAR_CYRILLIC): Likewise.
4380         (MAX_CHAR_CYRILLIC): Likewise.
4381         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4382         MAX_CHAR_GREEK for `greek-iso8859-7'.
4383
4384         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4385         (MAX_CHAR_GREEK): Likewise.
4386         (MIN_CHAR_CYRILLIC): Likewise.
4387         (MAX_CHAR_CYRILLIC): Likewise.
4388
4389 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4390
4391         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4392         format is used without `ucs' property.
4393         (Fdecode_char): Fix problem with GR representation.
4394         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4395         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4396
4397 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4398
4399         * mule-charset.c (make_builtin_char): New function.
4400         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4401         (Fset_charset_mapping_table): Modify for new representation of
4402         code-point.
4403         (Fdecode_char): New function.
4404         (syms_of_mule_charset): Add new builtin function `decode-char' in
4405         UTF-2000.
4406
4407         * char-ucs.h (make_builtin_char): New prototype.
4408         (DECODE_CHAR): New inline function.
4409         (MAKE_CHAR): Use `DECODE_CHAR'.
4410
4411 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4412
4413         * text-coding.c (parse_charset_conversion_specs): Use
4414         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4415         `XCHARSET_TYPE'.
4416         (iso2022_designate): Likewise.
4417
4418         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4419         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4420
4421         * mule-charset.c (Vcharset_ucs): New variable.
4422         (print_charset): Change design; use `CHARSET_CHARS' and
4423         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4424         (make_charset): Change signature to specify `chars' and
4425         `dimension' instead of `type'.
4426         (range_charset_code_point): Modify for 256^n-set.
4427         (encode_builtin_char_1): Encode as `ucs' in default.
4428         (Fmake_charset): Modify for `make_charset'.
4429         (Fmake_reverse_direction_charset): Likewise.
4430         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4431         UTF-2000.
4432         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4433         for `make_charset'.
4434
4435         * char-ucs.h (Vcharset_ucs): New variable.
4436         (LEADING_BYTE_UCS): New macro.
4437         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4438         and `chars' to `unsigned short' from `unsigned int'.
4439         (CHARSET_TYPE): Deleted.
4440         (XCHARSET_TYPE): Deleted.
4441
4442 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4443
4444         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4445
4446         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4447         (ENCODE_CHAR): New macro.
4448
4449 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4450
4451         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4452         to 0.14 (Kawachi-Katakami).
4453
4454 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4455
4456         * text-coding.c (char_encode_shift_jis): Modify for
4457         `charset_code_point'.
4458         (char_encode_iso2022): Likewise.
4459
4460         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4461         (integer) instead of list of <Lisp_Object>s (integers) as the
4462         format of code-point of a coded-charset.
4463         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4464         (encode_builtin_char_1): New function; delete
4465         `split_builtin_char'.
4466         (charset_code_point): Return <int> instead of <Lisp_Object>.
4467         (Fsplit_char): Don't use `SPLIT_CHAR'.
4468
4469         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4470         prototype for `split_builtin_char'.
4471         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4472         (charset_code_point): Likewise.
4473         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4474         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4475
4476 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4477
4478         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4479         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4480
4481 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4482
4483         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4484
4485         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4486         (MAX_CHAR_OBS_94x94): Deleted.
4487
4488 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4489
4490         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4491
4492         * char-ucs.h (MAX_CHAR_BMP): New macro.
4493
4494 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4495
4496         * text-coding.c: Sync with r21-2-24.
4497
4498 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4499
4500         * file-coding.c: Modify for UTF-2000.
4501
4502 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4505         to 0.13 (Takaida).
4506
4507 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4508
4509         * mule-charset.c (split_builtin_char): Delete builtin support for
4510         `katakana-jisx0201'.
4511         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4512         BMP area in builtin representation.
4513
4514         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4515         `Vcharset_katakana_jisx0201'.
4516
4517 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4520         (Qisolated): New variable.
4521         (Qinitial): New variable.
4522         (Qmedial): New variable.
4523         (Qfinal): New variable.
4524         (Qvertical): New variable.
4525         (Qsmall): New variable.
4526         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4527         `Qvertical' and `Qsmall'.
4528         (Qmojikyo_pj_[1 .. 21]): New variable.
4529         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4530         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4531         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4532         .. 21]'.
4533
4534 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4535
4536         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4537         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4538         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4539
4540 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4541
4542         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4543         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4544         BMP.
4545         (Qjapanese_jisx0208_1990): New variable.
4546         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4547         (complex_vars_of_mule_charset): Add new coded-charset
4548         `japanese-jisx0208-1990'.
4549
4550         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4551         (MIN_CHAR_JIS_X0208_1990): New macro.
4552         (MAX_CHAR_JIS_X0208_1990): New macro.
4553
4554 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4555
4556         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4557         coded-charset is not found.
4558
4559 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4560
4561         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4562         (Fdefine_char): Use `Fmake_char'.
4563
4564 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4565
4566         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4567         (Vcharset_hiragana_jisx0208): Deleted.
4568         (Vcharset_katakana_jisx0208): Deleted.
4569         (Qideograph_daikanwa): New variable.
4570         (Qhiragana_jisx0208): Deleted.
4571         (Qkatakana_jisx0208): Deleted.
4572         (split_builtin_char): Split `ideograph-daikanwa'.
4573         (Fsplit_char): New implementation for UTF-2000.
4574         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4575         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4576         (complex_vars_of_mule_charset): Add new coded-charset
4577         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4578         `katakana-jisx0208'.
4579
4580         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4581         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4582         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4583         (MIN_CHAR_DAIKANWA): New macro.
4584         (MAX_CHAR_DAIKANWA): New macro.
4585
4586 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4587
4588         * data.c (Fstring_to_number): Don't recognize floating point if
4589         base is not 10.
4590
4591 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4592
4593         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4594
4595 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4596
4597         * mule-charset.c (Qsquare): New variable.
4598         (to_char_code): Add `Qsquare'.
4599         (syms_of_mule_charset): Add new symbol `square'.
4600
4601 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4602
4603         * mule-charset.c (Qcircle): New variable.
4604         (to_char_code): Add `Qcircle'.
4605         (syms_of_mule_charset): Add new symbol `circle'.
4606
4607 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4608
4609         * mule-charset.c (Qfont): New variable.
4610         (to_char_code): Add `Qfont'.
4611         (syms_of_mule_charset): Add new symbol `font'.
4612
4613 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4614
4615         * mule-charset.c (Qsub): New variable.
4616         (to_char_code): Add `Qsub'.
4617         (syms_of_mule_charset): Add new symbol `sub'.
4618
4619 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4620
4621         * mule-charset.c (Fput_char_attribute): Convert each element of
4622         VALUE to GL position if ATTRIBUTE is a GR-set,
4623
4624 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4625
4626         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4627         coded-charset is a GR-set.
4628
4629 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4630
4631         * mule-charset.c (Fput_char_attribute): Check each element of
4632         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4633
4634 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4635
4636         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4637         UTF-2000.
4638         (Qethiopic_ucs): New variable in UTF-2000.
4639         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4640         (complex_vars_of_mule_charset): Add new coded-charset
4641         `ethiopic-ucs' in UTF-2000.
4642
4643         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4644         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4645         9)'.
4646         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4647         10)'.
4648         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4649
4650 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4651
4652         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4653         `ascii'.
4654
4655 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4656
4657         * mule-charset.c (Vcharacter_variant_table): New variable.
4658         (Q_ucs): New variable.
4659         (Fchar_variants): New function.
4660         (Fput_char_attribute): Register `->ucs' value to
4661         `Vcharacter_variant_table'.
4662         (syms_of_mule_charset): Add new function `char-variants' and new
4663         symbol `->ucs'.
4664         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4665
4666 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4667
4668         * mule-charset.c (get_char_code_table): Allow negative character
4669         code.
4670         (put_char_code_table): Likewise.
4671         (Vcharacter_composition_table): New variable.
4672         (Q_decomposition): New variable.
4673         (Qwide): New variable.
4674         (Qnarrow): New variable.
4675         (Qcompat): New variable.
4676         (QnoBreak): New variable.
4677         (Qsuper): New variable.
4678         (Qfraction): New variable.
4679         (to_char_code): New function.
4680         (Fget_composite_char): New function.
4681         (Fput_char_attribute): Register `->decomposition' value to
4682         `Vcharacter_composition_table'.
4683         (syms_of_mule_charset): Add new function `get-composite-char', new
4684         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4685         `super' and `fraction'.
4686         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4687
4688 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4689
4690         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4691         character; copy the return value.
4692
4693 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4694
4695         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4696
4697         * mule-charset.c (range_charset_code_point): Must use make_int.
4698         (split_builtin_char): New function.
4699
4700 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4701
4702         * mule-charset.c (char_byte_table): Change name from
4703         "char-code-table" to "char-byte-table".
4704         (mark_char_code_table): New function.
4705         (char_code_table_equal): New function.
4706         (char_code_table_hash): New function.
4707         (char_code_table_description): New constant.
4708         (char_code_table): New type.
4709         (make_char_code_table): New function.
4710         (copy_char_code_table): New function.
4711         (get_char_code_table): Modify for `char_code_table' type.
4712         (put_char_code_table): Likewise.
4713         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4714         (Kashiwara).
4715
4716         * char-ucs.h (char_code_table): New type.
4717         (XCHAR_CODE_TABLE): New macro.
4718         (XSETCHAR_CODE_TABLE): New macro.
4719         (CHAR_CODE_TABLE_P): New macro.
4720         (GC_CHAR_CODE_TABLE_P): New macro.
4721         (struct Lisp_Char_Code_Table): New structure.
4722
4723 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4724
4725         * mule-charset.c (Fmake_charset): Setup byte_offset for
4726         {94|96}^n-set.
4727
4728 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4729
4730         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4731         character.
4732
4733 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4734
4735         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4736         is found.
4737
4738 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4739
4740         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4741         charset, it is regarded as a charset.
4742         (put_char_attribute): New function in UTF-2000.
4743         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4744         charset, mapping-table of the charset is modified.
4745         (Fdefine_char): New function in UTF-2000.
4746         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4747         `Fput_char_attribute'.
4748         (syms_of_mule_charset): Add new function `define-char' and new
4749         symbol `ucs' in UTF-2000.
4750         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4751
4752 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4753
4754         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4755         non-UTF-2000 configuration.
4756
4757 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4758
4759         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4760         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4761
4762         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4763         deleted.
4764         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4765         (Fset_charset_mapping_table): Likewise.
4766
4767         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4768         (CHARSET_ENCODING_TABLE): Delete.
4769         (XCHARSET_ENCODING_TABLE): Delete.
4770         (charset_code_point): New interface.
4771
4772 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4773
4774         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4775         instead of `charset_get_byte1' and `charset_get_byte2'.
4776
4777         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4778         (charset_get_byte2): Deleted.
4779
4780 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4781
4782         * char-ucs.h (SPLIT_CHAR): New inline function.
4783         (breakup_char_1): Use `SPLIT_CHAR'.
4784
4785         * mule-charset.c (range_charset_code_point): New function.
4786         (charset_code_point): New function.
4787
4788         * char-ucs.h (range_charset_code_point): New interface.
4789         (breakup_char_1): Use `range_charset_code_point'.
4790
4791 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4792
4793         * mule-charset.c (Fmake_charset): Delete unused local variable
4794         `code_offset'.
4795
4796         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4797         (breakup_char_1): Find a charset and code-point in
4798         `Vcharacter_attribute_table'.
4799
4800 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4801
4802         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4803         to 0.10 (Yao).
4804
4805 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4806
4807         * mule-charset.c (Vcharacter_attribute_table): New variable.
4808         (Fchar_attribute_alist): New function.
4809         (Fget_char_attribute): New function.
4810         (Fput_char_attribute): New function.
4811         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4812         too.
4813         (syms_of_mule_charset): Add new function `char-attribute-alist',
4814         `get-char-attribute' and `put-char-attribute'.
4815         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4816
4817 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4818
4819         * mule-charset.c (Fmake_charset): Just use
4820         `get_unallocated_leading_byte'.
4821
4822         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4823         sets; don't use final-byte based number for private sets.
4824
4825 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4826
4827         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4828         integer.
4829
4830 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4831
4832         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4833         to 0.9.
4834
4835 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4836
4837         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4838         of `CHAR_LEADING_BYTE' in UTF-2000.
4839
4840         * insdel.c (find_charsets_in_bufbyte_string): Use
4841         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4842         (find_charsets_in_emchar_string): Likewise.
4843
4844         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4845         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4846
4847         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4848         (CHAR_CHARSET_ID): New macro.
4849
4850 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4851
4852         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4853         charset-id - MIN_LEADING_BYTE.
4854         (put_char_table): Likewise.
4855
4856 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4857
4858         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4859         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4860         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4861         (CHARSET_ID_OFFSET): New macro.
4862         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4863         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4864         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4865         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4866         4).
4867         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4868         5).
4869         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4870         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4871         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4872         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4873         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4874
4875 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4876
4877         * mule-charset.c (next_allocated_leading_byte): New variable in
4878         UTF-2000.
4879         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4880         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4881         (get_unallocated_leading_byte): Simply use
4882         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4883         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4884         UTF-2000.
4885
4886         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4887         (MAX_LEADING_BYTE_PRIVATE): New macro.
4888         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4889         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4890
4891 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4892
4893         * mule-charset.c (Fmake_charset): Allocate final-byte based
4894         charset-id for 94-set, 96-set and 94x94-set.
4895
4896 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4897
4898         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4899         ambiguous `else'.
4900         (Fmake_charset): Likewise.
4901         (complex_vars_of_mule_charset): Modify the font registry of
4902         `ucs-bmp' not to match `Ethiopic-Unicode'.
4903
4904 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4905
4906         * mule-charset.c (complex_vars_of_mule_charset): Add font
4907         registory of `ucs-bmp'.
4908
4909 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4910
4911         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4912         coded-charsets in `default-coded-charset-priority-list' when
4913         breaking up a character.
4914
4915         * mule-charset.c (Vcharset_latin_viscii): New variable.
4916         (Qlatin_viscii): New variable.
4917         (make_charset): Don't use `decoding_table'.
4918         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4919         byte_offset.
4920         (Fset_charset_mapping_table): New implementation.
4921         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4922         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4923         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4924         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4925         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4926         charset `latin_viscii'.
4927
4928         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4929         (CHARSET_TYPE_94X94): Change to 1 from 2.
4930         (CHARSET_TYPE_96): Change to 2 from 1.
4931         (CHARSET_TYPE_128): New macro.
4932         (CHARSET_TYPE_128X128): Change to 5 from 4.
4933         (CHARSET_TYPE_256): New macro.
4934         (CHARSET_TYPE_256X256): Change to 7 from 5.
4935         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4936
4937 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4938
4939         * text-coding.c (char_encode_shift_jis): Refer
4940         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4941         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4942
4943         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4944         (char_byte_table_equal): New function in UTF-2000.
4945         (char_byte_table_hash): New function in UTF-2000.
4946         (char_byte_table_description): New constant in UTF-2000.
4947         (char_byte_table): New type in UTF-2000.
4948         (make_char_byte_table): New function in UTF-2000.
4949         (copy_char_byte_table): New function in UTF-2000.
4950         (make_char_code_table): New macro in UTF-2000.
4951         (get_char_code_table): New function in UTF-2000.
4952         (put_char_code_table): New function in UTF-2000.
4953         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4954         (charset_description): Add setting in UTF-2000.
4955         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4956         `CHARSET_TO_BYTE1_TABLE(cs)'.
4957         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4958         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4959         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4960         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4961         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4962         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4963         `CHARSET_TO_BYTE2_TABLE(cs)'.
4964
4965         * char-ucs.h (char_byte_table): New type.
4966         (XCHAR_BYTE_TABLE): New macro.
4967         (XSETCHAR_BYTE_TABLE): New macro.
4968         (CHAR_BYTE_TABLE_P): New macro.
4969         (GC_CHAR_BYTE_TABLE_P): New macro.
4970         (struct Lisp_Char_Byte_Table): New structure.
4971         (get_char_code_table): New interface.
4972         (Emchar_to_byte_table): Deleted.
4973         (get_byte_from_character_table): Deleted.
4974         (struct Lisp_Charset): Add `encoding_table'; delete
4975         `to_byte1_table' and `to_byte2_table'.
4976         (CHARSET_ENCODING_TABLE): New macro.
4977         (CHARSET_TO_BYTE1_TABLE): Deleted.
4978         (CHARSET_TO_BYTE2_TABLE): Deleted.
4979         (XCHARSET_ENCODING_TABLE): New macro.
4980         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4981         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4982
4983 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4984
4985         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4986         `vietnamese-viscii-*'.
4987
4988 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4989
4990         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4991         (Qvietnamese_viscii_upper): New variable.
4992         (Fdefine_charset_alias): New function.
4993         (syms_of_mule_charset): Add new function `define-charset-alias'.
4994         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4995         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4996         `latin-viscii-*'.
4997
4998 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4999
5000         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
5001         (MAX_CHAR_OBS_94x94): New macro.
5002         (breakup_char_1): Support obsolete XEmacs-UCS private code space
5003         for 94x94 sets.
5004
5005         * mule-charset.c (put_byte_from_character_table): Change unit size
5006         from 128 to 256.
5007         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
5008         not defined.
5009         (Fmake_reverse_direction_charset): Modify dummy argument of
5010         `make_charset' for non-UTF-2000 environment.
5011
5012 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5013
5014         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5015
5016         * mule-charset.c (destroy_byte_from_character_table): New macro.
5017         (latin_jisx0201_to_ucs): Deleted.
5018         (latin_iso8859_2_to_ucs): Deleted.
5019         (latin_iso8859_3_to_ucs): Deleted.
5020         (latin_iso8859_4_to_ucs): Deleted.
5021         (latin_iso8859_9_to_ucs): Deleted.
5022         (latin_viscii_lower_to_ucs): Deleted.
5023         (latin_viscii_upper_to_ucs): Deleted.
5024         (mark_charset): Mark `cs->decoding_table'.
5025         (Fcharset_mapping_table): Fix DOC-string.
5026         (Fset_charset_mapping_table): New function.
5027         (syms_of_mule_charset): Add nwe function
5028         `set-charset-mapping-table'.
5029         (complex_vars_of_mule_charset): Don't setup and use
5030         `latin_*_to_ucs'.
5031
5032 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5033
5034         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5035         charset.
5036
5037 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5038
5039         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5040         (Vcharset_katakana_jisx0208): New variable.
5041         (Qhiragana_jisx0208): New variable.
5042         (Qkatakana_jisx0208): New variable.
5043         (make_charset): Add new argument `byte_offset'.
5044         (charset_get_byte1): Modify for new coded-charset definition; use
5045         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5046         `XCHARSET_BYTE_OFFSET'.
5047         (Fmake_charset): Modify for `make_charset'.
5048         (Fmake_reverse_direction_charset): Likewise.
5049         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5050         `katakana-jisx0208'.
5051         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5052         `.'  in font registry of charset `katakana-jisx0201',
5053         `latin-jisx0201', `vietnamese-viscii-lower' and
5054         `vietnamese-viscii-upper'; modify DOC-string of charset
5055         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5056         registry of charset `japanese-jisx0208' not to use font for JIS
5057         X0208:1990; add new charset `hiragana-jisx0208' and
5058         `katakana-jisx0208'.
5059
5060         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5061         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5062         (struct Lisp_Charset): Add `byte_offset'.
5063         (CHARSET_BYTE_OFFSET): New macro.
5064         (XCHARSET_UCS_MIN): New macro.
5065         (XCHARSET_UCS_MAX): New macro.
5066         (XCHARSET_CODE_OFFSET): New macro.
5067         (XCHARSET_BYTE_OFFSET): New macro.
5068         (MIN_CHAR_HIRAGANA): New macro.
5069         (MAX_CHAR_HIRAGANA): New macro.
5070         (MIN_CHAR_KATAKANA): New macro.
5071         (MAX_CHAR_KATAKANA): New macro.
5072         (MAKE_CHAR): Modify for new coded-charset definition; use
5073         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5074         `XCHARSET_BYTE_OFFSET'.
5075
5076 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5077
5078         * mule-charset.c (CHAR96): Deleted.
5079         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5080         <Lisp_Object>.
5081         (latin_iso8859_2_to_ucs): Likewise.
5082         (latin_iso8859_3_to_ucs): Likewise.
5083         (latin_iso8859_4_to_ucs): Likewise.
5084         (latin_iso8859_9_to_ucs): Likewise.
5085         (latin_viscii_lower_to_ucs): Likewise.
5086         (latin_viscii_upper_to_ucs): Likewise.
5087         (latin_tcvn5712_to_ucs): Commented out.
5088         (make_charset): Change type of argument `decoding_table' from
5089         <Emchar*> to <Lisp_Object> [vector of characters].
5090         (Fmake_charset): Modify for `make_charset'.
5091         (Fmake_reverse_direction_charset): Likewise.
5092         (Fcharset_mapping_table): New function in UTF-2000.
5093         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5094         UTF-2000.
5095         (complex_vars_of_mule_charset): Modify for type change of
5096         `*_to_ucs'; modify for `make_charset'.
5097
5098         * char-ucs.h (struct Lisp_Charset): Change type of
5099         `decoding_table' from <Emchar*> to <Lisp_Object>.
5100         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5101
5102 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5103
5104         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5105         error with non-UTF-2000-Mule.
5106
5107 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5108
5109         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5110         in lisp again].
5111         (Vcharset_chinese_cns11643_4): Likewise.
5112         (Vcharset_chinese_cns11643_5): Likewise.
5113         (Vcharset_chinese_cns11643_6): Likewise.
5114         (Vcharset_chinese_cns11643_7): Likewise.
5115         (Qchinese_cns11643_3): Likewise.
5116         (Qchinese_cns11643_4): Likewise.
5117         (Qchinese_cns11643_5): Likewise.
5118         (Qchinese_cns11643_6): Likewise.
5119         (Qchinese_cns11643_7): Likewise.
5120         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5121         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5122         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5123         (complex_vars_of_mule_charset): Likewise.
5124
5125 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5126
5127         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5128         96-set.
5129         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5130         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5131
5132 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5133
5134         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5135         0xFF60.
5136         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5137         (breakup_char_1): Likewise.
5138
5139         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5140         one of them includes the specified character.
5141
5142 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5143
5144         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5145
5146 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5147
5148         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5149
5150 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5151
5152         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5153         definition for non-UTF-2000 Mule.
5154         (latin_iso8859_3_to_ucs): Likewise.
5155         (latin_iso8859_4_to_ucs): Likewise.
5156         (latin_iso8859_9_to_ucs): Likewise.
5157         (latin_jisx0201_to_ucs): Likewise.
5158         (MIN_CHAR_THAI): Likewise.
5159         (MAX_CHAR_THAI): Likewise.
5160         (MIN_CHAR_GREEK): Likewise.
5161         (MAX_CHAR_GREEK): Likewise.
5162         (MIN_CHAR_HEBREW): Likewise.
5163         (MAX_CHAR_HEBREW): Likewise.
5164         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5165         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5166         (MIN_CHAR_CYRILLIC): Likewise.
5167         (MAX_CHAR_CYRILLIC): Likewise.
5168
5169 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5170
5171         * char-ucs.h (breakup_char_1): Use
5172         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5173         thai-tis620 and katakana-jisx0201 area.
5174
5175 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5176
5177         * char-ucs.h (breakup_char_1): Use
5178         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5179         area.
5180
5181         * text-coding.c (reset_encoding_stream): Fixed.
5182         (char_encode_ucs4): Delete `& 255'.
5183
5184         * char-ucs.h (breakup_char_1): Use
5185         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5186
5187 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5188
5189         * file-coding.c (Fmake_coding_system): Don't set up
5190         `codesys->fixed.size'.
5191         (encode_coding_no_conversion): Don't refer
5192         `str->codesys->fixed.size'.
5193
5194 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5195
5196         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5197         (latin_a_char_to_byte1): Deleted.
5198         (latin_a_char_to_byte2): Deleted.
5199
5200 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5201
5202         * mule-charset.c (make_charset): Add new argument `ucs_min',
5203         `ucs_max' and `code_offset'.
5204         (charset_get_byte1): New implementation [delete specific charset
5205         depended implementations].
5206         (Fmake_charset): Modify for `make_charset'.
5207         (Fmake_reverse_direction_charset): Likewise.
5208         (complex_vars_of_mule_charset): Likewise.
5209
5210         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5211         `code_offset'.
5212         (CHARSET_UCS_MIN): New macro.
5213         (CHARSET_UCS_MAX): New macro.
5214         (CHARSET_CODE_OFFSET): New macro.
5215         (MAKE_CHAR): Delete charset depended definitions [except
5216         katakana-jisx0201].
5217
5218 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5219
5220         * char-ucs.h (breakup_char_1): Use
5221         `Vdefault_coded_charset_priority_list' for C0-Controls,
5222         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5223
5224 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5225
5226         * char-ucs.h (charset_get_byte1): New function.
5227         (XCHARSET_GET_BYTE1): Deleted.
5228         (charset_get_byte2): New function.
5229         (XCHARSET_GET_BYTE2): Deleted.
5230         (Vdefault_coded_charset_priority_list): New external variable.
5231         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5232         `Vdefault_preferred_coded_charset_list'.
5233
5234         * mule-charset.c (charset_get_byte1): New function.
5235         (charset_get_byte2): New function.
5236         (Vdefault_coded_charset_priority_list): New variable.
5237         (vars_of_mule_charset): Add new variable
5238         `default-coded-charset-priority-list'.
5239
5240 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5241
5242         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5243         (XCHARSET_GET_BYTE2): New inline function.
5244         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5245         `XCHARSET_GET_BYTE2'.
5246
5247 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5248
5249         * mule-charset.c (make_charset): Initialize
5250         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5251         NULL if table is not defined.
5252
5253 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5254
5255         * text-coding.c (char_encode_shift_jis): Use
5256         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5257         `ucs_to_latin_jisx0201'.
5258
5259         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5260         (ucs_to_latin_iso8859_2): Deleted.
5261         (ucs_to_latin_iso8859_3): Deleted.
5262         (ucs_to_latin_iso8859_4): Deleted.
5263         (ucs_to_latin_iso8859_9): Deleted.
5264         (ucs_to_latin_viscii_lower): Deleted.
5265         (ucs_to_latin_viscii_upper): Deleted.
5266         (ucs_to_latin_tcvn5712): Deleted.
5267         (make_charset): Add new argument `decoding_table'; set up
5268         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5269         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5270         `decoding_table' is defined in UTF-2000.
5271         (Fmake_charset): Modify for `make_charset'.
5272         (Fmake_reverse_direction_charset): Likewise.
5273         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5274         and `GENERATE_96_SET'.
5275
5276         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5277         (ucs_to_latin_jisx0201): Deleted.
5278         (latin_iso8859_2_to_ucs): Deleted.
5279         (ucs_to_latin_iso8859_2): Deleted.
5280         (latin_iso8859_3_to_ucs): Deleted.
5281         (ucs_to_latin_iso8859_3): Deleted.
5282         (latin_iso8859_4_to_ucs): Deleted.
5283         (ucs_to_latin_iso8859_4): Deleted.
5284         (latin_iso8859_9_to_ucs): Deleted.
5285         (ucs_to_latin_iso8859_9): Deleted.
5286         (latin_viscii_lower_to_ucs): Deleted.
5287         (ucs_to_latin_viscii_lower): Deleted.
5288         (latin_viscii_upper_to_ucs): Deleted.
5289         (ucs_to_latin_viscii_upper): Deleted.
5290         (struct Lisp_Charset): Renamed `encoding_table' to
5291         `to_byte1_table'; add `to_byte2_table'.
5292         (CHARSET_DECODING_TABLE): New macro.
5293         (CHARSET_TO_BYTE1_TABLE): New macro.
5294         (CHARSET_TO_BYTE2_TABLE): New macro.
5295         (XCHARSET_DECODING_TABLE): New macro.
5296         (XCHARSET_TO_BYTE1_TABLE): New macro.
5297         (XCHARSET_TO_BYTE2_TABLE): New macro.
5298         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5299         tables.
5300         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5301         don't use `ucs_to_*' tables.
5302
5303 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5304
5305         * text-coding.c (Fmake_coding_system): Don't set up
5306         `codesys->fixed.size'.
5307         (encode_coding_no_conversion): Use `if' instead of `switch'.
5308
5309         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5310
5311 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5312
5313         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5314         (Fmake_charset): Modify for `make_charset'.
5315         (Fmake_reverse_direction_charset): Likewise.
5316         (complex_vars_of_mule_charset): Likewise.
5317
5318 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5319
5320         * text-coding.c (char_encode_shift_jis): Use table
5321         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5322
5323 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5324
5325         * text-coding.c (text_encode_generic): Use `if' instead of
5326         `switch'.
5327         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5328         decode JIS-Latin.
5329
5330 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5331
5332         * text-coding.c (encode_coding_sjis): Deleted.
5333         (char_encode_shift_jis): New function.
5334         (char_finish_shift_jis): New function.
5335         (reset_encoding_stream): Set up `encode_char' and `finish' for
5336         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5337         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5338         (char_encode_utf8): Treat `eol_type'.
5339
5340 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5341
5342         * file-coding.c (decode_coding_iso2022): Use
5343         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5344
5345 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5346
5347         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5348         to 0.7 (Hirano).
5349
5350 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5351
5352         * char-lb.h (CHAR_COLUMNS): New macro.
5353
5354 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5355
5356         * text-coding.c (char_encode_ucs4): New function.
5357         (char_finish_ucs4): New function.
5358         (encode_coding_ucs4): Deleted.
5359         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5360         (text_encode_generic): Delete local variable `charset' and `half'.
5361         (ucs_to_mule_table): Deleted.
5362         (mule_to_ucs_table): Deleted.
5363         (Fset_ucs_char): Deleted.
5364         (ucs_to_char): Deleted.
5365         (Fucs_char): Deleted.
5366         (Fset_char_ucs): Deleted.
5367         (Fchar_ucs): Deleted.
5368         (decode_ucs4): Deleted.
5369         (mule_char_to_ucs4): Deleted.
5370         (encode_ucs4): Deleted.
5371         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5372         (decode_coding_utf8): Likewise.
5373         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5374         (char_encode_iso2022): Fixed.
5375         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5376         `Fset_char_ucs' and `Fchar_ucs'.
5377         (complex_vars_of_file_coding): Don't initialize
5378         `ucs_to_mule_table'.
5379
5380         * objects-tty.c (tty_initialize_font_instance): Don't use
5381         `XCHARSET_COLUMNS'.
5382
5383         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5384         UTF-2000.
5385
5386         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5387         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5388
5389         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5390         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5391         (emchar_string_displayed_columns): Likewise.
5392
5393         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5394         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5395         (string_column_at_point): Likewise.
5396         (Fmove_to_column): Likewise.
5397
5398         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5399         `encoding_table' and `decoding_table'.
5400         (CHARSET_REP_BYTES): Deleted.
5401         (XCHARSET_REP_BYTES): Deleted.
5402         (XCHARSET_COLUMNS): Deleted.
5403         (CHAR_COLUMNS): New macro.
5404         (lookup_composite_char): Deleted unconditionally.
5405         (composite_char_string): Likewise.
5406
5407 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5408
5409         * char-ucs.h (Emchar_to_byte_table): New type.
5410         (get_byte_from_character_table): New function interface.
5411         (Vcharset_latin_jisx0201): New variable.
5412         (latin_jisx0201_to_ucs): New variable.
5413         (ucs_to_latin_jisx0201): New variable.
5414         (Vcharset_latin_iso8859_2): New variable.
5415         (latin_iso8859_2_to_ucs): New variable.
5416         (ucs_to_latin_iso8859_2): New variable.
5417         (Vcharset_latin_iso8859_3): New variable.
5418         (latin_iso8859_3_to_ucs): New variable.
5419         (ucs_to_latin_iso8859_3): New variable.
5420         (Vcharset_latin_iso8859_4): New variable.
5421         (latin_iso8859_4_to_ucs): New variable.
5422         (ucs_to_latin_iso8859_4): New variable.
5423         (Vcharset_latin_iso8859_9): New variable.
5424         (latin_iso8859_9_to_ucs): New variable.
5425         (ucs_to_latin_iso8859_9): New variable.
5426         (Vcharset_latin_viscii_lower): New variable.
5427         (latin_viscii_lower_to_ucs): New variable.
5428         (ucs_to_latin_viscii_lower): New variable.
5429         (Vcharset_latin_viscii_upper): New variable.
5430         (latin_viscii_upper_to_ucs): New variable.
5431         (ucs_to_latin_viscii_upper): New variable.
5432         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5433         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5434         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5435         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5436         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5437         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5438         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5439         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5440         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5441         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5442
5443         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5444         (Vcharset_latin_viscii_upper): New variable.
5445         (make_byte_from_character_table): New function.
5446         (put_byte_from_character_table): New function.
5447         (get_byte_from_character_table): New function.
5448         (CHAR96): New macro.
5449         (ucs_to_latin_jisx0201): New variable.
5450         (latin_jisx0201_to_ucs): New variable.
5451         (ucs_to_latin_iso8859_2): New variable.
5452         (latin_iso8859_2_to_ucs): New variable.
5453         (ucs_to_latin_iso8859_3): New variable.
5454         (latin_iso8859_3_to_ucs): New variable.
5455         (ucs_to_latin_iso8859_4): New variable.
5456         (latin_iso8859_4_to_ucs): New variable.
5457         (ucs_to_latin_iso8859_9): New variable.
5458         (latin_iso8859_9_to_ucs): New variable.
5459         (ucs_to_latin_viscii_lower): New variable.
5460         (latin_viscii_lower_to_ucs): New variable.
5461         (ucs_to_latin_viscii_upper): New variable.
5462         (latin_viscii_upper_to_ucs): New variable.
5463         (ucs_to_latin_tcvn5712): New variable.
5464         (latin_tcvn5712_to_ucs): New variable.
5465         (Qlatin_viscii_lower): New variable.
5466         (Qlatin_viscii_upper): New variable.
5467         (syms_of_mule_charset): Set up new symbol
5468         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5469         (complex_vars_of_mule_charset): Set up new charset
5470         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5471         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5472         `ucs_to_<CHARSET>' tables.
5473
5474 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5475
5476         * text-coding.c: New file.
5477
5478 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5479
5480         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5481
5482         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5483         (MAKE_CHAR): Modify for `ucs-bmp'.
5484         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5485         non-MULE characters of BMP.
5486
5487 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5488
5489         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5490         to 0.6.
5491
5492 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5493
5494         * lstream.h:
5495         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5496         - Include character.h for `CHAR_ASCII_P'.
5497
5498         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5499
5500         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5501         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5502
5503         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5504         (BYTE_C0_P): Likewise.
5505         (BYTE_C1_P): Likewise.
5506         (Lstream_get_emchar_1): Likewise.
5507         (Lstream_fput_emchar): Likewise.
5508         (Lstream_funget_emchar): Likewise.
5509         (copy_internal_to_external): Likewise.
5510         (copy_external_to_internal): Likewise.
5511
5512         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5513         (BYTE_C0_P): Likewise.
5514         (BYTE_C1_P): Likewise.
5515         (Lstream_get_emchar_1): Likewise.
5516         (Lstream_fput_emchar): Likewise.
5517         (Lstream_funget_emchar): Likewise.
5518         (copy_internal_to_external): Likewise.
5519         (copy_external_to_internal): Likewise.
5520
5521         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5522         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5523
5524         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5525         (BYTE_ASCII_P): Moved to mb-1byte.h.
5526
5527 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5528
5529         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5530
5531         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5532         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5533         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5534         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5535         (VALIDATE_CHARPTR_FORWARD): Likewise.
5536         (simple_charptr_emchar): Moved to mb-multibyte.h.
5537         (simple_set_charptr_emchar): Likewise.
5538         (simple_charptr_copy_char): Likewise.
5539         (non_ascii_charptr_emchar): Likewise.
5540         (non_ascii_set_charptr_emchar): Likewise.
5541         (non_ascii_charptr_copy_char): Likewise.
5542         (charptr_emchar): Moved to mb-*byte.h.
5543         (set_charptr_emchar): Likewise.
5544         (charptr_copy_char): Likewise.
5545
5546         * mb-1byte.h, mb-multibyte.h: New files.
5547
5548 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5549
5550         * mb-utf-8.h (MULTIBYTE): New macro.
5551         (MAX_EMCHAR_LEN): Moved from buffer.h.
5552         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5553
5554         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5555
5556         * mb-lb.h, multibyte.h: New files.
5557
5558         * char-1byte.h (Charset_ID): Moved from buffer.h.
5559         (MIN_LEADING_BYTE): Likewise.
5560         (LEADING_BYTE_ASCII): Likewise.
5561         (NUM_LEADING_BYTES): Likewise.
5562         (CHARSETP): Likewise.
5563         (CHARSET_BY_LEADING_BYTE): Likewise.
5564         (XCHARSET_LEADING_BYTE): Likewise.
5565         (XCHARSET_GRAPHIC): Likewise.
5566         (XCHARSET_COLUMNS): Likewise.
5567         (XCHARSET_DIMENSION): Likewise.
5568         (CHAR_CHARSET): Likewise.
5569         (CHAR_LEADING_BYTE): Likewise.
5570         (BREAKUP_CHAR): Likewise.
5571         (Vcharset_ascii): Likewise.
5572
5573         * buffer.h: Include multibyte.h unconditionally.
5574         (VALID_CHARPTR_P): Moved to multibyte.h.
5575         (ASSERT_VALID_CHARPTR): Likewise.
5576         (REAL_INC_CHARPTR): Likewise.
5577         (REAL_INC_CHARBYTIND): Likewise.
5578         (REAL_DEC_CHARPTR): Likewise.
5579         (INC_CHARPTR): Likewise.
5580         (INC_CHARBYTIND): Likewise.
5581         (DEC_CHARPTR): Likewise.
5582         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5583         (VALIDATE_CHARPTR_FORWARD): Likewise.
5584         (charptr_n_addr): Likewise.
5585         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5586         (simple_charptr_emchar): Moved to multibyte.h.
5587         (simple_set_charptr_emchar): Likewise.
5588         (simple_charptr_copy_char): Likewise.
5589         (non_ascii_charptr_emchar): Likewise.
5590         (non_ascii_set_charptr_emchar): Likewise.
5591         (non_ascii_charptr_copy_char): Likewise.
5592         (charptr_emchar): Likewise.
5593         (set_charptr_emchar): Likewise.
5594         (charptr_copy_char): Likewise.
5595         (charptr_emchar_n): Likewise.
5596         (Charset_ID): Moved to char-1byte.h.
5597         (Vcharset_ascii): Likewise.
5598         (CHAR_CHARSET): Likewise.
5599         (CHAR_LEADING_BYTE): Likewise.
5600         (LEADING_BYTE_ASCII): Likewise.
5601         (NUM_LEADING_BYTES): Likewise.
5602         (MIN_LEADING_BYTE): Likewise.
5603         (CHARSETP): Likewise.
5604         (CHARSET_BY_LEADING_BYTE): Likewise.
5605         (XCHARSET_LEADING_BYTE): Likewise.
5606         (XCHARSET_GRAPHIC): Likewise.
5607         (XCHARSET_COLUMNS): Likewise.
5608         (XCHARSET_DIMENSION): Likewise.
5609         (BREAKUP_CHAR): Likewise.
5610
5611 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5612
5613         * character.h: Add document about interface for characters.
5614
5615         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5616         (MAKE_CHAR): Delete comment about
5617         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5618         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5619         (BREAKUP_CHAR): Modify name of arguments.
5620         (CHAR_CHARSET): Modify name of argument.
5621
5622         * buffer.h: Delete document about Emchar accessors.
5623
5624 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5625
5626         * character.h (CHAR_INTP): Moved from buffer.h
5627         (CHAR_OR_CHAR_INTP): Likewise.
5628         (XCHAR_OR_CHAR_INT): Likewise.
5629         (CHECK_CHAR_COERCE_INT): Likewise.
5630
5631         * buffer.h (CHAR_INTP): Moved to character.h
5632         (CHAR_OR_CHAR_INTP): Likewise.
5633         (XCHAR_OR_CHAR_INT): Likewise.
5634         (CHECK_CHAR_COERCE_INT): Likewise.
5635
5636 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5637
5638         * character.h:
5639         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5640         - Include char-1byte.h, char-lb.h or char-ucs.h.
5641
5642         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5643
5644         * buffer.h: Include character unconditionally.
5645         (valid_char_p): Moved to char-*.h.
5646         (non_ascii_valid_char_p): Moved to char-lb.h.
5647
5648         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5649
5650 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5651
5652         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5653         in UTF-2000 because it is not ported yet and not to use
5654         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5655         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5656         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5657
5658         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5659         (CHAR_ASCII_P): Moved from character.h.
5660
5661         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5662         (CHAR_ASCII_P): Likewise.
5663         (CHAR_FIELD1_MASK): Deleted.
5664         (CHAR_FIELD2_MASK): Deleted.
5665         (CHAR_FIELD3_MASK): Deleted.
5666         (MAX_CHAR_BASIC_LATIN): New macro.
5667         (CHAR_FIELD1): Deleted.
5668         (CHAR_FIELD2_INTERNAL): Deleted.
5669         (CHAR_FIELD3_INTERNAL): Deleted.
5670         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5671         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5672         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5673         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5674         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5675         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5676         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5677         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5678         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5679         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5680         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5681         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5682         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5683         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5684         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5685         (MIN_CHAR_COMPOSITION): Deleted.
5686         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5687         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5688
5689 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5690
5691         * buffer.h: Include mb-utf-8.h in UTF-2000.
5692
5693         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5694
5695         * mb-utf-8.h: New file.
5696
5697 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5698
5699         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5700         instead of `int'.
5701
5702         * mule-charset.h, buffer.h (Charset_ID): New type.
5703
5704 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5705
5706         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5707         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5708         instead of `MULE_CHAR_PRIVATE_OFFSET',
5709         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5710         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5711         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5712
5713         * character.h (Vcharset_japanese_jisx0212): New variable
5714         definition.
5715
5716 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5717
5718         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5719         (charset_by_attributes): Delete array about direction.
5720         (latin_a_char_to_charset): New variable in UTF-2000.
5721         (latin_a_char_to_byte1): New variable in UTF-2000.
5722         (latin_a_char_to_byte2): New variable in UTF-2000.
5723         (Qucs_bmp): New variable.
5724         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5725         `Bufbyte'.
5726         (next_allocated_2_byte_leading_byte): Likewise.
5727         (non_ascii_set_charptr_emchar): Likewise.
5728         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5729         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5730         `charset_by_attributes'.
5731         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5732         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5733         and `CHARSET_BY_LEADING_BYTE'.
5734         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5735         `utf-2000-version' to `vars_of_mule_charset'.
5736         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5737         define `leading-code-private-11' in UTF-2000; move setting of
5738         `utf-2000-version' from `syms_of_mule_charset'.
5739         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5740         UTF-2000.
5741
5742         * character.h (Charset_ID): New type.
5743         (LEADING_BYTE_UCS_BMP): New macro.
5744         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5745         (CHARSET_ID_OFFSET_94): New macro.
5746         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5747         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5748         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5749         final-byte.
5750         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5751         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5752         (CHARSET_ID_OFFSET_96): New macro.
5753         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5754         CHARSET_ID_OFFSET_96 and final-byte.
5755         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5756         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5757         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5758         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5759         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5760         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5761         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5762         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5763         (LEADING_BYTE_THAI_TIS620): Likewise.
5764         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5765         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5766         (CHARSET_ID_OFFSET_94x94): New macro.
5767         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5768         CHARSET_ID_OFFSET_94x94 and final-byte.
5769         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5770         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5771         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5772         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5773         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5774         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5775         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5776         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5777         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5778         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5779         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5780         (CHARSET_TYPE_128X128): New macro.
5781         (CHARSET_TYPE_256X256): New macro.
5782         (XCHARSET_PRIVATE_P): Delete unconditionally.
5783         (charset_by_attributes): Delete array about direction.
5784         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5785         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5786         (MIN_CHAR_94): New macro.
5787         (MAX_CHAR_94): New macro.
5788         (MIN_CHAR_96): New macro.
5789         (MAX_CHAR_96): New macro.
5790         (MIN_CHAR_94x94): New macro.
5791         (MAX_CHAR_94x94): New macro.
5792         (MIN_CHAR_96x96): New macro.
5793         (MAX_CHAR_96x96): New macro.
5794         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5795         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5796         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5797         - 32)'.
5798         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5799         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5800         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5801         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5802         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5803         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5804         `XCHARSET_LEADING_BYTE' to make code-point.
5805         (latin_a_char_to_charset): New variable.
5806         (latin_a_char_to_byte1): New variable.
5807         (latin_a_char_to_byte2): New variable.
5808         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5809         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5810         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5811
5812         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5813         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5814         (find_charsets_in_emchar_string): Likewise.
5815         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5816
5817         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5818         `int'.
5819         (decode_coding_iso2022): Likewise.
5820
5821         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5822         of `unsigned char'.
5823
5824         * redisplay.c (redisplay_text_width_emchar_string): Use
5825         `Charset_ID' instead of `unsigned char'.
5826         (redisplay_frame_text_width_string): Likewise.
5827
5828         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5829         `unsigned char'.
5830
5831         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5832         instead of `unsigned char'.
5833         (face_cachel_charset_font_metric_info): Likewise.
5834
5835         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5836         (get_non_ascii_char_table_value): Likewise.
5837         (get_char_table): Likewise.
5838         (put_char_table): Likewise.
5839         (map_over_other_charset): Likewise.
5840         (map_char_table): Likewise.
5841
5842         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5843         instead of `unsigned char'.
5844
5845 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5846
5847         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5848         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5849
5850         * mule-charset.c (leading_code_private_11): Don't define in
5851         UTF-2000.
5852
5853         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5854         in UTF-2000 because it is not ported yet and not to use
5855         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5856
5857 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5858
5859         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5860
5861 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5862
5863         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5864         in UTF-2000.
5865
5866         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5867         of unsigned char to store leading-byte.
5868
5869         * chartab.c (get_non_ascii_char_table_value): Don't use
5870         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5871
5872         * file-coding.c (encode_coding_big5): Delete bogus implementation
5873         in UTF2000.
5874
5875         * character.h (LEADING_BYTE_*): Delete definition for
5876         non-UTF-2000.
5877         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5878         (LEADING_BYTE_PREFIX_P): Deleted.
5879         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5880         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5881         (BUFBYTE_LEADING_BYTE_P): Deleted.
5882         (CHARSET_PRIVATE_P): Deleted unconditionally.
5883         (rep_bytes_by_first_byte): Deleted unconditionally.
5884         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5885         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5886         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5887         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5888         (CHAR_FIELD2): Deleted.
5889         (CHAR_FIELD3): Deleted.
5890         (MAKE_CHAR): Delete definition for non-UTF-2000.
5891         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5892         (breakup_char_1): New implementation.
5893         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5894         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5895
5896 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5897
5898         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5899         condition.
5900
5901 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5902
5903         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5904         (CHARSET_PRIVATE_P): Likewise.
5905         (XCHARSET_PRIVATE_P): Likewise.
5906         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5907
5908         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5909         UTF2000.
5910         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5911
5912 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5913
5914         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5915         (NUM_LEADING_BYTES): Changed from 128 to 256.
5916         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5917         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5918         UTF2000.
5919         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5920
5921         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5922         UTF2000.
5923         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5924         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5925         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5926         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5927         (Qchinese_cns11643_3): New variable in UTF2000.
5928         (Qchinese_cns11643_4): New variable in UTF2000.
5929         (Qchinese_cns11643_5): New variable in UTF2000.
5930         (Qchinese_cns11643_6): New variable in UTF2000.
5931         (Qchinese_cns11643_7): New variable in UTF2000.
5932         (syms_of_mule_charset): Define `chinese-cns11643-3',
5933         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5934         and `chinese-cns11643-7' in UTF2000.
5935         (vars_of_mule_charset): Initialize
5936         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5937         + 1 in UTF2000.
5938         (complex_vars_of_mule_charset): Setup charset
5939         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5940         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5941
5942 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5943
5944         * mule-charset.c: Move setting for `leading-code-private-11' from
5945         `syms_of_mule_charset' to `vars_of_mule_charset'.
5946
5947 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5948
5949         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5950         and `NUM_LEADING_BYTES' in assert.
5951
5952 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5953
5954         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5955         instead of 128.
5956         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5957         `NUM_LEADING_BYTES' instead of 128.
5958
5959 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5960
5961         * mule-charset.h (charset_by_leading_byte): Use
5962         `NUM_LEADING_BYTES' instead of 128.
5963         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5964
5965         * mule-charset.c (charset_by_leading_byte): Use
5966         `NUM_LEADING_BYTES' instead of 128.
5967         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5968
5969         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5970         128.
5971
5972 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5973
5974         * mule-charset.c (syms_of_mule_charset): Update to
5975         0.4 (Shin-Imamiya).
5976
5977 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5978
5979         * file-coding.c (encode_coding_sjis): New implementation for
5980         UTF2000.  (decode_coding_sjis): Ditto.
5981
5982 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5983
5984         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5985         Don't define in UTF2000.
5986
5987         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5988         defined.
5989
5990         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5991         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5992         MULE.
5993
5994 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5995
5996         * config.h.in (CHAR_IS_UCS4): New macro.
5997
5998         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5999         conventional MULE representation.
6000         (syms_of_mule_charset): Update to 0.3 (Imamiya).
6001
6002         * mule-charset.h: Reverted to original.
6003
6004         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6005         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
6006         "mule-charset.h" if CHAR_IS_UCS4 is defined.
6007
6008         * character.h: New file.
6009
6010         * file-coding.c (Fmake_coding_system): Set 1 to
6011         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
6012         defined.
6013         (encode_coding_no_conversion): New implementation for UTF2000.
6014
6015         * file-coding.h (struct Lisp_Coding_System): Add new member
6016         `fixed.size'.
6017
6018 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6019
6020         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6021         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6022         (encode_coding_iso2022): New implementation for UTF2000.
6023
6024 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6025
6026         * mule-canna.c (c2mu): New implementation for UTF2000.
6027         (m2c): Likewise.
6028
6029 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6030
6031         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6032
6033 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6034
6035         * file-coding.c (reset_encoding_stream): Set 0 to
6036         `str->iso2022.current_char_boundary' in UTF2000.
6037         (encode_utf8): Don't define in UTF2000.
6038         (encode_coding_utf8): New implementation for UTF-8 representation
6039         of UTF2000.
6040         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6041
6042 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6043
6044         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6045
6046         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6047         UTF2000.
6048         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6049
6050         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6051
6052         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6053         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6054         as UTF-8 in UTF2000.
6055         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6056         (non_ascii_valid_char_p): Don't define in UTF2000.
6057         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6058         (Lstream_get_emchar_1): Likewise.
6059         (utf-2000-version): New variable in UTF2000.
6060
6061         * lread.c (read_escape): Add new reader `u'.
6062
6063         * insdel.c (three_to_one_table): Don't define in UTF2000.
6064         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6065         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6066         UTF2000.
6067         (bytind_to_bufpos_func): Likewise.
6068         (buffer_mule_signal_inserted_region): Likewise.
6069         (vars_of_insdel): Don't initialize `three_to_one_table'.
6070         (init_buffer_text): Use `buf->text->mule_size' instead of
6071         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6072         UTF2000.
6073
6074         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6075         UTF-8 representation in UTF2000.
6076         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6077         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6078         (decode_coding_iso2022): Don't define local variable `lb' in
6079         UTF2000; don't use LEADING_BYTE in UTF2000; use
6080         `DECODE_ADD_UCS_CHAR' in UTF2000.
6081         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6082
6083         * config.h.in (UTF2000): New macro.
6084
6085         * buffer.h (struct buffer_text): Add new member `mule_size' and
6086         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6087         (valid_char_p): Return always 1 in UTF2000.
6088         (MAX_EMCHAR_LEN): 6 in UTF2000.
6089         (three_to_one_table): Don't define in UTF2000.
6090         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6091         UTF2000.
6092         (real_bytind_to_bufpos): Likewise.
6093
6094         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6095
6096 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6097
6098         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6099         representation change.
6100         (Vutf_2000_version): New variable.
6101         (leading_code_private_11): New variable.
6102         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6103         `leading-code-private-11'.
6104
6105         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6106         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6107         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6108         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6109         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6110         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6111         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6112         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6113         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6114         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6115         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6116         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6117         (MIN_CHAR_GREEK): New macro.
6118         (MAX_CHAR_GREEK): New macro.
6119         (MIN_CHAR_CYRILLIC): New macro.
6120         (MAX_CHAR_CYRILLIC): New macro.
6121         (MIN_CHAR_HEBREW): New macro.
6122         (MAX_CHAR_HEBREW): New macro.
6123         (MIN_CHAR_THAI): New macro.
6124         (MAX_CHAR_THAI): New macro.
6125         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6126         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6127         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6128         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6129         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6130         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6131         (CHAR_FIELD2): New inline function.
6132         (CHAR_FIELD3): New inline function.
6133         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6134         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6135         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6136         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6137         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6138         (MIN_CHAR_COMPOSITION): Likewise.
6139         (CHAR_LEADING_BYTE): Modified for character representation change.
6140         (MAKE_CHAR): Likewise.
6141
6142         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6143         (Vcharset_greek_iso8859_7): Likewise.
6144         (Vcharset_cyrillic_iso8859_5): Likewise.
6145         (Vcharset_hebrew_iso8859_8): Likewise.
6146         (Vcharset_thai_tis620): Likewise.
6147         (Vcharset_katakana_jisx0201): Likewise.
6148
6149 2008-12-28  Vin Shelton  <acs@xemacs.org>
6150
6151         * XEmacs 21.4.22 is released
6152
6153 2008-12-27  Vin Shelton  <acs@xemacs.org>
6154
6155         * syswindows.h: Don't define wide character interfaces for Cygwin
6156         1.7 and up.
6157
6158 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6159
6160         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6161
6162 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6163
6164         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6165         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6166
6167 2008-12-25  Vin Shelton  <acs@xemacs.org>
6168
6169         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6170         By Julian Bradfield in
6171         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6172
6173         * mule-ccl.c (ccl_driver): 
6174
6175 2007-10-07  Vin Shelton  <acs@xemacs.org>
6176
6177         * XEmacs 21.4.21 is released
6178
6179 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6180
6181         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6182
6183 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6184
6185         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6186         (png_instantiate): Initialize setjmp_buffer early, and avoid
6187         recursive entry to error handler.
6188
6189 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6190
6191         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6192         a typo fix.
6193
6194 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6195
6196         * event-Xt.c (x_reset_modifier_mapping):
6197         * event-gtk.c (gtk_reset_modifier_mapping):
6198         Zero out the device's modifier map once we've freed it, to prevent
6199         a double free on a re-entrant call. 
6200
6201 2007-05-17  Vin Shelton  <acs@xemacs.org>
6202
6203         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6204         64-bit linux.  Patch from Hans de Graaff.
6205
6206 2007-05-02  Vin Shelton  <acs@xemacs.org>
6207
6208         * dumper.c (pdump): Don't close pdump_fd (already closed by
6209         fclose() call.  Patch from Steve Higham.
6210         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6211         already closed.  Patch inspired by Steve Higham.
6212
6213 2007-05-01  Vin Shelton  <acs@xemacs.org>
6214
6215         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6216         (mswindows_fstat): Ditto.
6217         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6218
6219 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6220
6221         * postgresql.c: Update Steve Baur's email address by his request.
6222         * postgresql.h: Ditto.
6223
6224 2007-01-04  Vin Shelton  <acs@xemacs.org>
6225
6226         * fileio.c (check_writable): Check old-style readonly bit only for
6227         non-directories.
6228
6229 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6230
6231         * src/fileio.c (check_writable): 
6232         Cope with the fact that the read-only attribute trumps Windows NTFS
6233         ACLS.
6234
6235
6236 2006-12-09  Vin Shelton  <acs@xemacs.org>
6237
6238         * XEmacs 21.4.20 is released
6239
6240 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6241
6242         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6243         relocated the definitions to be used sooner in file.
6244         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6245         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6246         overflow.
6247
6248 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6249
6250         * sound.c (init_native_sound):
6251         Only X11 and GTK devices can possibly not be on the console of the
6252         associated machine. Fixes a crash when init_native_sound is called
6253         on a msprinter device. 
6254
6255 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6256
6257         * buffer.c (buffer-file-name): Document invariant.
6258         (buffer-file-truename): Sync wording to buffer-file-name.
6259         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6260         and discussion.
6261
6262 2006-11-19  Benson Margulies  <benson@dchbk.us>
6263
6264         * fileio.c: Add code to use full Win32 API to check for write
6265         access.  Win32 has the general design policy that you aren't
6266         supposed to ask this question, since security checks change
6267         depending on asynchronous processes.  Nonetheless, there is a way,
6268         by acting as if we are a server doing interpretive access
6269         control.
6270
6271 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6272
6273         * bytecode.c: Use xnew_array instead of alloca.
6274
6275 2006-07-04  Vin Shelton  <acs@xemacs.org>
6276
6277         * redisplay-msw.c: Fix tiny, but crucial typo.
6278
6279 2006-06-22  Jerry James  <james@xemacs.org>
6280
6281         * EmacsShell-sub.c (ChangeManaged):
6282         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6283         NULL.
6284         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6285         checking if it is NULL.  Also fix a memory leak.
6286         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6287         dereference it, not the other way around.
6288         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6289         overflow check.
6290         * dumper.c (pdump_register_struct): Ditto.
6291         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6292         to (short) warnpath overflow warnpath.
6293         * extents.c (detach_all_extents): Call extent_list_delete_all with
6294         a non-NULL parameter only.
6295         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6296         NULL width and height.
6297         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6298         xic before checking if they are NULL.
6299         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6300         allocated array.
6301         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6302         * nas.c (Err): Fix a memory leak.
6303         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6304         Don't create the buffer if there is nothing to do.
6305         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6306         * redisplay-output.c (redisplay_output_layout): Ditto.
6307         * redisplay-tty.c (tty_output_display_block): Ditto.
6308         * redisplay-x.c (x_output_display_block): Ditto.
6309         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6310         dereference instance->scrollbar_data if it is NULL.
6311         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6312         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6313         for sb->scrollbar_data.
6314         * sound.c (init_native_sound): Avoid a buffer overflow by
6315         allocating a buffer with the appropriate size.
6316
6317 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6318
6319         * EmacsShell-sub.c (RootGeometryManager):
6320         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6321         Based on a suggestion by Francois L'Archeveque.
6322
6323 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6324
6325         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6326         current values found in GNU Emacs.
6327
6328 2006-03-17  Vin Shelton  <acs@xemacs.org>
6329
6330         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6331         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6332
6333         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6334         'hex_initialized' because it conflicts with 'initialized' in
6335         lisp.h.
6336
6337 2006-01-28  Vin Shelton  <acs@xemacs.org>
6338
6339         * XEmacs 21.4.19 is released
6340
6341 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6342
6343         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6344
6345 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6346
6347         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6348         5000 to INT_MAX.
6349
6350 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6351
6352         * database.c: Suppress compiler warning under Cygwin.
6353         * database.c: Removed __FreeBSD__ check, should be handled by
6354         HAVE_U_xxx_T defines.
6355
6356 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6357
6358         * console.c (stuff_buffered_input): Compile body only if
6359         HAVE_TTY.
6360
6361 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6362
6363         * callproc.c: #include sysdir.h, so that any appropriate Mule
6364         magic happens with the chdir() call when calling a subprocess. 
6365
6366 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6367
6368         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6369         * mule-ccl.c: Check that a character set exists before using it
6370         to create a character. 
6371
6372 2005-12-06  Vin Shelton  <acs@xemacs.org>
6373
6374         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6375         to INT_MAX.
6376
6377 2005-12-03  Vin Shelton <acs@xemacs.org>
6378
6379         * XEmacs 21.4.18 is released
6380
6381 2005-11-27  Kean Johnston <kean@armory.com>
6382
6383         * redisplay-tty.c (set_tty_modes):
6384         (reset_tty_modes): disable auto-margins if the terminal supports
6385         them.
6386         (init_tty_for_redisplay): fix cursor shape.
6387
6388 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6389
6390         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6391         for control-1 characters properly, both when reading multibyte
6392         characters and writing them. 
6393
6394 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6395
6396         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6397         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6398         were seeing with incremental selection transfer failing. 
6399
6400 2005-11-26  Vin Shelton  <acs@xemacs.org>
6401
6402         * callproc.c (Fold_call_process_internal): Create the buffer if it
6403         does not already exist.  The original patch came from Ben Wing in
6404         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6405
6406 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6407
6408         * callproc.c: Process-related docstring improvements spurred by
6409         Norbert Koch.
6410
6411 2005-11-25  Vin Shelton  <acs@xemacs.org>
6412
6413         * depend: Regenerated.
6414
6415 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6416
6417         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6418         says it clashes with a global with the same name.
6419
6420 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6421
6422         * sysdll.c (dll_open): Under MacOS X return NULL under the
6423         filename is NULL.  Fixes problems finding local symbols under 10.4
6424         (Tiger)
6425
6426 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6427         
6428         * config.h.in: New HAVE_U_INT*_T defines.
6429         
6430         * database.c: Only use u_int*_t typedefs if not already
6431         defined.
6432
6433 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6434
6435         * src/process-unix.c (unix_open_network_stream): moved
6436           'portbuf' buffer out of an inner block as it is used in the
6437           entire function. With gcc4, the stack may get corrupted
6438           after leaving this block. This patches adjusts the size of
6439           the used buffer also; static '128' bytes are far too much
6440           currently and might not suffice for future architectures
6441           (e.g. for 512 bit ones ;)). Instead of, use only the really
6442           required space (max octets * ln(256)/ln(10) chars + space
6443           for '\0' and the sign)
6444
6445 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6446
6447         * callproc.c: Include sysdir.h, so any necessary Mule processing
6448         is done on the current directory name before starting a new
6449         process.
6450
6451 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6452
6453         * chartab.c (Fchar_table_p):
6454         (Fget_range_char_table):
6455         (Fput_char_table):
6456         (Fmap_char_table):
6457         Describe range representation and fix typo.
6458
6459 2005-02-12  Vin Shelton  <acs@xemacs.org>
6460
6461         * emacs.c (shut_down_emacs): Advise users to send email to the
6462         xemacs-beta list instead of crashes@xemacs.org.
6463
6464 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6465
6466         * process-unix.c (unix_send_process): Flush the last chunk, even
6467         when the pipe is blocked.
6468
6469 2005-02-06  Vin Shelton <acs@xemacs.org>
6470
6471         * XEmacs 21.4.17 is released
6472
6473 2005-01-31  Ben Wing  <ben@xemacs.org>
6474
6475         * emacs.c:
6476         Define assert_failed() always.
6477         * lisp.h:
6478         Always define ABORT().
6479
6480 2005-01-25  Ben Wing  <ben@xemacs.org>
6481
6482         * Makefile.in.in:
6483         * Makefile.in.in (%.o):
6484         Don't compile executable as Windows (-mwindows) under Cygwin.
6485         Semi-recent changes to Cygwin's executable-startup handling make
6486         it impossible to access the TTY this way.
6487
6488         Don't use special linker file under Cygwin (cygwin.sc) except
6489         when non-PDUMP (even in this case it is highly questionable); you
6490         get errors like
6491
6492       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6493    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6494
6495 2005-01-29  Ben Wing  <ben@xemacs.org>
6496
6497         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6498
6499         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6500
6501 2005-01-29  Ben Wing  <ben@xemacs.org>
6502
6503         * bytecode.c (optimize_compiled_function):
6504         * print.c (FROB):
6505         * print.c (long_to_string):
6506         Add casts to avoid warning.
6507         
6508         * glyphs-eimage.c:
6509         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6510         #### The better solution is to move the TIFF and JPEG code to
6511         different files.
6512         
6513         * glyphs-msw.c (mswindows_xbm_instantiate):
6514         Define __STDC__ to avoid problems with compface.h.
6515         
6516         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6517         * EmacsShell-sub.c:
6518         * EmacsShell-sub.c (ABORT):
6519         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6520         * EmacsShell-sub.c (RootGeometryManager):
6521         * EmacsShell.c:
6522         * EmacsShell.c (ABORT):
6523         * EmacsShell.c (EmacsShellUpdateSizeHints):
6524         * alloc.c (free_lcrecord):
6525         * alloca.c (i00afunc):
6526         * buffer.c (delete_from_buffer_alist):
6527         * buffer.c (MARKED_SLOT):
6528         * bytecode.c (execute_rare_opcode):
6529         * bytecode.c (optimize_byte_code):
6530         * bytecode.c (Ffetch_bytecode):
6531         * chartab.c (char_table_type_to_symbol):
6532         * chartab.c (Freset_char_table):
6533         * chartab.c (decode_char_table_range):
6534         * chartab.c (Fget_range_char_table):
6535         * chartab.c (check_valid_char_table_value):
6536         * chartab.c (map_char_table):
6537         * chartab.c (slow_map_char_table_fun):
6538         * chartab.c (chartab_instantiate):
6539         * cm.c (cmcheckmagic):
6540         * console-msw.c (DHEADER):
6541         * console.c (MARKED_SLOT):
6542         * data.c (finish_marking_weak_lists):
6543         * data.c (encode_weak_list_type):
6544         * debug.h (DASSERT):
6545         * device-gtk.c (gtk_init_device):
6546         * device-msw.c (mswindows_get_default_margin):
6547         * device-tty.c (tty_init_device):
6548         * device-x.c (get_device_from_display):
6549         * device-x.c (x_get_visual_depth):
6550         * doprnt.c (parse_doprnt_spec):
6551         * doprnt.c (get_doprnt_args):
6552         * dumper.c (pdump_get_indirect_count):
6553         * dumper.c (pdump_register_sub):
6554         * dumper.c (pdump_register_object):
6555         * dumper.c (pdump_register_struct):
6556         * dumper.c (pdump_dump_data):
6557         * dumper.c (pdump_reloc_one):
6558         * elhash.c (print_hash_table):
6559         * elhash.c (make_standard_lisp_hash_table):
6560         * elhash.c (hash_table_instantiate):
6561         * emacs.c:
6562         * emacs.c (Fforce_debugging_signal):
6563         * emacs.c (sort_args):
6564         * emacs.c (main):
6565         * emacs.c (assert_failed):
6566         * eval.c (throw_or_bomb_out):
6567         * eval.c (signal_1):
6568         * eval.c (Fsignal):
6569         * event-Xt.c:
6570         * event-Xt.c (emacs_Xt_mapping_action):
6571         * event-Xt.c (Xt_process_to_emacs_event):
6572         * event-msw.c:
6573         * event-stream.c (check_event_stream_ok):
6574         * event-stream.c (Fadd_timeout):
6575         * event-stream.c (Fadd_async_timeout):
6576         * event-stream.c (Fdiscard_input):
6577         * event-stream.c (execute_internal_event):
6578         * event-stream.c (Frecent_keys):
6579         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6580         * event-stream.c (lookup_command_event):
6581         * event-unixoid.c (poll_fds_for_input):
6582         * events.c:
6583         * events.c (mark_event):
6584         * events.c (event_equal):
6585         * events.c (event_hash):
6586         * events.c (Fmake_event):
6587         * events.c (Fdeallocate_event):
6588         * events.c (event_chain_find_previous):
6589         * events.c (event_to_character):
6590         * events.c (format_event_object):
6591         * events.c (Fevent_type):
6592         * events.c (event_pixel_translation):
6593         * events.c (Fevent_properties):
6594         * extents.c (extent_in_region_p):
6595         * extents.c (print_extent):
6596         * extents.c (process_extents_for_insertion_mapper):
6597         * extents.c (report_extent_modification_mapper):
6598         * extents.c (glyph_layout_to_symbol):
6599         * faces.c (face_validate):
6600         * file-coding.c (eol_type_to_symbol):
6601         * file-coding.c (subsidiary_coding_system):
6602         * file-coding.c (Fcoding_system_type):
6603         * file-coding.c (Fcoding_system_property):
6604         * file-coding.c (mule_decode):
6605         * file-coding.c (mule_encode):
6606         * file-coding.c (encode_coding_ucs4):
6607         * file-coding.c (encode_coding_utf8):
6608         * file-coding.c (parse_iso2022_esc):
6609         * file-coding.c (encode_coding_iso2022):
6610         * fileio.c:
6611         * fns.c (concat):
6612         * fns.c (Fsubseq):
6613         * fns.c (mapcar1):
6614         * fns.c (Fbase64_encode_region):
6615         * fns.c (Fbase64_encode_string):
6616         * fns.c (Fbase64_decode_region):
6617         * fns.c (Fbase64_decode_string):
6618         * font-lock.c (find_context):
6619         * font-lock.c (context_to_symbol):
6620         * frame-gtk.c (gtk_set_frame_pointer):
6621         * frame-gtk.c (gtk_update_frame_external_traits):
6622         * frame-x.c (x_wm_mark_shell_size_user_specified):
6623         * frame-x.c (x_wm_mark_shell_position_user_specified):
6624         * frame-x.c (x_wm_set_shell_iconic_p):
6625         * frame-x.c (x_wm_set_cell_size):
6626         * frame-x.c (x_wm_set_variable_size):
6627         * frame-x.c (x_wm_store_class_hints):
6628         * frame-x.c (x_wm_maybe_store_wm_command):
6629         * frame-x.c (x_initialize_frame_size):
6630         * frame-x.c (x_update_frame_external_traits):
6631         * frame.c:
6632         * frame.c (delete_frame_internal):
6633         * frame.c (mouse_pixel_position_1):
6634         * frame.c (change_frame_size_1):
6635         * free-hook.c (check_free):
6636         * free-hook.c (check_realloc):
6637         * free-hook.c (note_block_input):
6638         * free-hook.c (log_gcpro):
6639         * gccache-gtk.c (gc_cache_lookup):
6640         * glyphs-eimage.c (tiff_memory_write):
6641         * glyphs-gtk.c (gtk_finalize_image_instance):
6642         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6643         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6644         * glyphs-gtk.c (gtk_xpm_instantiate):
6645         * glyphs-gtk.c (gtk_unmap_subwindow):
6646         * glyphs-gtk.c (gtk_map_subwindow):
6647         * glyphs-gtk.c (gtk_button_redisplay):
6648         * glyphs-msw.c:
6649         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6650         * glyphs-x.c (init_image_instance_from_xbm_inline):
6651         * glyphs-x.c (extract_xpm_color_names):
6652         * glyphs-x.c (x_xpm_instantiate):
6653         * glyphs.c (get_image_instantiator_governing_domain):
6654         * glyphs.c (print_image_instance):
6655         * glyphs.c (image_instance_equal):
6656         * glyphs.c (image_instance_hash):
6657         * glyphs.c (encode_image_instance_type):
6658         * glyphs.c (make_image_instance_1):
6659         * glyphs.c (inherit_instantiate):
6660         * glyphs.c (image_instantiate):
6661         * glyphs.c (allocate_glyph):
6662         * glyphs.c (Fglyph_type):
6663         * glyphs.c (redisplay_subwindow):
6664         * glyphs.c (display_table_entry):
6665         * gtk-glue.c (xemacs_list_to_gtklist):
6666         * gtk-glue.c (xemacs_gtklist_to_list):
6667         * gtk-glue.c (xemacs_list_to_array):
6668         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6669         * gutter.c (gutter_was_visible):
6670         * gutter.c (get_gutter_coords):
6671         * input-method-xlib.c (get_XIM_input):
6672         * insdel.c (bufpos_to_bytind_func):
6673         * insdel.c (bytind_to_bufpos_func):
6674         * insdel.c (move_gap):
6675         * intl.c (x_get_composed_input):
6676         * keymap.c (keymap_lookup_directly):
6677         * keymap.c (keymap_delete_inverse_internal):
6678         * keymap.c (ensure_meta_prefix_char_keymapp):
6679         * keymap.c (accessible_keymaps_mapper_1):
6680         * keymap.c (where_is_recursive_mapper):
6681         * lisp.h:
6682         * lisp.h (ABORT):
6683         * lread.c (read_atom):
6684         * lstream.c (Lstream_delete):
6685         * lstream.c (make_lisp_buffer_stream_1):
6686         * macros.c (pop_kbd_macro_event):
6687         * malloc.c (malloc):
6688         * malloc.c (free):
6689         * marker.c (bi_marker_position):
6690         * marker.c (set_bi_marker_position):
6691         * menubar-gtk.c (menu_descriptor_to_widget_1):
6692         * menubar-msw.c (prune_menubar):
6693         * menubar-x.c (set_frame_menubar):
6694         * mule-charset.c (get_unallocated_leading_byte):
6695         * mule-charset.h (CHAR_LEADING_BYTE):
6696         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6697         * nt.c (init_environment):
6698         * nt.c (generate_inode_val):
6699         * ntproc.c (delete_child):
6700         * ntproc.c (_sys_read_ahead):
6701         * ntproc.c (create_child):
6702         * objects.c (color_instantiate):
6703         * objects.c (font_instantiate):
6704         * objects.c (face_boolean_instantiate):
6705         * print.c (printing_major_badness):
6706         * process-nt.c (nt_send_process):
6707         * process-unix.c (unix_send_process):
6708         * process.c (get_process):
6709         * ralloc.c (obtain):
6710         * ralloc.c (relinquish):
6711         * ralloc.c (relocate_blocs):
6712         * ralloc.c (resize_bloc):
6713         * ralloc.c (r_alloc_free):
6714         * ralloc.c (r_re_alloc):
6715         * ralloc.c (r_alloc_thaw):
6716         * ralloc.c (init_ralloc):
6717         * ralloc.c (Free_Addr_Block):
6718         * ralloc.c (r_alloc):
6719         * redisplay-gtk.c (gtk_output_display_block):
6720         * redisplay-msw.c (mswindows_output_display_block):
6721         * redisplay-output.c (get_next_display_block):
6722         * redisplay-output.c (get_cursor_size_and_location):
6723         * redisplay-output.c (redisplay_output_layout):
6724         * redisplay-output.c (redisplay_clear_region):
6725         * redisplay-tty.c (tty_output_display_block):
6726         * redisplay-x.c (x_output_display_block):
6727         * redisplay.c (add_propagation_runes):
6728         * redisplay.c (add_glyph_rune):
6729         * redisplay.c (create_text_block):
6730         * redisplay.c (add_margin_runes):
6731         * redisplay.c (create_left_glyph_block):
6732         * redisplay.c (create_right_glyph_block):
6733         * redisplay.c (create_string_text_block):
6734         * redisplay.c (regenerate_window):
6735         * redisplay.c (REGEN_INC_FIND_START_END):
6736         * redisplay.c (redisplay_frame):
6737         * redisplay.c (point_in_line_start_cache):
6738         * regex.c:
6739         * regex.c (ABORT):
6740         * regex.c (re_compile_fastmap):
6741         * regex.c (re_match_2_internal):
6742         * regex.c (regerror):
6743         * scrollbar-gtk.c (gtk_scrollbar_loop):
6744         * scrollbar-gtk.c (scrollbar_cb):
6745         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6746         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6747         * scrollbar-x.c (x_update_scrollbar_instance_status):
6748         * scrollbar-x.c (x_scrollbar_loop):
6749         * scrollbar-x.c (x_update_frame_scrollbars):
6750         * search.c (search_command):
6751         * search.c (Fmatch_data):
6752         * select-x.c (motif_clipboard_cb):
6753         * signal.c (interrupt_signal):
6754         * specifier.c (specifier_add_spec):
6755         * specifier.c (specifier_instance_from_inst_list):
6756         * specifier.c (specifier_instance):
6757         * specifier.h:
6758         * specifier.h (struct specifier_methods):
6759         * strftime.c (add_num_time_t):
6760         * sunplay.c (init_device):
6761         * symbols.c (Fsetplist):
6762         * symbols.c (do_symval_forwarding):
6763         * symbols.c (store_symval_forwarding):
6764         * symbols.c (Fset):
6765         * symbols.c (Fbuilt_in_variable_type):
6766         * symbols.c (decode_magic_handler_type):
6767         * symbols.c (handler_type_from_function_symbol):
6768         * syntax.c (update_syntax_cache):
6769         * sysdep.c (init_baud_rate):
6770         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6771         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6772         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6773         * toolbar.c (get_toolbar_coords):
6774         * ui-gtk.c (build_gtk_boxed):
6775         * ui-gtk.c (describe_gtk_arg):
6776         * ui-gtk.c (gtk_type_to_lisp):
6777         * ui-gtk.c (lisp_to_gtk_type):
6778         * ui-gtk.c (lisp_to_gtk_ret_type):
6779         * ui-gtk.c (lisp_to_flag):
6780         * unexnt.c (read_in_bss):
6781         * unexnt.c (map_in_heap):
6782         * window.c (real_window):
6783         * window.c (window_display_lines):
6784         * window.c (window_display_buffer):
6785         * window.c (set_window_display_buffer):
6786         * window.c (window_modeline_height):
6787         * window.c (unshow_buffer):
6788         * window.c (window_loop):
6789         * window.c (Fget_lru_window):
6790         * window.c (Fsplit_window):
6791         * window.c (Fset_window_configuration):
6792         * window.c (saved_window_index):
6793         * xgccache.c (gc_cache_lookup):
6794         abort() -> ABORT().  Eliminate preprocessor games with abort()
6795         since it creates huge problems in VC7, solvable only by including
6796         massive amounts of files in every compile (and not worth it).
6797
6798         * sysdep.c:
6799         * sysproc.h:
6800         Inclusion of process.h does not need to be before lisp.h any more.
6801         Move later and remove comment about abort().
6802
6803 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6804
6805         * regex.c (re_match_2_internal):
6806         Correctly initialize loop which clears uninitialized registers.
6807
6808 2005-01-28  Vin Shelton  <acs@xemacs.org>
6809
6810         * sheap.c (more_static_core): Applied Ben's version of the long
6811         string patch.
6812
6813 2005-01-24  Vin Shelton  <acs@xemacs.org>
6814
6815         * sheap.c (more_static_core): Reformatted printf string so
6816         gcc-3.3.3 will compile this on Cygwin.
6817
6818 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6819
6820         * console.c (function_key_map): Reference `key-binding'.
6821
6822         * keymap.c (Vkey_translation_map): Improve docstring.
6823
6824 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6825
6826         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6827         * window.c (window_loop): [fix] Take into account
6828         `allow-deletion-of-last-visible-frame' variable.
6829         * window.c (replace-buffer-in-windows): Ditto.
6830
6831 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6832
6833         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6834
6835 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6836
6837         * event-gtk.c: Recognise AltGr as a valid modifier.
6838
6839 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6840
6841         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6842
6843 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6844
6845         Fix backreference bug caught by test suite.
6846
6847         * regex.c (regex_compile):
6848         Make backref duplicate internal register.
6849
6850 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6851
6852         Documentation, code clarification, and warning suppression.
6853         
6854         * regex.c (regex_compile):
6855         Improve comments.
6856         (re_match_2_internal):
6857         Improve comments and avoid redundant braces.  [Most of the big hunk
6858         at l. 4710 is indentation; use diff -w to see the real changes.]
6859         (alt_match_null_string_p):
6860         (common_op_match_null_string_p):
6861         Avoid shadowing global on Mac OS X 10.4, at least.
6862
6863 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6864
6865         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6866         introduced with shy groups fix).  [Already applied, probably
6867         with the second "fix shy groups" patch of 2004-10-07.] 
6868
6869 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6870
6871         From Andrey Slusar <anrays@gmail.com>:
6872
6873         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6874
6875 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6876
6877         * Makefile (RECURSIVE_MAKE): Removed.
6878         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6879         handling parallel builds.
6880
6881 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6882
6883         * Makefile.in.in: Enable support for parallel builds.
6884
6885 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6886
6887         From Andrey Slusar <anrays@gmail.com>:
6888
6889         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6890         FreeBSD version is >= 199701 _and_ < 600006.
6891
6892 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6893
6894         * scrollbar.c (compute_scrollbar_instance_usage):
6895         Only call device method compute_scrollbar_instance_usage() if it
6896         is defined.
6897
6898 2004-12-05  Vin Shelton <acs@xemacs.org>
6899
6900         * XEmacs 21.4.16 is released
6901
6902 2004-12-04  Vin Shelton  <acs@xemacs.org>
6903
6904         * depend: Regenerated.
6905
6906 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6907
6908         * regex.c (re_match_2_internal): Map internal to external
6909         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6910         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6911
6912 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6913
6914         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6915         to fix a crash.  Also, check the buffer is live and it
6916         really exists in buffer_list.  If the buffer is not in the list,
6917         prepend it.
6918
6919 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6920
6921         Fix shy groups by implementing recording of all groups for
6922         repetition and backtracking.  Backport from 21.5.
6923         
6924         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6925         external_to_internal_register, external_to_internal_register_size,
6926         and update comments for re_nsub.
6927
6928         * regex.c (re_opcode_t): Update comments.
6929         (print_compiled_pattern): Ouput external_to_internal_register,
6930         external_to_internal_register_size, and re_ngroups for debugging.
6931         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6932         (regex_compile): Update header comment.
6933         Ensure that all groups are recorded so that repeat matches and
6934         backtracking work correctly.  Comment related warning for groups >
6935         255.
6936         (re_search_2): Construct map of API indexes (which count only
6937         nonshy groups) to internal register numbers, and keep it updated.
6938
6939 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6940
6941         * frame-gtk.c (gtk_make_frame_visible):
6942         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6943         show/hide.  This is what X uses and is prevents previously hidden
6944         widgets from suddenly reappearing.
6945         * gtk-xemacs.c (gtk_xemacs_paint):
6946         * gtk-xemacs.c (gtk_xemacs_draw):
6947         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6948         drawable.
6949         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6950         size and location changes so that they can be seen before the next
6951         idle event.  Without this rapid changes to scrollbar properties
6952         are not seen.
6953
6954 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6955
6956         * console-gtk.h:
6957         * console-gtk.h (struct gtk_frame):
6958         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6959           Add hash tables track tab_control callback data.
6960           Added #defines for GTK object data names.
6961           Declaration of gtk_widget_to_frame().
6962         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6963         * frame-gtk.c (gtk_widget_to_frame): New.
6964         * frame-gtk.c (gtk_create_widgets):
6965         * frame-gtk.c (allocate_gtk_frame_struct):
6966         * frame-gtk.c (gtk_mark_frame):
6967         Manage frame callbakc hash tables.
6968         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6969         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6970         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6971         of widget size.
6972         * glyphs-gtk.c (gtk_widget_query_geometry): New
6973         * glyphs-gtk.c (gtk_register_gui_item): New
6974         * glyphs-gtk.c (gtk_add_tab_item): New
6975         * glyphs-gtk.c (gtk_tab_control_callback): New
6976         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6977         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6978         Use correct list when loading item.
6979         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6980         Register new methods.
6981         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6982         default size, for widgets.
6983         * gui-x.c:  Improved comment.
6984         * menubar-gtk.c (__generic_button_callback): Use
6985         gtk_widget_to_frame instead of __get_channel.
6986         * scrollbar-gtk.c:
6987         * ui-gtk.c: Use symbolic names for GTK object data.
6988
6989 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6990
6991         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6992
6993 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6994
6995         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6996
6997 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6998
6999         * malloc.c (morecore): siz is a long because in some architectures
7000         (eg ia-64) an int cannot hold the address range.  Additional patch
7001         from the SuSe distribution.
7002
7003 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
7004
7005         * emacs.c:
7006         * malloc.c: lim_data is a long because in some architectures
7007         (eg ia-64) an int cannot hold the address range.
7008         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
7009         instead of ulimit() because ulimit() always returns -1.
7010
7011 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
7012
7013         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
7014
7015 2004-06-11  David Kastrup  <dak@gnu.org>
7016
7017         * search.c (match_limit): Don't flag an error if match-data
7018         exceeding the allocated search_regs.num_regs gets requested, just
7019         return Qnil.
7020
7021 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7022
7023         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7024         replace symbolic color entries with the real colors specified in
7025         xpm-color-symbols, before passing the XPM to gtk.
7026         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7027         instead of a GTK specific field, so that it is used in by generic
7028         code.
7029
7030 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7031
7032        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7033         coredump from deref of NULL ptr (ExtData)
7034
7035 2004-04-19  Jerry James  <james@xemacs.org>
7036
7037         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7038         VALBITS to compute the location of the sign bit.
7039         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7040         of VALBITS with EMACS_INT_MAX.
7041         * events.c (Fevent_timestamp): Ditto.
7042         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7043         compute the halfway point to timestamp wraparound.
7044         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7045         EMACS_INT_MIN instead of using VALBITS.
7046         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7047         incorrect number with VALBITS.
7048         * fns.c (Frandom): Correct number of integer bits in docstring.
7049         Use INT_VALBITS instead of VALBITS to compute the denominator.
7050         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7051         build random numbers.
7052
7053 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7054         * event-gtk.c:
7055         * event-gtk.c (gtk_event_to_emacs_event):
7056         * menubar-gtk.c:
7057         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7058         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7059         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7060         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7061         * menubar-gtk.c (__activate_menu):
7062         * menubar-gtk.c (convert_underscores):
7063         * menubar-gtk.c (remove_underscores):
7064         * menubar-gtk.c (menu_convert):
7065         * menubar-gtk.c (menu_descriptor_to_widget_1):
7066         * menubar-gtk.c (menu_descriptor_to_widget):
7067         * menubar-gtk.c (menu_can_reuse_widget):
7068         * menubar-gtk.c (menu_create_menubar):
7069         * menubar-gtk.c (gtk_popup_menu):
7070         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7071         Added support for Gtk menu bar and menu item mnemonics.
7072
7073 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7074
7075         * sysdll.c: (dll_function): Added support for finding symbols in
7076         Darwin shared libraries as well in Darwin bundles.
7077         * sysdll.c (image_for_address): New
7078         * sysdll.c (my_find_image): New
7079         * sysdll.c (search_linked_libs): New
7080
7081 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7082
7083         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7084         return to GTK requires a different API to marshalling data to use
7085         as GTK parameters.
7086         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7087
7088 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7089
7090         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7091
7092 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7093
7094         * glyphs.c (process_image_string_instantiator):
7095         (Fset_console_type_image_conversion_list):
7096         Stop GCC from warning about shadowing of `exp'.
7097
7098         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7099
7100 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7101
7102         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7103
7104 2004-02-03  Vin Shelton  <acs@xemacs.org>
7105
7106         * glyphs.c (image_instance_layout): Remove pointless assertion.
7107         * regex.c (regex_grow_registers): Return type is void.
7108
7109 2004-02-02  Vin Shelton <acs@xemacs.org>
7110
7111         * XEmacs 21.4.15 is released
7112
7113 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7114
7115         * device-x.c (x_error_handler): Don't call stderr_out
7116
7117 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7118
7119         * buffer.c (other-buffer): Clarify documentation of order of
7120         arguments for FSF Emacs.
7121
7122 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7123
7124         * window.c (Fdelete_window): Dirty the mirror structure _before_
7125         marking the window deleted.
7126
7127 2003-09-15  Jerry James  <james@xemacs.org>
7128
7129         * event-msw.c (debug_mswin_messages): Conditionally compile
7130         messages missing from the Cygwin headers.
7131
7132 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7133
7134         * data.c (eq_with_ebola_notice): Fix typo in comment.
7135         (Ftrue_list_p): Improve docstring.
7136
7137 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7138
7139         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7140
7141 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7142
7143         * search.c (trivial_regexp_p): Regexps containing "\{" are
7144         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7145         Stefan Monnier for suggesting a diagnosis.
7146
7147 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7148
7149         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7150
7151 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7152
7153         * search.c (Fsearch_forward):
7154         (Fsearch_backward):
7155         Document negative count.
7156
7157 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7158
7159         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7160
7161 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7162
7163         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7164
7165 2003-09-15  Vin Shelton  <acs@xemacs.org>
7166
7167         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7168         21.5.
7169
7170 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7171
7172         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7173         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7174         (re_match_2_internal): Use TRANSLATE instead of
7175         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7176         non-ASCII char case conversion.
7177
7178 2003-09-08  Mike Sperber  <mike@xemacs.org>
7179
7180         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7181         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7182
7183 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7184
7185        * .gdbinit (pobj): fix printing of symbol name.
7186
7187 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7188
7189         * frame-x.c (x_layout_widgets): When resizing is about to cause
7190         frame size slip, mark it for redisplay.
7191
7192 2003-08-18  Jerry James  <james@xemacs.org>
7193
7194         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7195
7196 2003-09-03  Vin Shelton <acs@xemacs.org>
7197
7198         * XEmacs 21.4.14 is released
7199
7200 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7201
7202         * config.h.in (REGEX_MALLOC): Make it configure'able.
7203
7204 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7205
7206         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7207         linking.
7208         * sysdll.c (dll_init):
7209         * sysdll.c (dll_open):
7210         * sysdll.c (dll_close):
7211         * sysdll.c (dll_function):
7212         * sysdll.c (dll_variable):
7213         * sysdll.c (dll_error):
7214         Add support for loading bundles using Darwin/MacOSX
7215         native API.
7216
7217 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7218
7219         * process.c (start-process-internal): Document coding systems.
7220
7221 2003-07-30  Jerry James  <james@xemacs.org>
7222
7223         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7224
7225 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7226
7227         * event-msw.c (mswindows_enqueue_mouse_button_event):
7228         * event-msw.c (mswindows_wnd_proc):
7229           enqueue button event when scrollwheel event isn't handled by 
7230           mswindows_handle_mousewheel_event, such as when the scrollbars
7231           are not showing.
7232
7233 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7234
7235         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7236
7237 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7238
7239         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7240
7241 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7242
7243         * regex.c (re_match_2_internal): Fix matching degenerate word
7244         boundaries.
7245
7246 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7247
7248         * XEmacs 21.4.13 is released
7249
7250 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7251
7252         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7253         * lisp.h (<inttypes.h>):
7254         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7255         the definition.
7256
7257 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7258
7259         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7260         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7261         Result: "temacs can only be run in -batch mode."
7262         Fix: Check xemacs executable candidate for directory-ness.
7263
7264 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7265
7266         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7267           they conflict with <sys/types.h>.
7268
7269 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7270
7271         * database.c: Berkeley DB wants __STDC__ to be defined.
7272
7273 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7274
7275         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7276
7277 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7278
7279         * process-unix.c (unix_send_process): Fix C++ compile error.
7280
7281 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7282
7283         * Added .dylib as an acceptable shared library file extension
7284         * to support MacOSX.
7285
7286 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7287
7288         * EmacsFrameP.h (EmacsFramePart):
7289         Kludge to allow compiling with Motif1, but linking with Motif2.
7290
7291 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7292
7293         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7294
7295
7296 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7297
7298         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7299
7300 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7301
7302         * sysdll.c: Included lisp.h to define needed alloca_array.
7303
7304 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7305
7306         Make XEmacs redisplay 10 times faster.
7307         If, that is, you're using a slow X connection and MoveOpaque.
7308         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7309         Use compress_motion = TRUE.
7310         * EmacsFrame.c (emacsFrameClassRec): 
7311         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7312         * EmacsManager.c (emacsManagerClassRec):
7313         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7314
7315 2003-01-30  Vin Shelton  <acs@xemacs.org>
7316
7317         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7318
7319 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7320
7321         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7322         Patch by Martin Buchholz.
7323
7324 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7325
7326         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7327         Thanks to icc for warning and Martin Buchholz for reporting.
7328
7329 2003-01-29  Vin Shelton <acs@xemacs.org>
7330
7331         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7332
7333         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7334         remember to multiply by the element size.
7335
7336 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7337
7338         * XEmacs 21.4.12 "Portable Code" is released.
7339
7340 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7341
7342         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7343         * s/cygwin.sc: new linker file.
7344
7345 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7346
7347         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7348
7349         * redisplay-x.c (x_output_string): Use X11-specified types.
7350         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7351         * emacs.c (__free_hook): Use typeof with Intel compiler.
7352         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7353
7354 2003-01-08  Andy Piper  <andy@xemacs.org>
7355
7356         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7357         reserve size during unexec().
7358
7359 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7360
7361         * process-unix.c (unix_create_process): Don't let outchannel block.
7362
7363 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7364
7365         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7366         Needed for IsBadReadPtr().
7367
7368 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7369
7370         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7371
7372 2002-12-14  Ben Wing  <ben@xemacs.org>
7373
7374         * callint.c: Declaration error.
7375         * dumper.c (pdump):
7376         * dumper.c (pdump_load): Warning fix.
7377         * process.c: GCPRO error.
7378         * glyphs.c (unmap_subwindow):
7379         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7380         * event-stream.c (maybe_kbd_translate): Wrong argument to
7381         character_to_event().
7382
7383         * alloc.c (garbage_collect_1):
7384         * emacs.c:
7385         * emacs.c (debug_can_access_memory):
7386         * emacs.c (fatal_error_signal):
7387         * emacs.c (mswindows_handle_hardware_exceptions):
7388         * emacs.c (main_1):
7389         * emacs.c (main):
7390         * emacs.c (assert_failed):
7391         * emacs.c (syms_of_emacs):
7392         * lisp.h:
7393         * print.c:
7394         * print.c (std_handle_out_va):
7395         * print.c (write_string_to_stdio_stream):
7396         * print.c (write_fmt_string):
7397         * print.c (printing_badness):
7398         * print.c (printing_major_badness):
7399         * print.c (print_internal):
7400         * print.c (debug_print_no_newline):
7401         * print.c (debug_backtrace):
7402         Be more defensive in handling bad values when printing.  Add code
7403         from trunk involving inhibit_non_essential_printing_operations.
7404         When going down or in debug_print(), don't do external conversion
7405         and such and try really, really hard when printing to avoid core
7406         dumping.  Add force-debugging-signal, debug_break().
7407
7408 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7409
7410         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7411         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7412
7413 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7414
7415         * database.c: Fix open_database. Berkeley DB API has changed in
7416         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7417
7418 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7419
7420         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7421
7422 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7423
7424         * event-Xt.c (Xt_timeout):
7425         (Xt_timeout_callback):
7426         (emacs_Xt_add_timeout):
7427         (emacs_Xt_remove_timeout):
7428         (Xt_timeout_to_emacs_event):
7429         Turn completed_timeouts from a stack into a queue.  Fixes
7430         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7431
7432 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7433
7434         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7435         * emacs.c (main): Assert that mmap'd allocation is disabled.
7436
7437 2002-10-14  Andy Piper  <andy@xemacs.org>
7438
7439         * glyphs-widget.c (layout_query_geometry): add in fiddle
7440         factor. Include border text in width layout calculation.
7441         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7442
7443 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7444
7445         * XEmacs 21.4.10 "Military Intelligence" is released.
7446
7447 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7448
7449         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7450         using the NAS private array SoundFileInfo that no longer exists in
7451         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7452         and earlier.  This is broken for some versions between 1.5a and
7453         1.5f.
7454
7455 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7456
7457         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7458
7459         * emacs.c (shut_down_emacs): Improve crash message.
7460
7461 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7462
7463         * file-coding.c (determine_real_coding_system): Check for coding
7464         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7465         shebangs and Python PEP 263.
7466
7467 2002-10-08  Andy Piper  <andy@xemacs.org>
7468
7469         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7470         if static sizes haven't been set.
7471
7472 2002-08-30  Mike Alexander  <mta@arbortext.com>
7473
7474         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7475         to close a socket.
7476
7477 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7478
7479         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7480
7481 2002-09-20  Mike Sperber <mike@xemacs.org>
7482
7483         (This partially gets back my patch from 2002-07-20 without the
7484         bug.)
7485         * callproc.c (child_setup): Remove Ben's comment noting confusion
7486         over the file descriptors >= 3: close_process_descs() doesn't
7487         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7488         * process-unix.c (unix_create_process): Call
7489         begin_dont_check_for_quit to inhibit unwanted interaction (and
7490         thus breaking of X event synchronicity) in the child.
7491
7492 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7493
7494         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7495         widget.
7496
7497 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7498
7499         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7500         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7501         the xemacs process did not exit, but looped infinitely here.  This
7502         fixes that problem.
7503
7504 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7505
7506         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7507         (find_context): Improve comments.
7508
7509         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7510         (re_match_2): An XCHAR_TABLE operation was missing.
7511
7512         Many of the following changes were inspired by Andy Piper's (now
7513         obsolete) patch to make syntax-table text property lookup optional.
7514
7515         [Documentation]
7516
7517         * syntax.h (top level): Document semantics of syntax flags.
7518         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7519         * syntax.c, syntax.h (top level): Document syntax cache better in
7520         comments.
7521
7522         [Instrument syntax caching (temporary change)]
7523
7524         * syntax.h (enum syntax_cache_statistics_functions, struct
7525         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7526         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7527         * syntax.c (scan_words, Fforward_comment, scan_lists,
7528         Fbackward_prefix_characters):
7529         * font-lock.c (find_context):
7530         Use them to instrument syntax caching. 
7531         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7532         syntax_cache_statistics_function_names): New type and variables.
7533         * syntax.c (update_syntax_cache): Update and report statistics.
7534
7535         [Major syntax cache optimizations]
7536
7537         syntax.c (lookup_syntax_properties): Default off.
7538
7539         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7540         * syntax.c (update_syntax_cache):
7541         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7542
7543         [Minor syntax cache optimizations and code clarifications]
7544
7545         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7546         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7547         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7548         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7549         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7550         (Code clarification.)
7551
7552         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7553         scan_lists): Compute code from syncode, use Boolean macros instead
7554         of redundant masking operations.  (Code clarification; any decent
7555         compiler can do this optimization.)
7556
7557         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7558         for clarity.
7559
7560         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7561         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7562         use F*_single_property_change instead of F*_extent_change.
7563         Currently F*_single_property_change is _much_ less efficient.
7564
7565         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7566         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7567         syntax_cache.object properly, don't leave Qt or Qnil.
7568         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7569         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7570         tests for Qt or Qnil.
7571
7572 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7573
7574         * redisplay.c (point_in_line_start_cache): 
7575         * extents.c (print_extent_1):
7576         Fix warnings.
7577
7578         * extents.c (Fset_extent_property): Document `syntax-table' property.
7579
7580         * extents.h (Fnext_single_property_change): EXFUN it.
7581
7582 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7583
7584         * search.c (clear_unused_search_regs): New static function.
7585         (search_buffer): 
7586         (simple_search): 
7587         (boyer_moore):
7588         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7589         Minor clarifications in comments.
7590
7591         * regex.c (re_match_2_internal): Ensure no stale submatches.
7592
7593 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7594
7595         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7596
7597 2002-08-29  Jerry James  <james@xemacs.org>
7598
7599         * lisp.h: structrures -> structures.
7600
7601 2002-06-03  Andy Piper  <andy@xemacs.org>
7602
7603         * frame.c (frame_conversion_internal): add conversion appropriate
7604         for setting frame dimensions in pixels.
7605
7606         * console.h (struct console_methods): add device-specific widget
7607         layout functions.
7608
7609         * emacs.c (main_1): initialize glyph vars.
7610
7611         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7612         (handle_focus_event_2): new function. Allow focus to
7613         be set to a particular window and widget.
7614         (enqueue_focus_event): new function. Create a
7615         synthetic focus event.
7616         (emacs_Xt_handle_magic_event): call
7617         handle_focus_event_2.
7618
7619         * frame.c (Fset_frame_pixel_height): new function. Allow
7620         pixel-based sizing. Does the right thing on character-oriented
7621         displays.
7622         (Fset_frame_pixel_width): ditto.
7623         (Fset_frame_pixel_size): ditto.
7624         (syms_of_frame): declare.
7625
7626         * general-slots.h: add :vertically-justify and
7627         :horizontally-justify.
7628
7629         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7630         (mswindows_widget_border_width): new function.
7631         (mswindows_combo_box_instantiate): set border widths.
7632         (console_type_create_glyphs_mswindows): declare.
7633
7634         * glyphs-widget.c:
7635         (check_valid_justification): allow vertical and horizontal
7636         justification.
7637         (widget_border_width): new function. Call device methods.
7638         (widget_instance_border_width): ditto.
7639         (logical_unit_height): new function. Determine the height of a
7640         logical-unit. Logical units are intended to provide grid-like
7641         layout for subcontrols in a layout. If the layout is
7642         :vertically-justify top then subcontrols will be positioned on
7643         logical-unit boundaries, thus allowing adjacent subcontrols to
7644         line up.
7645         (widget_logical_unit_height): ditto for widgets.
7646         (redisplay_widget): misc cleanup.
7647         (widget_spacing): new function. Call device specific
7648         methods. Intended to be the default gap between adjacent widgets.
7649         (widget_query_geometry): use new spacing functions to determine
7650         appropriate geometry.
7651         (initialize_widget_image_instance): initialize horizontal and
7652         vertical justification.
7653         (widget_instantiate): use logica-units where appropriate for
7654         sizing large widgets.
7655         (button_query_geometry): use widget_instance_border_width.
7656         (tree_view_query_geometry): ditto.
7657         (tab_control_query_geometry): ditto.
7658         (edit_field_query_geometry): new function.
7659         (layout_update): pick up :justify, :horizontally-justify and
7660         :vertically-justify none of which worked previously. :justify is
7661         used as a fallback for both horizontal and vertical justification.
7662         (layout_query_geometry): use logical units to size appropriately.
7663         (layout_layout): ditto.
7664         (Fwidget_logical_to_character_width): new function. Allow users to
7665         convert from logical units to characters so that frame sizes can
7666         be set appropriately.
7667         (Fwidget_logical_to_character_height): ditto.
7668         (syms_of_glyphs_widget): declare.
7669         (image_instantiator_edit_fields): add edit_field_query_geometry.
7670         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7671         :horizontally-justify.
7672         (specifier_vars_of_glyphs_widget): new function. Declare
7673         Vwidget_border_width which is not yet used.
7674
7675         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7676         (x_widget_border_width): new function.
7677         (x_widget_instantiate): create a sensible name for widgets.
7678         (console_type_create_glyphs_x): declare x_widget_border_width.
7679
7680         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7681         (struct Lisp_Image_Instance): add :vertically-justify and
7682         :horizontally-justify.
7683         (LAYOUT_JUSTIFY_TOP): new.
7684         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7685         (ROUND_UP): new macro. Round argument up to next integral
7686         interval.
7687
7688         * redisplay-output.c (redisplay_output_layout): misc formatting.
7689
7690         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7691
7692 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7693
7694         * XEmacs 21.4.9 "Informed Management" is released.
7695
7696 2002-08-19  Andy Piper  <andy@xemacs.org>
7697
7698         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7699         win32 format.
7700
7701         * realpath.c (xrealpath): normalize drive spec also so that dir
7702         sep chars are not mixed on cygwin.
7703
7704 2002-08-06  Jerry James  <james@xemacs.org>
7705
7706         * window.c (Fsplit_window): Count only half of the divider width
7707         against the left window when splitting horizontally. 
7708
7709 2002-06-24  Andy Piper  <andy@xemacs.org>
7710
7711         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7712         toolbar was cleared.
7713
7714         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7715         function. Split out from mswindows_output_frame_toolbars.
7716         (mswindows_output_frame_toolbars): move clear pieces to
7717         mswindows_output_frame_toolbars.
7718
7719         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7720         out from gtk_output_frame_toolbars.
7721         (gtk_output_frame_toolbars): move clear pieces to
7722         gtk_clear_frame_toolbars.
7723
7724         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7725         the frame is cleared. How this ever worked before is a mystery.
7726         (x_output_frame_toolbars): Only output toolbars.
7727         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7728
7729         * gutter.c (update_gutter_geometry):
7730         Mark frame layout changed.
7731         (update_frame_gutter_geometry, update_frame_gutters):
7732         Respect frame_layout_changed.
7733
7734         * console.h (struct console_methods): add
7735         clear_frame_toolbars_method.
7736
7737         * redisplay.c (redisplay_frame): call
7738         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7739
7740         * toolbar.h: declare update_frame_toolbars_geometry.
7741
7742         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7743         out from update_frame_toolbars.  Call clear_frame_toolbars.
7744         (update_frame_toolbars): only output, do not change geometry.
7745
7746         * redisplay.c: add frame_layout_changed.
7747
7748         * redisplay.h: add frame_layout_changed.
7749         (CLASS_RESET_CHANGED_FLAGS): set it.
7750         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7751         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7752         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7753
7754         * device.h (struct device): add frame_layout_changed.
7755         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7756
7757         * frame.h (struct frame): add frame_layout_changed.
7758         (MARK_FRAME_LAYOUT_CHANGED): new.
7759
7760 2002-06-30  Mike Alexander  <mta@arbortext.com>
7761
7762         * event-msw.c (mswindows_need_event): Don't wait for a new message
7763         if the queue is not empty.  Suggested by Paul Moore.
7764
7765 2002-06-12  Andy Piper  <andy@xemacs.org>
7766
7767         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7768         for printing on accurately.
7769
7770 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7771
7772         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7773         WM_ACTIVATE message. Make sure that the frame is visible if the
7774         window is visible. This seemss to fix the problem where XEmacs
7775         appears to freeze after switching desktops with certain virtual
7776         window managers.
7777         (debug_output_mswin_message): Added code to output message
7778         parameters for WM_WINDOWPOSCHANGED, 
7779         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7780
7781 2002-05-25  Andy Piper  <andy@xemacs.org>
7782
7783         * select-x.c (vars_of_select_x): Fix docstring of
7784         x-selection-strict-motif-ownership
7785
7786 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7787
7788         * keymap.c (get_keymap):
7789         Add comment about do_autoload GCPROs own args.
7790
7791 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7792
7793         * bytecode.c (execute_optimized_program): check_opcode ifdef
7794         ERROR_CHECK_BYTE_CODE.
7795
7796 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7797
7798         Thanks to Ben Wing and Michael Sperber.
7799
7800         * eval.c (Fcommand_execute):
7801         (Feval):
7802         (Ffuncall):
7803         (Fmacroexpand_internal):
7804         (function_argcount):
7805         callint.c (Fcall_interactively):
7806         Add comment about do_autoload GCPROs own args.
7807
7808         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7809
7810         * eval.c (Ffuncall): Extra braces to placate GCC.
7811
7812 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7813
7814         * backtrace.h (grow_specpdl):
7815         (SPECPDL_RESERVE):
7816         * EmacsFrame.c (EmacsFrameSetValues):
7817         * eval.c (grow_specpdl):
7818         * ExternalShell.c (hack_event_masks_1):
7819         * glyphs-x.c (convert_EImage_to_XImage): 
7820         (x_finalize_image_instance):
7821         * ralloc.c (page_size):
7822         (r_alloc_sbrk):
7823         * xgccache.c (gc_cache_hash):
7824         Fix unsigned comparison warnings.
7825
7826 2002-07-29  Jerry James  <james@xemacs.org>
7827
7828         * lread.c (locate_file): Any nonnegative return value indicates
7829         success if MODE is nonnegative.
7830
7831 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7832
7833         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7834         argument. 
7835
7836 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7837
7838         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7839
7840         * dumper.c (pdump_get_indirect_count):
7841         (pdump_scan_by_alignment):
7842         (pdump_dump_root_struct_ptrs):
7843         (pdump_dump_rtables):
7844         (pdump_dump_root_objects):
7845         (pdump):
7846         * nas.c (WaveOpenDataForReading):
7847         * fns.c (print_bit_vector):
7848         * font-lock.c (SINGLE_SYNTAX_STYLE):
7849         * glyphs.c (check_for_ignored_expose):
7850         (find_matching_subwindow):
7851         * glyphs-eimage.c:
7852         * imgproc.c (get_histogram):
7853         * redisplay.c (point_in_line_start_cache):
7854         * redisplay-output.c (redisplay_unmap_subwindows):
7855         * symbols.c (defsymbol_massage_name_1):
7856         (defkeyword_massage_name):
7857         (deferror_massage_name_and_message):
7858         * redisplay-x.c (x_output_string): 
7859         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7860         * frame.h (struct frame):
7861         * filelock.c (current_lock_owner):
7862         * doprnt.c (emacs_doprnt_1):
7863         * lisp.h (struct Lisp_Bit_Vector):
7864         (DO_REALLOC):
7865         Fix warnings.
7866
7867 2002-02-13  Ben Wing  <ben@xemacs.org>
7868
7869         * event-stream.c (reset_key_echo):
7870         * event-stream.c (reset_this_command_keys):
7871         * event-stream.c (execute_command_event):
7872         If console is dead as a result of C-x 5 0, then post-command stuff
7873         needs to be careful and do only non-console-specific stuff.
7874
7875 2002-07-01  Mike Sperber <mike@xemacs.org>
7876
7877         * process-unix.c (unix_send_process): Mark coding_outstream as
7878         non-open upon SIGPIPE.
7879
7880         * event-stream.c (Fnext_event): Reorder switch cases to something
7881         that makes sense.
7882
7883 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7884
7885         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7886         Don't bogusly reinitialize ascii_character property.
7887
7888 2002-07-08  Mike Sperber <mike@xemacs.org>
7889
7890         * process.c (Fstart_process_internal): Do error checking before we
7891         fork off the child, so the child can't muck with the state of the
7892         parent.
7893
7894 2002-07-08  Mike Sperber <mike@xemacs.org>
7895
7896         * ralloc.c (init_ralloc): Allocate properly for pdump.
7897
7898 2002-06-12  Andy Piper  <andy@xemacs.org>
7899
7900         * glyphs.c (query_string_geometry): check the string.
7901
7902         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7903         widget names.
7904
7905 2002-06-17  Jerry James  <james@xemacs.org>
7906
7907         * sysdll.c: Remove RTLD_GLOBAL initialization.
7908         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7909
7910 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7911
7912         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7913
7914 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7915
7916         * sysdep.c (sys_rename): Make sys_rename work for the case where
7917         Windows rename sets errno to EACCES if target file exists.
7918
7919 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7920
7921         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7922         Fix detection of metric units to work on Win95
7923
7924 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7925
7926         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7927
7928 2002-04-25  Andy Piper  <andy@xemacs.org>
7929
7930         * redisplay.c (create_text_block): Remove extra comment trailer.
7931
7932 2002-04-24  Andy Piper  <andy@xemacs.org>
7933
7934         * redisplay.c (create_text_block): Don't actually add propagation
7935         data if the line ends after we have added a glyph.
7936
7937 2002-04-22  Andy Piper  <andy@xemacs.org>
7938
7939         * extents.c (extent_fragment_update): check for glyphs we have
7940         previously displayed.
7941         * extents.c (print_extent_1): warning removal.
7942         * extents.h: change prototype.
7943         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7944         widths correctly for wide glyphs.
7945         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7946         * redisplay.c (prop_type): add PROP_GLYPH.
7947         * redisplay.c (struct prop_block): add glyph type
7948         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7949         to the propagation data.
7950         * redisplay.c (create_text_block): if there is a glyph in the
7951         propagation data use it to salt extent_fragment_update.
7952         * redisplay.c (create_string_text_block): ditto.
7953
7954 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7955
7956         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7957         * redisplay-output.c (compare_runes): Compare them.
7958         * redisplay.c: Update copyright date.
7959         * redisplay.c (pos_data): Add need_baseline_computation field.
7960         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7961         need_baseline_computation; zero yoffset. Set max_pixmap_height
7962         for all pixmaps, not just automatically positioned ones.
7963         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7964         * redisplay.c (calculate_baseline): New, compute textual baseline.
7965         * redisplay.c (add_glyph_rune): Call them.
7966         * redisplay.c (create_text_block): Likewise.
7967         * redisplay.c (create_overlay_glyph_block): Likewise.
7968         * redisplay.c (add_margin_runes): Likewise.
7969         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7970
7971         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7972         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7973         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7974         * redisplay-msw.c (mswindows_output_string): Likewise.
7975         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7976         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7977         * redisplay-x.c (x_output_display_block): Likewise.
7978
7979 2002-03-28  Ben Wing  <ben@xemacs.org>
7980
7981         * redisplay.c: Fixed bug in redisplay
7982         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7983         and down of the lines, since they're bigger than the line
7984         size. (It was seen most obviously when there's a horizontal scroll
7985         bar, e.g. do C-h a glyph or something like that.) The problem was
7986         that the glyph-contrib-p setting on glyphs was ignored even if it
7987         was set properly, which it wasn't until now.
7988
7989 2002-04-24  Andy Piper  <andy@xemacs.org>
7990
7991         * lisp.h (Dynarr_end): Fix definition.
7992
7993 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7994
7995         * redisplay.c (mark_redisplay): Remove call to
7996         update_frame_window_mirror.
7997
7998 2001-11-15  Andy Piper  <andy@xemacs.org>
7999
8000         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
8001         cygwin (again).
8002
8003 2002-02-13  Andy Piper  <andy@xemacs.org>
8004
8005         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
8006         we did in fact enqueue the XM_MAPFRAME event.
8007
8008 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
8009
8010         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
8011         to fix problem switching between virtual desktops under virtuawin
8012         virtual window manager.
8013
8014 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8015
8016         * event-msw.c: Typo fix.
8017         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8018         magic XM_MAPFRAME event has been sent.
8019
8020 2001-11-23  Andy Piper  <andy@xemacs.org>
8021
8022         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8023
8024 2001-11-21  Andy Piper  <andy@xemacs.org>
8025
8026         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8027         mouse events outside the frame.
8028
8029 2002-03-20  Andy Piper  <andy@xemacs.org>
8030
8031         * menubar-msw.c (mswindows_popup_menu): warning removal.
8032         * dialog-msw.c (dialog_popped_down): ditto.
8033
8034 2001-12-11  Andy Piper  <andy@xemacs.org>
8035
8036         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8037         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8038         popup_up_p.
8039         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8040         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8041         * menubar-msw.c (mswindows_popup_menu): ditto.
8042
8043 2001-10-29  Andy Piper  <andy@xemacs.org>
8044
8045         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8046         cancels.
8047
8048 2002-01-03  Andy Piper  <andy@xemacs.org>
8049
8050         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8051         letters.
8052         (xrealpath): ditto.
8053
8054 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8055
8056         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8057         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8058         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8059         Detect and handle case where machine is set up for metric units
8060
8061 2002-04-02  Andy Piper  <andy@xemacs.org>
8062
8063         * dired-msw.c (mswindows_get_files): 
8064         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8065         completely handled by XEmacs. Suggested by Thomas Vogler
8066         <mail@thomas-vogler.de>.
8067
8068 2001-11-14  Andy Piper  <andy@xemacs.org>
8069
8070         * nt.c (REG_ROOT): change registry key to XEmacs.
8071
8072 2002-04-27  Andy Piper  <andy@xemacs.org>
8073
8074         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8075
8076 2002-04-26  Andy Piper  <andy@xemacs.org>
8077
8078         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8079         behavior.
8080
8081 2002-03-14  Mike Alexander  <mta@arbortext.com>
8082
8083         * event-msw.c (mswindows_unwait_process): New, remove process from
8084         wait list
8085         * process-nt.c (nt_finalize_process_data): Call
8086         mswindows_unwait_process
8087         * console-msw.h: Declare mswindows_unwait_process
8088
8089 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8090
8091         * editfns.c (Fdecode_time):
8092         (Fformat_time_string):
8093         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8094         (make_time): Warning elimination (change arg name).
8095
8096 2001-11-24  Andy Piper  <andy@xemacs.org>
8097
8098         * window.c (Fsplit_window): Doc return type.
8099
8100 2002-04-01  Andy Piper  <andy@xemacs.org>
8101
8102         * emacs.c (Fkill_emacs): Only output message box in interactive
8103         mode.
8104
8105 2002-04-26  Andy Piper  <andy@xemacs.org>
8106  
8107         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8108         cygwin.
8109
8110 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8111
8112         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8113         bit platform.
8114
8115 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8116
8117         * XEmacs 21.4.8 "Honest Recruiter" is released.
8118
8119 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8120
8121         Supersedes 2002-04-17 patch.
8122
8123         * process.h (PROCESS_LIVE_P): Use the process status as
8124         evidence of health, not the state of the input stream.
8125         (PROCESS_READABLE_P): Say if the process is readable
8126         from. (It may be dead nonetheless.)
8127         (CHECK_READABLE_PROCESS): Test for that condition.
8128
8129         * process.c (create_process): Use PROCESS_READABLE_P.
8130         (read_process_output, set_process_filter): Likewise.
8131
8132         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8133         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8134
8135         This code is #if 0'd, this is not the time to add new functions:
8136
8137         * process.c (Fprocess_readable_p): Report readability status.
8138         * process.c (Qprocess_readable_p): New, associated symbol...
8139         * process.c (syms_of_process): ... initialize it.
8140
8141 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8142
8143         * XEmacs 21.4.7 "Economic Science" is released.
8144
8145 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8146
8147         * process.h (PROCESS_LIVE_P): Use the process status as
8148         evidence of health, not the state of the input stream.
8149
8150 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8151
8152         * sysdep.c (sys_siglist): change "signum" to "signal"
8153
8154 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8155
8156         * s/darwin.h: New file.
8157         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8158         
8159 2002-04-23  Andreas Jaeger  <aj@suse.de>
8160
8161         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8162         which use lib64 for 64-bit libs.
8163         (START_FILES): Likewise.
8164
8165 2002-02-11  Mike Sperber  <mike@xemacs.org>
8166
8167         * device-x.c: 
8168         (x_IO_error_handler):
8169         (x_init_device): Temporarily keep device in static variable
8170         `device_being_initialized' so we can recover gracefully from
8171         internal XOpenDevice failure.  (XOpenDevice is documented to
8172         return NULL on failure, but sometimes calls the IO error handler
8173         instead.)
8174
8175 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8176
8177         * dired.c (Ffile_name_all_completions): Change documentation --
8178         remove reference to completion-ignored-extensions.
8179         * dired.c (vars_of_dired): Change documentation for
8180         completion-ignored-extensions -- remove reference to
8181         file-name-all-completions.
8182
8183 2002-03-06  Jerry James  <james@xemacs.org>
8184
8185         * emodules.c (emodules_load): Fix multiple loading of same module.
8186
8187 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8188         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8189         RTLD_LAZY to avoid incorrect symbol binding when using nested
8190         shared libraries on Solaris.
8191
8192 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8193
8194         * fileio.c (Ffind_file_name_handler): Improve docstring.
8195
8196 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8197
8198         * fns.c (Fmapconcat): Improve docstring.
8199
8200 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8201
8202         * device-gtk.c: Add prototype for
8203         emacs_gtk_selection_clear_event_handle.
8204         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8205         selection.  Setup signal handler for "selection_clear_event"
8206         (emacs_gtk_selection_clear_event_handle).
8207
8208         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8209         other applications owning the clipboard (based on
8210         x_handle_selection_clear).
8211
8212 2001-12-23  William M. Perry  <wmperry@gnu.org>
8213
8214         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8215         
8216 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8217
8218         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8219
8220 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8221
8222         * XEmacs 21.4.6 "Common Lisp" is released.
8223
8224 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8225
8226         * search.c (Freplace_match): Add missing sub-expression functionality.
8227
8228         * buffer.c (decode_buffer): Add a check for pointer type to
8229         decode_buffer, before gcc's CSE optimization reorders a
8230         dereference in front of the allow_string test.
8231
8232 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8233
8234         * window.c (window_loop): Fix bug that sometimes prevented
8235         window_loop() from iterating across multiple devices.  Also, at
8236         Ben's request, changed infloop-detecting code to abort() instead
8237         of silently terminating window_loop().
8238
8239 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8240
8241         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8242         * editfns.c (make_time): New function.
8243         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8244         * lisp.h (make_time): Prototype and comment it.
8245         * dired.c (wasteful_word_to_lisp): Deprecate.
8246         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8247
8248 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8249
8250         * fileio.c (auto_save_1): Use current coding system, not
8251         escape-quoted.
8252
8253 2001-11-13  Ben Wing  <ben@xemacs.org>
8254
8255         * window.c:
8256         * window.c (window_truncation_on):
8257         * window.c (syms_of_window):
8258         truncate-partial-width-windows should respect the buffer being
8259         displayed, like other redisplay vars.
8260
8261 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8262
8263         * event-stream.c (Fread_key_sequence): save current buffer.
8264
8265 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8266
8267         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8268
8269 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8270
8271         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8272
8273 2001-10-26  Mike Alexander  <mta@arbortext.com>
8274
8275         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8276
8277 2001-10-25  Andy Piper  <andy@xemacs.org>
8278
8279         * ChangeLog:
8280         * dialog-msw.c (handle_directory_proc): new function.
8281          (handle_directory_dialog_box): new fucntion.
8282          (handle_file_dialog_box): use new directory dialog support.
8283          (mswindows_make_dialog_box_internal): ditto.
8284         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8285         handling.
8286         (mswindows_find_frame): make global.
8287         * fileio.c (Fexpand_file_name): build fix.
8288         * general-slots.h: add Qdirectory.
8289         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8290         handling.
8291         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8292         cygwin not leaving win32 paths unchanged.
8293         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8294         cygwin runtime to do path conversion.
8295         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8296         (syms_of_win32): add new function.
8297         * window.c (window_loop): build fix.
8298
8299 2001-10-15  Andy Piper  <andy@xemacs.org>
8300
8301         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8302
8303 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8304
8305         * XEmacs 21.4.5 "Civil Service" is released.
8306
8307 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8308
8309         * glyphs-x.c: Force buffer-tab highlight update when moving the
8310         buffer, avoiding an ugly black border, used for keyboard focus
8311         indication, on a widget that can never have keyboard focus, the
8312         buffer tab.
8313
8314 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8315
8316         * process-unix.c (unix_open_multicast_group): Remove too much
8317         conversion between host and network byte order.
8318
8319 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8320
8321         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8322         before replacing them.
8323
8324         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8325         operation.
8326
8327         * src/window.c (undedicate_windows): Use it.
8328         * src/window.h: Add prototype.
8329
8330 2001-09-17  Ben Wing  <ben@xemacs.org>
8331
8332         * fileio.c (normalize_filename):
8333         * fileio.c (Fexpand_file_name):
8334         Fix various C++ compile errors in Andy's recent code.
8335         
8336         * callint.c (Fcall_interactively):
8337         * editfns.c (Ftemp_directory):
8338         * editfns.c (Fuser_full_name):
8339         * emacs.c (argmatch):
8340         * lread.c (locate_file_map_suffixes):
8341         * redisplay-x.c (x_ring_bell):
8342         Fix sign-compare warnings.
8343         
8344 2001-09-08  Andy Piper  <andy@xemacs.org>
8345
8346         * fileio.c (normalize_filename): copied from nt.c
8347         * (Ffile_name_directory): enable win32 paths under cygwin.
8348         * (Ffile_name_nondirectory): ditto.
8349         * (directory_file_name): ditto.
8350         * (Fexpand_file_name): ditto.
8351         * (Ffile_truename): ditto.
8352         * (Fsubstitute_in_file_name): ditto.
8353         * (Ffile_name_absolute_p): ditto.
8354         * (Ffile_readable_p): ditto.
8355
8356 2001-09-08  Andy Piper  <andy@xemacs.org>
8357
8358         * device-msw.c (mswindows_finish_init_device): remove dde
8359         initialization.
8360         * device-msw.c (mswindows_init_dde): factor out from
8361         mswindows_finish_init_device()
8362         * device-msw.c (init_mswindows_very_early): new function
8363         initialize but don't enable dde.
8364         * emacs.c (main_1): call init_mswindows_very_early.
8365         * event-msw.c:
8366         * event-msw.c (mswindows_dde_callback): only execute when we are
8367         ready.
8368         * symsinit.h: declare init_mswindows_very_early.
8369
8370 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8371
8372         [sjt: This has been in 21.5 for months with no complaints.]
8373
8374         * console.h (struct console_methods): Added flags member.
8375         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8376         (CONMETH_IMPL_FLAG):
8377         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8378         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8379
8380         * device.c (window_system_pixelated_geometry): Use the above macros.
8381
8382         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8383         implememntation flag.
8384         * device.h (DEVICE_DISPLAY_P): Use it.
8385
8386         * frame.c (delete_frame_internal): Use the above macro.
8387
8388         * redisplay.c (redisplay_device): Use it.
8389         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8390         (redisplay_frame): Ditto.
8391
8392         * device-msw.c (mswindows_device_implementation_flags): Removed.
8393         (msprinter_device_implementation_flags): Removed.
8394         (console_type_create_device_mswindows): Removed references to
8395         implementation_flags methods, set implementation flags here.
8396         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8397
8398         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8399         (console_type_create_device_gtk): Removed method declaration.
8400         Added commented out statement which semantically matches the
8401         commented out statement in the above removed method.
8402
8403 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8404
8405         The attached patch fixes a few warnings. 
8406
8407         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8408         * src/frame-gtk.c: guard against GNOME calls in GTK only
8409         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8410         * src/select-gtk.c: prototype lisp_to_time
8411
8412 2001-06-08  Ben Wing  <ben@xemacs.org>
8413
8414         ------ gc-in-window-procedure fixes ------
8415         
8416         * alloc.c:
8417         * alloc.c (struct post_gc_action):
8418         * alloc.c (register_post_gc_action):
8419         * alloc.c (run_post_gc_actions):
8420         * alloc.c (garbage_collect_1):
8421         Create "post-gc actions", to avoid those dreaded "GC during window
8422         procedure" problems.
8423
8424         * event-msw.c:
8425         Abort, clean and simple, when GC in window procedure.  We want
8426         to flush these puppies out.
8427
8428         * glyphs-msw.c:
8429         * glyphs-msw.c (finalize_destroy_window):
8430         * glyphs-msw.c (mswindows_finalize_image_instance):
8431         Use a post-gc action when destroying subwindows.
8432
8433         * lisp.h:
8434         Declare register_post_gc_action().
8435
8436         * scrollbar-msw.c:
8437         * scrollbar-msw.c (unshow_that_mofo):
8438         Use a post-gc action when unshowing scrollbar windows, if in gc.
8439
8440         * redisplay.c (mark_redisplay):
8441         Add comment about the utter evilness of what's going down here.
8442
8443         ------ cygwin setitimer fixes ------
8444         
8445         * Makefile.in.in (sheap_objs):
8446         * Makefile.in.in (profile_objs):
8447         * Makefile.in.in (objs):
8448         Compile profile.c only when HAVE_SETITIMER.
8449         
8450         * nt.c (mswindows_sigset):
8451         * nt.c (mswindows_sighold):
8452         * nt.c (mswindows_sigrelse):
8453         * nt.c (mswindows_sigpause):
8454         * nt.c (mswindows_raise):
8455         * nt.c (close_file_data):
8456         Style fixes.
8457         
8458         * nt.c:
8459         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8460         
8461         * profile.c:
8462         * profile.c (Fstart_profiling):
8463         * profile.c (Fstop_profiling):
8464         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8465         instead of just plain setitimer().
8466         
8467         * signal.c:
8468         * signal.c (set_one_shot_timer):
8469         * signal.c (alarm):
8470         Define qxe_setitimer() as an encapsulation around setitimer() --
8471         call setitimer() directly unless Cygwin or MS Win, in which case
8472         we use our simulated version in win32.c.
8473         
8474         * systime.h:
8475         * systime.h (struct itimerval):
8476         * systime.h (ITIMER_REAL):
8477         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8478         comment about "qxe" and the policy regarding encapsulation.
8479
8480         * win32.c:
8481         * win32.c (setitimer_helper_proc):
8482         * win32.c (setitimer_helper_period):
8483         * win32.c (setitimer_helper):
8484         * win32.c (mswindows_setitimer):
8485         Move setitimer() emulation here, so Cygwin can use it.
8486         Rename a couple of functions and variables to be longer and more
8487         descriptive.  In setitimer_helper_proc(), send the signal
8488         using either mswindows_raise() or (on Cygwin) kill().  If for
8489         some reason we are still getting lockups, we'll change the kill()
8490         to directly invoke the signal handlers.
8491
8492         ------ windows shell fixes ------
8493         
8494         * callproc.c:
8495         * ntproc.c:
8496         Comments about how these two files must die.
8497
8498         * callproc.c (init_callproc):
8499         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8500         not just COMSPEC. (more correct and closer to FSF.) Don't
8501         force a value for SHELL into the environment. (Comments added
8502         to explain why not.)
8503         
8504         * nt.c (init_user_info):
8505         Don't shove a fabricated SHELL into the environment.  See above.
8506
8507 2001-06-01  Ben Wing  <ben@xemacs.org>
8508
8509         * Makefile.in.in (ldflags):
8510         eliminate that pesky "defaulting to 00401000" warning.
8511         * nt.h:
8512         eliminate warnings.
8513
8514 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8515
8516         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8517         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8518
8519 2001-04-24  Jerry James <james@xemacs.org>
8520
8521         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8522         correct order.
8523
8524 2001-06-01  Ben Wing  <ben@xemacs.org>
8525
8526         * event-msw.c (debug_mswin_messages):
8527         conditionalize the messages that were causing compile errors.
8528         (if only macros could generate #ifdef statements ...)
8529
8530 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8531
8532         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8533
8534 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8535
8536         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8537
8538 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8539
8540         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8541         * process-unix.c (unix_canonicalize_host_name):
8542         sysdep.c (init_system_name):
8543         Use it to conditionally support IPv6 canonicalization.
8544
8545 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8546
8547         * event-msw.c:
8548         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8549
8550 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8551
8552         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8553         attempt is made to scroll when no scroll bar is available.
8554
8555 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8556
8557         * input-method-motif.c (XIM_delete_frame): New callback.
8558         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8559         got deleted from 21.4.3.)
8560
8561 2001-06-01  Ben Wing  <ben@xemacs.org>
8562
8563         * nt.c (mswindows_utime):
8564         * nt.c (close_file_data):
8565         fix off-by-one-indirection error.
8566
8567 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8568
8569         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8570         because set_file_times() now takes Lisp_Object path, instead of
8571         char*.
8572         * nt.c: Include buffer.h.
8573         * nt.c (convert_from_time_t): New.
8574         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8575         not set mtime correctly.
8576         * nt.h: Declare mswindows_utime().
8577         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8578         path, instead of char*.
8579         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8580
8581 2001-05-30  Ben Wing  <ben@xemacs.org>
8582
8583         For 21.4:
8584
8585         (Stephen, just take all event-msw.c patches.  This includes
8586         the "iconify" fix below.)
8587
8588         * event-msw.c:
8589         * event-msw.c (mswindows_dequeue_dispatch_event):
8590         * event-msw.c (assert):
8591         * event-msw.c (emacs_mswindows_quit_p):
8592         * event-msw.c (debug_mswin_messages):
8593         * event-msw.c (debug_output_mswin_message):
8594         * event-msw.c (vars_of_event_mswindows):
8595         Fix yet more problems with C-g handling.
8596         Implement debug-mswindows-events.
8597         
8598 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8599
8600         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8601         
8602 2001-05-23  Ben Wing  <ben@xemacs.org>
8603
8604         * event-msw.c (winsock_writer):
8605         * event-msw.c (winsock_closer):
8606         prior kludgy code was clobbering the buffer, thinking it was
8607         "unused" space to store an unneeded return value; instead, use
8608         the variable we've already got staring us in the face.
8609
8610 2001-05-17  Andy Piper  <andy@xemacs.org>
8611
8612         * sysfile.h: don't assume that file attributes are boolean
8613
8614 2001-05-23  Ben Wing  <ben@xemacs.org>
8615
8616         * device-msw.c (msprinter_init_device):
8617         signal an error rather than crash with an unavailable network
8618         printer (from Mike Alexander).
8619         
8620         * event-msw.c:
8621         * event-msw.c (struct winsock_stream):
8622         * event-msw.c (winsock_writer):
8623         * event-msw.c (winsock_closer):
8624         * event-msw.c (make_winsock_stream_1):
8625         cleanup headers.  fix (hopefully) an error with data corruption
8626         when sending to a network connection.
8627
8628         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8629         to handle the ~user prefix by (a) always assuming we're referencing
8630         ourselves and not even verifying the user -- hence any file with
8631         a tilde as its first char is invalid! (b) if there wasn't a slash
8632         following the filename, the pointer was set *past* the end of
8633         file and we started reading from uninitialized memory.  Now we
8634         simply treat these as files, always.
8635
8636         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8637         
8638 2001-05-19  Ben Wing  <ben@xemacs.org>
8639
8640         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8641
8642         * process-nt.c:
8643         * process-nt.c (vars_of_process_nt):
8644         remove unused mswindows-quote-process-args.  rec for 21.4.
8645         
8646 2001-05-12  Ben Wing  <ben@xemacs.org>
8647
8648         * event-msw.c (mswindows_dde_callback):
8649         * event-msw.c (mswindows_wnd_proc):
8650         eliminate cygwin warnings.
8651
8652 2001-05-06  Ben Wing  <ben@xemacs.org>
8653
8654         * console-msw.h:
8655         * device-msw.c:
8656         * device-msw.c (print_dialog_worker):
8657         * device-msw.c (mswindows_handle_print_dialog_box):
8658         * device-msw.c (syms_of_device_mswindows):
8659         * dialog-msw.c (mswindows_make_dialog_box_internal):
8660         * general-slots.h:
8661         implement printing the selection when it's selected.
8662
8663 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8664
8665         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8666
8667 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8668
8669         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8670         EMACS_INT is signed.
8671
8672 2001-04-15  Michael Lausch  <mla@1012surf.net>
8673
8674         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8675         gtk_widget_request_size() to give scrollbar >0 width for
8676         GTK >1.2.8.
8677
8678 2001-05-30  William M. Perry  <wmperry@gnu.org>
8679
8680         * event-gtk.c: Check for buttons as modifier keys.
8681
8682 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8683
8684         * s\mingw32.h:
8685         Properly find MinGW's <process.h> inside Cygwin's restructured
8686         include directories.  Don't try to include <cygwin/version.h>
8687         since we are dropping support for MinGW in versions of Cygwin
8688         earlier than b21.
8689         * nt.c:
8690         Drop support for MinGW in versions of Cygwin before b21.
8691         * sysdep.c:
8692         Properly find MinGW's <process.h> inside Cygwin's restructured
8693         include directories.
8694         * syswindows.h:
8695         Drop support for MinGW in versions of Cygwin before b21.
8696         * unexcw.c:
8697         Even though a.out.h is no longer detected by configure, allow
8698         MinGW to use it until we figure out how to do the job with Win32.
8699
8700 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8701
8702         * syntax.c (find_start_of_comment):
8703         Fix `unbalanced parentheses' bug when dealing with mixed comment
8704         styles in c++/java/etc. mode
8705
8706 2001-05-29  Mike Alexander  <mta@arbortext.com>
8707
8708         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8709         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8710
8711 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8712
8713         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8714
8715 2001-03-31  Mike Sperber <mike@xemacs.org>
8716
8717         * search.c (Freplace_match): Support FSF-style specification of
8718         match subexpression when applied to a buffer.
8719
8720 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8721
8722         * event-stream.c (is_scrollbar_event): add missing semicolon
8723
8724 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8725
8726         * Makefile.in.in: Use TAR macro instead of hardcoding
8727           tar.  Allows use of GNU tar instead of system tar
8728
8729 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8730
8731         * event-stream.c (is_scrollbar_event): add missing semicolon
8732
8733 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8734
8735         * XEmacs 21.4.3 "Academic Rigor" is released.
8736
8737 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8738
8739         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8740
8741 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8742
8743         * buffer.c (Vcase_fold_search): Remove obsolete
8744           comment about non ASCII case-fold-search.  This
8745           bug has been fixed by case-table changes.
8746
8747 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8748
8749         * event-msw.c: Restore include of events-mod.h.
8750
8751 2001-04-22   zhaoway  <zw@debian.org>
8752
8753         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8754         !HAVE_SCROLLBARS.
8755
8756 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8757
8758         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8759
8760 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8761
8762         * mule-charset.c (Fmake_charset): Add missing else.
8763
8764 2001-04-23  Ben Wing  <ben@xemacs.org>
8765
8766         * event-msw.c (FAKE_MOD_QUIT):
8767         * event-msw.c (mswindows_dequeue_dispatch_event):
8768         * event-msw.c (mswindows_wnd_proc):
8769         * event-msw.c (emacs_mswindows_quit_p):
8770         Get critical quit working.
8771
8772 2001-05-05  Ben Wing  <ben@xemacs.org>
8773
8774         * console-msw.h:
8775         * device-msw.c:
8776         * device-msw.c (mswindows_get_default_margin):
8777         * frame-msw.c (mswindows_size_frame_internal):
8778         * frame-msw.c (msprinter_init_frame_1):
8779         * frame-msw.c (vars_of_frame_mswindows):
8780         Change top/bottom margin defaults to 0.5 inches.
8781
8782 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8783
8784         Fix link error with gcc 3.0 on Linux.
8785         * terminfo.c (UP): Remove.
8786         * terminfo.c (BC): Remove.
8787         * terminfo.c (PC): Remove.
8788         They weren't used, and in any case, these symbols should be
8789         defined in the *library*.
8790
8791 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8792
8793         * s/aix4.h: Fix crash with xlc -O3.
8794         Improve comment explaining how -O3 works.
8795
8796 2001-04-15  Ben Wing  <ben@xemacs.org>
8797
8798         * event-stream.c:
8799         * event-stream.c (Fnext_event):
8800         * event-stream.c (is_scrollbar_event):
8801         * event-stream.c (execute_command_event):
8802         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8803         crash' problem.  His fix introduces other problems.  We filter
8804         out scrollbar events specifically, making them somewhat invisible
8805         to command-building, and not appearing in `this-command-keys'.
8806         More work is still needed (see comments in event-stream.c), but
8807         this fixes all the major problems.
8808
8809 2001-04-20  Ben Wing  <ben@xemacs.org>
8810
8811         * .cvsignore: Added stuff for Windows.
8812
8813 2001-04-28  Ben Wing  <ben@xemacs.org>
8814
8815         * buffer.c (Ferase_buffer):
8816         * editfns.c (buffer_insert1):
8817         * editfns.c (Finsert_before_markers):
8818         * editfns.c (Finsert_string):
8819         * editfns.c (Finsert_char):
8820         * editfns.c (Fdelete_region):
8821         * editfns.c (Fwiden):
8822         * editfns.c (Fnarrow_to_region):
8823         remove bogus lines setting zmacs_region_stays to 0.
8824         
8825 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8826
8827         * process-unix.c (unix_open_network_stream): If connect() fails
8828         invalidate file descriptor after closing it.
8829
8830 2001-03-08  Mike Alexander  <mta@arbortext.com>
8831
8832         * event-msw.c (mswindows_need_event_in_modal_loop):
8833         Don't dispatch a message if we didn't get one.
8834         (mswindows_need_event):
8835         Terminate the correct process when one exits instead of the first
8836         one on Vprocess_list and look for process termination when in
8837         mswindows_protect_modal_loop.
8838
8839 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8840
8841         * XEmacs 21.4.1 "Copyleft" is released.
8842
8843 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8844
8845         * input-method-motif.c (XIM_delete_frame): New callback.
8846         (XIM_init_frame): Register it.
8847
8848 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8849
8850         * XEmacs 21.4.0 "Solid Vapor" is released.
8851
8852 2001-04-15  Ben Wing  <ben@xemacs.org>
8853
8854         * cmdloop.c (call_command_loop):
8855         Fix braino in bit-rotting code.
8856         
8857 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8858
8859         * extents.c (Fset_extent_endpoints): Force creation of extent info
8860         in buffer_or_string.
8861
8862         * extents.c (process_extents_for_insertion_mapper): Correctly
8863         check for open-open zero-length extents.
8864
8865 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8866
8867         * lisp.h: New typedefs Memory_count, Element_count.
8868         * regex.c:
8869         * regex.h:
8870         Sign-compare warning elimination: several unsigned -> signed.
8871         Based on work by Ben Wing <ben@xemacs.org>.
8872
8873 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8874
8875         * XEmacs 21.2.47 "Zephir" is released.
8876
8877 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8878
8879         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8880
8881 2001-04-03  Mike Sperber <mike@xemacs.org>
8882
8883         * search.c: Revert previous patch due because of release.
8884
8885 2001-03-30  Ben Wing  <ben@xemacs.org>
8886
8887         * s\cygwin32.h:
8888         Add missing killpg prototype.
8889
8890         * elhash.c:
8891         Add a comment about fixing problems when a new entry is added
8892         while mapping.
8893
8894         * frame-msw.c (mswindows_init_frame_1):
8895         Fix compile warnings.
8896
8897         * menubar.c (vars_of_menubar):
8898         Provide `menu-accelerator-support' to indicate that we properly
8899         support %_ in menu specifications, so that package code can
8900         conditionalize on this (and remove %_ from menu specifications
8901         on older versions).
8902
8903         * event-msw.c:
8904         * scrollbar-msw.c:
8905         * scrollbar-msw.c (can_scroll):
8906         * scrollbar-msw.h:
8907         Fix handling of mouse wheel under Windows to follow standards --
8908         now scrolls window under pointer, not selected window.
8909
8910 2001-03-31  Mike Sperber <mike@xemacs.org>
8911
8912         * search.c (Freplace_match): Support FSF-style specification of
8913         match subexpression when applied to a buffer.
8914
8915 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8916
8917         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8918         function to modify KEYMAP, so map over a copy of the hash table.
8919
8920 2001-03-21  Martin Buchholz <martin@xemacs.org>
8921
8922         * XEmacs 21.2.46 "Urania" is released.
8923
8924 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8925
8926         * realpath.c (xrealpath): Make file-truename work with symlinks to
8927         /cygdrive paths on cygwin. Always lowercase drive-letters on
8928         native windows.
8929         (cygwin_readlink): Don't try to find canonical filename unless
8930         file exists.
8931
8932 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8933
8934         * ChangeLog: Log GTK merge.
8935
8936         * dumper.c:
8937         * select-x.c:
8938         * specifier.c:
8939         * symeval.h:
8940         Revert gratuitous whitespace changes from GTK merge.
8941
8942         * emacs.c: Document end of complex #ifdef @ l. 1495.
8943
8944
8945 2001-03-12  Andy Piper  <andy@xemacs.org>
8946
8947         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8948         have to do likewise.
8949
8950 2001-03-12  Andy Piper  <andy@xemacs.org>
8951
8952         * sysdep.c: we only support mingw now.
8953
8954 2001-03-09  Andy Piper  <andy@xemacs.org>
8955
8956         * unexcw.c (copy_executable_and_dump_data_section): making approx
8957         overrun a warning only.
8958
8959 2001-03-10  William M. Perry  <wmperry@aventail.com>
8960
8961         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8962         satisfy Stephen's identical-after-cpp plea.
8963
8964 2001-03-02  Ben Wing  <ben@xemacs.org>
8965
8966         * cmds.c:
8967         * cmds.c (Fforward_char):
8968         * syntax.c:
8969         * window.c:
8970
8971         Augment documentation of the most common motion commands to make
8972         note of the shifted-motion support.
8973         
8974 2001-03-02  Ben Wing  <ben@xemacs.org>
8975
8976         * nt.c (mswindows_fstat):
8977         * nt.c (mswindows_stat):
8978         * search.c (boyer_moore):
8979         Fix compile warnings under Windows.
8980         
8981         * sysdep.c (sys_readdir):
8982         Fix buggy filename-conversion code under Mule.
8983
8984 2001-03-09  William M. Perry  <wmperry@aventail.com>
8985
8986         * Makefile.in.in:
8987         * config.h.in:
8988         * console.c:
8989         * console.h:
8990         * device.c:
8991         * device.h:
8992         * dragdrop.c:
8993         * emacs.c:
8994         * event-stream.c:
8995         * events.c:
8996         * events.h:
8997         * faces.c:
8998         * frame.h:
8999         * general-slots.h:
9000         * glyphs.c:
9001         * gutter.c:
9002         * inline.c:
9003         * lisp.h:
9004         * lrecord.h:
9005         * make-src-depend:
9006         * redisplay-output.c:
9007         * redisplay.c:
9008         * symsinit.h:
9009         * sysfile.h:
9010         * toolbar.c:
9011         * window.c:
9012         The Great GTK Merge.
9013
9014         * ChangeLog.GTK:
9015         * console-gtk.c:
9016         * console-gtk.h:
9017         * device-gtk.c:
9018         * emacs-marshals.c:
9019         * emacs-widget-accessors.c:
9020         * event-gtk.c:
9021         * frame-gtk.c:
9022         * gccache-gtk.c:
9023         * gccache-gtk.h:
9024         * glade.c:
9025         * glyphs-gtk.c:
9026         * glyphs-gtk.h:
9027         * gtk-glue.c:
9028         * gtk-xemacs.c:
9029         * gtk-xemacs.h:
9030         * gui-gtk.c:
9031         * gui-gtk.h:
9032         * menubar-gtk.c:
9033         * native-gtk-toolbar.c:
9034         * objects-gtk.c:
9035         * objects-gtk.h:
9036         * redisplay-gtk.c:
9037         * scrollbar-gtk.c:
9038         * scrollbar-gtk.h:
9039         * select-gtk.c:
9040         * toolbar-gtk.c:
9041         * ui-byhand.c:
9042         * ui-gtk.c:
9043         * ui-gtk.h:
9044         The Great GTK Merge: new files.
9045
9046 2001-02-26  Ben Wing  <ben@xemacs.org>
9047
9048         Reapplied Lstream change.
9049
9050 2001-02-26  Ben Wing  <ben@xemacs.org>
9051
9052         Undid the last change, since it is more controversial than I
9053         thought.  It should be back in at some point soon.
9054         
9055 2001-02-25  Ben Wing  <ben@xemacs.org>
9056
9057         * buffer.c:
9058         * callproc.c (Fold_call_process_internal):
9059         * event-msw.c (ntpipe_slurp_reader):
9060         * event-msw.c (ntpipe_shove_writer):
9061         * event-msw.c (winsock_reader):
9062         * event-msw.c (winsock_writer):
9063         * file-coding.c:
9064         * file-coding.c (detect_eol_type):
9065         * file-coding.c (detect_coding_type):
9066         * file-coding.c (determine_real_coding_system):
9067         * file-coding.c (Fdetect_coding_region):
9068         * file-coding.c (decoding_reader):
9069         * file-coding.c (decoding_writer):
9070         * file-coding.c (mule_decode):
9071         * file-coding.c (Fdecode_coding_region):
9072         * file-coding.c (encoding_reader):
9073         * file-coding.c (encoding_writer):
9074         * file-coding.c (mule_encode):
9075         * file-coding.c (Fencode_coding_region):
9076         * file-coding.c (detect_coding_sjis):
9077         * file-coding.c (decode_coding_sjis):
9078         * file-coding.c (encode_coding_sjis):
9079         * file-coding.c (detect_coding_big5):
9080         * file-coding.c (decode_coding_big5):
9081         * file-coding.c (encode_coding_big5):
9082         * file-coding.c (detect_coding_ucs4):
9083         * file-coding.c (decode_coding_ucs4):
9084         * file-coding.c (encode_coding_ucs4):
9085         * file-coding.c (detect_coding_utf8):
9086         * file-coding.c (decode_coding_utf8):
9087         * file-coding.c (encode_coding_utf8):
9088         * file-coding.c (detect_coding_iso2022):
9089         * file-coding.c (decode_coding_iso2022):
9090         * file-coding.c (encode_coding_iso2022):
9091         * file-coding.c (decode_coding_no_conversion):
9092         * file-coding.c (encode_coding_no_conversion):
9093         * glyphs-x.c (write_lisp_string_to_temp_file):
9094         * gpmevent.c (tty_get_foreign_selection):
9095         * lisp.h:
9096         * lstream.c:
9097         * lstream.c (Lstream_flush_out):
9098         * lstream.c (Lstream_adding):
9099         * lstream.c (Lstream_write_1):
9100         * lstream.c (Lstream_write):
9101         * lstream.c (Lstream_raw_read):
9102         * lstream.c (Lstream_read_more):
9103         * lstream.c (Lstream_read):
9104         * lstream.c (Lstream_unread):
9105         * lstream.c (Lstream_fputc):
9106         * lstream.c (stdio_reader):
9107         * lstream.c (stdio_writer):
9108         * lstream.c (filedesc_reader):
9109         * lstream.c (filedesc_writer):
9110         * lstream.c (lisp_string_reader):
9111         * lstream.c (struct fixed_buffer_stream):
9112         * lstream.c (make_fixed_buffer_input_stream):
9113         * lstream.c (make_fixed_buffer_output_stream):
9114         * lstream.c (fixed_buffer_reader):
9115         * lstream.c (fixed_buffer_writer):
9116         * lstream.c (struct resizing_buffer_stream):
9117         * lstream.c (resizing_buffer_writer):
9118         * lstream.c (dynarr_writer):
9119         * lstream.c (lisp_buffer_reader):
9120         * lstream.c (lisp_buffer_writer):
9121         * lstream.h:
9122         * lstream.h (lstream_implementation):
9123         * lstream.h (struct lstream):
9124         * md5.c (Fmd5):
9125         * process-nt.c (nt_send_process):
9126         * process-unix.c (unix_send_process):
9127         
9128         Correct Lstream lossage due to mixing of signed and unsigned
9129         quantities.  All Lstream uses of size_t and ssize_t are now a
9130         single signed data type Lstream_data_count.  This fixes problems
9131         under Windows with sending large quantities of data to a process,
9132         and may well fix other subtle bugs.
9133
9134 2001-02-23  Martin Buchholz <martin@xemacs.org>
9135
9136         * XEmacs 21.2.45 "Thelxepeia" is released.
9137
9138 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9139
9140         * lisp-union.h (XSETINT): 
9141         (XSETCHAR):
9142         (XSETOBJ): 
9143         Reverse previous change of 2001-02-06.
9144
9145 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9146
9147         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9148         buffers.
9149         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9150         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9151         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9152         * regex.c (POS_AS_IN_BUFFER): removed
9153         * regex.c (re_search_2):
9154         * regex.c (re_match_2):
9155         Don't use an offset of 1 when calculating buffer positions, since
9156         `BI_BUF_BEGV' does it already.
9157
9158 2001-02-18  Wim Dumon  <wim@easics.be>
9159
9160         * insdel.c (prepare_to_modify_buffer): Also check for
9161         supersession when clash-detection is enabled. 
9162
9163 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9164
9165         * regex.c (re_match_2_internal):
9166         Convert temp characters from 'const unsigned char' to 're_char'.
9167         Fix crashing bug with extended characters under mule.
9168         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9169         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9170         font-lock, pdump, and new syntax-table code.
9171         * syntax.c (find_start_of_comment):
9172         (find_end_of_comment):
9173         (forward-comment):
9174         Fix crashing bugs involving moving beyond end of buffer.
9175         * syntax.c (find_start_of_comment):
9176         Fixed logic to allow proper detection of cases where the same
9177         character is used to end both a two-char comment start and a
9178         two-char comment end sequence. Fixes `(forward-comment -1)'.
9179         * syntax.c (find_start_of_comment):
9180         Return position just past last comment-end character for all cases
9181         (previously was only done for two-char comment-end sequences).
9182         * syntax.c (forward-comment):
9183         Take value returned from `find_end_of_comment', rather than
9184         incrementing it.
9185         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9186         Properly deal with BUFFERP (syntax_cache.object)
9187
9188 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9189
9190         * alloc.c (Fgarbage_collect): 
9191         * alloc.c (make_bit_vector_from_byte_vector):
9192         -Wsign-compare-correctness.
9193
9194 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9195
9196         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9197         (XSETCHAR): Likewise.
9198         (XSETOBJ): Likewise.
9199
9200 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9201
9202         * mule-canna.c (canna-func-delete_previous): 
9203         Rename to canna-func-delete-previous.
9204
9205 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9206
9207         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9208
9209 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9210
9211         * font-lock.c (find_context): Fix C++ compile errors introduced by
9212         recent patch
9213
9214 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9215
9216         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9217         pragma, but earlier ones barf on the same pragma.
9218
9219 2001-02-06  Mike Sperber <mike@xemacs.org>
9220
9221         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9222         `configure-mule-lisp-directory'.
9223
9224 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9225
9226         Make sure dump-id.c is compiled in the same way as other .c's.
9227         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9228         * dump-id.h: Remove.
9229         * emacs.c: Move dump-id.h into dumper.h.
9230         * dumper.h: Move dump-id.h into dumper.h.
9231         * Makefile.in.in:
9232         Use standard .c.o rule for building dump-id.o.
9233         Remove preprocessor flags from link command.
9234         Add dump-id.o to ${otherobjs} if PDUMP.
9235
9236 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9237
9238         Port FSF 20.7 syntax table improvements.
9239         * syntax.c.
9240         * syntax.h.
9241
9242         Fixups for new syntax table stuff.
9243         * dired.c: Include syntax.c.
9244         (Fdirectory_files): Initialize regex_match_object and
9245         regex_emacs_buffer.
9246         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9247         and Fget_char_property.
9248
9249         Use ported FSF 20.7 syntax table improvements.
9250         * font-lock.c.
9251         * regex.c.
9252         * search.c.
9253         
9254 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9255
9256         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9257         Unixware's enum boolean from sys/types.h.
9258
9259 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9260
9261         Fix support for building with latest Purify.
9262         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9263         (PURIFY_FLAGS): Likewise.
9264
9265 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9266
9267         * fileio.c (lisp_string_set_file_times): New.
9268         * fileio.c (Fcopy_file): Use it.
9269         Fixes bug:
9270         (copy-file filename non-ascii-filename t t)
9271         ==> No such file or directory, non-ascii-filename
9272
9273 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9274
9275         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9276         USHRT_MAX seems clearer than ~0 anyways.
9277
9278 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9279
9280         dumper improvements.  Inspired by Olivier.
9281         * dumper.c (pdump_max_align): New.
9282         * dumper.c (pdump_add_entry): Use pdump_max_align.
9283         * dumper.c (pdump_get_entry_list): Likewise.
9284         * dumper.c (pdump_scan_by_alignment): Likewise.
9285         Don't iterate through unnecessary alignments.
9286         * dumper.c (pdump_file_get): No need to align result of malloc().
9287         * dumper.c (pdump_mallocadr): Remove.  
9288         The result of malloc() is guaranteed to be maximally aligned.
9289         * dumper.c: s/elmt/elt/g;
9290         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9291         * dumper.c (pdump_alert_undump_object): Likewise.
9292         * dumper.c (pdump_align_table): 
9293         Don't support alignments > 64.
9294         Store ALIGNOF's, not shift counts, in table.
9295
9296 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9297
9298         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9299         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9300         * systime.h: Use HAVE_UTIME.
9301         * sysdep.c (struct utimbuf): Remove.
9302         * sysdep.c (set_file_times): Prefer utime() to utimes().
9303         * config.h.in (HAVE_UTIME): New.
9304         * config.h.in (HAVE_UTIME_H): Remove.
9305         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9306
9307 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9308
9309         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9310
9311 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9312
9313         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9314
9315 2001-02-08  Martin Buchholz <martin@xemacs.org>
9316
9317         * XEmacs 21.2.44 "Thalia" is released.
9318
9319 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9320
9321         Fixes crashes in kill-emacs on some systems.
9322         * process-unix.c (unix_kill_child_process):
9323         It's OK for kill() to fail with ESRCH.
9324
9325 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9326
9327         Contortions to make .gdbinit tricks work on most systems.
9328         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9329         * alloc.c (dbg_valmask): Make non-const.
9330         * alloc.c (dbg_typemask): Make non-const.
9331         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9332         * alloc.c (dbg_valbits): Make non-const.
9333         * alloc.c (dbg_gctypebits): Make non-const.
9334         * .gdbinit (decode_object): Make it work with AIX cc.
9335
9336 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9337
9338         * elhash.c (make_general_lisp_hash_table):
9339         Use simpler and more efficient calloc to clear entries.
9340
9341 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9342
9343         * window.c (window_scroll): Work around an AIX C compiler bug.
9344         Fixes 'scroll-up' does nothing problem with xlC.
9345
9346 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9347
9348         * .gdbinit: Remove obsolete comment.
9349
9350 2001-01-31  Mike Alexander  <mta@arbortext.com>
9351
9352         * select.c (Fown_selection_internal): Set owned_p for device
9353         method correctly.
9354
9355 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9356
9357         Port to g++ 2.97.
9358         "not" cannot be used as a macro name as it is an operator in C++
9359         * config.h.in: Stop #defining `not'.
9360         * chartab.c (check_category_char): not ==> not_p
9361         * chartab.h: Likewise.
9362         * regex.c (re_match_2_internal): Likewise.
9363
9364 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9365
9366         * lisp-disunion.h: Fix up comments.
9367
9368 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9369
9370         * keymap.c (define_key_check_and_coerce_keysym):
9371         (syms_of_keymap):
9372         Support mouse-6 and mouse-7 bindings in the obvious way.
9373
9374 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9375
9376         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9377
9378 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9379
9380         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9381         Previous patch missed DEFVAR_INT_MAGIC.
9382         Make sure future DEFVAR_foo use correct types.
9383         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9384         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9385         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9386         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9387         * (DEFVAR_INT): Likewise.
9388         * redisplay.c (vertical_clip): Should be of type Fixnum.
9389         * redisplay.c (horizontal_clip): Likewise.
9390         * lisp.h (dump_add_opaque_int): New.
9391         (dump_add_opaque_fixnum): New.
9392
9393 2001-01-29  Andy Piper  <andy@xemacs.org>
9394
9395         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9396         since they can be eval'ed
9397
9398 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9399
9400         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9401         Oops, XEmacs redefines `class'.  Use `typename' instead.
9402
9403 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9404
9405         * dumper.c: Fix C++ compile errors.
9406
9407 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9408
9409         * tparam.c: Use correct prototypes.
9410
9411 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9412
9413         * sysproc.h: #include util.h for NetBSD's openpty.
9414
9415 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9416
9417         More 64-bit correctness.
9418         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9419         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9420         Fix up comments.
9421         This finally finishes the 64-bit SGI port.
9422         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9423         * symbols.c: Fix up comments and type casts.
9424         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9425         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9426         * symeval.h (Fixnum): New type.
9427         * symeval.h (symbol_value_type): Fix up comment.
9428
9429         * commands.h:
9430         * nt.c:
9431         * emacs.c:
9432         * data.c:
9433         * redisplay.c:
9434         * abbrev.c:
9435         * dired-msw.c:
9436         * event-Xt.c:
9437         * eldap.c:
9438         * window.c:
9439         * sound.c:
9440         * event-stream.c:
9441         * eval.c:
9442         * buffer.c:
9443         * mule-canna.c: A million DEFVAR_INTs here...
9444         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9445         * extents.c:
9446         * cmdloop.c:
9447         * lisp.h:
9448         * select-x.c:
9449         * console-x.h:
9450         * event-msw.c:
9451         * mule-wnnfns.c:
9452         * hpplay.c:
9453         * ralloc.c:
9454         * alloc.c:
9455         * keymap.c:
9456         * profile.c:
9457         s/int/Fixnum/g in DEFVAR_INT declarations.
9458
9459 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9460
9461         Port pdump to SGI alignment-sensitive environment.
9462         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9463         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9464         properly aligned.
9465         Define and use aligned reading and writing macros.
9466         Use buffered stdio instead of posix i/o for faster dumping.
9467         Eliminate kludgy 256 byte space for header.
9468         Read and write from dump file using structs for alignment safety.
9469         * dumper.c (pdump_align_stream): New.
9470         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9471         * dumper.c (PDUMP_READ_ALIGNED): New.
9472         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9473         * dumper.c (pdump_static_Lisp_Object): New struct.
9474         * dumper.c (pdump_static_pointer): New struct.
9475         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9476         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9477         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9478         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9479
9480         * dumper.c (pdump_backtrace):
9481         * dumper.c (pdump_get_indirect_count):
9482         * dumper.c (pdump_register_object):
9483         * dumper.c (pdump_register_struct):
9484         * dumper.c (pdump_reloc_one):
9485         * dumper.c (pdump_scan_by_alignment):
9486         * dumper.c (pdump_dump_from_root_struct_ptrs):
9487         * dumper.c (pdump_dump_opaques):
9488         * dumper.c (pdump_dump_rtables):
9489         * dumper.c (pdump_dump_from_root_objects):
9490         * dumper.c (pdump):
9491         * dumper.c (pdump_load_finish):
9492         Use aligned reading and writing.
9493
9494         * dumper.c (pdump_free): Make static.
9495         * dumper.c (pdump_hFile): Likewise.
9496         * dumper.c (pdump_hMap): Likewise.
9497
9498 2001-01-26  Martin Buchholz <martin@xemacs.org>
9499
9500         * XEmacs 21.2.43 "Terspichore" is released.
9501
9502 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9503
9504         Type fiddling for window_config.saved_windows_count
9505         * window.c (struct window_config): 
9506         Make saved_windows_count member unsigned.
9507         * window.c (sizeof_window_config_for_n_windows): 
9508         Make parameter unsigned.
9509         * window.c (mark_window_config):
9510         * window.c (window_config_equal):
9511         * window.c (free_window_configuration):
9512         * window.c (Fset_window_configuration):
9513         * window.c (count_windows):
9514         * window.c (Fcurrent_window_configuration):
9515         * window.c (reinit_vars_of_window):
9516         Update all callers and users.
9517
9518 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9519
9520         Alignment correctness for flexible arrays.
9521         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9522         Make alignment-correct. Add interesting comments.
9523         * alloc.c (size_vector):
9524         * alloc.c (make_vector_internal):
9525         * alloc.c (make_bit_vector_internal):
9526         * alloc.c (sweep_bit_vectors_1):
9527         * fns.c (size_bit_vector):
9528         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9529         * window.c (sizeof_window_config_for_n_windows): 
9530         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9531
9532 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9533
9534         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9535
9536 2001-01-23  Andy Piper  <andy@xemacs.org>
9537
9538         * select.c (Fown_selection_internal): pass owned_p
9539
9540         * select-msw.c (mswindows_own_selection): New Signature.
9541
9542         * console.h (struct console_methods): add owned_p to
9543         _own_selection.
9544
9545         * select-x.c (x_own_selection): pass owned_p
9546         (hack_motif_clipboard_selection): use owned_p
9547         (vars_of_select_x): new variable -
9548         x_selection_strict_motif_ownership.
9549
9550 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9551
9552         * specifier.h (specifier_data_offset): Remove pointless parens.
9553         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9554
9555 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9556
9557         Make Lisp_Object sizeof methods be alignment-correct.
9558         pdump must restore objects to the same alignment as the C compiler
9559         assumes.  It really matters on SGIs.
9560         * lstream.c (aligned_sizeof_lstream): New.
9561         (sizeof_lstream): Use aligned_sizeof_lstream.
9562         (Lstream_new): Likewise.
9563         * opaque.c (aligned_sizeof_opaque): New.
9564         (sizeof_opaque): Use aligned_sizeof_opaque.
9565         (make_opaque): Likewise.
9566         * specifier.c (aligned_sizeof_specifier): New.
9567         (sizeof_specifier): Use aligned_sizeof_specifier.
9568         (make_specifier_internal): Likewise.
9569
9570 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9571
9572         * lstream.h (struct lstream): Use max_align_t for trailing data.
9573         * specifier.h (struct Lisp_Specifier): Likewise.
9574
9575 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9576
9577         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9578         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9579         (CCL_SUSPEND): Likewise.
9580         (CCL_INVALID_CMD): Likewise.
9581         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9582         (ccl_driver): Likewise.
9583         (CCL_WRITE_CHAR): Macro hygiene.
9584         (CCL_WRITE_STRING): Macro hygiene.
9585
9586 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9587
9588         Port "portable" dumper to SunOS 4 and HP-UX.
9589         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9590         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9591         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9592
9593 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9594
9595         * lisp.h (ALIGNOF): A better definition for C++.
9596
9597 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9598
9599         Macro hygiene.
9600         Fix printf warnings: int format, long int arg.
9601         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9602         (PUSH_FAILURE_POINT): Use correct printf formats.
9603         (POP_FAILURE_POINT): Use correct printf formats.  
9604         Use do {...} while (0)
9605
9606 2001-01-20  Martin Buchholz <martin@xemacs.org>
9607
9608         * XEmacs 21.2.42 "Poseidon" is released.
9609
9610 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9611
9612         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9613
9614 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9615
9616         De-kludgify FIXED_TYPE free list frobbing.
9617         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9618         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9619         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9620         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9621         * alloc.c (LRECORD_FREE_P): New.
9622         * alloc.c (MARK_LRECORD_AS_FREE): New.
9623         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9624         * alloc.c (STRUCT_FREE_P): Deleted.
9625         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9626         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9627         * alloc.c (STRING_CHARS_FREE_P): New.
9628         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9629         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9630         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9631         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9632         * alloc.c (resize_string): Use new definitions.
9633         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9634         * alloc.c (verify_string_chars_integrity): Use new definitions.
9635         * alloc.c (compact_string_chars): Use new definitions.
9636         * alloc.c: Update monster comments.
9637         * lrecord.h (lrecord_type): Add some new lrecord types for
9638         alloc.c's use.
9639
9640 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9641
9642         Improve alignment hackery.
9643         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9644         (max_align_t): Moved from opaque.h - general purpose.
9645         (ALIGN_PTR): Use size_t, not long.
9646         * opaque.h (max_align_t): Move to lisp.h.
9647
9648 2001-01-18  Norbert Koch  <nk@LF.net>
9649
9650         * gui.h: Fix and add prototypes to fix build problems.
9651
9652 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9653
9654         temacs is going away, so `dump-temacs' is now a bad name.
9655         * .dbxrc (dump-temacs): Rename to `dmp'.
9656         * .gdbinit (dump-temacs): Rename to `dmp'.
9657
9658 2001-01-17  Andy Piper  <andy@xemacs.org>
9659
9660         * glyphs.c (print_image_instance): comment to make martin happy.
9661
9662         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9663         change.
9664
9665         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9666         activation.
9667         (mswindows_tab_control_redisplay): warning suppression.
9668
9669         * glyphs-widget.c (widget_update): re-write to cope with updated
9670         items.
9671         (widget_instantiate): use new gui_item functions.
9672         (tab_control_update): deleted.
9673         (progress_gauge_update): deleted.
9674         (image_instantiator_progress_guage): take out update reference.
9675         (image_instantiator_tree_view): ditto.
9676         (image_instantiator_tab_control): ditto.
9677
9678         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9679         Right the new way.
9680         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9681         return whether anything was changed.
9682         (update_gui_item_keywords): as it sounds.
9683
9684         * gui.h: declare widget_gui_parse_item_keywords.
9685
9686         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9687         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9688
9689 2001-01-17  Martin Buchholz <martin@xemacs.org>
9690
9691         * XEmacs 21.2.41 "Polyhymnia" is released.
9692
9693 2001-01-16  Didier Verna  <didier@xemacs.org>
9694
9695         * glyphs.c (image_instantiate): don't use fallbacks when
9696         instantiating a face's background pixmap by inheritance.
9697
9698 2001-01-14  Mike Sperber <mike@xemacs.org>
9699
9700         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9701         Conditionalize accordingly.
9702
9703 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9704
9705         * dumper.c (pdump_file_get): Fix a compiler warning.
9706
9707 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9708
9709         Make Purify happy when pdumping.
9710         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9711         iniitalizing all bits of new lisp object memory.
9712         * symbols.c (Fmake_local_variable): Likewise.
9713         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9714         * symbols.c (Fdefvaralias): Likewise.
9715         * mule-charset.c (vars_of_mule_charset): Likewise.
9716
9717 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9718         Add the `-nd' flag when running pre-dump operations under the debugger.
9719         * .dbxrc (run-temacs): Add `-nd'.
9720         * .dbxrc (update-elc): Likewise.
9721         * .dbxrc (dump-temacs): Likewise.
9722         * .gdbinit (run-temacs): Likewise.
9723         * .gdbinit (check-temacs): Likewise.
9724         * .gdbinit (update-elc): Likewise.
9725         * .gdbinit (dump-temacs): Likewise.
9726
9727 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9728
9729         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9730         export OBJECT_MODE=64
9731         configure --pdump --use-union-type=no
9732         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9733         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9734
9735         * miscplay.c (sndcnv8U_2mono):
9736         Avoid two uses of `++' in the same expression.
9737         Suppresses a GCC warning.
9738
9739 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9740
9741         Make sure future compilers don't miscompile alloc.c.
9742         * alloc.c:
9743         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9744         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9745
9746 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9747
9748         * dumper.c: A little post-pdump-rename comment fixup.
9749
9750 2001-01-09  Jerry James  <james@eecs.ku.edu>
9751
9752         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9753
9754 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9755
9756         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9757         script:
9758         #!/bin/sh
9759         replace_symbol () {
9760           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9761         }
9762
9763         replace_symbol pdump_wire_lists pdump_weak_object_chains
9764         replace_symbol pdump_wire_list dump_add_weak_object_chain
9765
9766         replace_symbol pdump_wires pdump_root_objects
9767         replace_symbol pdump_wire dump_add_root_object
9768
9769         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9770         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9771
9772         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9773         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9774         replace_symbol dumpstructinfo pdump_root_struct_ptr
9775         replace_symbol dumpstruct dump_add_root_struct_ptr
9776
9777         replace_symbol dumpopaque dump_add_opaque
9778         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9779         replace_symbol dumpopaqueinfos pdump_opaques
9780         replace_symbol dumpopaqueinfo pdump_opaque
9781
9782         replace_symbol nb_structdump nb_root_struct_ptrs
9783         replace_symbol nb_opaquedump nb_opaques
9784
9785         replace_symbol align_table pdump_align_table
9786         replace_symbol dump_header pdump_header
9787
9788         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9789         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9790
9791
9792 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9793
9794         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9795         optimizing bytecount_to_charcount().
9796
9797 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9798
9799         * config.h.in:
9800         (HAVE_DLFCN_H): Removed.
9801         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9802
9803 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9804
9805         Portable dumper maintainability improvements.
9806         * alloc.c (staticpro):
9807         * alloc.c (staticpro_nodump):
9808         * alloc.c (garbage_collect_1):
9809         * alloc.c (reinit_alloc_once_early):
9810         * alloc.c (init_alloc_once_early):
9811         * alloc.c: Move dumper functions to alloc.c.
9812         * dumper.c (pdump_backtrace):
9813         * dumper.c (pdump_dump_structs):
9814         * dumper.c (pdump_dump_opaques):
9815         * dumper.c (pdump_dump_rtables):
9816         * dumper.c (pdump_dump_wired):
9817         * dumper.c (pdump):
9818         * dumper.c (pdump_load_check):
9819         * dumper.c (pdump_load_finish):
9820         * dumper.c (pdump_file_unmap):
9821         * dumper.c (pdump_file_get):
9822         * dumper.c (pdump_resource_free):
9823         * dumper.c (pdump_resource_get):
9824         * dumper.c (pdump_file_free):
9825         * dumper.c (pdump_file_try):
9826         * dumper.c (pdump_load):
9827         Remove fixed size limits on staticpro(), staticpro_nodump(),
9828         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9829         Remove custom code for dumping lrecord_implementations_table - use
9830         dumpopaque instead.
9831         Remove (most of the) custom code for dumping staticpros - dump it
9832         like any other dynarr.
9833
9834         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9835         * dumper.c: Moved functions from alloc.c.
9836         * alloc.c (dumpstruct): Moved to dumper.c.
9837         * alloc.c (dumpopaque): Likewise.
9838         * alloc.c (pdump_wire): Likewise.
9839         * alloc.c (pdump_wire_list): Likewise.
9840
9841         * lisp.h (Dynarr_sizeof): New.
9842         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9843         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9844         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9845
9846         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9847         * lisp.h (dumpopaque): ditto.
9848         * lisp.h (pdump_wire): ditto.
9849         * lisp.h (pdump_wire_list): ditto.
9850
9851 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9852
9853         * make-src-depend (PrintPatternDeps):
9854         Use `sort' to make output independent of perl version.
9855
9856 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9857
9858         Port to Netbsd 1.5.
9859         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9860         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9861
9862 2001-01-03  Didier Verna  <didier@xemacs.org>
9863
9864         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9865         that `focus_frame' is alive before thinking of calling
9866         `redisplay_redraw_cursor' on it.
9867
9868 2001-01-08  Martin Buchholz <martin@xemacs.org>
9869
9870         * XEmacs 21.2.40 is released.
9871
9872 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9873
9874         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9875
9876 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9877
9878         * alloc.c (dbg_valmask): Make const.
9879         * alloc.c (dbg_typemask): Make const.
9880         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9881         * alloc.c (dbg_valbits): Make const.
9882         * alloc.c (dbg_gctypebits): Make const.
9883
9884 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9885
9886         * redisplay-x.c (x_bevel_area):
9887         redisplay.h (struct rune):
9888         Typo fixes in comments.
9889
9890 2001-01-05  Andy Piper  <andy@xemacs.org>
9891
9892         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9893         adjustment.
9894
9895         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9896
9897 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9898
9899         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9900
9901         * mule-ccl.c (stack_idx_of_map_multiple):
9902         Non const global data must not be initialized!
9903         Found by MIYASHITA Hisashi.
9904
9905 2001-01-02  Andy Piper  <andy@xemacs.org>
9906
9907         * frame.c (change_frame_size): make sure frame size is always
9908         marked as changed.
9909
9910         * glyphs.c (image_instance_layout): minor code reuse.
9911
9912         * window.c (Fcurrent_window_configuration): revert previous
9913         change.
9914
9915 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9916
9917         * glyphs.h:
9918         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9919
9920 2000-12-31  Andy Piper  <andy@xemacs.org>
9921
9922         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9923         when widget gets unmapped.
9924
9925         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9926         function. Make sure widgets losing focus don't just drop it.
9927         (handle_focus_event_1): record the widget with focus.
9928
9929 2000-12-31  Andy Piper  <andy@xemacs.org>
9930
9931         * window.c (allocate_window): use
9932         make_image_instance_cache_hash_table.
9933         (make_dummy_parent): ditto.
9934         (Fset_window_configuration): ditto.
9935
9936         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9937
9938         * glyphs.c (process_image_string_instantiator): use
9939         INSTANTIATOR_TYPE.
9940         (get_image_instantiator_governing_domain): ditto.
9941         (normalize_image_instantiator): ditto.
9942         (instantiate_image_instantiator): ditto.
9943         (make_image_instance_1): ditto.
9944         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9945         (instantiator_eq_equal): new function for use with instance hash
9946         tables.
9947         (instantiator_eq_hash): ditto.
9948         (make_image_instance_cache_hash_table): create a suitable hash
9949         table for storing image instances.
9950
9951         * elhash.h (hash_table_weakness): new internal weakness type
9952         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9953         declare new functions.
9954
9955         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9956         another weakness type for glyphs.
9957         (make_standard_lisp_hash_table): new function split out from
9958         make_general_lisp_hash_table.
9959         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9960         (hash_table_instantiate): ditto.
9961         (Fmake_hash_table): ditto.
9962
9963 2000-12-31  Martin Buchholz <martin@xemacs.org>
9964
9965         * XEmacs 21.2.39 is released.
9966
9967 2000-12-29  Andy Piper  <andy@xemacs.org>
9968
9969         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9970
9971         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9972         the frame has changed so that we pick up geometry changes such as
9973         menubar visibility.
9974
9975 2000-12-28  Andy Piper  <andy@xemacs.org>
9976
9977         * lastfile.c (my_ebss): make a char array so we can pad the
9978         bss. Fixes cygwin unexec.
9979
9980         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9981
9982 2000-12-26  Andy Piper  <andy@xemacs.org>
9983
9984         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9985         comments and try and be more precise about a non-/SIGIO world.
9986         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9987         SIGIO.
9988
9989         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9990         we don't normalize to zero width or height.
9991
9992 2000-12-24  Andy Piper  <andy@xemacs.org>
9993
9994         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9995
9996 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9997
9998         * s/sco5.h: SCO 5 has pty support.
9999
10000 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
10001
10002         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
10003         input-method-xlib.c contains whole contents of input-method-xfs.c,
10004         so we can use input-method-xlib.c's code for USE_XFONTSET
10005         using #ifdefs.
10006         * input-method-xfs.c: removed.
10007
10008 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
10009
10010         * file-coding.h (enum coding_category_type): reorder enumerators to
10011         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
10012         (now one greater than largest real coding_category_type enumerator).
10013         * file-coding.c (coding_category_symbol, coding_category_by_priority,
10014         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10015         Fcoding_category_list, Fset_coding_priority_list,
10016         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10017         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10018
10019 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10020
10021         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10022         * redisplay-output.c (redisplay_output_window): Clear top of window
10023         when face is changed.
10024         * redisplay-x.c (x_redraw_exposed_window): Call
10025         redisplay_clear_top_of_window.
10026         * redisplay.h: Publish redisplay_clear_top_of_window.
10027
10028 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10029
10030         * buffer.c (Fkill_buffer): Map over all devices.
10031         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10032         (list_windows): New function.
10033         (list_all_windows): Ditto.
10034         (Freplace_buffer_in_windows): Use them.
10035
10036 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10037
10038         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10039         (Fopen_database): Use `db_create' instead of `db_open'.
10040         (syms_of_database): Initialize Qqueue.
10041
10042 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10043
10044         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10045         buffer_local_face_property.
10046         * buffer.h (struct buffer): New member buffer_local_face_property.
10047         * window.c (Fset_window_buffer):  Mark window's face as changed
10048         when buffer has buffer local face.
10049         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10050         * objects.c (color_after_change): Set buffer_local_face_property
10051         when locale of face specifier is buffer.
10052         * objects.c (font_after_change): Ditto.
10053         * objects.c (face_boolean_after_change): Ditto.
10054         * glyphs.c (image_after_change): Ditto.
10055
10056 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10057
10058         * nt.c (mswindows_fstat): Report file permissions, volume serial
10059         number, etc. Code adapted from FSF Emacs 20.7.
10060
10061 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10062
10063         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10064         of stat when we don't have symbolic links, to make sure
10065         mswindows_stat is called on mswindows.
10066
10067 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10068
10069         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10070
10071 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10072
10073         * doprnt.c (emacs_doprnt_1): More printing fixes.
10074         Make printing of numbers compatible with libc and FSF Emacs.
10075         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10076         Use the system printf to do most of the hard work of formatting,
10077         instead of doprnt_1().
10078         Calculate memory to allocate for format string.
10079         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10080         (doprnt_1): Cleaner code and documentation.
10081
10082 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10083
10084         * Makefile.in.in: Use the loop variable to install headers.
10085
10086 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10087
10088         * window.c (Fsplit_window): Don't invalidate face cache.
10089
10090 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10091
10092         * minibuf.c (Fall_completions): Undo the previous change
10093         which removed checking elements start with space.
10094
10095 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10096
10097         * mule-canna.c: Didier suppression.
10098
10099 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10100
10101         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10102         (warning suppression).  Add English comment translations.
10103
10104 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10105
10106         * unexelfsgi.c (unexec): Better test for mmap failure.
10107
10108 2000-12-05  Martin Buchholz <martin@xemacs.org>
10109
10110         * XEmacs 21.2.38 is released.
10111
10112 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10113
10114         * redisplay.c (bar-cursor): Make a user variable.
10115
10116         * symsinit.h: Add init_postgresql_from_environment.
10117
10118 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10119
10120         * regex.c: Convert to clean C.
10121
10122 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10123
10124         * realpath.c:
10125         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10126         initialization.
10127         (sys_readlink): renamed to system_readlink to avoid conflict with
10128         the other sys_readlink.
10129
10130 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10131
10132         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10133
10134 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10135
10136         * postgresql.c (init_postgresql_from_environment): new function.
10137         (vars_of_postgresql): Move code initializing Lisp variables out and
10138         into init_postgresql_from_environment.
10139         emacs.c (main_1): Call init_postgresql_from_environment if and only
10140         if running a dumped XEmacs.
10141
10142 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10143
10144         * buffer.c: Make find-file-compare-truenames default to true on
10145         windows.
10146
10147         * realpath.c (win32_abs_start):
10148         (cygwin_readlink):
10149         (win32_readlink): New functions.
10150         (xrealpath): Return really real filenames on windows.
10151
10152         * fileio.c (Ffile_truename): Make file-truename work on windows.
10153
10154 2000-11-29  Didier Verna  <didier@xemacs.org>
10155
10156         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10157         * faces.c (update_face_cachel_data): use it.
10158         * faces.c (add_face_cachel): use it. Complete background pixmap
10159         frobbing in face cache if `update_face_cachel_data' has not done so.
10160
10161 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10162
10163         * search.c (string_match_1): Don't set last_thing_searched
10164         when search failed.
10165
10166 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10167
10168         * buffer.c: Include casetab.h
10169         (common_init_complex_vars_of_buffer): Use new case-table object.
10170         * buffer.h: Include casetab.h
10171         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10172         (DOWNCASE_TABLE_OF): Ditto.
10173         * bufslots.h: Remove char-tables and add case-table.
10174         * casetab.c: Include casetab.h
10175         (CASE_TABLE_P): Removed.
10176         (mark_case_table): New function.
10177         (allocate_case_table): New function.
10178         (Fcase_table_p): Use new case-table.
10179         (case_table_char): New function.
10180         (Fget_case_table): Ditto.
10181         (Fput_case_table): Ditto.
10182         (Fput_case_table_pair): Ditto.
10183         (Fcopy_case_table): Ditto.
10184         (Fcurrent_case_table): Return case-table.
10185         (Fstandard_case_table): Return case-table.
10186         (Fset_case_table): Fix doc-string.
10187         (set_case_table): Use case-table
10188         (syms_of_casetab): DEFSUBR new functions.
10189         (complex_vars_of_casetab): Set up standard case-table.
10190         * casetab.h: New file.
10191         * editfns.c: Include casetab.h
10192         (Fcompare_buffer_substrings): Use case-table.
10193         * inline.c: Include casetab.h
10194         * lisp.h: Remove bogus extern.
10195         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10196         * search.c: Include casetab.h
10197         (TRANSLATE_ASCII): Removed.
10198         (TRANSLATE): Unconditionally translate character.
10199         (looking_at_1): Use case-table.
10200         (string_match_1): Ditto.
10201         (fast_string_match): Ditto.
10202         (search_command): Ditto.
10203         (search_buffer): Separate boyer_moore.  Check whether
10204         boyer_moore is possible.
10205         (simple_search): New function.
10206         (boyer_moore): Separated from search_buffer. Translate char.
10207
10208 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10209
10210         * regex.c (RE_TR_ASCII): Removed.
10211         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10212         (PATFETCH): Call PATFETCH_RAW.
10213         (PATFETCH_RAW): Fetch Emchar.
10214         (PATUNFETCH): Decrement charptr.
10215         (GET_BUFFER_SPACE): Rename b to buf_end.
10216         (BUF_PUSH): Ditto.
10217         (BUF_PUSH_2): Ditto.
10218         (BUF_PUSH_3): Ditto.
10219         (EXTEND_BUFFER): Ditto.
10220         (SET_LIST_BIT): Ditto.
10221         (regex_compile): Ditto.  Translate non ASCII char.
10222         (compile_range): Ditto.
10223         (re_search_2): Ditto.
10224         (re_match_2_internal): Compare Emchar.
10225         (bcmp_translate): Ditto.
10226
10227 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10228
10229         * lisp.h (basic char/int typedefs):  comment improvement.
10230
10231 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10232
10233         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10234         unstomp inhibit_site_lisp.  Improve comments.
10235
10236 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10237
10238         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10239
10240 2000-11-28  Andy Piper  <andy@xemacs.org>
10241
10242         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10243         clipped display for windows in the gutter also.
10244         (redisplay_display_boxes_in_window_p): change semantics of return
10245         codes to be more intuitive.
10246
10247         * gutter.h: declare display_boxes_in_gutter_p.
10248
10249         * gutter.c (display_boxes_in_gutter_p): new function for
10250         redisplay.
10251
10252 2000-11-22  Andy Piper  <andy@xemacs.org>
10253
10254         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10255         autodetect domain.
10256
10257 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10258
10259         * callproc.c (Fold_call_process_internal):
10260         * gpm.c (Freceive_gpm_event):
10261         (tty_get_foreign_selection): Might be just warning supression.
10262         * fileio.c (Fwrite_region_internal):
10263         (Fset_visited_file_modtime):
10264         * keymap.c (event_matches_key_specifier_p):
10265         Initialize GCPROed variable.
10266
10267         * menubar-x.c (command_builder_find_menu_accelerator):
10268         Initialize before use.
10269
10270 2000-11-23  Andy Piper  <andy@xemacs.org>
10271
10272         * unexcw.c (unexec): make the resulting executable executable.
10273
10274 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10275
10276         * doc.c (get_doc_string):
10277         Use size_t, not int, for result of XSTRING_LENGTH.
10278
10279         * cmds.c (Fdelete_char):
10280         * cmds.c (Fpoint_at_eol):
10281         * cmds.c (Fself_insert_command):
10282         Use EMACS_INT, not int, for result of XINT.
10283         Someday, someone will want to insert more than 2**31 identical characters.
10284
10285         * cmds.c (Fdelete_char):
10286         * cmds.c (Fdelete_backward_char):
10287         * syntax.c (Fforward_word):
10288         * syntax.c (Fforward_comment):
10289         Make COUNT argument optional, for consistency with forward-char et al.
10290
10291 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10292
10293         * lisp.h:
10294         * print.c (long_to_string):
10295         Return a useful value: the pointer at end of data written.
10296
10297         * doprnt.c:
10298         Use `static const char * const' for constant strings.
10299         (union printf_arg): Delete `i', `ui' members.
10300         (get_doprnt_args):
10301         (emacs_doprnt_1):
10302         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10303         Do all printf-ing via the `l' specifier.
10304         Use EMACS_INT instead of int.
10305         Optimize.
10306
10307 2000-11-20  Didier Verna  <didier@xemacs.org>
10308
10309         * faces.c (update_face_cachel_data): don't frob the background
10310         pixmap when the window is being created. The face is needed but
10311         does not exist yet.
10312
10313 2000-11-20  Andy Piper  <andy@xemacs.org>
10314
10315         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10316         messing with a debug environment.
10317
10318 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10319
10320         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10321
10322 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10323
10324         * casetab.c (Fcase_table_p): Fix compile error and crash.
10325
10326 2000-11-18  Philip Aston  <philipa@mail.com>
10327
10328         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10329
10330 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10331
10332         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10333         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10334
10335 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10336
10337         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10338         * unexelf.c: Use HAVE_ELF_H.
10339         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10340         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10341         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10342         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10343         for testing.
10344         So this is an unexelfsgi.c from a different line of development.
10345
10346 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10347
10348         * regex.c (RE_TR_ASCII): New function.
10349         (RE_TRANSLATE): Call it.
10350
10351 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10352
10353         * buffer.h (TRT_TABLE_OF): Remove assert.
10354         (IN_TRT_TABLE_DOMAIN): Removed.
10355
10356 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10357
10358         * free-hook.c (log_gcpro):
10359         (show_gcprohist): Add support for GCPRO5.
10360
10361 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10362
10363         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10364
10365 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10366
10367         * symeval.h: Declare flush_all_buffer_local_cache.
10368
10369         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10370         (flush_buffer_local_cache): Added.
10371         (flush_all_buffer_local_cache): Added.
10372
10373         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10374
10375         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10376         (pdump_dump_data): Ditto.
10377         (pdump_reloc_one): Ditto.
10378         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10379         before dumping.
10380
10381
10382 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10383
10384         * buffer.c: Remove if 0'ed entry.
10385         * buffer.h: Rewrite TRT to use char-table.
10386         * bufslots.h: Remove mirror tables.
10387         * casetab.c: Remove mirror tables.
10388         (CASE_TABLE_P): New macro.
10389         (Fcase_table_p): Element of a case table is string or char-table.
10390         (make_mirror_trt_table): Removed.
10391         (set_case_table): Setup char-table from strings for backward
10392         compatibility.
10393         * dired.c (Fdirectory_files):
10394         * dired-msw.c: (mswindows_get_files):
10395         * lisp.h: Change prototype of re_pattern_buffer.
10396         * regex.c: (RE_TRANSLATE): New macro.
10397         (TRANSLATE_P): Ditto.
10398         Change translate to type RE_TRANSLATE_TYPE.
10399         * regex.h: Define RE_TRANSLATE_TYPE
10400         * search.c (TRANSLATE): New macro.
10401         (TRANSLATE_ASCII): New macro.
10402         Translate table is changed to Lisp_Object.
10403         (signal_failure): Inhibit return.
10404
10405 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10406
10407         * device-msw.c:
10408         * eldap.c:
10409         * event-Xt.c:
10410         * event-stream.c:
10411         * print.c:
10412         Do UNGCPRO before return.
10413
10414 2000-11-14  Martin Buchholz <martin@xemacs.org>
10415
10416         * XEmacs 21.2.37 is released.
10417
10418 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10419
10420         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10421         Add comments about discarded return value.
10422
10423 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10424
10425         * callint.c:
10426         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10427
10428 2000-10-27  Andy Piper  <andy@xemacs.org>
10429
10430         * gutter.c (Fset_default_gutter_position): default left and right
10431         gutters to visible.
10432         (calculate_gutter_size): calculate resonable heuristic for left
10433         and right gutter sizes.
10434         (specifier_vars_of_gutter): change left and right gutter sizes to
10435         autodetect.
10436         (calculate_gutter_size_from_display_lines): new function.
10437         (output_gutter): check for resizing on left and right gutters.
10438         (clear_gutter): don't special case top and left gutters.
10439         (specifier_vars_of_gutter): use new signature for
10440         set_specifier_caching.
10441
10442         * glyphs-x.c (x_redisplay_widget): spelling fix.
10443         * glyphs.c (specifier_vars_of_glyphs):
10444         * menubar.c (specifier_vars_of_menubar):
10445         * redisplay.c (specifier_vars_of_redisplay):
10446         * toolbar.c (specifier_vars_of_toolbar):
10447         * window.c (specifier_vars_of_window):
10448         * scrollbar.c (specifier_vars_of_scrollbar):
10449         (complex_vars_of_scrollbar): use new signature for
10450         set_specifier_caching.
10451
10452         * specifier.c (set_specifier_caching): include recompute flag.
10453         (recompute_one_cached_specifier_in_window): always recompute if
10454         flag set.
10455         (recompute_one_cached_specifier_in_frame): ditto.
10456
10457         * specifier.h (struct specifier_caching): add recompute flag.
10458
10459 2000-10-24  Andy Piper  <andy@xemacs.org>
10460
10461         * unexcw.c (copy_executable_and_dump_data_section): add new
10462         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10463         5.0 happy.
10464
10465 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10466
10467         * console-x.h (x_device): New member modifier_release_time.
10468         * event-Xt.c (x_handle_sticky_modifiers):
10469         Bound interval modifier keys are sticky.
10470         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10471         * events.h: extern it.
10472
10473 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10474
10475         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10476
10477 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10478
10479         * event-stream.c (execute_command_event): Preserve current_events
10480         and the like when event is misc-user-event.
10481         Inhibit quit during the call to maybe_echo_keys.
10482
10483 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10484
10485         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10486         symlink when buffer is killed.
10487         (inhibit_clash_detection): New variable.
10488
10489 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10490
10491         * console.c (Fset_input_method): Trigger redisplay on tty.
10492
10493 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10494
10495         * process.c (Fprocess_status): Revert to previous behavior:
10496         (process-status "nosuchprocess") ==> nil
10497
10498 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10499
10500         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10501         Work around another GCC 2.95.2 optimizer bug.
10502
10503 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10504
10505         * process.c (Fget_process): Use LIST_LOOP_2.
10506         (kill_buffer_processes): Use LIST_LOOP_2.
10507
10508         * minibuf.c (Fall_completions):
10509         Delete old non-functional code for FSF fourth argument.
10510
10511         * frame.c (frame_matches_frame_spec):
10512         Renamed from `frame_matches_frametype'.  Update all callers.
10513         (device_matches_device_spec):
10514         Renamed from 'device_matches_console_spec'.  Update all callers.
10515
10516         * doc.c (Fsubstitute_command_keys):
10517         Remove buffer overflow crash.  Small code cleanups.
10518
10519         * casetab.c (check_case_table): Simpler code.
10520
10521         * window.c (Freplace_buffer_in_windows):
10522         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10523         (and similar implementation) as Fdelete_windows_on.
10524         Update all callers.
10525
10526         * alloc.c (Fmake_list):
10527         * alloc.c (make_vector):
10528         * alloc.c (Fmake_vector):
10529         * alloc.c (make_bit_vector):
10530         * alloc.c (Fmake_bit_vector):
10531         * alloc.c (Fbit_vector):
10532         * alloc.c (Fmake_string):
10533         * alloc.c (Fpurecopy):
10534         * alloc.c (Fmemory_limit):
10535         * buffer.c:
10536         * buffer.c (Fget_buffer):
10537         * buffer.c (Fkill_buffer):
10538         * buffer.c (complex_vars_of_buffer):
10539         * bytecode.c (Fcompiled_function_stack_depth):
10540         * callint.c (Fprefix_numeric_value):
10541         * event-stream.c:
10542         * event-stream.c (Fread_key_sequence):
10543         * casetab.c:
10544         * casetab.c (Fcase_table_p):
10545         * casetab.c (check_case_table):
10546         * casetab.c (Fset_case_table):
10547         * casetab.c (Fset_standard_case_table):
10548         * chartab.c:
10549         * chartab.c (Fchar_table_type):
10550         * chartab.c (Freset_char_table):
10551         * chartab.c (Fget_char_table):
10552         * chartab.c (Fget_range_char_table):
10553         * chartab.c (Fput_char_table):
10554         * chartab.c (Fmap_char_table):
10555         * chartab.c (Fcategory_table_p):
10556         * chartab.c (Fcheck_category_at):
10557         * chartab.c (Fchar_in_category_p):
10558         * chartab.c (Fcategory_table):
10559         * chartab.c (Fcopy_category_table):
10560         * chartab.c (Fset_category_table):
10561         * chartab.c (Fcategory_designator_p):
10562         * chartab.c (Fcategory_table_value_p):
10563         * cmds.c (Fdelete_char):
10564         * cmds.c (Fdelete_backward_char):
10565         * cmds.c (Fself_insert_command):
10566         * cmds.c (Fself_insert_internal):
10567         * console.c (Fvalid_console_type_p):
10568         * console.c (Fcdfw_console):
10569         * console.c (Fconsole_type):
10570         * console.c (Fconsole_name):
10571         * console.c (Fconsole_device_list):
10572         * console.c (Fconsole_on_window_system_p):
10573         * data.c:
10574         * data.c (Feq):
10575         * data.c (Fold_eq):
10576         * data.c (Fsubr_interactive):
10577         * data.c (Fchar_to_int):
10578         * data.c (Fint_to_char):
10579         * data.c (Fsetcar):
10580         * data.c (Fsetcdr):
10581         * data.c (Fnumber_to_string):
10582         * data.c (Fstring_to_number):
10583         * data.c (Frem):
10584         * database.c (mark_database):
10585         * database.c (finalize_database):
10586         * database.c (Fdatabase_live_p):
10587         * database.c (Fdatabasep):
10588         * device-x.c (Fx_get_resource):
10589         * device.c (Fdfw_device):
10590         * dired.c:
10591         * dired.c (Ffile_name_completion):
10592         * dired.c (Ffile_name_all_completions):
10593         * dired.c (Fuser_name_completion):
10594         * dired.c (Fuser_name_completion_1):
10595         * dired.c (Fuser_name_all_completions):
10596         * doc.c (Fdocumentation):
10597         * doc.c (Fdocumentation_property):
10598         * doc.c (Fsubstitute_command_keys):
10599         * editfns.c:
10600         * editfns.c (Fchar_to_string):
10601         * editfns.c (Fstring_to_char):
10602         * editfns.c (Ftemp_directory):
10603         * editfns.c (Finsert_char):
10604         * editfns.c (Fbuffer_substring_no_properties):
10605         * editfns.c (Fnarrow_to_region):
10606         * editfns.c (Fchar_equal):
10607         * editfns.c (Fchar_Equal):
10608         * editfns.c (Ftranspose_regions):
10609         * emacs.c (Fdump_emacs):
10610         * eval.c (Fthrow):
10611         * eval.c (Fcommand_execute):
10612         * eval.c (Fautoload):
10613         * eval.c (Fbacktrace):
10614         * eval.c (Fbacktrace_frame):
10615         * events.c:
10616         * events.c (Fcopy_event):
10617         * events.c (Fcharacter_to_event):
10618         * events.c (Fevent_button):
10619         * events.c (Fevent_process):
10620         * extents.c:
10621         * extents.c (Fnext_extent_change):
10622         * extents.c (Fextent_property):
10623         * faces.c (Ffacep):
10624         * faces.c (Fmake_face):
10625         * file-coding.c:
10626         * file-coding.c (Fencode_shift_jis_char):
10627         * file-coding.c (Fencode_big5_char):
10628         * fileio.c (Ffile_name_directory):
10629         * fileio.c (Ffile_name_nondirectory):
10630         * fileio.c (Ffile_name_as_directory):
10631         * fileio.c (Fdirectory_file_name):
10632         * fileio.c (Ffile_truename):
10633         * fileio.c (Fsubstitute_in_file_name):
10634         * fileio.c (Ffile_modes):
10635         * fileio.c (Fset_file_modes):
10636         * fileio.c (Fset_default_file_modes):
10637         * fileio.c (Fverify_visited_file_modtime):
10638         * floatfns.c (Facos):
10639         * floatfns.c (Fasin):
10640         * floatfns.c (Fatan):
10641         * floatfns.c (Fcos):
10642         * floatfns.c (Fsin):
10643         * floatfns.c (Ftan):
10644         * floatfns.c (Fbessel_j0):
10645         * floatfns.c (Fbessel_j1):
10646         * floatfns.c (Fbessel_jn):
10647         * floatfns.c (Fbessel_y0):
10648         * floatfns.c (Fbessel_y1):
10649         * floatfns.c (Fbessel_yn):
10650         * floatfns.c (Ferf):
10651         * floatfns.c (Ferfc):
10652         * floatfns.c (Flog_gamma):
10653         * floatfns.c (Fexp):
10654         * floatfns.c (Fexpt):
10655         * floatfns.c (Flog):
10656         * floatfns.c (Flog10):
10657         * floatfns.c (Fsqrt):
10658         * floatfns.c (Fcube_root):
10659         * floatfns.c (Facosh):
10660         * floatfns.c (Fasinh):
10661         * floatfns.c (Fatanh):
10662         * floatfns.c (Fcosh):
10663         * floatfns.c (Fsinh):
10664         * floatfns.c (Ftanh):
10665         * floatfns.c (Fabs):
10666         * floatfns.c (Ffloat):
10667         * floatfns.c (Flogb):
10668         * floatfns.c (Fceiling):
10669         * floatfns.c (Ffloor):
10670         * floatfns.c (Fround):
10671         * floatfns.c (Ftruncate):
10672         * floatfns.c (Ffceiling):
10673         * floatfns.c (Fffloor):
10674         * floatfns.c (Ffround):
10675         * floatfns.c (Fftruncate):
10676         * fns.c (Fstring_equal):
10677         * fns.c (Fstring_lessp):
10678         * fns.c (concat2):
10679         * fns.c (concat3):
10680         * fns.c (vconcat2):
10681         * fns.c (vconcat3):
10682         * fns.c (Fsubstring):
10683         * fns.c (Fassoc):
10684         * fns.c (Fold_assoc):
10685         * fns.c (assoc_no_quit):
10686         * fns.c (Fassq):
10687         * fns.c (Fold_assq):
10688         * fns.c (assq_no_quit):
10689         * fns.c (Frassoc):
10690         * fns.c (Fold_rassoc):
10691         * fns.c (Frassq):
10692         * fns.c (Fold_rassq):
10693         * fns.c (rassq_no_quit):
10694         * fns.c (Fremassoc):
10695         * fns.c (remassoc_no_quit):
10696         * fns.c (Fremassq):
10697         * fns.c (remassq_no_quit):
10698         * fns.c (Fremrassoc):
10699         * fns.c (Fremrassq):
10700         * fns.c (remrassq_no_quit):
10701         * fns.c (Fsort):
10702         * fns.c (Fplist_get):
10703         * fns.c (Fplist_put):
10704         * fns.c (Fplist_remprop):
10705         * fns.c (Fplist_member):
10706         * fns.c (Flax_plist_get):
10707         * fns.c (Flax_plist_put):
10708         * fns.c (Flax_plist_remprop):
10709         * fns.c (Flax_plist_member):
10710         * fns.c (Fequal):
10711         * fns.c (Fold_equal):
10712         * fns.c (Frequire):
10713         * fns.c (Fbase64_encode_region):
10714         * fns.c (Fbase64_encode_string):
10715         * fns.c (Fbase64_decode_region):
10716         * frame.c:
10717         * frame.c (frame_matches_frame_spec):
10718         * frame.c (device_matches_device_spec):
10719         * frame.c (next_frame):
10720         * frame.c (previous_frame):
10721         * frame.c (Fnext_frame):
10722         * frame.c (Fprevious_frame):
10723         * frame.c (Fframe_property):
10724         * frame.c (Fset_frame_height):
10725         * frame.c (Fset_frame_size):
10726         * frame.h:
10727         * glyphs.c:
10728         * glyphs.c (if):
10729         * glyphs.c (decode_error_behavior_flag):
10730         * glyphs.c (Fmake_image_instance):
10731         * indent.c (Findent_to):
10732         * intl.c (Fignore_defer_gettext):
10733         * keymap.c (Fkeymapp):
10734         * keymap.c (Flookup_key):
10735         * lread.c:
10736         * lread.c (Fload_internal):
10737         * lread.c (Feval_buffer):
10738         * lread.c (Feval_region):
10739         * macros.c (Fexecute_kbd_macro):
10740         * marker.c (set_marker_internal):
10741         * marker.c (Fset_marker):
10742         * marker.c (set_marker_restricted):
10743         * marker.c (Fcopy_marker):
10744         * marker.c (noseeum_copy_marker):
10745         * menubar.c:
10746         * menubar.c (Fpopup_menu):
10747         * minibuf.c:
10748         * mule-charset.c (Fcharset_name):
10749         * mule-charset.c (Fchar_charset):
10750         * mule-charset.c (Fchar_octet):
10751         * mule-charset.c (Fsplit_char):
10752         * mule-wnnfns.c (Fwnn_open):
10753         * mule-wnnfns.c (Fwnn_dict_comment):
10754         * mule-wnnfns.c (Fwnn_quit_henkan):
10755         * mule-wnnfns.c (Fwnn_word_toroku):
10756         * mule-wnnfns.c (Fwnn_word_sakujo):
10757         * mule-wnnfns.c (Fwnn_word_use):
10758         * mule-wnnfns.c (Fwnn_hindo_set):
10759         * objects.c:
10760         * objects.c (Fmake_color_instance):
10761         * objects.c (Fmake_font_instance):
10762         * print.c (Fwrite_char):
10763         * process.c:
10764         * process.c (mark_process):
10765         * process.c (print_process):
10766         * process.c (get_process_from_usid):
10767         * process.c (Fprocessp):
10768         * process.c (Fprocess_live_p):
10769         * process.c (Fget_process):
10770         * process.c (Fget_buffer_process):
10771         * process.c (get_process):
10772         * process.c (Fprocess_id):
10773         * process.c (Fprocess_name):
10774         * process.c (Fprocess_command):
10775         * process.c (init_process_io_handles):
10776         * process.c (start_process_unwind):
10777         * process.c (Fstart_process_internal):
10778         * process.c (Fopen_multicast_group_internal):
10779         * process.c (Fset_process_window_size):
10780         * process.c (read_process_output):
10781         * process.c (send_process):
10782         * process.c (Fprocess_tty_name):
10783         * process.c (Fset_process_buffer):
10784         * process.c (Fprocess_buffer):
10785         * process.c (Fprocess_mark):
10786         * process.c (set_process_filter):
10787         * process.c (Fset_process_filter):
10788         * process.c (Fprocess_filter):
10789         * process.c (Fprocess_send_region):
10790         * process.c (Fprocess_send_string):
10791         * process.c (exec_sentinel):
10792         * process.c (Fset_process_sentinel):
10793         * process.c (Fprocess_sentinel):
10794         * process.c (status_notify):
10795         * process.c (Fprocess_status):
10796         * process.c (Fprocess_exit_status):
10797         * process.c (process_send_signal):
10798         * process.c (Fprocess_send_eof):
10799         * process.c (deactivate_process):
10800         * process.c (remove_process):
10801         * process.c (Fdelete_process):
10802         * process.c (kill_buffer_processes):
10803         * process.c (Fprocess_kill_without_query):
10804         * process.c (Fprocess_kill_without_query_p):
10805         * rangetab.c:
10806         * rangetab.c (Fget_range_table):
10807         * rangetab.c (Fput_range_table):
10808         * rangetab.c (Fremove_range_table):
10809         * rangetab.c (Fclear_range_table):
10810         * search.c:
10811         * search.c (Fskip_chars_forward):
10812         * search.c (Fskip_chars_backward):
10813         * search.c (Fskip_syntax_forward):
10814         * search.c (Fskip_syntax_backward):
10815         * search.c (search_command):
10816         * search.c (Freplace_match):
10817         * search.c (Fregexp_quote):
10818         * select.c (Fown_selection_internal):
10819         * select.c (Fselection_owner_p):
10820         * select.c (Fselection_exists_p):
10821         * select.c (Fget_selection_internal):
10822         * specifier.c:
10823         * symbols.c:
10824         * symbols.c (Fintern):
10825         * symbols.c (Fintern_soft):
10826         * symbols.c (Funintern):
10827         * symbols.c (Fapropos_internal):
10828         * symbols.c (Fset_default):
10829         * syntax.c:
10830         * syntax.c (Fsyntax_table_p):
10831         * syntax.c (Fcopy_syntax_table):
10832         * syntax.c (Fset_syntax_table):
10833         * syntax.c (Fchar_syntax):
10834         * syntax.c (syntax_match):
10835         * syntax.c (Fmatching_paren):
10836         * syntax.c (Fforward_word):
10837         * syntax.c (scan_lists):
10838         * syntax.c (Fscan_lists):
10839         * syntax.c (Fscan_sexps):
10840         * syntax.c (Fparse_partial_sexp):
10841         * toolbar.c (Fcheck_toolbar_button_syntax):
10842         * tooltalk.doc:
10843         * window.c:
10844         * window.c (Fwindowp):
10845         * window.c (Fwindow_live_p):
10846         * window.c (Fwindow_point):
10847         * window.c (Fdelete_window):
10848         * window.c (Fnext_window):
10849         * window.c (Fprevious_window):
10850         * window.c (Fother_window):
10851         * window.c (window_loop):
10852         * window.c (Fget_lru_window):
10853         * window.c (Fsplit_window):
10854         * window.c (Fenlarge_window):
10855         * window.c (Fenlarge_window_pixels):
10856         * window.c (Fshrink_window):
10857         * window.c (Fshrink_window_pixels):
10858         * window.c (change_window_height):
10859         * window.c (Fwindow_configuration_p):
10860         * window.c (Fcurrent_window_configuration):
10861         * window.h:
10862         * casefiddle.c (casify_object):
10863         * casefiddle.c (Fupcase):
10864         * casefiddle.c (Fdowncase):
10865         * casefiddle.c (Fcapitalize):
10866         * casefiddle.c (Fupcase_initials):
10867         * casefiddle.c (casify_region_internal):
10868         * casefiddle.c (casify_region):
10869         * casefiddle.c (Fupcase_region):
10870         * casefiddle.c (Fdowncase_region):
10871         * casefiddle.c (Fcapitalize_region):
10872         * casefiddle.c (Fupcase_initials_region):
10873         * casefiddle.c (Fupcase_word):
10874         * casefiddle.c (Fdowncase_word):
10875         * casefiddle.c (Fcapitalize_word):
10876         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10877         Replace 0 with '\0' when working with bytes.
10878         Replace initial "(" with "\(" in docstrings.
10879
10880 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10881
10882         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10883
10884         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10885
10886 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10887
10888         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10889
10890 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10891
10892         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10893         correctly.
10894
10895 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10896
10897         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10898         (inhibit_auto_save_session): New variable.
10899         (vars_of_fileio): Declare and initialize them.
10900         * fileio.c (Fdo_auto_save): Don't create session file if
10901         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10902
10903 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10904
10905         * sgiplay.c (play_internal): C++ compilability.
10906         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10907         * callproc.c (Fold_call_process_internal):
10908         Remove unused vars `env', `first'.
10909         * scrollbar.c (update_scrollbar_instance):
10910         #### unused var `current_window'.
10911         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10912         etc. within #ifdef NOT_YET.
10913         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10914         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10915         * specifier.c (specifier_instance):
10916         #### unused var `tag'.
10917         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10918
10919 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10920
10921         * fns.c (Fbutlast):
10922         * fns.c (list_sort):
10923         * fns.c (Ffillarray):
10924         * fns.c (bytecode_nconc2):
10925         * fns.c (Fnconc):
10926         * fns.c (mapcar1):
10927         * fns.c (Fmapconcat):
10928         Be pedantically 64-bit correct.  For the time when someone will
10929         want to have a list with length > 2**32.
10930
10931         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10932         Work around MIPSpro compiler bug.
10933
10934         * process-unix.c (unix_kill_child_process): Add snarky comment.
10935         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10936
10937         * config.h.in: Oops, _getpt ==> _getpty
10938
10939 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10940
10941         * config.h.in:
10942         * regex.c:
10943         Use void*, not char*, as return type of alloca().
10944
10945         * alloc.c (free_marker): Side effect inside assert expression!
10946
10947 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10948
10949         * mule-charset.c (Fset_charset_ccl_program): To check
10950         if the given ccl program is valid, use setup_ccl_program()
10951         instead of CHECK_VECTOR().
10952         (Fmake_charset): Likewise.
10953
10954 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10955
10956         * faces.c (get_extent_fragment_face_cache_index):
10957         Fix cachel.merged_faces memory leak.
10958
10959 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10960
10961         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10962         Reset MSB of octets obtained by DECODE_SJIS
10963         because of the incompatibility with Emacs.
10964         (ccl_driver)<CCL_ENCODE_SJIS>:
10965         Set MSB of octets before passing them to
10966         ENCODE_SJIS because of the incompatibility
10967         with Emacs.
10968
10969 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10970
10971         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10972         (DECLARE_LRECORD): Undo the last change.
10973         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10974
10975 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10976
10977         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10978         the implementation to lrecord_implementations_table.
10979
10980 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10981
10982         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10983         initial value of `lrecord_type_##c_name' and
10984         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10985         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10986         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10987         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10988         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10989
10990 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10991
10992         * miscplay.c (sndcnv8S_2mono):
10993         (sndcnv2monounsigned):
10994         (sndcnvULaw_2linear):
10995         (sndcnv16swap):
10996         Remove implementation-defined behavior.
10997
10998 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10999
11000         * input-method-xlib.c: Warning suppression.
11001
11002 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
11003
11004         * mule-ccl.c: Sync up with Emacs 21.0.90.
11005         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
11006         Do nothing.
11007         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
11008         Likewise.
11009         (ccl_driver[WriteMultibyteChar2]): Bug fix.
11010         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
11011         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
11012         leading char belongs to official 2-dimensional charset.
11013         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
11014         write the given character as is.  Otherwise,
11015         if it is a multibyte char, convert it by
11016         non_ascii_set_charptr_emchar, then write it.
11017         (CCL_WRITE_STRING): Likewise.
11018         (ccl_get_compiled_code): New function.
11019         (setup_ccl_program): When ccl_prog is invalid,
11020         return -1.
11021         (Fregister_code_conversion_map): New function.
11022         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11023
11024         * mule-ccl.h: Sync up with Emacs 21.0.90.
11025         (Fregister_ccl_program): export it.
11026
11027         * redisplay-msw.c (separate_textual_runs):
11028         If ccl program is not valid, don't do ccl conversion.
11029
11030         * redisplay-x.c (separate_textual_runs): Ditto.
11031
11032         * file-coding.c (Fmake_coding_system):
11033         When type is ccl and value is vector, register it
11034         with a proper symbol.  And checks whether the
11035         given ccl program is valid.
11036         (mule_decode): When calling ccl_driver, if src indicates
11037         NULL pointer, set an empty string instead.
11038         (mule_encode): Likewise.
11039
11040 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11041
11042         The following large batch of changes gets us back to a state of
11043         C++ compilability.  Extbyte is now a char, which means that
11044         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11045
11046         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11047
11048         * sound.c (Fplay_sound): Type correctness.
11049
11050         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11051         (x_get_window_property): Type correctness.
11052         (receive_incremental_selection): unsigned char ==> Extbyte
11053         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11054         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11055         (Fx_store_cutbuffer_internal): Type correctness.
11056
11057         * process-unix.c (try_to_initialize_subtty): Type correctness.
11058
11059         * objects-x.c (x_print_color_instance): Type correctness.
11060         (x_print_font_instance): Type correctness.
11061         (x_list_fonts): SExtbyte ==> Extbyte.
11062         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11063         (x_find_charset_font): SExtbyte ==> Extbyte.
11064         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11065         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11066         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11067         Use bufbyte_strcmp.
11068
11069         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11070         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11071         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11072         (BYTE_C0_P): Use bit ops for char-signedness safety.
11073         (BYTE_C1_P): Use bit ops for char-signedness safety.
11074         (CHARSET_BY_LEADING_BYTE):
11075         (CHARSET_BY_ATTRIBUTES):
11076         Always use inline function.
11077         Use type_checking_assert.
11078         Hide chlook.
11079
11080         * mule-charset.c (non_ascii_charptr_copy_char):
11081         Modify to work with both ASCII and non-ASCII characters.
11082         Improve docs and variable names.
11083         Replace over-clever fall-through switch with a simple loop.
11084         (Lstream_get_emchar_1):
11085         Replace over-clever fall-through switch with a simple loop.
11086
11087         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11088         Warning suppression.
11089
11090         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11091         the return value of Lstream_getc, which could be EOF as well.
11092
11093         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11094
11095         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11096         APIs can be used on Extbytes without casts.  Risky!
11097         (SExtbyte): Remove.
11098         (UExtbyte): Remove.
11099
11100         * input-method-xlib.c (XIM_init_device):
11101         Use Xlib.h instead of IntrinsicP.h.
11102         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11103         which will break in X11R7.
11104         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11105         to call XRegisterIMInstantiateCallback with correct types.
11106
11107         * gui-x.c (button_item_to_widget_value): Type correctness.
11108
11109         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11110
11111         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11112         (xbm_instantiate_1): Type correctness.
11113         (BUILD_GLYPH_INST):  Type correctness.
11114
11115         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11116
11117         * file-coding.c:
11118         (decode_coding_sjis):
11119         (decode_coding_big5):
11120         (decode_coding_ucs4):
11121         (decode_coding_utf8):
11122         (decode_coding_iso2022):
11123         (decode_coding_no_conversion):
11124         Make all decoding functions take an Extbyte * arg.
11125         (encode_coding_sjis):
11126         (encode_coding_big5):
11127         (encode_coding_ucs4):
11128         (encode_coding_utf8):
11129         (encode_coding_iso2022):
11130         (encode_coding_no_conversion):
11131         Make all encoding functions take a Bufbyte * arg.
11132         Use size_t instead of unsigned int for memory sizes.
11133         Only cast to unsigned char whenever dereferencing Extbyte *.
11134
11135         * doc.c (unparesseuxify_doc_string): Type correctness.
11136
11137         * console-x.c (split_up_display_spec):
11138         Rewrite without using details of internal string representation.
11139         (x_semi_canonicalize_device_connection): Type correctness.
11140
11141         * config.h.in:
11142         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11143         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11144         (HAVE_XFREE386): Removed.
11145
11146         * buffer.h (DEC_CHARPTR): `const' correctness.
11147         (bufbyte_strcmp): New.
11148         (bufbyte_memcmp): New.
11149
11150         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11151
11152         * buffer.h (XCHAR_OR_CHAR_INT):
11153         Always use inline function.
11154         Remove redundant type checking assert() - XINT will abort quite nicely.
11155
11156 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11157
11158         * search.c (Freplace_match): Set newtext to an empty string.
11159
11160 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11161
11162         * s/decosf1-3.h: Remove #include of stropts.h
11163         * s/ptx.h: Remove #include of stropts.h
11164         * s/usg5-4.h: Remove #include of stropts.h
11165         * sysproc.h:
11166         * config.h.in:
11167         Use stropts.h, not sys/stropts.h.
11168         Use strtio.h, not sys/strtio.h.
11169
11170 2000-10-04  Martin Buchholz <martin@xemacs.org>
11171
11172         * XEmacs 21.2.36 is released.
11173
11174 2000-09-21  Andy Piper  <andy@xemacs.org>
11175
11176         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11177         changes still involve copying the widget tree.
11178         (update_widget_face): make sure a change is register in the widget
11179         tree. Call update_tab_widget_face appropriately.
11180         (update_tab_widget_face): ditto.
11181         (x_tab_control_redisplay): make sure non-structural changes still
11182         involve copying the widget tree.
11183
11184 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11185
11186         * lread.c (locate_file): Check the path element is non-nil.
11187
11188 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11189
11190         * lisp.h: Warning suppression for SCO compilers.
11191
11192         * redisplay-tty.c (reset_tty_modes): Fix crash.
11193         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11194
11195 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11196
11197         Big signal/process handling overhaul.  Bugs fixed:
11198         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11199         M-x comint-kill-subjob should work for both values nil and t of
11200         process-connection-type. It was broken on most platforms.
11201         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11202         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11203         * process-unix.c: Signal/Process handling overhaul.
11204         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11205         (allocate_pty): Use all available modern methods of allocating
11206         ptys, falling back to old style BSD allocation as a last resort.
11207         Use allegedly more secure Unix98 pty allocation by default.
11208         (allocate_pty_the_old_fashioned_way): New. the last resort.
11209         (unix_create_process): Push ptem, ldterm, ttcompat where
11210         available.  Autoconfiscate.
11211         (try_to_initialize_subtty): New.
11212         (unix_kill_child_process): Proper signal handling for ptys on most
11213         platforms, using special knowledge of AIX, BSD, etc...
11214         (unix_create_process): Always disconnect_controlling_terminal() for
11215         subprocesses, whether using ptys or not.
11216         * process.h: Remove old getpt-dependent PTY code.
11217         * process.c (Fprocess_send_signal): New, obvious generic function.
11218         (decode_signal): New.
11219         (Finterrupt_process):
11220         (Fkill_process):
11221         (Fquit_process):
11222         (Fstop_process):
11223         (Fcontinue_process):
11224         (Fsignal_process): Use decode_signal.
11225         (process_send_signal):
11226         Many docstring corrections.
11227         Allow any signal to be sent to a process object.
11228         * config.h.in: Add symbols for big signal/process overhaul.
11229         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11230         * sysproc.h: Include process-related headers, where available:
11231         sys/stropts.h sys/strtio.h pty.h libutil.h
11232         * s/irix4-0.h:
11233         * s/irix5-0.h:
11234         * s/cygwin32.h:
11235         * s/gnu.h:
11236         * s/linux.h:
11237         * s/hpux.h:
11238         * s/aix3-1.h:
11239         Remove old S&M pty stuff.
11240         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11241         * systty.h: Simplify cpp hackery, improve comments.
11242         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11243
11244         * editfns.c (Fformat_time_string):
11245         Be a little more paranoid with the return value of ctime.
11246
11247         * fileio.c (check_executable):
11248         (check_writable):
11249         Use symbolic constants X_OK, W_OK.
11250
11251         * console-x.c (split_up_display_spec): Fix a warning.
11252
11253 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11254
11255         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11256         * ntproc.c (sys_spawnve): make_string ==> build_string
11257         Small clarity improvements.
11258
11259 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11260
11261         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11262
11263         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11264
11265         * config.h.in (HAVE_STRCASECMP): Remove.
11266
11267 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11268
11269         * redisplay-output.c (redisplay_output_pixmap):
11270         Cleaner and possibly more 64-bit correct code.
11271
11272 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11273
11274         * dumper.c (pdump_load_finish): move restoration of
11275         `noninteractive1' to emacs.c (main_1).
11276         * emacs.c (main_1): protect LISP-visible command-line flags
11277         from pdump_load().
11278
11279 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11280
11281         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11282         DUMP_TARGET instead of literal program names.
11283
11284 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11285
11286         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11287
11288 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11289
11290         * *: Spelling mega-patch
11291
11292 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11293
11294         * fns.c (bad_bad_turtle):
11295         Delete "Eek!" comment, since we fixed the bug to which it refers.
11296
11297 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11298
11299         * alloca.c: Replace REGISTER with register.
11300
11301 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11302
11303         * file-coding.c (ucs_to_char): Use countof.
11304
11305 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11306
11307         * file-coding.c: (ucs_to_char):
11308         (complex_vars_of_file_coding):
11309         Use countof instead of sizeof.
11310         Use CHECK_NATNUM instead of CHECK_INT.
11311
11312         * sysdep.c (strcasecmp): Remove.
11313         * device-x.c (ascii_strcasecmp): New.
11314         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11315         Avoid using non-standard non-portable strcasecmp.
11316
11317 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11318
11319         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11320         * font-lock.c: remove reference to emacsfns.h.
11321         * search.c: small doc improvement.
11322         * event-Xt.c: correct file names in comments.
11323         * console-x.h Correct file names in comments.
11324         * frame.c: Correct file names in comments.
11325         * event-stream.c: remove Energize from comments.
11326
11327 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11328
11329         * symeval.h (DEFERROR_STANDARD):
11330         (DEFERROR):
11331         (DEFSYMBOL):
11332         (DEFSYMBOL_NO_DUMP):
11333         (DEFSYMBOL_MULTIWORD_PREDICATE):
11334         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11335         (DEFKEYWORD):
11336         The construct &##name is not sensible C.
11337         Fixes compilation errors with Unixware native compiler.
11338
11339 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11340
11341         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11342         (next_frame_internal): Removed.  We now just have next_frame.
11343         (next_frame):
11344         Write a simpler and cleaner one-pass algorithm.
11345         Remove called_from_delete_device arg and #ifdefed-out code.
11346         (previous_frame):
11347         Renamed from prev_frame.  Update callers.
11348         Cleaned up to have an analogous implementation to next_frame.
11349         (other_visible_frames_internal): Remove the
11350         called_from_delete_device bogus arg, and hence, remove this
11351         function.  Just use other_visible_frames().
11352
11353         * window.c (Fnext_window):
11354         Prettify docstring.
11355         Since next_frame() is guaranteed to return a frame, remove check
11356         for nil inserted in previous patch.
11357         (Fprevious_window):
11358         Prettify docstring.
11359         Make code look more like Fnext_window.
11360         (window_loop):
11361         Respect the `console' arg when iterating through windows.
11362         Fixes bug: (get-buffer-window buffer t device) not respecting
11363         the `device' arg.
11364         This function needs more work, as others have pointed out.
11365
11366         * frame.h: Rename prev_frame to previous_frame.
11367         device_matches_console_spec no longer takes a `frame' arg.
11368
11369         * s/gnu.h:
11370         * s/linux.h:
11371         * s/hpux.h:
11372         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11373         From "Golubev I. N." <gin@mo.msk.ru>.
11374
11375         * make-src-depend: Fix typo.
11376
11377 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11378
11379         * window.c (Fnext_window):
11380         next_frame() might return nil, not a frame.
11381         Fixes this crash:
11382         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11383
11384         * frame.c (next_frame_internal):
11385         We've passed a frame if we've passed its device.
11386         Fixes this crash:
11387         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11388 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11389
11390 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11391
11392         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11393         Allow option to suppress accelerators in menu/dialog items.
11394         (populate_or_checksum_helper): Pass dialog title through above.
11395
11396 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11397
11398         * event-msw.c (mswindows_key_to_emacs_keysym):
11399         Add "pause" key, fix "menu" key.
11400
11401 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11402
11403         * eval.c (reinit_vars_of_eval):
11404         Increase max_lisp_eval_depth to 1000,
11405         required for thai-xtis.el to byte-compile under some circumstances.
11406
11407 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11408
11409         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11410         From Kenichi Handa.
11411
11412 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11413
11414         * make-src-depend: Make the generated Makefiles smaller.
11415
11416         * s/hpux.h (SETUP_SLAVE_PTY):
11417         Provide a %d in the format string for the errno argument.
11418
11419         * editfns.c (Ftemp_directory):
11420         Warning fix.
11421         Avoid buffer overrun on very long file name.
11422
11423         * input-method-xlib.c (XIM_init_device):
11424         6th parameter of XRegisterIMInstantiateCallback has different
11425         pointer types on different OSes, so simply cast to (void *).
11426
11427         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11428
11429         * sysdll.c (dll_open):
11430         shl_load will hang hard if passed a NULL filename.
11431         Simply return NULL for compatibility with dlopen.
11432         * sysdll.c: Conform to XEmacs coding standards.
11433
11434         * sysdep.c (get_pty_max_bytes):
11435         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11436
11437 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11438
11439         * tooltalk.c: Add #include <syssignal.h>
11440
11441 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11442
11443         * s/hpux.h: Don't use undefined function sigunblock().
11444
11445 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11446
11447         * config.h.in: Add HAVE_BALLOON_HELP.
11448         * emacs.c: Use HAVE_BALLOON_HELP.
11449         * Makefile.in.in (x_objs):
11450         Make Balloon Help conditional on finding shape.h.
11451
11452 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11453
11454         * syntax.c (regex_emacs_buffer_p): New variable.
11455         * syntax.h (regex_emacs_buffer_p): extern.
11456         * search.c (looking_at_1):
11457         (string_match_1):
11458         (fast_string_match):
11459         (search_buffer): Set regex_emacs_buffer_p.
11460         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11461         when before_dot, at_dot, after_dot.
11462
11463 2000-08-23  Andy Piper  <andy@xemacs.org>
11464
11465         * gui-x.c (popup_selection_callback): Only set action_occurred
11466         when we really have an image instance.
11467         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11468
11469 2000-08-23  Andy Piper  <andy@xemacs.org>
11470
11471         * gui-msw.c (mswindows_handle_gui_wm_command): set
11472         action_occurred.
11473         * gui-x.c (popup_selection_callback): ditto.
11474
11475         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11476         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11477         (struct Lisp_Image_Instance): add action_occurred flag.
11478
11479         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11480         (image_instance_changed): ditto.
11481         (reset_frame_subwindow_instance_cache): only unmap windows - do
11482         not remove them from the cache also.
11483
11484         * glyphs-widget.c (tab_control_update): better debug.
11485         (progress_gauge_update): ditto.
11486         (layout_update): ditto.
11487         (layout_instantiate): ditto.
11488         (tab_control_order_only_changed): cope with null pending items.
11489
11490         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11491         debug. Force selection of an item when an action occurred. Cope
11492         with null pending_items.
11493         (mswindows_progress_gauge_redisplay): better debug.
11494         * glyphs-x.c (x_tab_control_redisplay): ditto.
11495
11496         * redisplay.c (redisplay_frame): reset the frame cache if the
11497         frame is garbaged.
11498
11499         * window.c (Fset_window_configuration): potentially re-enable
11500         frame cache reset.
11501         (window_unmap_subwindows): need to finalize instances here since
11502         it is only used in mark_window_as_deleted.
11503
11504 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11505
11506         * nas.c (SndOpenDataForReading):
11507         nas.c (WaveOpenDataForReading):
11508         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11509         Somehow escaped from the 2000-08-14 patch.
11510
11511 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11512
11513         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11514         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11515
11516 2000-08-21  Andy Piper  <andy@xemacs.org>
11517
11518         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11519         window if it is not already displayed.
11520
11521         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11522         it is not already displayed.
11523
11524         * window.c (Fset_window_configuration): don't reset the frame
11525         cache.
11526
11527         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11528         instances from the frame cache if we are actually finalizing them.
11529         (reset_frame_subwindow_instance_cache): reset frame cache only
11530         after unmapping everything.
11531         (map_subwindow): set displayed flag after mapping.
11532
11533 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11534
11535         * data.c (indirect_function):
11536         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11537
11538         * eval.c (function_argcount):
11539         Use original function when signaling errors.
11540
11541 2000-08-18  Andy Piper  <andy@xemacs.org>
11542
11543         * frame.c (delete_frame_internal): use new
11544         free_frame_subwindow_instances name.
11545
11546         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11547         (add_tab_item): make return type correct.
11548         (mswindows_tab_control_instantiate): assert index of tab.
11549         (mswindows_tab_control_redisplay): Re-code to use
11550         gui_item_equal_sans_selected and gui_item_list_find_selected.
11551
11552         * glyphs-widget.c (tab_control_update): Correct comment.
11553
11554         * window.c (window_unmap_subwindows): use new
11555         unmap_subwindow_instance_cache_mapper.
11556         (window_unmap_subwindows_cache_mapper): deleted.
11557         (Fset_window_configuration): comparisons should now be with
11558         EQ. Preserve the subwindow instance cache across configuration
11559         changes.
11560         (allocate_window): ditto.
11561         (make_dummy_parent): ditto.
11562
11563         * glyphs.c (free_frame_subwindow_instances): rename from
11564         free_frame_subwindow_instance_cache. finalize all instances rather
11565         than just those in the display cache.
11566         (finalize_all_subwindow_instances): walk windows unmapping and
11567         finalizing subwindows.
11568         (unmap_subwindow_instance_cache_mapper): moved from
11569         window.c. Allow finalization as well as unmapping.
11570
11571         * gui.c (gui_item_list_find_selected): new function.
11572
11573         * gui.h (gui_item_list_find_selected): declare.
11574
11575         * glyphs-x.c (x_tab_control_redisplay): pick tab
11576         explicitly. Re-code to use gui_item_equal_sans_selected and
11577         gui_item_list_find_selected.
11578
11579         * glyphs-x.h: add lwlib-utils.h
11580
11581         * buffer.c (Frecord_buffer): undo previous change.
11582
11583 2000-08-09  Vin Shelton  <acs@xemacs.org>
11584
11585         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11586         possible.  Create temporary files more securely.  The patch was
11587         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11588         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11589         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11590         for details.
11591
11592 2000-08-07  Ben Wing  <ben@xemacs.org>
11593
11594         * getloadavg.c: remove duplicate (and windows-breaking)
11595         includes of fcntl.h and sys/file.h.
11596
11597         * nt.c: remove duplicate getloadavg() definition.
11598
11599         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11600         encodings.
11601
11602 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11603
11604         * eval.c (function_argcount): If function needs to be autoloaded
11605         actually use the loaded definition.
11606         GCPRO function.
11607
11608 2000-08-05  Ben Wing  <ben@xemacs.org>
11609
11610         * getloadavg.c: add prototype for getloadavg().  remove
11611         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11612         of the code).  remove duplicate header includes.
11613
11614         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11615
11616         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11617         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11618         useful load average.
11619
11620         * alloc.c (reinit_alloc_once_early): removed references to
11621         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11622         the lisp vars are the only things referencing the malloc_sbrk_*
11623         vars, and they were already if 0'd out.  these vars only exist
11624         in the older malloc.c, which is basically unused, and they're
11625         only for informational purposes.
11626
11627         * m\*.h: removed useless VIRT_ADDR_VARIES.
11628
11629         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11630
11631 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11632
11633         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11634         color if the image is a mono pixmap.
11635
11636 2000-07-30  Ben Wing  <ben@xemacs.org>
11637
11638         * Makefile.in.in (release):
11639         Remove stray @.
11640
11641         * buffer.c (directory_is_current_directory):
11642         * dired-msw.c (mswindows_get_files):
11643         * dired.c:
11644         * dired.c (Fdirectory_files):
11645         * dired.c (file_name_completion_stat):
11646         * dired.c (Ffile_attributes):
11647         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11648         preprocessor tricks, to avoid problems on some machines
11649         (e.g. SCO).
11650
11651         * callproc.c (egetenv): GC docs.
11652
11653         * console-msw.h:
11654         * console-msw.h (struct mswindows_dialog_id):
11655         * lrecord.h (lrecord_type):
11656         New object for use with MSW dialogs.
11657
11658         * console.h (struct console_methods):
11659         New enable/disable frame methods, for proper modal dialogs.
11660
11661         * device-msw.c (msprinter_default_printer): Fix to follow
11662         proper Mule conventions.
11663
11664         * device-msw.c:
11665         * device-msw.c (signal_open_printer_error):
11666         * device-msw.c (msprinter_init_device):
11667         * device-msw.c (ensure_not_printing):
11668         * device-msw.c (plist_get_margin):
11669         * device-msw.c (Fmsprinter_select_settings):
11670         * device-msw.c (finalize_devmode):
11671         * device-msw.c (Fmsprinter_settings_despecialize):
11672         * device-msw.c (signal_enum_priner_error):
11673         * extents.c (decode_extent):
11674         * extents.c (decode_map_extents_flags):
11675         * extents.c (decode_extent_at_flag):
11676         * extents.c (Fextent_at):
11677         * extents.c (Fextents_at):
11678         * extents.c (symbol_to_glyph_layout):
11679         [[[[2]]]] Use structured errors.
11680
11681         * dialog-msw.c:
11682         * dialog-msw.c (mswindows_is_dialog_msg):
11683         * dialog-msw.c (mark_mswindows_dialog_id):
11684         * dialog-msw.c (dialog_proc):
11685         * dialog-msw.c (handle_question_dialog_box):
11686         * dialog-msw.c (syms_of_dialog_mswindows):
11687         Define new object to clean up marking; use it as a dialog identifier.
11688         Call new delete-dialog-box-hook.
11689
11690         * dialog-x.c (dbox_selection_callback):
11691         * dialog-x.c (dbox_descriptor_to_widget_value):
11692         * dialog-x.c (x_make_dialog_box_internal):
11693         Call new delete-dialog-box-hook.
11694         Return an id.
11695
11696         * dialog.c:
11697         * dialog.c (syms_of_dialog):
11698         * dialog.c (vars_of_dialog):
11699         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11700
11701         * eval.c:
11702         * eval.c (signal_call_debugger):
11703         when noninteractive, output stack traces on the console instead
11704         of in a (never-seen) buffer.
11705
11706         * eval.c (signal_type_error):
11707         * eval.c (invalid_argument_2):
11708         * lisp.h:
11709         new funs for use w/structured errors.
11710
11711         * event-Xt.c:
11712         * event-Xt.c (x_to_emacs_keysym):
11713         * event-Xt.c (describe_event):
11714         * event-Xt.c (emacs_Xt_event_handler):
11715         * event-Xt.c (vars_of_event_Xt):
11716         * event-msw.c:
11717         * event-msw.c (mswindows_wnd_proc):
11718         * event-msw.c (vars_of_event_mswindows):
11719         rename {x,mswindows}-debug-events to debug-{}-events for
11720         consistency with other debug-foo variables.
11721
11722         * event-stream.c:
11723         document next-event more clearly.
11724
11725         * fileio.c (Ffile_name_directory):
11726         * fileio.c (Ffile_name_nondirectory):
11727         * fileio.c (Funhandled_file_name_directory):
11728         * fileio.c (file_name_as_directory):
11729         * fileio.c (Ffile_name_as_directory):
11730         * fileio.c (directory_file_name):
11731         * fileio.c (Fdirectory_file_name):
11732         * fileio.c (Fmake_temp_name):
11733         * fileio.c (Ffile_truename):
11734         * fileio.c (Fsubstitute_in_file_name):
11735         * fileio.c (expand_and_dir_to_file):
11736         * fileio.c (barf_or_query_if_file_exists):
11737         * fileio.c (check_executable):
11738         * fileio.c (Ffile_exists_p):
11739         * fileio.c (Ffile_writable_p):
11740         * fileio.c (Ffile_directory_p):
11741         * fileio.c (Ffile_regular_p):
11742         * fileio.c (Ffile_modes):
11743         * fileio.c (Ffile_newer_than_file_p):
11744         * fileio.c (Fverify_visited_file_modtime):
11745         * fileio.c (Fset_visited_file_modtime):
11746         * fileio.c (auto_save_1):
11747         (1). (2).
11748         fix up gcpro's.
11749
11750         * frame-msw.c:
11751         * frame-msw.c (mswindows_init_frame_1):
11752         * frame-msw.c (mswindows_enable_frame):
11753         * frame-msw.c (error_frame_unsizable):
11754         * frame-msw.c (msprinter_init_frame_1):
11755         * frame-msw.c (msprinter_init_frame_3):
11756         * frame-msw.c (console_type_create_frame_mswindows):
11757         (2).
11758         implement new enable/disable frame methods.
11759
11760         * frame-x.c:
11761         * frame-x.c (x_enable_frame):
11762         * frame-x.c (console_type_create_frame_x):
11763         implement new enable/disable frame methods.
11764
11765         * frame.c:
11766         * frame.c (Fdisable_frame):
11767         * frame.c (syms_of_frame):
11768         * frame.h (struct frame):
11769         implement new enable/disable frame methods/functions.
11770
11771         * general-slots.h:
11772         add initial-focus.
11773
11774         * glyphs-msw.c (mswindows_widget_instantiate):
11775         comment that initial-focus should be implemented.
11776
11777         * glyphs-widget.c:
11778         * glyphs-widget.c (check_valid_instantiator):
11779         * glyphs-widget.c (check_valid_orientation):
11780         * glyphs-widget.c (check_valid_tab_orientation):
11781         * glyphs-widget.c (check_valid_justification):
11782         * glyphs-widget.c (check_valid_border):
11783         * glyphs-widget.c (check_valid_callback):
11784         * glyphs-widget.c (check_valid_int_or_function):
11785         * glyphs-widget.c (check_valid_string_or_vector):
11786         * glyphs-widget.c (check_valid_item_list_1):
11787         * glyphs-widget.c (widget_validate):
11788         * glyphs-widget.c (combo_box_validate):
11789         * glyphs-widget.c (widget_instantiate):
11790         * glyphs-widget.c (syms_of_glyphs_widget):
11791         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11792         * glyphs-widget.c (image_instantiator_combo_box):
11793         * glyphs-widget.c (image_instantiator_scrollbar):
11794         * glyphs-widget.c (image_instantiator_tab_control):
11795         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11796         (2).
11797         support (unimplemented) keyword initial-focus.
11798         reindent long macros.
11799
11800         * glyphs-x.c (x_redisplay_widget):
11801         * glyphs-x.c (x_button_instantiate):
11802         * glyphs-x.c (x_button_redisplay):
11803         * glyphs-x.c (x_progress_gauge_instantiate):
11804         * glyphs-x.c (x_edit_field_instantiate):
11805         * glyphs-x.c (x_combo_box_instantiate):
11806         * glyphs-x.c (x_tab_control_instantiate):
11807         * glyphs-x.c (x_label_instantiate):
11808         * gui-x.c:
11809         * gui-x.c (button_item_to_widget_value):
11810         * gui-x.c (gui_items_to_widget_values_1):
11811         * gui-x.c (gui_item_children_to_widget_values):
11812         * gui-x.c (gui_items_to_widget_values):
11813         * gui-x.h:
11814         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11815         add new flag to gui-parsing routines to indicate whether
11816         accelerator specs should be supported.
11817
11818         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11819
11820         * glyphs.h (struct Lisp_Image_Instance):
11821         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11822         add initial-focus flag.
11823
11824         * gui.c:
11825         * gui.c (syms_of_gui):
11826         * gui.c (vars_of_gui):
11827         clean up menu-no-selection-hook.
11828
11829         * gui.h:
11830         support delete-dialog-box-hook.
11831
11832         * lread.c (Fload_internal):
11833         * lread.c (locate_file_in_directory_mapper):
11834         (1).
11835
11836         * lrecord.h:
11837         * lrecord.h (struct toolbar_button):
11838         * lrecord.h (syms_of_toolbar):
11839         document how to create a new object.
11840
11841         * menubar-msw.c (mswindows_char_is_accelerator):
11842         may be called on frames w/o menus.
11843
11844         * menubar.c (vars_of_menubar):
11845         clean up :filter docs.
11846
11847         * nt.c (readdir):
11848         * ntproc.c:
11849         (1).
11850
11851         * process-nt.c:
11852         * process-nt.c (validate_signal_number):
11853         * process-nt.c (signal_cannot_launch):
11854         * process-nt.c (nt_create_process):
11855         * process-nt.c (nt_send_process):
11856         * process-nt.c (nt_kill_child_process):
11857         * process-nt.c (nt_open_network_stream):
11858         * process-nt.c (syms_of_process_nt):
11859         (2).
11860         delete quote-handling.  call new lisp code that does it better.
11861
11862         * process-unix.c (connect_to_file_descriptor):
11863         * process-unix.c (allocate_pty):
11864         * process-unix.c (unix_send_process):
11865         * process-unix.c (unix_kill_child_process):
11866         * process-unix.c (unix_open_network_stream):
11867         * process-unix.c (unix_open_multicast_group):
11868         (1). (2).
11869
11870         * process.c:
11871         * process.c (Fstart_process_internal):
11872         (2).  need to canonicalize process path even if absolute.
11873
11874         * select-msw.c (symbol_to_ms_cf):
11875         * select-msw.c (ms_cf_to_symbol):
11876         * select-msw.c (cf_is_autofreed):
11877         * select-msw.c (mswindows_destroy_selection):
11878         * select.c:
11879         * select.c (syms_of_select):
11880         * select.h:
11881         support dibv5, fix bugs. (from Mike Alexander)
11882
11883         * select.c (Fget_selection_internal):
11884         * select.c (select_convert_out):
11885
11886         * sysdep.c:
11887         * sysdep.c (xemacs_stat):
11888         renamed.
11889
11890         * sysdep.c (mkdir):
11891         * sysdep.c (rmdir):
11892         but keep original stat() here because we provide encapsulation
11893         around these funs.
11894
11895         * sysfile.h:
11896         * sysfile.h (fstat):
11897         remove stat garbage.
11898
11899         * syswindows.h:
11900         fix X/MSW conflict.
11901         don't include tchar.h.  it's inappropriate because it makes
11902         compile-time distinctions when we want runtime distinctions.
11903         (we provide our own tchar replacements)
11904
11905         * toolbar.c:
11906         use default object printer for toolbar-button.
11907
11908         * unexcw.c:
11909         make sure we don't encapsulate.
11910
11911         * window.c (vars_of_window):
11912         emphasize that temp-buffer-show-hook is obsolete.
11913
11914 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11915
11916         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11917         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11918
11919         * events.c (Fevent_timestamp_lessp):
11920         Not 64-bit clean.  Use EMACS_INT, not int.
11921
11922 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11923
11924         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11925         unsigned int and changed the last enum to
11926         lrecord_type_last_built_in_type.
11927         (lrecord_implementations_table): changed prototype to know how
11928         long the array is supposed to be.
11929         (lrecord_type_count): new unsigned int to keep track of the
11930         current number of lisp lrecord types.
11931         (DEFINE_EXTERNAL_LRECORD):
11932         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11933         dynamic-modules to declare new lisp types. They are the same
11934         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11935         int for each new type, and increment lrecord_type_count by 1.
11936
11937         * alloc.c (lrecord_implementations_table): Changed to reference
11938         lrecord_type_last_built_in_type for the size of the array.
11939         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11940
11941 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11942
11943         * glyphs.h (check_valid_item_list): Renamed from
11944         check_valid_item_list_1.
11945
11946 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11947
11948         * select.c (Qselect_coerce): New.
11949         * select.c (Vselection_coercion_alist): New.
11950         * select.c (syms_of_select): Declare.
11951         * select.c (get-selection-internal): Use it.
11952         Use the new select-coerce functionality.
11953
11954         * select.c (select_coerce): New.
11955         * select.h (select_coerce): Declare.
11956         New function to coerce one type of data into another.
11957
11958 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11959
11960         * callproc.c (Fcall_process_internal):
11961         (Fcall_process_internal):
11962         * process-unix.c (unix_create_process):
11963         Save and restore the value of errno, so that error messages are accurate.
11964
11965 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11966
11967         * elhash.c (print_hash_table):
11968         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11969         Prettify docstrings and indentation.
11970
11971 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11972
11973         * window.c (Fwindow_pixel_edges): Subtract frame border and
11974         gutter size.
11975
11976 2000-07-31  Andy Piper  <andy@xemacs.org>
11977
11978         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11979         will acknowledge the change.
11980
11981         * glyphs.h: declare tab_control_order_only_changed.
11982
11983         * glyphs-x.c (x_tab_control_redisplay): use
11984         tab_control_order_only_changed.
11985
11986         * glyphs-widget.c (tab_control_order_only_changed): new function.
11987
11988         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11989         tab_control_order_only_changed.
11990
11991         * gui.c (gui_item_equal_sans_selected): new function.
11992         (gui_item_equal): use it.
11993
11994         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11995         :properties in favor of :items..
11996
11997         * glyphs-widget.c (check_valid_item_list): rename from
11998         check_valid_item_list_1.
11999         (check_valid_item_list_1): renamed.
12000         (combo_box_validate): deprecate :properties in favor of :items.
12001         (widget_instantiate): ditto.
12002         (tab_control_update): ditto.
12003         (image_instantiator_combo_box): ditto.
12004         (image_instantiator_tree_view): ditto.
12005         (image_instantiator_tab_control): ditto.
12006         (layout_post_instantiate): remove dead code.
12007
12008         * print.c (debug_print_no_newline): only write to debugger if in
12009         WIN32_NATIVE.
12010
12011         * elhash.c (Fmake_hash_table): update doc string.
12012
12013         * event-msw.c (mswindows_wnd_proc): don't allow processing of
12014         messages whilst in GC. This at least stops XEmacs crashing but has
12015         the potential for wierd behaviour.
12016
12017 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12018
12019         * config.h.in:
12020         Make existence of s&m files optional.
12021
12022         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12023         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12024         * s/gnu.h: Remove HAVE_GETLOADAVG.
12025         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12026         * s/sol2.h: Remove HAVE_GETLOADAVG.
12027         * lisp.h: Remove getloadavg() declaration.
12028         * fns.c:
12029         Include <sys/loadavg.h> if available.
12030         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12031         * config.h.in:  Group together getloadavg()-related macros.
12032         Use only configure-time tests to detect getloadavg().
12033
12034 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12035
12036         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12037
12038 2000-07-25  Andy Piper  <andy@xemacs.org>
12039
12040         * syswindows.h: add tchar.h for native builds.
12041
12042         * frame.c (syms_of_frame): remove set-glyph-image.
12043
12044         * general-slots.h: add Qset_glyph_image.
12045
12046         * glyphs-widget.c (layout_update): add domain arg to
12047         set-glyph-image.
12048         (syms_of_glyphs_widget): remove set-glyph-image.
12049
12050 2000-07-23  Ben Wing  <ben@xemacs.org>
12051
12052         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12053         Vpopup_frame_list.
12054
12055 2000-07-22  Andy Piper  <andy@xemacs.org>
12056
12057         * symsinit.h: add syms_of_win32().
12058
12059         * gui-msw.c (syms_of_gui_mswindows): remove
12060         Fmswindows_shell_execute.
12061         (Fmswindows_shell_execute): moved to win32.c.
12062
12063         * emacs.c (main_1): add syms_of_win32 ().
12064
12065         * win32.c (init_potentially_nonexistent_functions): rewrite in
12066         compiler-friendly terms.
12067         (Fmswindows_shell_execute): move here from gui-msw.c.
12068         (syms_of_win32): new.
12069
12070         * device-msw.c (Fmswindows_printer_list): clean up args to
12071         EnumPrinters.
12072         Don't include tchar under cygwin or mingw.
12073         (msprinter_default_printer): make cygwin-friendly.
12074
12075 2000-07-21  Andy Piper  <andy@xemacs.org>
12076
12077         * glyphs-widget.c (image_instantiator_tree_view): use tab
12078         control's update function.
12079         (layout_property): new function. Retrieve items.
12080
12081         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12082         function. Re-populate the tree view from the pending items.
12083
12084         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12085         is designated the parent if the domain is an image instance. This
12086         is needed so that dirtiness can be cascade up the hierarchy and
12087         thus for layout children to be redisplayed correctly.
12088         (allocate_image_instance): rename glyph -> parent.
12089
12090         * redisplay.h: change redisplay_output_layout signature.
12091
12092         * redisplay-msw.c (mswindows_output_display_block): use domain
12093         arg.
12094
12095         * redisplay-x.c (x_output_display_block): use domain arg.
12096
12097 2000-07-10  Andy Piper  <andy@xemacs.org>
12098
12099         * window.c (Fset_window_configuration): add comment.
12100
12101         * redisplay-output.c (compare_runes):
12102         (redisplay_output_subwindow): redisplay rather than update subwindow.
12103         (redisplay_output_layout): ditto.
12104
12105         * redisplay-msw.c (mswindows_frame_output_end):
12106         (mswindows_frame_output_end): make defer window pos optional.
12107
12108         * lisp.h: add Flast.
12109
12110         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12111         normalize method. Change update method to be for changed
12112         instantiators. Add redisplay method. Change signature of layout
12113         method.
12114         (struct Lisp_Image_Instance): add instantiator.
12115         (IMAGE_INSTANCE_INSTANTIATOR): new.
12116         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12117         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12118         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12119
12120         * glyphs.c:
12121         (find_instantiator_differences): new function.
12122         (Fset_instantiator_property): new convenience function.
12123         (check_image_instance_structure): strictly check for vector
12124         instantiators.
12125         (normalize_image_instantiator): make non-static.
12126         (instantiate_image_instantiator): pass on dest_mask and use new
12127         signatures for image_instance_layout and friends.
12128         (mark_image_instance): mark the instantiator. Mark the subwindow
12129         face not the widget face.
12130         (image_instance_equal): add instantiator.
12131         (image_instance_hash): ditto.
12132         (allocate_image_instance): ditto.
12133         (Fset_image_instance_property): removed.
12134         (Fimage_instance_file_name): ditto.
12135         (Fcolorize_image_instance): ditto.
12136         (image_instance_layout): add offsets to be set.
12137         (update_image_instance): new function. update an image instance
12138         from its changed instantiator.
12139         (inherit_normalize): add dest_mask.
12140         (xbm_normalize): ditto.
12141         (xface_normalize): ditto.
12142         (xpm_normalize): ditto.
12143         (text_update): set_property -> update.
12144         (image_instantiate): use the glyph identity as a hash key, not the
12145         instantiator.
12146         (glyph_width): use new image_instance_layout signature.
12147         (glyph_ascent): ditto.
12148         (glyph_descent): ditto.
12149         (glyph_height): ditto.
12150         (glyph_query_geometry): ressurrect.
12151         (glyph_layout): ditto.
12152         (redisplay_subwindow): update -> redisplay.
12153         (syms_of_glyphs): add Fset_instantiator_property.
12154         (image_instantiator_format_create): set_property -> update.
12155
12156         * glyphs-x.c:
12157         (autodetect_normalize): add dest_maks to signature.
12158         (x_redisplay_subwindow): update -> redisplay.
12159         (x_redisplay_widget): ditto.
12160         (x_button_redisplay): ditto.
12161         (x_progress_gauge_redisplay): ditto.
12162         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12163         stacking order.
12164         (console_type_create_glyphs_x): update -> redisplay.
12165         (image_instantiator_format_create_glyphs_x): ditto.
12166
12167         * glyphs-widget.c:
12168         (check_valid_instantiator): disallow glyphs in the instantiator,
12169         they must now be vectors.
12170         (check_valid_instantiator_list): ditto.
12171         (glyph_instantiator_to_glyph): use internal symbol rather than
12172         intern.
12173         (widget_update): renamed from widget_set_property. Call cascaded
12174         update methods.
12175         (redisplay_widget): renamed from update_widget.
12176         (widget_layout): image_instance_layout now takes position as well
12177         as size.
12178         (widget_normalize): ditto.
12179         (widget_instantiate): ditto.
12180         (tab_control_query_geometry) ditto.:
12181         (tab_control_update): renamed from tab_control_set_property.
12182         (progress_gauge_update): set_property -> update.
12183         (layout_normalize): rewrite so that child instantiators are
12184         normalized also.
12185         (layout_update): new function. Create glyphs from the normalized
12186         children and cope with any other layout keywords. We do not
12187         instantiate children here that will be take care of by
12188         redisplay_output_layout.
12189         (layout_instantiate): call layout_update and not much else.
12190         (layout_post_instantiate): not sure whether this is needed
12191         anymore.
12192         (layout_query_geometry): query glyph geometry rather than
12193         image_instance geometry.
12194         (layout_layout): set offsets from pass in parameters. Use glyph
12195         geometry and layout functions rather than image instance ones.
12196         (native_layout_layout): ditto.
12197         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12198         (image_instantiator_widget): set_property -> update.
12199         (image_instantiator_buttons): ditto.
12200         (image_instantiator_progress_guage): ditto.
12201         (image_instantiator_tab_control): ditto.
12202         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12203         (image_instantiator_layout): add update method.
12204
12205         * glyphs-msw.c (bmp_normalize):
12206         (mswindows_resource_normalize): add dest_mask so that it can be
12207         proprogated by layout_normalize.
12208         (begin_defer_window_pos): make optional because it may not be the
12209         right thing to do and it introduces differences with X.
12210         (mswindows_unmap_subwindow): ditto.
12211         (mswindows_map_subwindow): ditto.
12212         (mswindows_redisplay_subwindow): renamed from
12213         mswindows_update_subwindow.
12214         (mswindows_redisplay_widget): ditto.
12215         (mswindows_button_redisplay): renamed from
12216         mswindows_button_update. Update is now what the instantiation
12217         function does for a changed instantiator.
12218         (mswindows_progress_gauge_instantiate): set the progress value
12219         here if appropriate.
12220         (mswindows_tab_control_redisplay): cope with re-ordering of the
12221         members of the tab widget by simply selecting the new top
12222         widget. This makes things appear ok if you click on a tab.
12223         (mswindows_combo_box_instantiate): image_instance_layout now takes
12224         position as well as size.
12225         (mswindows_progress_gauge_redisplay): renamed from
12226         mswindows_progress_gauge_update.
12227         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12228         (image_instantiator_format_create_glyphs_mswindows): ditto.
12229
12230         * glyphs-eimage.c (jpeg_normalize):
12231         (gif_normalize):
12232         (png_normalize):
12233         (tiff_normalize): add dest_mask so that it can be proprogated by
12234         layout_normalize.
12235
12236         * elhash.c:
12237         (print_hash_table):
12238         (hash_table_weakness_validate):
12239         (decode_hash_table_weakness):
12240         (Fhash_table_weakness):
12241         (Fhash_table_type):
12242         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12243
12244         * console.h (struct console_methods): move update_* to
12245         redisplay_*.
12246
12247 2000-07-20  Ben Wing  <ben@xemacs.org>
12248
12249         * *.[ch] (XSETOBJ): remove unused middle argument.
12250         lisp-disunion.h: correct wrap_object() to one argument.
12251
12252 2000-07-15  Ben Wing  <ben@xemacs.org>
12253
12254         * s/cygwin32.h:
12255         * s/cygwin32.h (CYGWIN_CONV_PATH):
12256         Add missing logb prototype for v1.1.
12257         Use post-b20 names and alias to pre-b20 names when pre-b20.
12258
12259         * s/windowsnt.h: [5].
12260
12261 2000-07-15  Ben Wing  <ben@xemacs.org>
12262
12263         * Makefile.in.in (x_objs):
12264         * Makefile.in.in (sheap_objs):
12265         * Makefile.in.in (objs):
12266         added win32.o, cosmetic cleanups.
12267
12268         * alloc.c (Fmake_byte_code):
12269         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12270         etc. macros which declare their own args now.
12271
12272         * alloc.c (syms_of_alloc):
12273         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12274
12275         * buffer.c:
12276         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12277
12278         * buffer.c (Fget_file_buffer):
12279         Fixed GCPRO problem.
12280
12281         * buffer.c (get_truename_buffer):
12282         Fixed comment about GC checking.
12283
12284         * buffer.c (syms_of_buffer):
12285         Undeclared those dedicated frame funs.
12286         [2].
12287
12288         * buffer.h:
12289         Define convenience macros for internal/external conversions.
12290         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12291         and Qenvironment_variable_encoding for cleaner code.
12292
12293         * bufslots.h:
12294         Remove dedicated-frame; in lisp.
12295
12296         * bytecode.c (funcall_compiled_function):
12297         [1].
12298
12299         * bytecode.c (syms_of_bytecode):
12300         [2].
12301
12302         * console-msw.c:
12303         * console-msw.c (mswindows_show_console): Rewrote.
12304
12305         * console-msw.c (Fmswindows_debugging_output): New.
12306         Sends to OutputDebugString (special MSWin debugger interface).
12307
12308         * console-msw.c (Fmswindows_message_box):
12309         Fixed stupid bugs so it works when called from kill-emacs.
12310
12311         * console-msw.c (syms_of_console_mswindows):
12312         Declare Fmswindows_debugging_output.
12313
12314         * console-msw.h:
12315         New MSWin prototypes.
12316
12317         * console-msw.h (struct mswindows_frame):
12318         New entry last-click-mods for improved button-modifier support.
12319
12320         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12321         New struct entry `popup' with corresponding accessor.
12322
12323         * console-x.c:
12324         * console-x.c (split_up_display_spec):
12325         * console-x.c (get_display_arg_connection):
12326         * console-x.c (x_semi_canonicalize_console_connection):
12327         * console-x.c (x_canonicalize_device_connection):
12328         [[[6]]]: Change char to more specific type.
12329         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12330
12331         * console-x.c (x_semi_canonicalize_console_connection):
12332         * console-x.c (x_canonicalize_device_connection):
12333         [[[9]]]: Fix up error signalling to use new structured error system.
12334
12335         * console-x.h:
12336         [[[4]]]: Define codesys aliases:
12337         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12338         Qx_color_name_encoding, Qx_display_name_encoding.
12339
12340         * console.h (struct console_methods):
12341         New method make_dialog_box_internal supersedes older
12342         popup_dialog_box method.
12343
12344         * data.c:
12345         Define many new errors, part of new structured errors.
12346
12347         * data.c (init_errors_once_early):
12348         * data.c (syms_of_data):
12349         [2].
12350
12351         * device-msw.c (mswindows_init_device):
12352         [[[5]]]: Cleanup to support NT 3.51.
12353
12354         * device-msw.c (decode_devmode): Cleanup.
12355
12356         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12357         * device-msw.c (mswindows_handle_print_dialog_box):
12358         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12359         * device-msw.c (syms_of_device_mswindows):
12360         Delete the dialog box primitives recently introduced by Kirill and
12361         instead interface to general dialog box interface.
12362
12363         * device-x.c:
12364         * device-x.c (compute_x_app_name):
12365         * device-x.c (x_init_device):
12366         * device-x.c (Fx_valid_keysym_name_p):
12367         * device-x.c (Fx_set_font_path):
12368         [6].
12369         [7].
12370
12371         * device.h (wrap_device): New.
12372         First of its kind; meant to replace XSETDEVICE.
12373
12374         * dialog-msw.c: Many file-dialog symbols.
12375
12376         * dialog-msw.c (mswindows_register_popup_frame): New.
12377         * dialog-msw.c (mswindows_is_dialog_msg): New.
12378         For supporting kbd traversal in dialog boxes.
12379
12380         * dialog-msw.c (dialog_proc):
12381         Support hitting ESC in dialogs.
12382
12383         * dialog-msw.c (struct):
12384         Common dialog box errors.
12385
12386         * dialog-msw.c (handle_file_dialog_box): New.
12387         Add file dialog code.
12388
12389         * dialog-msw.c (handle_question_dialog_box):
12390         Redo existing code to support new question dialog syntax.
12391
12392         * dialog-msw.c (console_type_create_dialog_mswindows):
12393         We support new dialog console method.
12394
12395         * dialog-msw.c (syms_of_dialog_mswindows):
12396         * dialog-msw.c (vars_of_dialog_mswindows):
12397         New file dialog symbols, vars.
12398
12399         * dialog-x.c:
12400         * dialog-x.c (maybe_run_dbox_text_callback):
12401         * dialog-x.c (dbox_descriptor_to_widget_value):
12402         * dialog-x.c (x_make_dialog_box_internal):
12403         * dialog-x.c (console_type_create_dialog_x):
12404         Mule-ize entire file.
12405         Redo to support question dialog syntax.
12406         [6].
12407
12408         * dialog.c:
12409         * dialog.c (Fmake_dialog_box_internal):
12410         * dialog.c (syms_of_dialog):
12411         Kill old popup-dialog-box, replace with new primitive.
12412         Just call device method or signal error.
12413
12414         * eldap.c (Fldap_open):
12415         * eldap.c (Fldap_search_basic):
12416         * eldap.c (Fldap_add):
12417         * eldap.c (Fldap_modify):
12418         [1].
12419         [7].
12420
12421         * emacs.c:
12422         * emacs.c (make_arg_list_1):
12423         * emacs.c (make_arg_list):
12424         Mule-ize call to dll_init().
12425         [6].
12426         [8].
12427
12428         * emacs.c (make_argc_argv):
12429         * emacs.c (free_argc_argv):
12430         * emacs.c (init_cmdargs):
12431         * emacs.c (main_1):
12432         * emacs.c (Fkill_emacs):
12433         * emacs.c (Fdump_emacs):
12434         Update comments about what can be used in syms_* etc.
12435         Call init_win32() when necessary.
12436         Fix up MS Win dialog box in kill-buffer to actually work right.
12437         [7].
12438
12439         * eval.c:
12440         * eval.c (For):
12441         * eval.c (Fand):
12442         * eval.c (Fprogn):
12443         * eval.c (Fprog1):
12444         * eval.c (Fprog2):
12445         * eval.c (FletX):
12446         * eval.c (Flet):
12447         * eval.c (condition_case_3):
12448         * eval.c (Feval):
12449         * eval.c (function_argcount):
12450         * eval.c (funcall_lambda):
12451         [1].
12452
12453         * eval.c (type_error): New.
12454         * eval.c (maybe_type_error): New.
12455         * eval.c (continuable_type_error): New.
12456         * eval.c (maybe_continuable_type_error): New.
12457         * eval.c (type_error_with_frob): New.
12458         * eval.c (maybe_type_error_with_frob): New.
12459         * eval.c (continuable_type_error_with_frob): New.
12460         * eval.c (maybe_continuable_type_error_with_frob): New.
12461         New functions for use with structured errors.
12462
12463         * event-Xt.c:
12464         * event-Xt.c (x_event_to_emacs_event):
12465         Buttons are now modifiers too.
12466
12467         * event-Xt.c (emacs_Xt_current_event_timestamp):
12468         Implement new event method.
12469         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12470
12471         * event-msw.c:
12472         * event-msw.c (ntpipe_shove_writer): [5].
12473         * event-msw.c (mswindows_enqueue_mouse_button_event):
12474         * event-msw.c (mswindows_drain_windows_queue):
12475         * event-msw.c (mswindows_wnd_proc): [7].
12476         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12477         * event-msw.c (mswindows_modifier_state):
12478         Throughout: support new button modifiers.
12479
12480         * event-msw.c (emacs_mswindows_current_event_timestamp):
12481         Implement new event method.
12482         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12483
12484         * event-stream.c:
12485         * event-stream.c (event_stream_current_event_timestamp): New.
12486         * event-stream.c (maybe_kbd_translate): New functionality.
12487         * event-stream.c (vars_of_event_stream):
12488         Document new kbd-translate-table functionality.
12489
12490         * event-stream.c (Fcurrent_event_timestamp): New.
12491         New primitive for use in fabricated events.
12492         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12493
12494         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12495
12496         * events.c:
12497         * events.c (Fmake_event):
12498         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12499         [1].
12500         [9].
12501
12502         * events.c (format_event_object): fix gcc warnings.
12503
12504         * events.c (Fevent_timestamp): Document new primitives.
12505
12506         * events.c (TIMESTAMP_HALFSPACE): New.
12507
12508         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12509         comparing timestamps correctly (half-space algorithm).
12510
12511         * events.c (Fevent_modifier_bits): Doc fix.
12512
12513         * events.c (Fevent_modifiers): Major doc addition.
12514         * events.c (event_x_y_pixel_internal): Typo fix.
12515         * events.c (syms_of_events): Declare new primitives.
12516
12517         * events.h:
12518         Update long comment for button modifiers, timestamps.
12519
12520         * events.h (struct event_stream):
12521         New current_event_timestamp method.
12522
12523         * extents.c:
12524         * extents.c (extent_in_region_p):
12525         * extents.c (decode_extent):
12526         * extents.c (Fset_extent_parent):
12527         * extents.c (decode_map_extents_flags):
12528         Fix gcc warnings.
12529         [9].
12530
12531         * extents.c (struct extent_at_arg):
12532         * extents.c (decode_extent_at_flag):
12533         * extents.c (extent_at_mapper):
12534         * extents.c (extent_at_bytind):
12535         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12536         * extents.c (Fextents_at): New primitive. [9].
12537         * extents.c (symbol_to_glyph_layout): [9].
12538         Support new primitive `extents-at'.
12539
12540
12541         * extents.c (get_text_property_bytind):
12542         extent_at_bytind has another arg.
12543         [9].
12544
12545         * extents.c (syms_of_extents): New primitive.
12546
12547         * file-coding.c (Fmake_coding_system): [1].
12548         * file-coding.c (subsidiary_coding_system): fix gcc warning
12549         * file-coding.c (syms_of_file_coding): [2].
12550
12551         * fileio.c (Fexpand_file_name):
12552         * fileio.c (Fsysnetunam):
12553         * fileio.c (Ffile_exists_p):
12554         * fileio.c (Ffile_executable_p):
12555         * fileio.c (Fverify_visited_file_modtime):
12556         Clean up GCPROing.
12557
12558         * fileio.c (syms_of_fileio): [2].
12559
12560         * filelock.c (lock_file_1):
12561         * filelock.c (current_lock_owner):
12562         * filelock.c (lock_if_free):
12563         * filelock.c (lock_file):
12564         * filelock.c (unlock_file):
12565         Clean up GCPROing.
12566
12567         * fns.c (concat): Fix gcc warning.
12568
12569         * fns.c (Fmember):
12570         * fns.c (Fold_member):
12571         * fns.c (Fmemq):
12572         * fns.c (Fold_memq):
12573         * fns.c (memq_no_quit):
12574         * fns.c (Fassoc):
12575         * fns.c (Fold_assoc):
12576         * fns.c (Fassq):
12577         * fns.c (Fold_assq):
12578         * fns.c (assq_no_quit):
12579         * fns.c (Frassoc):
12580         * fns.c (Fold_rassoc):
12581         * fns.c (Frassq):
12582         * fns.c (Fold_rassq):
12583         * fns.c (rassq_no_quit):
12584         * fns.c (Fdelete):
12585         * fns.c (Fold_delete):
12586         * fns.c (Fdelq):
12587         * fns.c (Fold_delq):
12588         * fns.c (delq_no_quit):
12589         * fns.c (Fremassoc):
12590         * fns.c (Fremassq):
12591         * fns.c (remassq_no_quit):
12592         * fns.c (Fremrassoc):
12593         * fns.c (Fremrassq):
12594         * fns.c (remrassq_no_quit):
12595         * fns.c (Freverse):
12596         * fns.c (mapcar1):
12597         [1].
12598
12599         * frame-msw.c (mswindows_init_frame_1):
12600         * frame-msw.c (mswindows_delete_frame):
12601         Register popups with dialog code so keyboard traversing works.
12602
12603         * frame-tty.c (tty_raise_frame_no_select): [1].
12604
12605         * frame-x.c:
12606         * frame-x.c (x_set_frame_text_value):
12607         * frame-x.c (x_set_frame_properties):
12608         * frame-x.c (x_create_widgets):
12609         [7].
12610
12611         * frame.c:
12612         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12613
12614         * frame.h (wrap_frame): New.
12615         Macro like wrap_device.
12616
12617         * general.c:
12618         * general.c (SYMBOL):
12619         * general.c (syms_of_general):
12620         Major reorg.  This is now just a wrapper and symbols themselves
12621         are listed in general-slots.h.
12622
12623         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12624         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12625
12626         * glyphs-msw.c (mswindows_native_layout_instantiate):
12627         Add DS_CONTROL so keyboard traversal will work.
12628
12629         * glyphs-widget.c:
12630         * glyphs-widget.c (syms_of_glyphs_widget):
12631         Move some symbols to general-slots.h.
12632
12633         * glyphs-x.c:
12634         * glyphs-x.c (xbm_instantiate_1):
12635         * glyphs-x.c (x_xbm_instantiate):
12636         * glyphs-x.c (x_xface_instantiate):
12637         * glyphs-x.c (autodetect_instantiate):
12638         * glyphs-x.c (cursor_font_instantiate):
12639         * glyphs-x.c (x_update_widget):
12640         * glyphs-x.c (x_widget_instantiate):
12641         * glyphs.c (bitmap_to_lisp_data):
12642         * glyphs.c (pixmap_to_lisp_data):
12643         [7].
12644
12645         * glyphs.c (syms_of_glyphs):
12646         [2].
12647
12648         * gui-x.c:
12649         * gui-x.c (print_widget_value):
12650         * gui-x.c (menu_separator_style_and_to_external):
12651         * gui-x.c (add_accel_and_to_external):
12652         * gui-x.c (button_item_to_widget_value):
12653         * gui-x.c (gui_items_to_widget_values_1):
12654         * gui-x.c (gui_items_to_widget_values):
12655         * gui-x.c (syms_of_gui_x):
12656         * gui-x.c (vars_of_gui_x):
12657         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12658         [9].
12659
12660         * gui-x.h:
12661         Muleize, prototype changes matching gui-x.c.
12662
12663         * gui.c:
12664         * gui.c (separator_string_p):
12665         * gui.c (gui_item_add_keyval_pair):
12666         * gui.c (make_gui_item_from_keywords_internal):
12667         * gui.c (signal_too_long_error):
12668         * gui.c (parse_gui_item_tree_item):
12669         * gui.c (syms_of_gui):
12670         * gui.c (vars_of_gui):
12671         * gui.h:
12672         menu-no-selection-hook moved here (used by MSWin).
12673         Move some symbols to general-slots.h.
12674         [6].
12675         [9].
12676
12677         * insdel.c (get_buffer_pos_char):
12678         * insdel.c (get_buffer_range_char):
12679         Add GC comments.
12680
12681         * keymap.c (keymap_lookup_directly):
12682         * keymap.c (keymap_store):
12683         * keymap.c (ensure_meta_prefix_char_keymapp):
12684         * keymap.c (describe_map):
12685         * keymap.h:
12686         Support new button modifiers.
12687
12688         * lisp-disunion.h (wrap_object):
12689         * lisp-disunion.h (XSETOBJ):
12690         Rename make_obj to wrap_object.
12691
12692         * lisp-union.h:
12693         * lisp-union.h (make_int):
12694         * lisp-union.h (make_char):
12695         Support wrap_object.
12696
12697         * lisp.h:
12698         * lisp.h (LIST_LOOP):
12699         * lisp.h (EXTERNAL_LIST_LOOP):
12700         * lisp.h (LIST_LOOP_2):
12701         * lisp.h (EXTERNAL_LIST_LOOP_1):
12702         * lisp.h (EXTERNAL_LIST_LOOP_2):
12703         * lisp.h (EXTERNAL_LIST_LOOP_3):
12704         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12705         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12706         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12707         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12708         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12709         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12710         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12711         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12712         * lisp.h (struct Lisp_Symbol):
12713         * lisp.h (maybe_continuable_error_with_frob):
12714         Fix up section comments.
12715         Add new types for char to indicate usage.
12716         Delete symbols auto-generated from general-slots.h.
12717         Add prototypes for structured error functions.
12718         Add long comments describing looping macros and change interface
12719         so that lvalues are automatically declared.
12720         Add NO_DECLARE macro in case callers want to declare lvalues
12721         themselves.
12722
12723         * lread.c (read_syntax_error):
12724         * lread.c (continuable_read_syntax_error):
12725         * lread.c (read_structure):
12726         * lread.c (sequence_reader):
12727         * lread.c (read_list_conser):
12728         * lread.c (read_compiled_function):
12729         Rename syntax_error and continuable_syntax_error to avoid clash
12730         with same-named structured error functions.
12731
12732         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12733         * menubar-msw.c (populate_menu_add_item):
12734         * menubar-msw.c (populate_or_checksum_helper):
12735         [5].
12736         [9].
12737
12738         * menubar-x.c:
12739         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12740         Mule-ize whole file.
12741
12742         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12743
12744         * mule-charset.c (Fmake_charset):
12745         * mule-wnnfns.c (Fwnn_set_param):
12746         [1].
12747
12748         * ntproc.c (create_child):
12749         * ntproc.c (Fwin32_set_current_locale):
12750         Add comments portending doom.
12751
12752         * objects-msw.c:
12753         * objects-msw.c (old_font_enum_callback_2):
12754         * objects-msw.c (font_enum_callback_1):
12755         * objects-msw.c (mswindows_enumerate_fonts):
12756         [5].
12757
12758         * objects-x.c:
12759         * objects-x.c (allocate_nearest_color):
12760         * objects-x.c (x_parse_nearest_color):
12761         * objects-x.c (x_initialize_color_instance):
12762         * objects-x.c (x_print_color_instance):
12763         * objects-x.c (x_finalize_color_instance):
12764         * objects-x.c (x_valid_color_name_p):
12765         * objects-x.c (x_initialize_font_instance):
12766         * objects-x.c (x_print_font_instance):
12767         * objects-x.c (valid_x_font_name_p):
12768         * objects-x.c (truename_via_FONT_prop):
12769         * objects-x.c (truename_via_random_props):
12770         * objects-x.c (truename_via_XListFonts):
12771         * objects-x.c (x_font_truename):
12772         * objects-x.c (x_font_instance_truename):
12773         * objects-x.c (x_font_instance_properties):
12774         * objects-x.c (x_list_fonts):
12775         * objects-x.c (x_find_charset_font):
12776         Mule-ize entire file.
12777         [7].
12778
12779         * objects-x.h:
12780         Mule-verify.
12781
12782         * print.c:
12783         * print.c (std_handle_out_external):
12784         * print.c (debug_print_no_newline):
12785         * print.c (syms_of_print):
12786         Output to all debugger kinds in debug-print.
12787         Fix console-output code under MSWin to actually work.
12788
12789         * process-nt.c (send_signal):
12790         * process-nt.c (nt_create_process):
12791         Use newer Unicode macros.
12792
12793         * process-unix.c (unix_create_process):
12794         * process-unix.c (unix_canonicalize_host_name):
12795         * process-unix.c (unix_open_network_stream):
12796         [7].
12797
12798         * scrollbar-x.c:
12799         Mule-verify.
12800
12801         * search.c (syms_of_search):
12802         [2].
12803
12804         * select-msw.c (mswindows_destroy_selection):
12805         Use LIST_LOOP_2.
12806
12807         * select-x.c (symbol_to_x_atom):
12808         [7].
12809
12810         * select.c (syms_of_select):
12811         [2].
12812
12813         * sound.c (Fplay_sound_file):
12814         [7].
12815
12816         * specifier.c:
12817         * specifier.c (decode_specifier_type):
12818         * specifier.c (Fvalid_specifier_locale_type_p):
12819         * specifier.c (check_valid_locale_or_locale_type):
12820         * specifier.c (decode_locale):
12821         * specifier.c (decode_locale_type):
12822         * specifier.c (decode_locale_list):
12823         * specifier.c (check_valid_domain):
12824         * specifier.c (decode_specifier_tag_set):
12825         * specifier.c (Fcanonicalize_tag_set):
12826         * specifier.c (Fdefine_specifier_tag):
12827         * specifier.c (Fspecifier_tag_predicate):
12828         * specifier.c (check_valid_inst_list):
12829         * specifier.c (check_valid_spec_list):
12830         * specifier.c (decode_how_to_add_specification):
12831         * specifier.c (check_modifiable_specifier):
12832         * specifier.c (specifier_add_spec):
12833         * specifier.c (boolean_validate):
12834         * specifier.c (display_table_validate):
12835         [9].
12836
12837         * specifier.c (syms_of_specifier):
12838         Move some symbols to general-slots.h.
12839         [2].
12840
12841         * symbols.c:
12842         * symbols.c (Fmapatoms):
12843         * symbols.c (Fapropos_internal):
12844         Add GCPROs.
12845
12846         * symbols.c (set_default_buffer_slot_variable):
12847         * symbols.c (set_default_console_slot_variable):
12848         [1].
12849
12850         * symbols.c (defsymbol_massage_name_1):
12851         * symbols.c (defkeyword_massage_name):
12852         * symbols.c (deferror_1):
12853         * symbols.c (deferror):
12854         * symbols.c (deferror_massage_name_and_message):
12855         * symeval.h:
12856         * symeval.h (DEFSYMBOL):
12857         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12858
12859         * symbols.c (syms_of_symbols):
12860         [2].
12861
12862         * symsinit.h:
12863         * symsinit.h (init_win32): New.
12864         Also new is syms_of_dialog_mswindows.
12865
12866         * syswindows.h:
12867         Add new Unicode macros, missing Cygwin wide-char functions,
12868         convenience conversion macros for Qmswindows_tstr, macros for
12869         encapsulating required MSWin <-> Cygwin filename conversions,
12870         prototype for dynamically-extracted (not in NT 3.51) functions.
12871
12872         * toolbar-x.c:
12873         Mule-verify.
12874
12875         * tooltalk.c (Fadd_tooltalk_message_arg):
12876         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12877         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12878         [7].
12879
12880         * tooltalk.c (syms_of_tooltalk):
12881         [2].
12882
12883         * unexnt.c:
12884         * unexnt.c (unexec):
12885         Fix up headers, declaration of unexec() to be more standard.
12886
12887 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12888
12889         * offix.h: Revert change to guard macros - they're used in offix.c!
12890
12891 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12892
12893         * lisp.h: Defsubred Fdelete.
12894
12895         * console-msw.h:  (msprinter_default_printer): Added.
12896
12897         * console-msw.c (msprinter_canonicalize_console_connection):
12898         (msprinter_canonicalize_device_connection): Added.
12899
12900         * device-msw.c (msprinter_default_printer):
12901         (Fmswingows_get_default_printer):
12902         (signal_enum_priner_error):
12903         (Fmswingows_printer_list): Added.
12904
12905 2000-07-19  Martin Buchholz <martin@xemacs.org>
12906
12907         * XEmacs 21.2.35 is released.
12908
12909 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12910
12911         * select-x.c (x_handle_selection_request):
12912         Text selected in xemacs and pasted into xterm failed to appear.
12913         Spelling fixes and cosmetic changes.
12914
12915 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12916
12917         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12918         XEmacs frame (fix for doubling chars in dialog boxes).
12919
12920 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12921
12922         * select.c (select_convert_in, select_convert_out):
12923         Don't call intern() every time.
12924
12925         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12926         * select.c (vars_of_select): Initialise them.
12927
12928 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12929
12930         * select.c (selection-coercible-types): New.
12931
12932         * select.c (own-selection-internal):
12933         * select.c (get-selection-internal):
12934         MULE bug fix - these should default to COMPOUND_TEXT and not
12935         STRING for MULE. I think.
12936
12937         * select.c (select_convert_out): Use selection-coercible-types
12938         to find types that we can attempt to perform coercions on.
12939
12940 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12941
12942         * mule-wnnfns.c:
12943         * mule-canna.c:
12944         Add coding: cookie to identify encoding.
12945
12946         * mule-canna.c (CANNA_mode_keys): make static.
12947         Use proper prototypes, even for functions of no arguments.
12948         Remove external prototype for Fding().
12949
12950         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12951
12952         * select.c (syms_of_select): Add missing DEFSUBR.
12953
12954 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12955
12956         * select.c (get_selection_internal, own_selection_internal):
12957         Make the type default to STRING, rather than placing a nil type
12958         into Vselection_alist.
12959
12960 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12961
12962         * gpmevent.c (tty_selection_exists_p):
12963         * gpmevent.c (tty_own_selection):
12964         Updated parameter lists.
12965
12966 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12967
12968         * select.h (selection-alist): Removed declaration.
12969
12970         * select.h (get_local_selection):
12971         * select.c (get_local_selection):
12972         Made static.
12973
12974         * select.h (convert_selection): Removed declaration.
12975         * select.c (convert_selection): Removed.
12976         This function belongs in Lisp.
12977
12978         * select.h (select_convert_in): Declare.
12979         * select.h (select_convert_out): Declare.
12980         * select.c (select_convert_in): New.
12981         * select.c (select_convert_out): New.
12982         New conversion functions for other files to call.
12983
12984         * select.h (select_notify_buffer_kill): Declare.
12985         * select.c (select_notify_buffer_kill): New.
12986         New functions that get called from kill-buffer.
12987
12988         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12989         X-specific lisp code.
12990
12991         * select.h: Declare some of the lisp-visible functions for
12992         external use.
12993
12994         * select.c (clean_local_selection_data): Removed. This was
12995         a disgusting function, and previously should have been in
12996         select-x.c in any case. The functionality is now provided
12997         in select-convert-from-integer (select.el).
12998
12999         * select.c (available-selection-types): Fixed stupidity where
13000         INTEGER and ATOM got added twice. Also add STRING when we see an
13001         extent.
13002
13003         * select.c (get-selection-internal): Removed symbol stripping. No
13004         longer causes conversion when data comes from the internal cache.
13005
13006         * select.c (syms_of_select): Added new functions.
13007
13008         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
13009         error checking - previously this called abort!
13010
13011         * select-x.c (x_own_selection): Changed comment.
13012
13013         * select-x.c (x_handle_selection_request): Use select_convert_out.
13014         Don't mess with selection-alist; it's an internal variable of select.c.
13015
13016         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13017
13018         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13019         rather than messing with selection-alist.
13020
13021         * select-msw.c (mswindows_get_foreign_selection):
13022         Use TO_INTERNAL_FORMAT rather than hacking.
13023
13024 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13025
13026         * process-unix.c (unix_open_multicast_group):
13027         (unix_open_multicast_group): Remove useless casts.
13028
13029 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13030
13031         * sound.c (Fplay_sound): Fix `unused variable' warning.
13032
13033         * emacs.c (main): Use correct type for _environ on SCO5.
13034
13035 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13036
13037         * console.h (own_selection_method):
13038         * console.h (selection_exists_p_method):
13039         * console.h (available_selection_types_method): New.
13040         * console.h (register_selection_data_type_method): New.
13041         * console.h (selection_data_type_name): New.
13042
13043         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13044         function & alist to track GlobalAlloc()'d handles that need
13045         releasing when the clipboard data gets replaced or emptied.
13046
13047         * event-msw.c (mswindows_wnd_proc): Call it.
13048
13049         * lisp.h, general.c (Qappend): New symbol representing a
13050         `how-to-add' mode.
13051
13052         * select.c (own-selection-internal):
13053         * select.c (selection-exists-p):
13054         * select.c (available-selection-types): New.
13055         * select.c (register-selection-data-type): New.
13056         * select.c (selection-data-type-name): New.  New functions to deal
13057         with device-specific selection data formats.
13058         * select.c (selection-converter-out-alist): Renamed.
13059         * select.c (selection-converter-in-alist): New.
13060         * select.c (selection-appender-alist): New.  Added new alists.
13061         * select.c (syms_of_select, vars_of_select): Added new symbols &
13062         variables.
13063         * select.c (get_local_selection): Split.
13064         * select.c: Removed spurious type checking - selections may now be
13065         of any type, not just strings.
13066         * select.c (own-selection-internal):
13067
13068         * select.h, select.c (convert_selection): New. Created
13069         convert_selection() function based on get_local_selection().
13070         * select.h, select.c (QCF_*): New symbols representing mswindows
13071         clipboard formats.
13072         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13073         symbols representing `how-to-add' modes.
13074
13075         * select-msw.c (x_sym_p): New.
13076         * select-msw.c (symbol_to_ms_cf): New.
13077         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13078         symbols & clipboard formats. Can also handle string names.
13079         * select-msw.c (mswindows_own_selection):
13080         * select-msw.c (mswindows_selection_exists_p):
13081         Added `data-type' parameter. Use it.
13082         * select-msw.c (mswindows_available_selection_types): New.
13083         * select-msw.c (mswindows_register_selection_data_type): New.
13084         * select-msw.c (mswindows_selection_data_type_name): New.
13085         * select-msw.c (mswindows_own_selection):
13086         * select-msw.c (mswindows_get_foreign_selection):
13087         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13088         * select-msw.c (console_create_select_mswindows): Added new methods.
13089         * select-msw.c (mswindows_destroy_selection): New.
13090         * select-msw.c (Vhandle_alist): New list.
13091         * select-msw.c (mswindows_own_selection):
13092
13093         * select-x.c (x_own_selection):
13094         * select-x.c (x_selection_exists_p):
13095         * select-x.c: Added some comments about maybe using new
13096         functionality.
13097         * select-x.c (x_own_selection):
13098
13099         * specifier.c: Remove definition of Qappend (now in general.c)
13100         * specifier.c (syms_of_specifier): Remove Qappend.
13101
13102 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13103
13104         * config.h.in: Add socklen_t.
13105
13106         * s/decosf4-0.h: No special compiler flags needed or desired.
13107         In particular, undefine _BSD for DEC OSF 4.0.
13108
13109 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13110
13111         * redisplay-msw.c (msprinter_frame_output_end): Added.
13112         (console_type_create_redisplay_mswindows): Referred the above.
13113
13114         * frame.c (setup_frame_without_minibuffer): Do not create a
13115         default minibuffer frame on a printer device.
13116
13117         * frame-msw.c (apply_dc_geometry): Added.
13118         (msprinter_start_page):
13119         (msprinter_init_frame_3):
13120         (msprinter_eject_page): Use it.
13121
13122         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13123         and removed residual duplex and orientation properties.
13124
13125 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13126
13127         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13128
13129         * unexalpha.c: Remove system prototypes from C sources!
13130
13131 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13132
13133         * eval.c: Remove references to M-x edit-options in DEFUNs for
13134         `defvar' and `defconst'.
13135
13136 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13137
13138         * config.h.in: Remove SMART_INCLUDE hackery.
13139
13140         PostgreSQL hacking:
13141         * config.h.in: Don't use SMART_INCLUDE.
13142
13143         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13144         * inline.c: Simply #include "postgresql.h"
13145         * postgresql.c:
13146         - Don't use SMART_INCLUDE
13147         - Use simply "const".
13148         - Use standard doc string conventions.
13149         - Use correct type for result of PQstatus.
13150
13151 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13152
13153         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13154
13155         C++ compilation changes.
13156         * config.h.in (EXTERN_C): Define.
13157         * config.h.in (not): This is also a C++ keyword.
13158         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13159         * cm.c: Use EXTERN_C.
13160         * redisplay-tty.c: Use EXTERN_C.
13161         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13162
13163 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13164
13165         * general.c: Remove duplicate definition for Qfunction.
13166
13167 2000-07-08  Ben Wing  <ben@xemacs.org>
13168
13169         * device-msw.c (msprinter_init_device):
13170         * device-msw.c (sync_printer_with_devmode):
13171         * device-msw.c (handle_devmode_changes):
13172         * device-msw.c (print_dialog_worker):
13173         * device-msw.c (Fmsprinter_apply_settings):
13174         * device-msw.c (hash_devmode):
13175         * device-msw.c (Fmsprinter_settings_despecialize):
13176         use Qmswindows_tstr, not Qctext.
13177
13178         * vm-limit.c (check_memory_limits):
13179         avoid infinite loop printing warning messages.
13180
13181 2000-07-05  Craig Lanning  <lanning@scra.org>
13182
13183         * Makefile.in.in: Add support for including the Windows resources
13184         when building with the cygwin and mingw targets.
13185
13186         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13187         not set or not correct.
13188         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13189         (init_initial_directory): Don't try to use $PWD on the
13190         WIN32_NATIVE target.
13191
13192         * s\cygwin32.h:
13193         [[Add -mwindows to eliminate console window.]] not required --ben
13194         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13195         (MAIL_USE_POP): removed; now handled by configure.
13196
13197         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13198         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13199         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13200         (MAIL_USE_POP): removed; now handled by configure.
13201         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13202         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13203         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13204         constant string.
13205         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13206         up from <winsock.h> via systime.h.
13207         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13208         (getpagesize): from Dan Holmsand, added.
13209         Added #endif which was left dangling by Ben's mega patch; added
13210         comment to help prevent this in the future.
13211
13212         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13213
13214 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13215
13216         * console-msw.h (struct mswindows_device): Removed unnecessary
13217         cached device geometry values.
13218         Added update_tick and an accessor macro.
13219         (Lisp_Devmode): Added lrecord declaration.
13220         (struct msprinter_device): Contain devmode as a Lisp object.
13221         Added mswindows_get_selected_frame_hwnd();
13222
13223         * console.h (struct console_methods): Indentation nitpicking.
13224
13225         * device-msw.c (mswindows_init_device): Do not initialize geometry
13226         cache. Initialize update tick.
13227         (mswindows_device_system_metrics): Ask the device for its geometry.
13228         (global_free_2_maybe):
13229         (devmode_to_hglobal):
13230         (handle_printer_changes):
13231         (ensure_not_printing):
13232         (print_dialog_worker):
13233         (Fmsprinter_print_setup_dialog):
13234         (Fmsprinter_print_dialog):
13235         (plist_get_margin):
13236         (plist_set_margin):
13237         (Fmsprinter_page_setup_dialog): Added functions.
13238         (sync_printer_with_devmode):
13239         (handle_devmode_changes):
13240         (Fmsprinter_get_settings):
13241         (Fmsprinter_select_settings):
13242         (Fmsprinter_apply_settings):
13243         (allocate_devmode):
13244         (Fmsprinter_settings_copy):
13245         (Fmsprinter_settings_despecialize):
13246         (print_devmode):
13247         (finalize_devmode):
13248         (equal_devmode):
13249         (hash_devmode): Added functions
13250         (syms_of_device_mswindows): Init devmode lrecord class.
13251
13252         * device.h: Added an exfun for find-device.
13253
13254         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13255         geometry; although, recreate the device compatible DC.
13256
13257         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13258         (msprinter_init_frame_3):
13259         (msprinter_frame_property):
13260         (msprinter_internal_frame_property_p):
13261         (msprinter_frame_properties):
13262         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13263         print job properties (will move to device settings).
13264
13265         * lisp.h: Added symbols.
13266
13267         * general.c (syms_of_general): Declared them.
13268
13269         * hash.c (string_hash): Added.
13270
13271         * lrecord.h (lrecord_type): Added devmode lrecord type.
13272
13273 2000-07-02  Mike Sperber <mike@xemacs.org>
13274
13275         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13276         FreeBSD 4.0.
13277
13278 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13279
13280         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13281         integer.
13282
13283 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13284
13285         * data.c (Fstring_to_number): Don't recognize floating point if
13286         base is not 10.
13287
13288 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13289
13290         * glyphs-widget.c (tab_control_query_geometry):
13291         (widget_query_geometry):
13292         (button_query_geometry):
13293         * glyphs.c (text_query_geometry):
13294         Enforce type correctness.
13295
13296 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13297
13298         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13299         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13300
13301 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13302
13303         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13304         conflicts with gcc's fixincluded version of FOO.h.
13305
13306         * glyphs.h (image_instance_geometry): Remove trailing `,'
13307
13308 2000-06-08  Mike Alexander  <mta@arbortext.com>
13309
13310         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13311         (shove_thread): Don't write the same output twice
13312         (make_ntpipe_output_stream): Increase priority of shove thread
13313         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13314         chance to run
13315         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13316         it.
13317
13318 2000-06-12  Ben Wing  <ben@xemacs.org>
13319
13320         * s\mingw32.h (sigset):
13321         * s\windowsnt.h (sigset):
13322         rename msw_ to mswindows_ for consistency with general convention.
13323
13324 2000-06-12  Ben Wing  <ben@xemacs.org>
13325
13326         * console-msw.c:
13327         * console-msw.c (mswindows_get_console_hwnd):
13328         * console-msw.c (mswindows_ensure_console_allocated):
13329         * console-msw.c (mswindows_hide_console):
13330         * console-msw.c (mswindows_show_console):
13331         * console-msw.c (mswindows_ensure_console_buffered):
13332         * console-msw.c (mswindows_output_console_string):
13333         * console-msw.c (mswindows_windows9x_p):
13334         * console-msw.h:
13335         * device-msw.c (mswindows_get_workspace_coords):
13336         * device-msw.c (mswindows_device_system_metrics):
13337         * dialog-msw.c (mswindows_popup_dialog_box):
13338         * event-msw.c (mswindows_wnd_proc):
13339         * frame-msw.c (mswindows_size_frame_internal):
13340         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13341         * menubar-msw.c (displayable_menu_item):
13342         * menubar-msw.c (mswindows_char_is_accelerator):
13343         * nt.c:
13344         * nt.c (mswindows_sigset):
13345         * nt.c (mswindows_sigrelse):
13346         * nt.c (mswindows_sigpause):
13347         * nt.c (mswindows_raise):
13348         * nt.c (timer_proc):
13349         * ntproc.c:
13350         * ntproc.c (find_child_console):
13351         * ntproc.c (sys_kill):
13352         * print.c:
13353         * print.c (std_handle_out_external):
13354         * process-nt.c (find_child_console):
13355         * process-nt.c (send_signal_the_95_way):
13356         * process-nt.c (ensure_console_window_exists):
13357         * process-nt.c (nt_create_process):
13358         * syssignal.h:
13359         rename msw_ to mswindows_ for consistency with general convention.
13360
13361         * emacs.c:
13362         * dumper.c:
13363         include nt.h, not syswindows.h.
13364
13365         * nt.c (mswindows_fstat):
13366         * nt.c (mswindows_stat):
13367         prefix mswindows_ instead of attempting to directly override the
13368         library functions.  fix declarations.
13369
13370         * nt.h:
13371         include syswindows.h.  move some sysdep.h stuff here.
13372
13373         * ntheap.h:
13374         include syswindows.h, not <windows.h>.
13375
13376         * ntplay.c:
13377         clean up headers.
13378
13379         * sysdep.c:
13380         clean up headers.
13381
13382         * sysdep.c (sys_fstat):
13383         * sysdep.c (sys_stat):
13384         call mswindows versions when appropriate.
13385
13386         * sysdep.h:
13387         move mswin decls to nt.h.
13388
13389         * syswindows.h:
13390         add long comment describing appropriate use of the various windows
13391         headers.
13392
13393 2000-06-11  Ben Wing  <ben@xemacs.org>
13394
13395         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13396
13397 2000-06-10  Ben Wing  <ben@xemacs.org>
13398
13399         * Makefile.in.in (release):
13400         Correction to make sure xemacs.exe always dumped when correct.
13401
13402         * alloca.c:
13403         * balloon_help.c:
13404         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13405
13406         * buffer.c (set_buffer_internal):
13407         [[[[2]]]]: Remove HAVE_FEP code.
13408
13409         * buffer.c (init_initial_directory):
13410         [3].
13411
13412         * bytecode.c:
13413         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13414         individual files.
13415
13416         * callproc.c:
13417         * callproc.c (call_process_cleanup):
13418         * callproc.c (Fold_call_process_internal):
13419         * callproc.c (child_setup):
13420         * callproc.c (getenv_internal):
13421         * callproc.c (init_callproc):
13422         * callproc.c (vars_of_callproc):
13423         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13424         __CYGWIN32__ -> CYGWIN.
13425         DOS_NT -> WIN32_NATIVE.
13426         Remove MSDOS support/references, converting to WIN32_NATIVE
13427           where correct.
13428         __MINGW32__ -> MINGW.
13429         Fix windows.h includes.
13430         Remove bogus HAVE_NTGUI.
13431
13432         * config.h.in:
13433         [2].
13434
13435         * console-msw.c:
13436         mswindows_message_outputted added for use in allowing startup
13437         errors on the console to be seen.
13438
13439         * console-msw.c (msw_ensure_console_allocated):
13440         * console-msw.c (msw_output_console_string):
13441         * console-msw.c (DHEADER):
13442         * console-msw.c (DOPAQUE_DATA):
13443         * console-msw.c (DEVENT):
13444         * console-msw.c (DCONS):
13445         * console-msw.c (DCONSCDR):
13446         * console-msw.c (DSTRING):
13447         * console-msw.c (DVECTOR):
13448         * console-msw.c (DSYMBOL):
13449         * console-msw.c (DSYMNAME):
13450         Fix warnings.
13451
13452         * console-stream.c (stream_init_console):
13453         Fix text/binary problems.
13454
13455         * device-msw.c:
13456         * device-msw.c (mswindows_finish_init_device):
13457         * device-msw.c (mswindows_delete_device):
13458         [1].
13459
13460         * device.c (handle_asynch_device_change):
13461         [3].
13462
13463         * dgif_lib.c:
13464         * dgif_lib.c (DGifOpenFileName):
13465         * dgif_lib.c (DGifOpenFileHandle):
13466         * dgif_lib.c (DGifGetLine):
13467         * dgif_lib.c (DGifGetPixel):
13468         Added config.h/lisp.h, fix up includes.
13469         [1].
13470
13471         * dired-msw.c:
13472         [4].
13473
13474         * dired.c:
13475         * dired.c (file_name_completion):
13476         * dired.c (Ffile_attributes):
13477         * dired.c (syms_of_dired):
13478         [1].
13479
13480         * dumper.c:
13481         * dumper.c (pdump_file_unmap):
13482         * dumper.c (pdump_load):
13483         [1].
13484
13485         * editfns.c:
13486         * editfns.c (Ftemp_directory):
13487         * editfns.c (user_login_name):
13488         * editfns.c (Fuser_real_login_name):
13489         * editfns.c (get_home_directory):
13490         [1].
13491
13492         * elhash.c (finish_marking_weak_hash_tables):
13493         [[[[5]]]]: Fix GCC warnings.
13494
13495         * emacs.c:
13496         * emacs.c (mswindows_handle_hardware_exceptions):
13497         * emacs.c (make_arg_list_1):
13498         * emacs.c (main_1):
13499         * emacs.c (Fkill_emacs):
13500         * emacs.c (Fdump_emacs):
13501         [1].
13502         Fix problems with nested crashes, add long comment.
13503
13504         * event-Xt.c (init_event_Xt_late):
13505         [1].
13506
13507         * event-msw.c:
13508         * event-msw.c (mswindows_dde_callback):
13509         * event-msw.c (mswindows_handle_sticky_modifiers):
13510         * event-msw.c (mswindows_wnd_proc):
13511         [1].
13512         [5].
13513
13514         * events.c (character_to_event):
13515         [1].
13516
13517         * fileio.c:
13518         * fileio.c (Ffile_name_directory):
13519         * fileio.c (Ffile_name_nondirectory):
13520         * fileio.c (directory_file_name):
13521         * fileio.c (Fexpand_file_name):
13522         * fileio.c (Fsubstitute_in_file_name):
13523         * fileio.c (Ffile_name_absolute_p):
13524         * fileio.c (check_executable):
13525         * fileio.c (Ffile_readable_p):
13526         * fileio.c (Ffile_accessible_directory_p):
13527         * fileio.c (Ffile_modes):
13528         * fileio.c (Funix_sync):
13529         * fileio.c (vars_of_fileio):
13530         [1]. [4].
13531
13532         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13533
13534         Expand getdefdir defn.
13535         Fix bogus rename() comment.
13536
13537         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13538         to use standard XEmacs include files, e.g. sysfile.h, rather
13539         than system-specific includes.
13540
13541         * fns.c:
13542         * fns.c (Fsubseq):
13543         [5]. [6].
13544
13545         * frame.c (vars_of_frame):
13546         [1].
13547
13548         * getloadavg.c:
13549         * getloadavg.c (getloadavg):
13550         [1]. [6].
13551         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13552         (We don't use it elsewhere in the code; just add a comment.)
13553
13554         * gif_io.c:
13555         [6].
13556         Add config.h.
13557
13558         * glyphs-msw.c:
13559         * glyphs-msw.c (mswindows_resource_instantiate):
13560         [1].
13561
13562         * glyphs-x.c (x_native_layout_instantiate):
13563         [5].
13564
13565         * gui-msw.c (Fmswindows_shell_execute):
13566         [1].
13567
13568         * insdel.c:
13569         [4].
13570
13571         * lisp.h:
13572         [4]. [5].
13573
13574         * lread.c (locate_file_in_directory_mapper):
13575         [1].
13576
13577         * lstream.c:
13578         [4].
13579
13580         * mem-limits.h:
13581         * mem-limits.h (get_lim_data):
13582         [1].
13583
13584         * menubar-msw.c:
13585         [4].
13586
13587         * ndir.h:
13588         [1].
13589
13590         * nt.c:
13591         * nt.c (getwd):
13592         * nt.c (closedir):
13593         * nt.c (rva_to_section):
13594         * nt.c (mswindows_executable_type):
13595         [1]. [6].
13596         Fix closedir() defn.
13597
13598         * nt.h:
13599         [[[[8]]]]: *_OK defs moved to sysfile.h.
13600
13601         * ntproc.c:
13602         [6]. [7].
13603
13604         * objects-x.c:
13605         [4].
13606
13607         * print.c:
13608         * print.c (std_handle_out_external):
13609         [1]. [4].
13610
13611         * process-nt.c:
13612         * process-nt.c (nt_create_process):
13613         [6].
13614         try to fix process quoting somewhat.
13615
13616         * process-unix.c (unix_create_process):
13617         [1].
13618
13619         * process.c:
13620         * process.c (vars_of_process):
13621         Add Vnull_device.
13622
13623         * process.h:
13624         [1].
13625
13626         * realpath.c:
13627         * realpath.c (xrealpath):
13628         [1].
13629
13630         * redisplay-tty.c (init_tty_for_redisplay):
13631         [3].
13632
13633         * redisplay.c:
13634         [4]. [6].
13635
13636         * scrollbar-msw.c:
13637         [4].
13638
13639         * sheap.c:
13640         * sheap.c (more_static_core):
13641         * sheap.c (report_sheap_usage):
13642         [5]. [6].
13643
13644         * signal.c:
13645         * signal.c (alarm_signal):
13646         [1]. [6].
13647
13648         * sound.c:
13649         [6].
13650
13651         * strftime.c:
13652         * strftime.c (zone_name):
13653         [1]. [5].
13654
13655         * symsinit.h (init_sunpro):
13656         [1].
13657
13658         * syscommctrl.h:
13659         commctrl.h not in Cygwin b20.1.
13660
13661         * sysdep.c:
13662         * sysdep.c (endif):
13663         * sysdep.c (sys_subshell):
13664         * sysdep.c (init_baud_rate):
13665         * sysdep.c (emacs_get_tty):
13666         * sysdep.c (emacs_set_tty):
13667         * sysdep.c (tty_init_sys_modes_on_device):
13668         * sysdep.c (init_system_name):
13669         * sysdep.c (sys_open):
13670         * sysdep.c (interruptible_open):
13671         * sysdep.c (sys_fopen):
13672         * sysdep.c (sys_mkdir):
13673         * sysdep.c (sys_rename):
13674         * sysdep.c (get_process_times_1):
13675         [1]. [6].
13676
13677         * sysdep.h:
13678         [1].
13679
13680         * sysdir.h:
13681         * sysdir.h (DIRENTRY_NONEMPTY):
13682         [1]. [6].
13683
13684         * sysdll.c (dll_init):
13685         * sysdll.h:
13686         [1].
13687
13688         * sysfile.h:
13689         [1]. [6]. [8].
13690         added text/binary defs.
13691
13692         * sysfloat.h:
13693         [1].
13694
13695         * sysproc.h:
13696         * sysproc.h (EDESTADDRREQ):
13697         * sysproc.h (poll_fds_for_input):
13698         [1]. [6].
13699
13700         * syspwd.h:
13701         [6].
13702
13703         * syssignal.h:
13704         [1].
13705
13706         * systime.h:
13707         [1]. [6].
13708
13709         * systty.h:
13710         [1].
13711
13712         * syswindows.h:
13713         [1].
13714         Always define WIN32_LEAN_AND_MEAN.
13715
13716         * unexcw.c (unexec):
13717         [5].
13718
13719         * unexec.c:
13720         * unexec.c (copy_text_and_data):
13721         * unexec.c (adjust_lnnoptrs):
13722         [1].
13723
13724         * unexnt.c:
13725         * unexnt.c (_start):
13726         [1].
13727
13728 2000-06-07  Ben Wing  <ben@xemacs.org>
13729
13730         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13731         was used only as a model.  We've long since extracted any useful
13732         logic or code out of this. (I just did an exhaustive search.)
13733
13734         * s\msdos.h: Removed.
13735
13736         * s\windows95.h: Removed.
13737
13738 2000-06-10  Ben Wing  <ben@xemacs.org>
13739
13740         * s\cygwin32.h:
13741         [1]. [5].
13742         Don't use extern with fun defs.
13743
13744         * s\mingw32.h:
13745         [1]. [7].
13746         Remove nt\inc include.
13747         Remove getdisk, getdefdir. (The former is unused, the latter
13748         expanded in fileio.h.)
13749
13750         * s\windowsnt.h:
13751         * s\windowsnt.h (WIN32_NATIVE):
13752         * s\windowsnt.h (HAVE_STRCASECMP):
13753         [1]. [7].
13754         Add long comment about preprocessor changes.
13755         Remove getdisk, getdefdir. (The former is unused, the latter
13756         expanded in fileio.h.)
13757
13758 2000-06-10  Ben Wing  <ben@xemacs.org>
13759
13760         * m\arm.h:
13761         * m\delta.h:
13762         * m\intel386.h:
13763         * m\sequent.h:
13764         * m\template.h:
13765         * m\windowsnt.h:
13766         [1].
13767         Remove bogus/unused NO_SOCK_SIGIO.
13768
13769 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13770
13771         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13772         not an Emchar.
13773
13774 2000-06-04  Mike Sperber <mike@xemacs.org>
13775
13776         * casetab.c (set_case_table): For `set-standard-case-table',
13777         actually deposit the new case tables where the rest of XEmacs can
13778         see them.
13779
13780 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13781
13782         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13783
13784 2000-06-05  Ben Wing  <ben@xemacs.org>
13785
13786         * callproc.c (child_setup): Don't do close_load_descs() under
13787         MS Windows.  Put in a comment explaining why.
13788
13789 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13790
13791         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13792         Toolkit shell" which breaks `kill-compilation' on Windows NT
13793         native, retaining STDERR handling improvements.
13794
13795 2000-06-01  Andreas Jaeger  <aj@suse.de>
13796
13797         * s/s390.h: Support for S390, based on a patch by Martin
13798         Schwidefsky <schwidefsky@de.ibm.com>.
13799
13800 2000-05-30  Andy Piper  <andy@xemacs.org>
13801
13802         * window.c (allocate_window):
13803         (make_dummy_parent):
13804         (Fset_window_configuration): use new hashtable type.
13805
13806         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13807         (struct image_instantiator_methods):
13808         (struct Lisp_Image_Instance): make instance geometry signed.
13809
13810         * glyphs.c (instantiate_image_instantiator):
13811         (image_instance_query_geometry):
13812         (image_instance_layout):
13813         (image_instance_layout):
13814         (query_string_geometry):
13815         (text_query_geometry):
13816         (image_instantiate):
13817         (image_instantiate):
13818         (cache_subwindow_instance_in_frame_maybe):
13819         (subwindow_query_geometry): make instance geometry signed.
13820
13821         * glyphs-widget.c (widget_query_geometry):
13822         (widget_layout):
13823         (button_query_geometry):
13824         (tree_view_query_geometry):
13825         (tab_control_query_geometry):
13826         (layout_query_geometry):
13827         (layout_layout):
13828         (native_layout_layout): make instance geometry signed.
13829
13830 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13831
13832         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13833         constant.
13834
13835         * general.c (syms_of_general): Add Qfull_assoc symbol.
13836
13837         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13838         correctly.
13839         (decode_weak_list_type): Decode full-assoc type.
13840         (encode_weak_list_type): Encode full-assoc type.
13841         (Fmake_weak_list): Update doc string.
13842
13843 2000-05-30  Andy Piper  <andy@xemacs.org>
13844
13845         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13846
13847         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13848         (decode_hash_table_weakness): ditto.
13849         (Fhash_table_weakness): ditto.
13850         (Fhash_table_type): ditto.
13851         (finish_marking_weak_hash_tables): ditto.
13852         (hash_table_weakness_validate): ditto.
13853         (syms_of_elhash): ditto.
13854
13855 2000-05-28  Martin Buchholz <martin@xemacs.org>
13856
13857         * XEmacs 21.2.34 is released.
13858
13859 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13860
13861         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13862         start cache.
13863         (updating_line_start_cache): Gone.
13864         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13865         generic code to force a minimum of 1 line laid out in the
13866         CMOTION_DISP case.
13867
13868 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13869
13870         * glyphs.c (instantiate_image_instantiator): Check for initialized
13871         height & width no longer special cases IMAGE_NOTHING.
13872         (nothing_instantiate): Set height and width of instance.
13873
13874 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13875
13876         * unexelf.c (unexec): Search for ".data" section.
13877         Initialize new_data2_offset from old_data_index.
13878         Remove redundant check for ElfW.
13879
13880 2000-05-23  Andy Piper  <andy@xemacs.org>
13881
13882         * glyphs.c (get_image_instantiator_governing_domain): allow more
13883         specific domains as the governing domain rather than expecting an
13884         exact match. This fixes problems with layouts.
13885
13886 2000-05-22  Andy Piper  <andy@xemacs.org>
13887
13888         * redisplay-output.c (compare_runes): check for non-images
13889
13890         * glyphs.c (set_glyph_dirty_p): ditto.
13891         (update_glyph_cachel_data): ditto.
13892
13893         * glyphs-widget.c (layout_post_instantiate): ditto.
13894         (layout_post_instantiate): ditto.
13895
13896         * event-msw.c (mswindows_wnd_proc): warning removal.
13897
13898 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13899
13900         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13901
13902         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13903
13904         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13905
13906         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13907         (mswindows_executable_type): mingw32 now has enough headers for
13908         this to work.
13909
13910 2000-05-20  Andy Piper  <andy@xemacs.org>
13911
13912         * console-msw.c (mswindows_output_last_error): ; -> ,
13913
13914 2000-05-12  Andy Piper  <andy@xemacs.org>
13915
13916         * console-msw.c (FROB): compare ints with ints.
13917
13918 2000-05-11  Andy Piper  <andy@xemacs.org>
13919
13920         * glyphs-x.c (x_finalize_image_instance): make minimal build
13921         happy.
13922
13923 2000-05-20  Ben Wing  <ben@xemacs.org>
13924
13925         * event-Xt.c:
13926         * event-Xt.c (vars_of_event_Xt):
13927         move modifier-keys-are-sticky to event-stream.c.
13928
13929         * event-msw.c:
13930         * event-msw.c (mswindows_enqueue_mouse_button_event):
13931         * event-msw.c (key_needs_default_processing_p):
13932         * event-msw.c (XEMSW_LCONTROL):
13933         * event-msw.c (mswindows_handle_sticky_modifiers):
13934         * event-msw.c (FROB):
13935         * event-msw.c (clear_sticky_modifiers):
13936         * event-msw.c (output_modifier_keyboard_state):
13937         * event-msw.c (output_alt_keyboard_state):
13938         * event-msw.c (mswindows_wnd_proc):
13939         * event-msw.c (mswindows_modifier_state):
13940         * event-msw.c (emacs_mswindows_handle_magic_event):
13941         implement sticky modifiers.
13942
13943         * event-stream.c:
13944         * event-stream.c (vars_of_event_stream):
13945         move modifier-keys-are-sticky here.
13946
13947         * lisp.h:
13948         add CHECK_FUNCTION.
13949
13950         * rangetab.c:
13951         implement map-range-table.
13952
13953
13954 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13955
13956         * redisplay-tty.c (reset_tty_modes):
13957         (tty_redisplay_shutdown): Adjust argument type to
13958         tty_frame_output_end.
13959
13960 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13961
13962         * eval.c (Fbacktrace): Don't output a line with only right
13963         parenthesis.
13964
13965 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13966
13967         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13968         (Fpq_reset_poll): Ditto.
13969
13970 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13971
13972         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13973
13974 2000-05-16  Ben Wing  <ben@xemacs.org>
13975
13976         * buffer.c:
13977         * buffer.c (dfc_convert_to/from_internal_format):
13978         * buffer.c (reinit_vars_of_buffer):
13979         Fix conversion functions to allow reentrancy.
13980
13981         * console-msw.c:
13982         * console-msw.c (mswindows_output_last_error):
13983         New fun, generally useful -- output a human-readable
13984         version of GetLastError() on the console.
13985
13986         * console-msw.h:
13987         * console-msw.h (struct mswindows_frame):
13988         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13989
13990         * console-stream.c (stream_output_begin):
13991         * console-stream.c (stream_output_end):
13992         * console-stream.c (stream_output_vertical_divider):
13993         * console-stream.c (stream_clear_region):
13994         * console-stream.c (stream_flash):
13995         * console-stream.c (console_type_create_stream):
13996         Delete blank stream methods, not needed.
13997
13998         * console.h (struct console_methods):
13999         Split begin/end methods into window and frame.
14000
14001         * event-msw.c:
14002         * event-msw.c (mswindows_handle_paint):
14003         * event-msw.c (output_alt_keyboard_state):
14004         * event-msw.c (mswindows_wnd_proc):
14005         * event-msw.c (vars_of_event_mswindows):
14006         Comment about problems with ignored-expose.
14007         Define mswindows-debug-events; not really implemented.
14008
14009         * frame-msw.c (mswindows_init_frame_1):
14010         random cleanups.
14011
14012         * glyphs-msw.c:
14013         * glyphs-msw.c (begin_defer_window_pos):
14014         * glyphs-msw.c (mswindows_unmap_subwindow):
14015         * glyphs-msw.c (mswindows_map_subwindow):
14016         * glyphs-msw.c (mswindows_resize_subwindow):
14017         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14018
14019         * glyphs.c (make_image_instance_1):
14020         Fix crash.
14021
14022         * gutter.c (Fredisplay_gutter_area):
14023         Use new begin/end methods.
14024
14025         * lisp.h (Dynarr_new2):
14026         New creation fun.
14027
14028         * redisplay-msw.c:
14029         * redisplay-msw.c (mswindows_frame_output_begin):
14030         * redisplay-msw.c (mswindows_frame_output_end):
14031         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14032         New begin/end methods -- handle DeferWindowPos.
14033
14034         * redisplay-output.c (redisplay_move_cursor):
14035         * redisplay-output.c (redraw_cursor_in_window):
14036         * redisplay-output.c (redisplay_update_line):
14037         * redisplay-output.c (redisplay_output_window):
14038         New begin/end methods.
14039
14040         * redisplay-tty.c:
14041         * redisplay-tty.c (tty_frame_output_begin):
14042         * redisplay-tty.c (tty_frame_output_end):
14043         * redisplay-tty.c (console_type_create_redisplay_tty):
14044         New begin/end methods.
14045
14046         * redisplay-x.c:
14047         * redisplay-x.c (x_window_output_begin):
14048         * redisplay-x.c (x_window_output_end):
14049         * redisplay-x.c (console_type_create_redisplay_x):
14050         New begin/end methods.
14051
14052         * redisplay.c (redisplay_frame):
14053         * redisplay.c (Fredisplay_echo_area):
14054         New begin/end methods.
14055         use MAYBE_DEVMETH for clear_frame; it may not exist.
14056
14057         * window.h (WINDOW_XFRAME):
14058         WINDOW_XFOO macros -- get locale and decode struct pointer.
14059
14060
14061 2000-05-12  Ben Wing  <ben@xemacs.org>
14062
14063         * emacs.c:
14064         * emacs.c (ensure_no_quitting_from_now_on):
14065         * emacs.c (fatal_error_signal):
14066         * emacs.c (mswindows_handle_hardware_exceptions):
14067         * emacs.c (main):
14068         * emacs.c (Fkill_emacs):
14069         * emacs.c (shut_down_emacs):
14070         * emacs.c (assert_failed):
14071         various improvements in fatal error handling.
14072
14073         * eval.c:
14074         move preparing_for_armageddon to emacs.c.
14075
14076         * lisp.h:
14077         declare fatal_error_in_progress.
14078
14079         * print.c:
14080         * print.c (std_handle_out_external):
14081         * print.c (std_handle_out_va):
14082         * print.c (stderr_out):
14083         * print.c (stdout_out):
14084         use console under mswin when no standard output.
14085         don't do code conversion during fatal error.
14086
14087         * scrollbar.c (Fscrollbar_page_up):
14088         * scrollbar.c (Fscrollbar_page_down):
14089         fix missing else.  reindent.
14090
14091 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14092
14093         Emergency fix.
14094
14095         * glyphs.h (GLYPH_CACHEL_DESCENT):
14096         (GLYPH_CACHEL_DESCENT):
14097         (GLYPH_CACHEL_DESCENT):
14098         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14099         used in case these are inline functions.
14100         Use more absurd values to error check.
14101
14102         include window.h for error check functions.
14103
14104 2000-05-11  Ben Wing  <ben@xemacs.org>
14105
14106         * cmdloop.c (Freally_early_error_handler):
14107         Display message box under windows; otherwise, message will disappear
14108         before it can be viewed.
14109
14110         * console-msw.c:
14111         * console-msw.c (Fmswindows_message_box):
14112         * console-msw.c (FROB):
14113         * console-msw.c (syms_of_console_mswindows):
14114         Define new fun `mswindows-message-box'.
14115         #### I will merge this into `popup-dialog-box'; just give me
14116         a bit of time.
14117
14118         * general.c:
14119         * general.c (syms_of_general):
14120         Some new symbols used in `mswindows-message-box'.
14121
14122         * glyphs.c:
14123         * glyphs.c (Fset_image_instance_property):
14124         put warning in this fun.
14125
14126         * glyphs.h:
14127         * glyphs.h (GLYPH_CACHEL_WIDTH):
14128         * glyphs.h (GLYPH_CACHEL_ASCENT):
14129         * glyphs.h (GLYPH_CACHEL):
14130         * glyphs.h (GLYPH_CACHEL_GLYPH):
14131         define error-checking versions to try to catch a bug i've seen --
14132         redisplay gets in an infinite loop because the glyph width of the
14133         continuation glyph is 65535.
14134
14135         * lisp.h:
14136         Extern message-box stuff.
14137
14138         * window.c (allocate_window):
14139         * window.c (make_dummy_parent):
14140         * window.c (Fset_window_configuration):
14141         Use EQUAL not EQ for subwindow caches to make them work a bit
14142         better. (Something is still very broken.)
14143
14144
14145 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14146
14147         * glyphs.c (image_instantiate): Suppress gcc warnings.
14148         (Fmake_image_instance): Fix doc string.
14149         * specifier.c (Fmake_specifier): Ditto.
14150
14151 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14152
14153         * paths.h.in (PATH_LOCK): Removed.
14154         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14155         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14156
14157 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14158
14159         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14160         Document (featurep '(and xemacs 21.02)).
14161
14162 2000-05-09  Ben Wing  <ben@xemacs.org>
14163
14164         * buffer.c (complex_vars_of_buffer):
14165         update modeline-format doc.
14166
14167         * device.h:
14168         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14169
14170         * emacs.c:
14171         timeline of all released versions of Emacs, for use in creating
14172         authorship comments and in synching up.
14173
14174         * glyphs-widget.c (image_instantiator_buttons):
14175         * glyphs-widget.c (image_instantiator_edit_fields):
14176         * glyphs-widget.c (image_instantiator_combo_box):
14177         * glyphs-widget.c (image_instantiator_scrollbar):
14178         * glyphs-widget.c (image_instantiator_progress_guage):
14179         * glyphs-widget.c (image_instantiator_tree_view):
14180         * glyphs-widget.c (image_instantiator_tab_control):
14181         * glyphs-widget.c (image_instantiator_labels):
14182         * glyphs-widget.c (image_instantiator_layout):
14183         * glyphs-widget.c (image_instantiator_native_layout):
14184         rename decode_domain method to governing_domain.
14185
14186         * glyphs.c:
14187         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14188         * glyphs.c (add_entry_to_device_ii_format_list):
14189         make sure we don't put an entry more than once into the list.
14190         * glyphs.c (check_instance_cache_mapper):
14191         *************************************************************
14192         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14193         HAVE BEEN GETTING.
14194         *************************************************************
14195         * glyphs.c (get_image_instantiator_governing_domain):
14196         clean up, expand on new concept of governing domain.
14197         * glyphs.c (instantiate_image_instantiator):
14198         * glyphs.c (allocate_image_instance):
14199         use governing_domain instead of cache_domain in naming.
14200         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14201         * glyphs.c (make_image_instance_1):
14202         * glyphs.c (Fmake_image_instance):
14203         allow for any domain (not just device), and process the
14204         governing domain correctly.  very big doc fix.
14205         * glyphs.c (Fimage_instance_domain):
14206         new primitive, to retrieve the governing domain of an image instance.
14207         * glyphs.c (image_instantiate):
14208         use new governing_domain stuff.  this fixes a crash you could get
14209         by instantiating certain widget glyphs in frame locales. (should
14210         signal an error instead of crashing.)
14211         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14212         * glyphs.c (Fglyphp): clean up doc.
14213         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14214         * glyphs.c (syms_of_glyphs):
14215         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14216         * glyphs.c (image_instantiator_format_create): add some comments about
14217         bogus code.
14218         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14219         for current-display-table. (Apparently Hrjove implemented in 1998 a
14220         design I wrote up in 1996, but didn't update the doc string.)
14221
14222         * glyphs.h: clean up a doc string.
14223         * glyphs.h (governing_domain):
14224         * glyphs.h (struct image_instantiator_methods):
14225         changes for governing_domain stuff.
14226
14227         * gutter.c:
14228         * gutter.c (Fgutter_specifier_p):
14229         * gutter.c (Fgutter_size_specifier_p):
14230         * gutter.c (Fgutter_visible_specifier_p):
14231         * objects.c:
14232         * objects.c (Fcolor_specifier_p):
14233         * objects.c (Ffont_specifier_p):
14234         * objects.c (Fface_boolean_specifier_p):
14235         doc strings moved to make-*-specifier.
14236
14237         * redisplay.c (add_disp_table_entry_runes_1):
14238         * redisplay.c (generate_fstring_runes):
14239         * redisplay.c (screen):
14240         add random comments and doc strings.
14241
14242         * specifier.c:
14243         * specifier.c (Fmake_specifier):
14244         major overhaul of this doc string.
14245
14246         * specifier.c (Fvalid_specifier_domain_p):
14247         comment about the bogosity of image instances being domains.
14248         * specifier.c (decode_domain):
14249         now non-static, used in glyphs.c.
14250         * specifier.c (specifier_instance):
14251         comment about the bogosity of image instances being domains.
14252         * specifier.c (Fgeneric_specifier_p):
14253         move doc string to make-generic-specifier.
14254         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14255         rebackslashify.
14256
14257         * specifier.h:
14258         * specifier.h (DOMAIN_FRAME):
14259         * specifier.h (DOMAIN_LIVE_P):
14260         * specifier.h (DOMAIN_XDEVICE):
14261         rebackslashify.
14262         add comments about problems with these macros.
14263         prototype for decode_domain.
14264
14265         * toolbar.c:
14266         * toolbar.c (Ftoolbar_specifier_p):
14267         move doc string to `make-toolbar-specifier'.
14268
14269         * window.c (window_unmap_subwindows_cache_mapper):
14270         *************************************************************
14271         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14272         HAVE BEEN GETTING.
14273         *************************************************************
14274
14275 2000-05-09  Andy Piper  <andy@xemacs.org>
14276
14277         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14278
14279         * window.c (Fset_window_configuration): reset the frame subwindow
14280         cache and re-initialize the window subwindow caches.
14281
14282         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14283
14284 2000-05-09  Ben Wing  <ben@xemacs.org>
14285
14286         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14287         DWORD.
14288
14289 2000-04-26  Mike Woolley  <mike@bulsara.com>
14290
14291         * ntheap.c: Changed recreate_heap to limit the amount reserved
14292         for the heap to that which is actually available. Also now
14293         displays a message box (with some dignostics) in the event that
14294         it still can't start.
14295
14296 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14297
14298         * callproc.c (Fold_call_process_internal): GCPRO path
14299
14300 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14301
14302         Patch by Bill Perry.
14303
14304         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14305         back data instead of #ifdef.
14306         (Fscrollbar_page_down): ditto.
14307
14308 2000-05-07  Ben Wing  <ben@xemacs.org>
14309
14310         * buffer.h:
14311         Kludge for defining Qmswindows_tstr.
14312
14313         * nt.c:
14314         * nt.c (open_input_file):
14315         * nt.c (open_output_file):
14316         * nt.c (rva_to_section):
14317         * nt.c (mswindows_executable_type):
14318         Move all memory-mapped-file routines here (some were in unexnt.c,
14319         which is bad because they are used by process-nt.c, and unexnt
14320         won't be around when portable dumping).  Synched the above routines
14321         with FSF 20.6.
14322
14323         * nt.h:
14324         Removed ifdef'd out bogus code.
14325         Fixed some prototypes.
14326
14327         * nt.h (file_data):
14328         * nt.h (OFFSET_TO_RVA):
14329         * nt.h (RVA_TO_OFFSET):
14330         * nt.h (RVA_TO_PTR):
14331         Moved the memory-mapped-file structures, macros and prototypes
14332         here, to parallel nt.c.  ntheap.h should really be removed
14333         entirely, and it's a non-portable-dumper specific file.
14334
14335         * ntheap.h (round_to_next):
14336         Moved the memory-mapped-file structures, macros and prototypes
14337         to nt.h.
14338
14339         * ntproc.c (compare_env):
14340         Moved rva_to_section and mswindows_executable_type to nt.c.
14341         Moved compare_env to process-nt.c.
14342         ntproc.c will die, one day.
14343
14344         * ntproc.c (sys_spawnve):
14345         Account for win32_ -> mswindows_.
14346
14347         * process-nt.c:
14348         * process-nt.c (struct nt_process_data):
14349         * process-nt.c (ensure_console_window_exists):
14350         * process-nt.c (compare_env):
14351         * process-nt.c (nt_create_process):
14352         * process-nt.c (nt_kill_process_by_pid):
14353         * process-nt.c (syms_of_process_nt):
14354         * process-nt.c (vars_of_process_nt):
14355         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14356         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14357         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14358         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14359         Move compare_env here from ntproc.c.
14360
14361         * process.c (Fprocess_send_region):
14362         Takes an optional fourth argument, BUFFER, which should fix some
14363         problems with call-process.
14364
14365         * syscommctrl.h:
14366         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14367
14368         * syswindows.h:
14369         Move ICC_BAR_CLASSES to syscommctrl.h.
14370         Add preliminary macros for MSWindows/Mule.  More to come.
14371
14372         * unexnt.c:
14373         * unexnt.c (unexec):
14374         open_output_file moved to nt.c.
14375
14376
14377 2000-05-05  Andy Piper  <andy@xemacs.org>
14378
14379         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14380         instance from the frame cache also since GC may catch up too late
14381         to make frame deletion sane.
14382
14383 2000-05-04  Andy Piper  <andy@xemacs.org>
14384
14385         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14386         (x_finalize_image_instance): ungcpro on deletion.
14387
14388         * glyphs.c (image_instantiator_format_create): give pointers a
14389         query geometry method so that the geometry is at least set.
14390
14391         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14392         initialize layouts if using widgets.
14393
14394 2000-05-03  Andy Piper  <andy@xemacs.org>
14395
14396         * nt.c: remove bogus reference to sysmmsystem.h
14397
14398         * gui-x.c (popup_selection_callback): fix no selection abort.
14399
14400 2000-05-02  Andy Piper  <andy@xemacs.org>
14401
14402         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14403         (mswindows_widget_instantiate): ditto.
14404
14405         * glyphs-widget.c (initialize_widget_image_instance): initialize
14406         children correctly.
14407         (widget_instantiate): cope with children and items in the same
14408         instance.
14409
14410         * glyphs.c (mark_image_instance): cope with children as a first
14411         class member.
14412         (image_instance_equal): ditto.
14413         (image_instance_hash): ditto.
14414         (image_instance_changed): ditto.
14415
14416 2000-04-30  Andy Piper  <andy@xemacs.org>
14417
14418         * glyphs.c (subwindow_query_geometry): new function. Return some
14419         defaults.
14420         (subwindow_instantiate): don't assign dimensions if none have been
14421         given.
14422         (image_instantiator_format_create): add subwindow_query_geometry.
14423         (print_image_instance): cope with layouts as widgets.
14424
14425 2000-04-29  Andy Piper  <andy@xemacs.org>
14426
14427         * frame.c (delete_frame_internal): call
14428         free_frame_subwindow_instance_cache so that all subwindows are
14429         finalized before their parent.
14430         (mark_frame): remove subwindow_cachels.
14431         (Fmake_frame): remove subwindow_cachel manipulation.
14432         (allocate_frame_core): subwindow_instance_cache is a weak list.
14433         (delete_frame_internal): set subwindow_instance_cache to nil.
14434
14435         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14436         finalization safe.
14437         (mswindows_finalize_image_instance): use the device
14438         not the domain as the domain may have died already.
14439
14440         * glyphs-x.c (x_finalize_image_instance): ditto.
14441         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14442         HEIGHT.
14443
14444         * redisplay-output.c (redisplay_unmap_subwindows): update for
14445         subwindow instance cache as a weak list.
14446         (redisplay_unmap_subwindows_maybe): ditto.
14447         (redisplay_unmap_subwindows_except_us): ditto.
14448
14449         * glyphs.c (unmap_subwindow): error checking will check the domain
14450         so don't deal with it here. Don't use cachels anymore.
14451         (map_subwindow): ditto.
14452         (update_subwindow_cachel_data): remove old accessor names.
14453         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14454         (Fresize_subwindow): don't update cachel.
14455         (mark_subwindow_cachels):
14456         (update_subwindow_cachel_data):
14457         (add_subwindow_cachel):
14458         (get_subwindow_cachel_index):
14459         (update_subwindow_cachel):
14460         (reset_subwindow_cachels):
14461         (mark_subwindow_cachels_as_not_updated): deleted.
14462         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14463         subwindow instance to the frame cache.
14464         (find_matching_subwindow): update for subwindow instance cache as
14465         a weak list.
14466         (update_widget_instances): ditto.
14467         (image_instance_type_to_mask):inlined.
14468         (free_frame_subwindow_instance_cache): new function. finalize all
14469         subwindows that are instantiated.
14470
14471         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14472         of cachel information.
14473         (IMAGE_INSTANCE_DISPLAY_X):
14474         (IMAGE_INSTANCE_DISPLAY_Y):
14475         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14476         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14477         (XIMAGE_INSTANCE_DISPLAY_X):
14478         (XIMAGE_INSTANCE_DISPLAY_Y):
14479         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14480         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14481         remove subwindow_cachel structure and function references.
14482         (image_instance_type_to_mask): inline from glyphs.c
14483
14484         * redisplay.c (redisplay_frame): remove subwindow_cachel
14485         references.
14486
14487         * frame.h (struct frame): remove subwindow_cachels.
14488         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14489
14490         * frameslots.h: add subwindow_instance_cache.
14491
14492         * window.c (replace_window): check subwindow cache of replacement.
14493         (window_unmap_subwindows_cache_mapper):
14494         (window_unmap_subwindows): new functions. Unmap all subwindows
14495         cached on this window.
14496         (mark_window_as_deleted): unmap all subwindows.
14497
14498 2000-04-27  Andy Piper  <andy@xemacs.org>
14499
14500         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14501
14502         * glyphs-widget.c (widget_layout): return something.
14503         (layout_layout): return something. Fail if not initialized.
14504         (layout_query_geometry): ditto.
14505         (image_instantiator_native_layout): new function. Initialized the
14506         native layout type.
14507         (widget_instantiate): don't do layout stuff here.
14508
14509         * glyphs.c (instantiate_image_instantiator): reorded calling or
14510         instantiate and post_instantiate with layout in between.
14511         (image_instance_layout): be more selective about deciding whether
14512         the layout has been done or not.
14513
14514         * glyphs.h (struct image_instantiator_methods): return a value
14515         from layout_method.
14516
14517 2000-04-26  Andy Piper  <andy@xemacs.org>
14518
14519         * glyphs.c (allocate_image_instance): make initial width and
14520         height unspecified. Set initialized to 0.
14521
14522         * syscommctrl.h new file. Encapsulates commctrl.h.
14523
14524         * syswindows.h new file. Encapsulates windows.h.
14525
14526         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14527         * nt.c: ditto.
14528         * console-msw.h: ditto.
14529
14530         * redisplay-tty.c (tty_output_display_block): remove layout references.
14531
14532         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14533         window handle rather than just the frame.
14534
14535         * glyphs.c (mark_image_instance): remove layout references.
14536         (print_image_instance): ditto.
14537         (image_instance_equal): ditto.
14538         (image_instance_hash): ditto.
14539         (decode_image_instance_type): ditto.
14540         (encode_image_instance_type): ditto.
14541         (image_instantiate): ditto.
14542         (allocate_glyph): ditto.
14543         (Fimage_instance_height): ditto.
14544         (Fimage_instance_width): ditto.
14545         (update_subwindow): ditto.
14546
14547         * redisplay-x.c (x_output_display_block): recode for layouts as
14548         widgets.
14549
14550         * redisplay-output.c (redisplay_output_layout): recode for layouts
14551         as widgets.
14552         (compare_runes): remove layout references.
14553
14554         * redisplay-msw.c (mswindows_output_display_block): recode for
14555         layouts as widgets.
14556
14557         * glyphs-widget.c (image_instantiator_layout): remove
14558         layout_possible_dest_types.
14559         (layout_possible_dest_types): deleted.
14560
14561         * glyphs.h (image_instance_type): remove layout references.
14562         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14563         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14564         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14565
14566 2000-04-25  Andy Piper  <andy@xemacs.org>
14567
14568         * glyphs-widget.c (image_instantiator_buttons):
14569         (image_instantiator_edit_fields):
14570         (image_instantiator_combo_box):
14571         (image_instantiator_scrollbar):
14572         (image_instantiator_progress_guage):
14573         (image_instantiator_tree_view):
14574         (image_instantiator_tab_control):
14575         (image_instantiator_labels):
14576         (image_instantiator_layout): call default post_instantiate method.
14577         (widget_post_instantiate): new function. Simply lays out the
14578         widgets.
14579
14580         * glyphs.h (struct image_instantiator_methods): add
14581         post_instantiate method.
14582
14583         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14584         method calls.
14585
14586 2000-04-23  Andy Piper  <andy@xemacs.org>
14587
14588         * glyphs.h (struct image_instantiator_methods): add
14589         decode_domain_method.
14590         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14591         derived from the domain.
14592         (IMAGE_INSTANCE_FRAME): new accessor.
14593         (XIMAGE_INSTANCE_FRAME): ditto.
14594
14595         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14596         instead of _SUBWINDOW_FRAME.
14597         (finalize_image_instance): ditto.
14598         (Fimage_instance_foreground): ditto.
14599         (Fimage_instance_background): ditto.
14600         (image_instantiate): ditto.
14601         (update_subwindow_cachel): ditto.
14602         (update_subwindow): ditto.
14603         (unmap_subwindow): ditto.
14604         (map_subwindow): ditto
14605         (subwindow_instantiate): ditto.
14606         * glyphs-msw.c (mswindows_update_widget): ditto.
14607         (mswindows_progress_gauge_instantiate): ditto.
14608         (mswindows_tab_control_update): ditto.
14609         * glyphs-x.c (x_update_widget): ditto.
14610         (x_widget_instantiate): ditto.
14611         (x_tab_control_instantiate): ditto.
14612         (x_tab_control_update): ditto.
14613         * event-msw.c (mswindows_wnd_proc): ditto
14614
14615         * glyphs-widget.c (image_instantiator_layout): use
14616         subwindow_decode_domain.
14617         (image_instantiator_buttons): ditto.
14618         (image_instantiator_edit_fields): ditto.
14619         (image_instantiator_combo_box): ditto.
14620         (image_instantiator_scrollbar): ditto.
14621         (image_instantiator_progress_guage): ditto.
14622         (image_instantiator_tree_view): ditto.
14623         (image_instantiator_tab_control): ditto.
14624         (image_instantiator_labels): ditto.
14625         (image_instantiator_layout): ditto.
14626
14627         * glyphs.c: add instance error checking to many functions.
14628         (instantiate_image_instantiator): decode device from cache_domain.
14629         (image_instantiate): partially rewrite by using
14630         decode_image_instantiator_domain to determine what domain the
14631         instance needs to be cached in.
14632         (decode_image_instantiator_domain): new function. Determine what
14633         domain the image needs to be cached in.
14634         (check_window_subwindow_cache): new error checking function.
14635         (check_instance_cache_mapper): ditto.
14636         (check_image_instance_structure): ditto.
14637         (subwindow_decode_domain): new function. Encodes a window as a
14638         subwindow's cache domain.
14639         (image_instantiator_format_create): use it for text and
14640         subwindows.
14641
14642 2000-04-21  Andy Piper  <andy@xemacs.org>
14643
14644         * glyphs.c (image_instance_device): new function.
14645         (image_instance_frame): new function.
14646         (image_instance_window): new function.
14647         (image_instance_live_p): new function.
14648
14649         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14650         cache to nil.
14651
14652         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14653         (IMAGE_INSTANCE_DOMAIN): new accessor.
14654         (XIMAGE_INSTANCE_DOMAIN): ditto.
14655
14656         * glyphs-x.c (x_finalize_image_instance): device->domain.
14657
14658         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14659         (mswindows_finalize_image_instance): ditto.
14660
14661         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14662         (gif_instantiate): ditto.
14663         (png_instantiate): ditto.
14664         (tiff_instantiate): ditto.
14665
14666         * glyphs.c (instantiate_image_instantiator): use domain rather
14667         than device.
14668         (mark_image_instance): device -> domain.
14669         (print_image_instance): ditto.
14670         (finalize_image_instance): ditto.
14671         (image_instance_equal): ditto.
14672         (allocate_image_instance): ditto.
14673         (Fcolorize_image_instance): ditto.
14674         (query_string_geometry): ditto.
14675         (image_instantiate): ditto
14676         (query_string_font): ditto.
14677         (image_instantiate): ditto.
14678         (update_subwindow): ditto.
14679         (unmap_subwindow): ditto.
14680         (map_subwindow): ditto.
14681         (subwindow_instantiate): ditto.
14682
14683         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14684         (DOMAIN_FRAME): ditto.
14685         (DOMAIN_WINDOW): ditto.
14686         (DOMAIN_LIVE_P): ditto.
14687         (XDOMAIN_DEVICE): ditto.
14688         (XDOMAIN_FRAME): ditto.
14689         (XDOMAIN_WINDOW): ditto.
14690
14691         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14692         a valid specifier domain.
14693
14694 2000-04-19  Andy Piper  <andy@xemacs.org>
14695
14696         * glyphs-widget.c (syms_of_glyphs_widget): remove
14697         widget-callback-current-channel.
14698         (vars_of_glyphs_widget): ditto.
14699         * glyphs.h: ditto
14700
14701         * gui.c (get_gui_callback): revert to previous behaviour.
14702
14703 2000-04-18  Andy Piper  <andy@xemacs.org>
14704
14705         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14706         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14707         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14708
14709         * glyphs.c (image_instance_equal): add margin_width.
14710         (image_instance_hash): ditto.
14711
14712         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14713         (layout_query_geometry): ditto.
14714         (layout_layout): ditto.
14715         (syms_of_glyphs_widget): add margin-width.
14716         (image_instantiator_layout): allow margin-width.
14717
14718         * glyphs.c (update_widget_instances): make a normal function.
14719         (syms_of_glyphs): remove Qupdate_widget_instances.
14720         * glyphs.h: ditto.
14721
14722         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14723         so that we don't corrupt ideas about the last event or
14724         command. Remove widget-callback-current-channel fiddling.
14725         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14726
14727 2000-05-01  Martin Buchholz <martin@xemacs.org>
14728
14729         * XEmacs 21.2.33 is released.
14730
14731 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14732
14733         * make-src-depend: Allow dots in header file name.
14734
14735 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14736
14737         * mule-charset.h (struct charset_lookup): Add
14738         next_allocated_1_byte_leading_byte and
14739         next_allocated_2_byte_leading_byte.
14740         * mule-charset.c: Move above two variables so that those values
14741         will be dumped.
14742
14743 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14744
14745         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14746         when string length is zero.
14747         (find_charsets_in_emchar_string): Ditto.
14748
14749 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14750
14751         * lisp.h: extern Qdialog and Qmenubar.
14752
14753         * gui-x.c: added events.h.
14754                 also fixed typo which made the file uncompilable.
14755
14756         * general.c: Added Qmenubar and Qdialog
14757
14758 2000-04-28  Ben Wing  <ben@xemacs.org>
14759
14760         * frame-msw.c (mswindows_init_frame_1):
14761         * frame-msw.c (mswindows_mark_frame):
14762         * event-msw.c (mswindows_enqueue_dispatch_event):
14763         * console-msw.h:
14764         * console-msw.h (struct mswindows_frame):
14765         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14766         there are now three hash tables for callbacks.
14767         mswindows_enqueue_dispatch_event is no longer static.
14768
14769         * dialog-x.c (maybe_run_dbox_text_callback):
14770         * dialog-x.c (dbox_descriptor_to_widget_value):
14771         switch to new cons3 form for callbacks.
14772
14773         * glyphs-msw.c (mswindows_register_gui_item):
14774         * glyphs-msw.c (mswindows_widget_instantiate):
14775         * glyphs-msw.c (add_tree_item):
14776         * glyphs-msw.c (add_tab_item):
14777         new image instance parameter, so it can be passed to callback-ex.
14778         respect :callback-ex as well as :callback.
14779
14780         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14781         add :callback-ex.
14782
14783         * glyphs.c (print_image_instance):
14784         prettify, e.g. now prints widget type.
14785
14786         * gui-x.h:
14787         certain funs have new image instance parameter.
14788
14789         * gui.c:
14790         * gui.c (get_gui_callback):
14791         * gui.c (gui_item_add_keyval_pair):
14792         * gui.c (gui_item_init):
14793         * gui.c (gui_add_item_keywords_to_plist):
14794         * gui.c (mark_gui_item):
14795         * gui.c (gui_item_hash):
14796         * gui.c (gui_item_equal):
14797         * gui.c (copy_gui_item):
14798         * gui.c (syms_of_gui):
14799         recognize callback-ex in a number of places.
14800         also, fix the annoying "can't get out of yes-no dialog" bug.
14801
14802         * gui.h:
14803         * gui.h (struct Lisp_Gui_Item):
14804         recognize callback-ex in a number of places.
14805
14806         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14807         new parameter in button_item_to_widget_value.
14808
14809         * glyphs-x.c (x_update_widget):
14810         * glyphs-x.c (x_button_instantiate):
14811         * glyphs-x.c (x_button_update):
14812         * glyphs-x.c (x_progress_gauge_instantiate):
14813         * glyphs-x.c (x_edit_field_instantiate):
14814         * glyphs-x.c (x_combo_box_instantiate):
14815         * glyphs-x.c (x_tab_control_instantiate):
14816         * glyphs-x.c (x_label_instantiate):
14817         new image instance parameter in various places.
14818
14819         * event-Xt.c:
14820         * event-Xt.c (enqueue_Xt_dispatch_event):
14821         this fun gets exported.
14822
14823         * gui-msw.c:
14824         * gui-msw.c (mswindows_handle_gui_wm_command):
14825         handle both :callback and :callback-ex, and generate our own
14826         event because it's one of the callback-ex arguments.
14827
14828         * gui-x.c:
14829         * gui-x.c (popup_selection_callback):
14830         handle both :callback and :callback-ex, and generate our own
14831         event because it's one of the callback-ex arguments.
14832         * gui-x.c (button_item_to_widget_value):
14833         * gui-x.c (gui_items_to_widget_values_1):
14834         * gui-x.c (gui_item_children_to_widget_values):
14835         * gui-x.c (gui_items_to_widget_values):
14836         new image instance parameter in various places.
14837
14838         * fns.c (Freplace_list):
14839         fix small typo in doc string.
14840
14841         * lisp.h:
14842         declare enqueue_Xt_dispatch_event.
14843
14844 2000-04-28  Ben Wing  <ben@xemacs.org>
14845
14846         * buffer.c:
14847         * buffer.c (Frecord_buffer):
14848         * buffer.c (syms_of_buffer):
14849         delete record-buffer-hook.
14850
14851         * fns.c:
14852         * fns.c (Freplace_list):
14853         * fns.c (syms_of_fns):
14854         new primitive replace-list.
14855
14856         * frameslots.h:
14857         slot for old buffer-alist.
14858
14859         * lisp.h:
14860         exfun replace-list.
14861
14862         * redisplay.c:
14863         * redisplay.c (redisplay_frame):
14864         * redisplay.c (syms_of_redisplay):
14865         * redisplay.c (vars_of_redisplay):
14866         new hook buffer-list-changed-hook.
14867         call it.
14868
14869 2000-04-27  Ben Wing  <ben@xemacs.org>
14870
14871         * extents.h: extern in_modeline_generation.
14872
14873         * redisplay.c (generate_formatted_string_db): set
14874         in_modeline_generation.
14875
14876         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14877         flags if in modeline generation.  otherwise frame-modified-tick
14878         is ticked far too often.
14879         Declare in_modeline_generation.
14880
14881 2000-04-26  Ben Wing  <ben@xemacs.org>
14882
14883         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14884         option.
14885         (vars_of_emacs): add quick-build as an error-checking option.
14886         A bit kludgy, but there doesn't seem much point in creating
14887         a real var for this.
14888
14889         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14890
14891 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14892
14893         * redisplay.h (struct display_line): Add a new variable,
14894         line_continuation.
14895
14896         * redisplay.c (create_text_block): Set dl->line_continuation if
14897         the line continues.
14898         (create_string_text_block): Ditto.
14899         (regenerate_window_incrementally): Use line_continuation instead
14900         of searching continuation glyph.
14901         (add_margin_runes): Call add_glyph_rune.
14902         (add_glyph_rune): Handle margin glyph.
14903
14904 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14905
14906         * filelock.c (fill_in_lock_file_name):
14907         ANSIfy.
14908         Check for IS_ANY_SEP instead of '/'.
14909         (lock_file_1):
14910         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14911         Never check errno without first seeing that system call failed.
14912         (unlock_file): Add GCPRO.
14913         (Flock_buffer): Fix docstring.
14914         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14915
14916 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14917
14918         * sysdep.c (get_pty_max_bytes):
14919         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14920         strings longer than 252 bytes.
14921
14922         * md5.c: Unconditionally include ANSI header <limits.h>
14923
14924         * glyphs-x.c (convert_EImage_to_XImage):
14925         * lisp-union.h (union Lisp_Object):
14926         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14927
14928 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14929
14930         * filelock.c (current_lock_owner): Remove unused variable o, p.
14931
14932 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14933
14934         * callint.c: Remove multiply defined symbol Qlet
14935         (syms_of_callint): ditto.
14936
14937 2000-04-14  Andy Piper  <andy@xemacs.org>
14938
14939         * general.c (syms_of_general): add last-command, this-command, let
14940         and funcall.
14941
14942         * lisp.h: declare various symbols.
14943
14944         * glyphs.h: declare Qwidget_callback_current_channel;
14945
14946         * glyphs-widget.c (syms_of_glyphs_widget): add
14947         Qgui_callback_current_channel.
14948         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14949
14950         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14951         widget-callback-current-channel when invoking the interactive
14952         arg. Also bind last-command and next-command when invoking the
14953         widget updates.
14954         * gui-x.c (popup_selection_callback): ditto.
14955
14956         * gui.c (get_gui_callback): massage args so that we are always
14957         calling eval. This allows us to add our own variable bindings
14958         outside.
14959
14960         * glyphs-x.c (x_button_instantiate): use
14961         gui_items_to_widget_values since this is GC safe.
14962         (x_progress_gauge_instantiate): ditto.
14963         (x_edit_field_instantiate): ditto.
14964         (x_label_instantiate): ditto.
14965
14966         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14967         (emacs_Xt_event_widget_focus_out): new function
14968         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14969         focus.
14970         (emacs_Xt_event_add_widget_actions): new function. add focus
14971         functions as actions.
14972         (init_event_Xt_late): use it.
14973
14974 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14975
14976         * event-stream.c (Fdispatch_event): Doc fix.
14977
14978 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14979
14980         * postgresql.c: Remove all references to PQsetenv*.
14981
14982         * postgresql.h: Remove references to PGsetenvHandler object.
14983         * lrecord.h (lrecord_type): Ditto.
14984
14985 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14986
14987         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14988         real_heigh and real_width members, and accessor macros for these.
14989
14990         * glyphs-msw.c (init_image_instance_geometry): New function.
14991         (init_image_instance_from_dibitmap): Use it.
14992         (mswindows_resource_instantiate): Use it.
14993         (init_image_instance_from_xbm_inline): Use it.
14994         (mswindows_initialize_image_instance_mask): Use real bitmap
14995         geometry.
14996         (mswindows_create_resized_bitmap): Ditto.
14997         (mswindows_create_resized_mask): Ditto.
14998
14999         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
15000         and bitmap to their surface size.
15001
15002 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
15003
15004         * process-unix.c (unix_send_process): Guard against process MIA
15005         after Faccept_process_output.
15006
15007 2000-04-11  Ben Wing  <ben@xemacs.org>
15008
15009         * eval.c (unbind_to_hairy): fix brokenness introduced by
15010         nanosecond speed improvements.
15011
15012 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
15013
15014         * sunplay.c (init_device): To play sounds correctly, the device
15015         apparently needs to be initialized at least once by XEmacs.  Make
15016         it so.
15017
15018 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15019
15020         * redisplay.c (add_margin_runes): Add text image glyph
15021           handling.
15022
15023 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15024
15025         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15026         gcc is newer than 2.5.
15027
15028 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15029
15030         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15031
15032         * fns.c (size_bit_vector):
15033         * alloc.c (size_vector):
15034         (make_vector_internal):
15035         (make_bit_vector_internal):
15036         (sweep_bit_vectors_1):
15037         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15038
15039 2000-04-06  Andy Piper  <andy@xemacs.org>
15040
15041         * gmalloc.c (malloc): undo previous change.
15042         (malloc): ditto.
15043         (free): ditto.
15044         (realloc): ditto.
15045
15046 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15047
15048         * line-number.c (buffer_line_number): Revert to former version.
15049
15050 2000-04-06  Andy Piper  <andy@xemacs.org>
15051
15052         * gmalloc.c (malloc): add error checking.
15053         (malloc): ditto.
15054         (free): ditto.
15055         (realloc): ditto.
15056
15057         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15058         button_item_to_widget_value arg.
15059
15060         * glyphs-x.c (x_button_instantiate): add extra
15061         button_item_to_widget_value arg.
15062         (x_progress_gauge_instantiate): ditto.
15063         (x_edit_field_instantiate): ditto.
15064         (x_label_instantiate): ditto.
15065
15066         * gui-x.c (gui_items_to_widget_values_1): add extra
15067         button_item_to_widget_value arg.
15068         (button_item_to_widget_value): add extra menu_item_p arg.
15069
15070         * gui-x.h: change signature of button_item_to_widget_value.
15071
15072         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15073         button_item_to_widget_value arg.
15074
15075 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15076
15077         * buffer.h (struct buffer): auto_save_modified should be long.
15078
15079 2000-04-05  Andy Piper  <andy@xemacs.org>
15080
15081         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15082         type.
15083         (button_query_geometry): give a little more room so that athena
15084         buttons fit.
15085
15086 2000-04-05  Andy Piper  <andy@xemacs.org>
15087
15088         * faces.c (complex_vars_of_faces): The widget face should inherit
15089         the font of the gui-element face.
15090
15091 2000-04-04  Andy Piper  <andy@xemacs.org>
15092
15093         * glyphs-x.c (x_button_update): new function. unconditionally
15094         update a button's state when the instance is dirty.
15095         (image_instantiator_format_create_glyphs_x): add x_button_update.
15096         (x_widget_instantiate): remove old resize cruft.
15097
15098 2000-04-02  Andy Piper  <andy@xemacs.org>
15099
15100         * frame.c (change_frame_size_1): The introduction of gutters means
15101         that we need to allow 0 as a potential frame dimension.
15102
15103 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15104
15105         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15106         image glyph if allow_cursor.
15107         (add_hscroll_rune): Don't allow cursor to border glyph.
15108         (create_text_block): Ditto.
15109
15110         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15111         text not in buffer.
15112         (redisplay_output_layout): Call ensure_face_cachel_complete for
15113         text image glyph.
15114
15115
15116 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15117
15118         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15119
15120         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15121         not in buffer
15122
15123         * redisplay-tty.c (tty_output_display_block): Delete the routine
15124         for text image glyph
15125         * redisplay-x.c (x_output_display_block): ditto
15126         * redisplay-msw.c (mswindows_output_display_block): ditto
15127
15128 2000-02-02  Mike Alexander  <mta@arbortext.com>
15129
15130         Note: Some of these were committed by accident as part of other
15131         patches.
15132
15133         * regex.c (regex_compile): Avoid compiler warnings.
15134
15135         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15136
15137         * nt.h: Declare term_ntproc correctly.
15138
15139         * nt.c: Remove incorrect declaration of get_home_directory which
15140         is declared correctly in lisp.h.
15141
15142         * keymap.c (get_keyelt): Avoid compiler warnings.
15143         (raw_lookup_key_mapper): Avoid compiler warnings.
15144
15145         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15146
15147         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15148
15149         * filemode.c (mode_string): Avoid compiler warnings.
15150
15151         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15152         avoid warning.
15153
15154         * events-mod.h: Undef some things that winuser.h defines differently.
15155
15156         * data.c (Faset): Avoid compiler warnings.
15157
15158         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15159
15160 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15161
15162         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15163         Fall through to simple beep on error.
15164         Replace "extern" by real header file.
15165
15166         * linuxplay.c: Use nativesound.h
15167         (play_sound_data): Return error code. Be less verbose on error.
15168
15169         * sunplay.c: Use nativesound.h
15170         (play_sound_data): Return error code. Be less verbose on error.
15171
15172         * ntplay.c: Use nativesound.h
15173         (play_sound_data): Return fake error code
15174
15175         * sgiplay.c: Use nativesound.h
15176         (play_sound_data): Return error code
15177
15178         * hpplay.c: Use nativesound.h, partially implement
15179         new error code. Break compilation until finished.
15180         (play_sound_data): error code.
15181
15182         * nativesound.h (play_sound_file):
15183           (play_sound_data): Prototype in new header.
15184
15185 2000-03-31  Andy Piper  <andy@xemacs.org>
15186
15187         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15188         for toggle and radio buttons.
15189         (image_instantiator_buttons): use it.
15190
15191 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15192
15193         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15194         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15195         found. Scrollbar event probably belonged to some old config.
15196
15197 2000-03-31  Andy Piper  <andy@xemacs.org>
15198
15199         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15200         than 1.
15201         (initialize_widget_image_instance): default layout to
15202         LAYOUT_HORIZONTAL rather than 0.
15203         (widget_instantiate): reverse the item list at the end rather than
15204         every iteration.
15205         (layout_layout): re-code for the border text at the front of the
15206         item list rather than at the end.
15207         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15208         provided by the user.
15209         (widget_query_geometry): comment.
15210
15211 2000-03-30  Andy Piper  <andy@xemacs.org>
15212
15213         * glyphs-widget.c (image_instantiator_layout): allow standard
15214         widget keywords in layouts.
15215
15216         * gutter.c (output_gutter): cope with nil gutter contents.
15217
15218         * frame.c (Fset_frame_properties): add gutter docs.
15219
15220 2000-03-29  Andy Piper  <andy@xemacs.org>
15221
15222         * toolbar-msw.c (TBSTYLE_FLAT): add.
15223         (mswindows_output_toolbar): minor fiddling.
15224
15225 2000-03-29  Andy Piper  <andy@xemacs.org>
15226
15227         * gutter.c (output_gutter): force gutter size recalculation if
15228         what we are trying to display won't fit.
15229         (update_gutter_geometry): new function. A per-gutter version of
15230         update_frame_gutter_geometry.
15231         (update_frame_gutter_geometry): use it.
15232         (redraw_exposed_gutter): add extra debugging output.
15233
15234 2000-03-28  Mike Alexander  <mta@arbortext.com>
15235
15236         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15237         (pdump_file_unmap): Implement it on Windows
15238         (pdump_file_get): Save alocated handles for pdump_file_unmap
15239
15240 2000-03-28  Andy Piper  <andy@xemacs.org>
15241
15242         * gui.c (get_gui_callback): treat Quit specially.
15243
15244 2000-03-27  Andy Piper  <andy@xemacs.org>
15245
15246         * glyphs.c (image_instantiate): be careful to check in the same
15247         way we assigned.
15248
15249 2000-03-27  Didier Verna  <didier@xemacs.org>
15250
15251         * config.h.in: define the proper SMART_INCLUDE macro.
15252         handle renaming of `foo_h_path' to `foo_h_file'.
15253
15254         * database.c: ditto.
15255
15256         * emacs.c: ditto.
15257
15258         * linuxplay.c: ditto.
15259
15260         * terminfo.c: ditto.
15261
15262         * tooltalk.h: ditto.
15263
15264 2000-03-27  Andy Piper  <andy@xemacs.org>
15265
15266         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15267         gets updated whenever the face might have changed.
15268
15269 2000-03-26  Mike Alexander  <mta@arbortext.com>
15270
15271         * dumper.c (pdump_resource_free): Fix the comment.
15272
15273 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15274
15275         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15276
15277 2000-03-22  Mike Alexander  <mta@arbortext.com>
15278
15279         * dumper.c: Include Windows headers on Windows
15280         (pdump_resource_free): Add a body to the function
15281         (pdump_load): exe_name -> exe_path and add some comments.
15282
15283 2000-03-25  Mike Alexander  <mta@arbortext.com>
15284
15285         * gui.c (copy_gui_item_tree): Return a value in all cases
15286
15287 2000-03-21  Didier Verna  <didier@xemacs.org>
15288
15289         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15290         lwlib/config.h.in.
15291         (SMART_INCLUDE): new macro.
15292         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15293         the proper location.
15294
15295         * postgresql.c: use it.
15296
15297         * inline.c: ditto.
15298
15299 2000-03-24  Andy Piper  <andy@xemacs.org>
15300
15301         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15302         do this.
15303
15304 2000-03-24  Andy Piper  <andy@xemacs.org>
15305
15306         * redisplay-output.c (compare_runes): use image_instance_changed
15307         to detect changes. Do not depend on glyphs_changed, only depend on
15308         dirtiness.
15309          (redisplay_output_layout): add debug messages.
15310         (compare_runes): ditto.
15311
15312         * glyphs.h: declare new functions.
15313         (struct Lisp_Image_Instance): remove percent and associated
15314         accessors.
15315
15316         * gui.h: declare new copying functions.
15317
15318         * gui.c (copy_gui_item_tree): new function.
15319         (copy_gui_item): new function.
15320         (gui_item_id_hash): revert to standard hash.
15321         (gui_item_hash): ditto.
15322         (gui_item_hash_internal): deleted.
15323         (mark_gui_item): mark value.
15324         (gui_item_add_keyval_pair): add value.
15325         (gui_item_init): ditto.
15326         (gui_add_item_keywords_to_plist): ditto.
15327         (gui_item_equal): ditto.
15328         (syms_of_gui): add Q_value.
15329
15330         * glyphs-x.c (x_progress_gauge_update): use pending items and
15331         value for setting the state.
15332         (x_update_widget): don't set items from pending here.
15333
15334         * glyphs-widget.c (update_widget): update items here.
15335         (progress_gauge_set_property): use items for storing value. Put
15336         new value in pending items.
15337
15338         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15339         items for new value. Convert percent -> value.
15340         (mswindows_tab_control_update): don't update items here.
15341
15342         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15343         (update_subwindow): ditto.
15344         (image_instance_changed): new function. Compare hash values and
15345         past and present widget items.
15346         (image_instantiate): We more careful about where we instantiate
15347         things.
15348         (image_instantiate): add error checking.
15349
15350         * gutter.c (syms_of_gutter): use -hook.
15351
15352 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15353
15354         * console-tty.c (Fset_console_tty_input_coding_system): Use
15355         Qkeyboard.
15356         (Fset_console_tty_output_coding_system): Use Qterminal.
15357         (tty_init_console): Use Qkeyboard and Qterminal.
15358
15359 2000-03-21  Ben Wing  <ben@xemacs.org>
15360
15361         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15362         From Mike Alexander <mta@arbortext.com>.
15363
15364 2000-03-21  Ben Wing  <ben@xemacs.org>
15365
15366         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15367         process brokenness.  Proper implementation to come.
15368         * callproc.c:
15369         Rename call-process-internal to old-call-process-internal.
15370         New impl. in process.el.
15371
15372 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15373
15374         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15375
15376 2000-03-20  Andy Piper  <andy@xemacs.org>
15377
15378         * glyphs.c (full_list_hash): make hashes of the same elements in
15379         different orders return different values.
15380
15381 2000-03-20  Martin Buchholz <martin@xemacs.org>
15382
15383         * XEmacs 21.2.32 is released.
15384
15385 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15386
15387         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15388         (DFC_MALLOC_USE_CONVERTED_DATA):
15389         Add aliasing-safe casts to allow use with char* or unsigned char*
15390         lvalues.
15391
15392         * eldap.c (Fldap_open):
15393         (Fldap_search_basic):
15394         (Fldap_add):
15395         (Fldap_modify):
15396         Make C++-compilable.
15397         Make sure GCPRO'ed variables are initialized.
15398         Use temp variables to avoid repeated calls to Flength.
15399
15400 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15401
15402         * sysfile.h:
15403         Make sure PATH_MAX is always defined.
15404         Include limits.h for PATH_MAX.
15405         Deprecate use of MAXPATHLEN.
15406
15407 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15408
15409         * emacs.c: Add reinit_vars_of_fileio.
15410         * symsinit.h: Add reinit_vars_of_fileio.
15411         * fileio.c (reinit_vars_of_fileio): New.
15412         * fileio.c (Fmake_temp_name):
15413         Initialize temp_name random number from microseconds to make
15414         collisions even less likely.  Initialize always at process startup
15415         time.  (make-temp-name) used to return the same file name twice in
15416         a row when PDUMP.
15417         Random stylistic fiddling.
15418         Comment fixes.
15419
15420 2000-03-20  Andy Piper  <andy@xemacs.org>
15421
15422         * glyphs.c (image_instantiate): allow text glyphs to be
15423         instantiated in the minibuffer window.
15424
15425 2000-03-19  Andy Piper  <andy@xemacs.org>
15426
15427         * glyphs.c (image_instance_hash): be careful about which items we
15428         hash on.
15429
15430         * glyphs-widget.c (tab_control_set_property): record into pending
15431         items rather than the actual items.
15432
15433         * glyphs-x.c (x_update_widget): use pending items to update with.
15434
15435         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15436         to update with.
15437
15438         * glyphs.c (mark_image_instance): mark pending items.
15439
15440         * window.c (Fset_window_configuration): record the buffer.
15441         (Fselect_window): totally revert previous change which breaks many
15442         things.
15443
15444 2000-03-18  Andy Piper  <andy@xemacs.org>
15445
15446         * glyphs-msw.c (mswindows_tab_control_update): force selected
15447         item.
15448
15449         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15450         window domain cache, otherwise we get inconsistencies at
15451         startup. There is something fishy at startup which can lead to the
15452         minibuffer being the selected window when the gutter content is
15453         instantiated.
15454
15455         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15456         gcpros.
15457         (parse_gui_item_tree_children): ditto.
15458         (parse_gui_item_tree_item): ditto.
15459
15460         * glyphs.c (Fupdate_widget_instances): return something.
15461
15462 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15463
15464         * window.c (Fselect_window): Undo 2000-03-17 change.
15465
15466 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15467
15468         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15469         against v7.0 libraries.  Insta-coredump city until the postgres
15470         folks fix it.
15471
15472 2000-03-17  Andy Piper  <andy@xemacs.org>
15473
15474         * faces.c (complex_vars_of_faces): don't give the widget face an
15475         inherited background pixmap.
15476
15477         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15478         selected item.
15479
15480         * event-stream.c (Fdispatch_non_command_events): return something.
15481
15482         * gutter.c (output_gutter): use widget face.
15483         (clear_gutter): ditto.
15484
15485         * NEWS: adjust again.
15486
15487         * window.c (Fselect_window): make sure this runs to completion to
15488         avoid oddities with Fset_window_configuration.
15489         (Fcurrent_window_configuration): in general do not save the
15490         minibuffer as the selected window.
15491
15492         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15493
15494 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15495
15496         * emacs.c (Frunning_temacs_p): Revert previous patch.
15497         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15498
15499 2000-03-16  Andy Piper  <andy@xemacs.org>
15500
15501         * glyphs-x.c (x_tab_control_update): if no widget values then
15502         return.
15503
15504         * NEWS: update for new features.
15505
15506         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15507         synthetic event to the native system.
15508         (reinit_vars_of_event_Xt): set force_event_pending to
15509         emacs_Xt_force_event_pending.
15510
15511         * events.h (struct event_stream): add force_event_pending.
15512
15513         * specifier.c (recompute_one_cached_specifier_in_window): add
15514         comment.
15515
15516         * redisplay.c (redisplay_frame): don't call
15517         update_frame_subwindows. Reset subwindow cachels when
15518         subwindows_changed, removing this was an optimization too far.
15519
15520         * redisplay-output.c (compare_runes): reorganize so that we catch
15521         glyph changes when we want them. Set optimize_output when this
15522         would help layouts.
15523         (redisplay_output_layout): remove frame_really_changed, use
15524         optimize_output instead.
15525
15526         * redisplay-msw.c (mswindows_output_display_block): reset
15527         optimize_output after outputting a glyph.
15528         * redisplay-x.c (x_output_display_block): ditto.
15529         * redisplay-tty.c (tty_output_display_block): ditto.
15530
15531         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15532         functions.
15533         (gutter_specs_changed): do specific gutter positions.
15534         (top_gutter_specs_changed): new function. Only update the
15535         specified gutter specs.
15536         (bottom_gutter_specs_changed): ditto.
15537         (left_gutter_specs_changed): ditto.
15538         (right_gutter_specs_changed): ditto.
15539
15540         * gui.c (gui_item_hash_internal): new function, does a real hash.
15541         (gui_item_id_hash): use it.
15542         (gui_item_hash): hash the eval'ed gui_item.
15543
15544         * gui-x.c (popup_selection_callback): send an eval event to call
15545         Fupdate_widget_instances.
15546
15547         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15548         to call Fupdate_widget_instances.
15549
15550         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15551         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15552
15553         * glyphs.c: (update_frame_subwindows): deleted.
15554         (Fupdate_widget_instances): new function for updating the dirty
15555         state of widgets that might have changed.
15556         (syms_of_glyphs): add Qupdate_widget_instances.
15557         (full_list_hash): hash a list completely.
15558         (image_instance_hash): use it for items and properties.
15559
15560         * frame-msw.c (mswindows_size_frame_internal): remove unused
15561         variable.
15562
15563         * faces.h (struct face_cachel): fix comment.
15564
15565         * event-stream.c (Fdispatch_non_command_events): new
15566         function. Process non-command events, forcing an event cycle
15567         beforehand.
15568         (syms_of_event_stream): declare.
15569         (event_stream_force_event_pending): new function. Force an event
15570         on the native event queue so that an event cycle will occur next
15571         time we check.
15572
15573         * event-msw.c:
15574         (struct ntpipe_shove_stream):
15575         (mswindows_enqueue_dispatch_event):
15576         (mswindows_dequeue_dispatch_event):
15577         (mswindows_cancel_dispatch_event):
15578         (mswindows_pump_outstanding_events):
15579         (mswindows_drain_windows_queue):
15580         (mswindows_handle_paint):
15581         (mswindows_wnd_proc):
15582         (mswindows_key_to_emacs_keysym):
15583         (get_process_input_waitable):
15584         (emacs_mswindows_delete_stream_pair): re-indent file.
15585         (mswindows_need_event): do not process further fds if the windows
15586         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15587         fixes the 100% cpu problem.
15588         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15589
15590 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15591
15592         * alloc.h: New.
15593         * dumper.h: New.
15594         * dumper.c: New.
15595
15596         * emacs.c: Moved dump file searching to dumper.c.
15597         (Frunning_temacs_p): Fixed.
15598
15599         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15600         last_lrecord_type_index_assigned.
15601
15602 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15603
15604         * symsinit.h: Added reinit parameter to init_console_stream
15605         declaration.
15606
15607         * lisp.h: Added file parameter to pdump_load declaration.
15608
15609         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15610         support.  Added dump file searching.
15611
15612         * config.h.in: Added EMACS_PROGNAME.
15613
15614         * console-stream.c (init_console_stream): Fix reinitialisation
15615         when running from temacs.
15616
15617         * alloc.c (pdump): Add id support.
15618         (pdump_load): Add file parameter and signature/id support.
15619
15620         * Makefile.in.in: Add full pdump support.
15621
15622 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15623
15624         * postgresql.c: Update documentation to reflect latest code
15625         status.
15626         (print_result): Show tuple counts in printed representation when
15627         appropriate.
15628         (Fpq_put_nbytes): MULE-ize.
15629         (Fpq_get_line_async): Ditto.
15630
15631 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15632
15633         * postgresql.c (Fpq_lo_import): Fix return value.
15634         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15635
15636 2000-03-13  Ben Wing  <ben@xemacs.org>
15637
15638         * alloc.c (pdump_load):
15639         Fix compile warning under mswin.
15640
15641 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15642
15643         * postgresql.c: Mule-ization, bug fixes.
15644         Use PG_CODING to encapsulate coding system name changes.
15645         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15646         (pg-coding-system): Create.
15647
15648         (Fpq_conn_defaults): Mule-ize.
15649         (Fpq_connectdb): Mule-ize & bug fix.
15650         (Fpq_connect_start): Mule-ize.
15651         (Fpq_set_client_encoding): Mule-ize.
15652         (Fpq_finish): Document `DEAD' connection status.
15653         (Fpq_clear): Ditto.
15654         (Fpq_pgconn): Mule-ize.
15655         (Fpq_exec): Mule-ize & bug fix.
15656         (Fpq_send_query): Ditto.
15657         (Fpq_get_result): Ditto.
15658         (Fpq_res_status): Mule-ize.
15659         (Fpq_result_error_message): Mule-ize.
15660         (Fpq_ntuples): fix comments.
15661         (Fpq_fname): Mule-ize.
15662         (Fpq_fnumber): Mule-ize.
15663         (Fpq_ftype): fix comments.
15664         (Fpq_get_value): Mule-ize.
15665         (Fpq_cmd_status): Ditto.
15666         (Fpq_cmd_tuples): Ditto.
15667         (Fpq_oid_value): Ditto.
15668         (Fpq_notifies): Ditto.
15669         (Fpq_lo_import): Ditto.
15670         (Fpq_lo_export): Ditto.
15671         (Fpq_get_line): Ditto.
15672         (Fpq_put_line): Mule-ize and bug fix.
15673         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15674
15675 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15676
15677         * postgresql.c (vars_of_postgresql): Mule-ize.
15678         (Fpq_conn_defaults): Ditto.
15679
15680 2000-03-12  Ben Wing  <ben@xemacs.org>
15681
15682         * alloc.c (Fmake_byte_code):
15683         * alloc.c (debug_string_purity_print):
15684         * alloc.c (pdump_backtrace):
15685         * alloc.c (pdump_get_indirect_count):
15686         * alloc.c (pdump_register_sub):
15687         * alloc.c (pdump_register_object):
15688         * alloc.c (pdump_register_struct):
15689         * alloc.c (pdump_dump_data):
15690         * alloc.c (pdump_reloc_one):
15691         Minor cleanups.
15692
15693         * console-msw.c:
15694         * console-msw.c (GetConsoleHwnd):
15695         * console-msw.c (msw_hide_console):
15696         * console-msw.c (msw_show_console):
15697         * console-msw.c (msw_ensure_console_buffered):
15698         * console-msw.c (msw_output_console_string):
15699         * console-msw.c (console_type_create_mswindows):
15700
15701         a) Added functions to manipulate the console window for use with
15702         shell support.
15703
15704         b) Added support for writing text to the console, which is now
15705         used under Windows when xemacs is not being run non-interactively,
15706         to write text that would otherwise be destined for stdout because
15707         under these circumstances, text written to stdout tends to
15708         disappear and not be seen.
15709
15710         * console-msw.h:
15711         * event-Xt.c:
15712         * event-Xt.c (x_event_to_emacs_event):
15713         * event-Xt.c (describe_event_window):
15714         * events-mod.h (XEMACS_MOD_CONTROL):
15715         * events.c:
15716         * events.c (Fmake_event):
15717         * events.c (character_to_event):
15718         * events.c (event_to_character):
15719         * events.c (format_event_object):
15720         * events.c (Fevent_modifiers):
15721         * events.h:
15722         * events.h (struct key_data):
15723         * events.h (struct button_data):
15724         * events.h (struct misc_user_data):
15725         * frame-x.c (Fcde_start_drag_internal):
15726         * frame-x.c (Foffix_start_drag_internal):
15727         * gpmevent.c (Freceive_gpm_event):
15728         * keymap.c:
15729         * keymap.c (bucky_sym_to_bucky_bit):
15730         * keymap.c (control_meta_superify):
15731         * keymap.c (make_key_description):
15732         * keymap.c (keymap_lookup_directly):
15733         * keymap.c (create_bucky_submap):
15734         * keymap.c (keymap_store):
15735         * keymap.c (define_key_check_and_coerce_keysym):
15736         * keymap.c (define_key_parser):
15737         * keymap.c (define_key_alternate_name):
15738         * keymap.c (Fdefine_key):
15739         * keymap.c (raw_lookup_key_mapper):
15740         * keymap.c (struct map_keymap_unsorted_closure):
15741         * keymap.c (map_keymap_unsorted_mapper):
15742         * keymap.c (map_keymap_sort_predicate):
15743         * keymap.c (map_keymap_sorted):
15744         * keymap.c (accessible_keymaps_mapper_1):
15745         * keymap.c (where_is_recursive_mapper):
15746         * keymap.c (describe_map_mapper):
15747         * keymap.c (describe_map_sort_predicate):
15748         * keymap.c (describe_map):
15749         * keymap.c (complex_vars_of_keymap):
15750         And a number of other files, the key modifier preprocessor
15751         constants that xemacs uses have names that conflict with constants
15752         defined under MS Windows for other purposes, so they were renamed
15753         to begin with the prefix XEMACS_. The variables that hold such
15754         modifiers were changed to consistently be of type int to fix
15755         various compile warnings.
15756
15757         * console.c (complex_vars_of_console):
15758         * device.c:
15759         * device-msw.c:
15760         * device-msw.c (mswindows_finish_init_device):
15761         * device-msw.c (msw_get_workspace_coords):
15762         * device-msw.c (mswindows_device_system_metrics):
15763         and various other files, added support for a new
15764         device property called offset-workspace which returns the position
15765         of the upper left corner of the workspace area and goes along with
15766         the existing size-workspace property.
15767
15768         * dialog-msw.c:
15769         * dialog-msw.c (push_bufbyte_string_as_unicode):
15770         * dialog-msw.c (mswindows_popup_dialog_box):
15771         Added support for XEmacs-style accelerator specifications in
15772         button text.  Note: I didn't add support for this under X Windows,
15773         and somebody needs to do this.
15774
15775         * dialog.c:
15776         * dialog.c (Fpopup_dialog_box):
15777         Documented the support for accelerators that was just mentioned.
15778
15779         editfns.c (get_home_directory): Changed behavior under Windows
15780         when HOME not defined; former behavior was irretrievably broken.
15781
15782         * emacs.c:
15783         * emacs.c (main_1):
15784         * emacs.c (main):
15785         * minibuf.c (clear_echo_area_internal):
15786         * minibuf.c (echo_area_append):
15787         * print.c:
15788         * print.c (std_handle_out_external):
15789         * print.c (std_handle_out_va):
15790         * print.c (fatal):
15791         * print.c (write_string_to_stdio_stream):
15792         * print.c (output_string):
15793         * print.c (debug_print):
15794         * print.c (debug_backtrace):
15795         * print.c (debug_short_backtrace):
15796         Cleaned up the code that prints text to stdout so that this can be
15797         changed to output into a console window instead under MS Windows,
15798         as described above.
15799
15800         * eval.c:
15801         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15802         * eval.c (internal_catch):
15803         * eval.c (unwind_to_catch):
15804         * eval.c (throw_or_bomb_out):
15805         * eval.c (condition_case_1):
15806         * eval.c (signal_1):
15807         * eval.c (check_error_state_sanity):
15808         * eval.c (call_with_suspended_errors_1):
15809         * eval.c (call_with_suspended_errors):
15810         * eval.c (reinit_vars_of_eval):
15811         Added code to catch throw loops and check for a pesky bug that may
15812         be gone now.
15813
15814         * event-msw.c:
15815         * event-msw.c (key_needs_default_processing_p):
15816         * event-msw.c (mswindows_wnd_proc):
15817         * event-msw.c (mswindows_modifier_state):
15818         * event-msw.c (emacs_mswindows_quit_p):
15819         * event-msw.c (vars_of_event_mswindows):
15820         a) Added support for using the alt key to select menu items as is
15821         standard under MS Windows.  This is controlled using the variable
15822         menu-accelerator-enabled, just like under X Windows.  There is an
15823         option on the options menu to turn this support on.  I really
15824         think that it should be on by default under Windows, but I'm not
15825         going to make this change yet.
15826
15827         b)  Added support for dynamic display size changes under Windows.
15828
15829         * event-stream.c:
15830         * event-stream.c (maybe_echo_keys):
15831         * event-stream.c (Fnext_event):
15832         * event-stream.c (command_builder_find_leaf):
15833         * event-stream.c (lookup_command_event):
15834         * event-stream.c (execute_command_event):
15835         * event-stream.c (pre_command_hook):
15836         * event-stream.c (post_command_hook):
15837         * event-stream.c (syms_of_event_stream):
15838         * event-stream.c (vars_of_event_stream):
15839         * event-stream.c (complex_vars_of_event_stream):
15840         * events.h (struct command_builder):
15841
15842         a) Tried to clean up a little bit the horribly written x-specific
15843         accelerator code that crept into this file.  I moved this code
15844         into menubar-x.c where it belongs. I also needed to move the
15845         command builder structure into the file events.h because it is
15846         accessed directly by this accelerator code.  What I didn't do, but
15847         which should be done at some point, is to properly abstract this
15848         code using device methods instead of the kludgy way that it
15849         currently hooks into the event code.
15850
15851         b) Added the lisp variables this-command-properties and
15852         last-command- properties, which should be used to synchronize two
15853         adjacent commands in preference to playing games with the variable
15854         this-command, which is typically what happens.
15855
15856         c) Added some slightly nasty code to hook into the lisp support
15857         for shifted- motion-key selection.  This is actually necessary for
15858         somewhat complicated reasons, which are described in
15859         simple.el. (NB: I think the proper thing would be to have the code
15860         that calls the pre and post command hooks also call out to generic
15861         lisp functions in simple.el, where all built-in stuff could be
15862         added.  I will think about this more.)
15863
15864         * event-unixoid.c (poll_fds_for_input):
15865         * lread.c (readchar):
15866         * redisplay-tty.c (tty_clear_frame):
15867         * redisplay-x.c (x_get_gc):
15868         * signal.c (interrupt_signal):
15869         And a whole bunch of other files: fixed up places that printed
15870         directly to stderr to instead call the function stderr_out so that
15871         the changes I made under Windows work correctly.
15872
15873         * filemode.c (mode_string):
15874         Warning fixes.
15875
15876         * frame-msw.c:
15877         * frame-msw.c (mswindows_size_frame_internal):
15878         Fixed the computation of frame size and position to keep the frame
15879         within the workspace area, rather than within the physical
15880         dimensions of the screen, so that the frame doesn't overlap window
15881         manager decorations, such as the start menu and toolbar, typically
15882         at the bottom of the screen.
15883
15884         * frame.c (vars_of_frame):
15885         Changed the default frame title format under MS Windows to consist
15886         of buffername-XEmacs, which is standard under MS Windows.  I think
15887         it might be a good idea to change this everywhere because I think
15888         it is superior to the current frame title format, but this is the
15889         kind of change that is likely to cause some people to get annoyed,
15890         so I'm not making it.
15891
15892         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15893
15894         * gui-msw.c (mswindows_handle_gui_wm_command):
15895         Fixed compile warnings.
15896
15897         * gui-x.c:
15898         * gui-x.c (strdup_and_add_accel):
15899         * gui-x.c (button_item_to_widget_value):
15900         * gui-x.h:
15901         Added code to automatically put an accelerator onto the beginning
15902         of menu items that don't have one as is now the standard, and is
15903         described more later.  Also fixed things so that the menu item
15904         name can be an evaluated expression, again a new standard.
15905
15906         * gui.c:
15907         * gui.c (gui_item_add_keyval_pair):
15908         * gui.c (make_gui_item_from_keywords_internal):
15909         * gui.c (gui_add_item_keywords_to_plist):
15910         * gui.c (gui_item_accelerator):
15911         * gui.c (gui_name_accelerator):
15912         * gui.c (gui_item_included_p):
15913         * gui.c (gui_item_display_flush_left):
15914         * gui.c (gui_item_display_flush_right):
15915         * gui.c (parse_gui_item_tree_item):
15916         * gui.c (parse_gui_item_tree_children):
15917         * gui.c (parse_gui_item_tree_list):
15918         Mule-ized.  Cleanup.  GCPRO addition.
15919
15920         * line-number.c (buffer_line_number):
15921         * lisp.h:
15922         * lisp.h (EMACS_INT_MAX):
15923         Added the manifest constant EMACS_INT_MIN corresponding to the
15924         existing constant EMACS_INT_MAX.  This is partially to fix compile
15925         warnings under Windows, and partly for cleanliness.
15926
15927         * menubar-msw.c:
15928         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15929         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15930         * menubar-msw.c (displayable_menu_item):
15931         * menubar-msw.c (populate_menu_add_item):
15932         * menubar-msw.c (populate_or_checksum_helper):
15933         * menubar-msw.c (populate_menu):
15934         * menubar-msw.c (update_frame_menubar_maybe):
15935         * menubar-msw.c (prune_menubar):
15936         * menubar-msw.c (msw_char_is_accelerator):
15937         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15938         * menubar-msw.c (mswindows_handle_wm_command):
15939         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15940         * menubar-msw.c (mswindows_handle_wm_initmenu):
15941         * menubar-msw.c (mswindows_update_frame_menubars):
15942         * menubar-msw.c (mswindows_free_frame_menubars):
15943         * menubar-msw.c (mswindows_popup_menu):
15944         Fixed a bug in handling accelerators where an extra character
15945         would be displayed in the menu item.  Also generalized the
15946         function displayable_menu_item because it is now used by the
15947         dialog box code as well.  And finally, added code in the functions
15948         that create the menubar to extract a list of accelerators for the
15949         top level menubar, which is used in the event code to determine
15950         whether a particular alt-key combination should be used to invoke
15951         a menu item, or should be passed through to access the standard
15952         XEmacs keymap binding for this key combination.
15953
15954         Much needed GCPROing.
15955
15956         * menubar-x.c:
15957         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15958         * menubar-x.c (menu_item_descriptor_to_widget_value):
15959         * menubar-x.c (restore_in_menu_callback):
15960         * menubar-x.c (x_popup_menu):
15961         * menubar-x.c (menu_move_up):
15962         * menubar-x.c (menu_move_down):
15963         * menubar-x.c (menu_move_left):
15964         * menubar-x.c (menu_move_right):
15965         * menubar-x.c (menu_select_item):
15966         * menubar-x.c (command_builder_operate_menu_accelerator):
15967         * menubar-x.c (menu_accelerator_junk_on_error):
15968         * menubar-x.c (command_builder_find_menu_accelerator):
15969         * menubar-x.c (Faccelerate_menu):
15970         * menubar.h:
15971         Moved a whole bunch of code here that was previously in
15972         event-stream.c as described above.  There is also code connected
15973         to the new standard of adding an accelerator to the beginning of
15974         menu items that don't have one as described above and below.
15975
15976         * menubar.c:
15977         * menubar.c (menu_parse_submenu_keywords):
15978         * menubar.c (Fmenu_find_real_submenu):
15979         * menubar.c (Fnormalize_menu_item_name):
15980         * menubar.c (syms_of_menubar):
15981         * menubar.c (vars_of_menubar):
15982         * menubar.c (complex_vars_of_menubar):
15983
15984         a) Cleaned up a bunch of documentation and improved it.
15985
15986         b) XEmacs now automatically adds an accelerator onto the beginning
15987         of any menu items that don't have one.  I did this because there
15988         will inevitably be some menu items on the main menubar that don't
15989         have accelerators on them because the package that adds that
15990         particular menu item hasn't yet been fixed up to have accelerators
15991         in them and it looked rather strange to have some items with and
15992         some items without accelerators, especially since even in items
15993         without accelerators, you can, at least under windows, still
15994         access the item through an accelerator corresponding to the first
15995         character in the item's name.  If people don't like this behavior,
15996         I can add a variable to turn it off optionally, but I'm not sure
15997         this is a good idea because we really do need to have accelerators
15998         on all of the menu items, and if a package doesn't like the
15999         accelerators being put on the first character, then it should put
16000         the accelerators where they belong.
16001
16002         c) I made a behavior change, which is that the descriptor that
16003         specifies the text of the menu item, which formerly was just a
16004         string, can now also be an evaluated expression.  This makes this
16005         descriptor parallel with all of the others, which could also be
16006         evaluated expressions.  This also obviates the need for the
16007         keyword :label, which was previously listed in the documentation
16008         as unimplemented, and which was for the same purpose.
16009
16010         d) GCPROing.
16011
16012         * ntproc.c:
16013         * ntproc.c (new_child):
16014         * ntproc.c (sys_spawnve):
16015         * ntproc.c (find_child_console):
16016         * ntproc.c (sys_kill):
16017         Fixed compile warnings.  By the way, this file should really go
16018         away entirely, and this will happen as soon as Kirill makes his
16019         final round of process cleanups, which affect the function
16020         call-process.
16021
16022         * process-nt.c:
16023         * process-nt.c (struct nt_process_data):
16024         * process-nt.c (find_process_from_pid):
16025         * process-nt.c (send_signal_the_nt_way):
16026         * process-nt.c (enable_child_signals):
16027         * process-nt.c (find_child_console):
16028         * process-nt.c (send_signal_the_95_way):
16029         * process-nt.c (nt_finalize_process_data):
16030         * process-nt.c (ensure_console_window_exists):
16031         * process-nt.c (nt_create_process):
16032         * process-nt.c (nt_kill_child_process):
16033         * process-nt.c (nt_kill_process_by_pid):
16034         * process-nt.c (nt_open_network_stream):
16035         * process-nt.c (vars_of_process_nt):
16036         Copied over code from Emacs 20.5 to correctly send signals to sub-
16037         processes under Windows 95.  Also added code to automatically
16038         create and hide console window when a sub-process is created under
16039         Windows 95, which obviates the need for the separate runemacs.exe
16040         executable, and finally implemented some variables that were
16041         implemented in Emacs 20.5, but previously not in XEmacs.  These
16042         include mswindows- start-process-share-console and
16043         mswindows-start-process-inherit-error-mode. (Both of these only
16044         apply to Windows 95.)
16045
16046         * regex.c (regex_compile): Fixed a compile warning.
16047
16048         * select-msw.c:
16049         * select-msw.c (mswindows_own_selection):
16050         * select-msw.c (mswindows_get_foreign_selection):
16051         * select-msw.c (mswindows_disown_selection):
16052         * select-msw.c (console_type_create_select_mswindows):
16053         * select-msw.c (syms_of_select_mswindows):
16054         Cleaned up the file and implemented the device method
16055         selection_exists_p, which had accidentally been left out.  Also
16056         removed four lisp functions that were remnants from before the
16057         time when the selection code was properly device abstracted.
16058         These functions are no longer needed because there are generic
16059         equivalents, and because they were added recently and don't exist
16060         in FSF Emacs, I don't think there's any problem with just deleting
16061         them.
16062
16063         * sysdep.c:
16064         * sysdep.c (sys_subshell):
16065         Fixed a compile warning, although in this case there's probably
16066         something wrong with this code, and it ought to be looked into
16067         more thoroughly by somebody who understands it.
16068
16069         * window.c:
16070         * window.c (Fwindow_text_area_height):
16071         * window.c (Fwindow_width):
16072         * window.c (Fwindow_full_width):
16073         * window.c (Fwindow_pixel_width):
16074         * window.c (debug_print_window):
16075         * window.c (syms_of_window):
16076         Added functions window-text-area-height and window-full-width,
16077         which are functions for returning various width and height
16078         characteristics of a window. (One of these functions is necessary
16079         for making the file dialog box work correctly, and the other one
16080         was added for completeness.)  Also added a table to the
16081         documentation for window-height which describes the entire scheme
16082         for accessing width and height characteristics of a window.
16083
16084 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16085
16086         * nt.c (fstat): Added a comment for another problem with
16087         non-encapsulated [f]stat(), reported by Adrian Aichner
16088         <aichner@ecf.teradyne.com>.
16089
16090 2000-03-11  Andy Piper  <andy@xemacs.org>
16091
16092         * window.c (make_dummy_parent): initialize subwindow instance
16093         cache.
16094         (Fset_window_configuration): zero extent_modiff.
16095
16096 2000-03-10  Andy Piper  <andy@xemacs.org>
16097
16098         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16099         more changes can be triggered.
16100         (Fredisplay_frame): ditto.
16101         (Fredraw_device): ditto.
16102         (Fredisplay_device): ditto.
16103         (redisplay_frame): make non-static.
16104         (redisplay_frame): call update_frame_gutter_geometry outside of
16105         display proper.
16106
16107         * gutter.h: declare update_frame_gutter_geometry.
16108
16109         * redisplay.h: declare redisplay_frame.
16110
16111         * gutter.c (update_frame_gutter_geometry): move geometry changes
16112         in update_frame_gutters here. Geometry changes can only occur
16113         outside of redisplay.
16114         (update_frame_gutters): remove geometry change code.
16115         (Fredisplay_gutter_area): make sure that we are in display when we
16116         update and that we have flushed any size changes.
16117
16118 2000-03-11  Andy Piper  <andy@xemacs.org>
16119
16120         * alloc.c (pdump_dump_data): remove i & count shadows.
16121
16122 2000-02-27  Mike Alexander  <mta@arbortext.com>
16123
16124         * sysdep.h: Declare pdump_read_file
16125
16126         * sysdep.c (pdump_read_file): New function
16127
16128         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16129         dump data
16130
16131 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16132
16133         * lrecord.h: add `lrecord_type_pgsetenv'.
16134
16135 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16136
16137         * symsinit.h: declare (vars|syms)_of* functions.
16138         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16139
16140 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16141
16142         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16143
16144         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16145         GCCs.
16146
16147         * emacs.c (main_1): Call postgres initialization code.
16148
16149         * postgresql.h: New file.  PostgreSQL RDBMS support.
16150         * postgresql.c: New file.
16151
16152 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16153
16154         * redisplay-output.c (redisplay_output_display_block): Disable
16155         redundant code.
16156
16157 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16158
16159         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16160         (Fcanna_henkan_next): Ditto.
16161         (Fcanna_bunsetu_henkou): Ditto.
16162         (Fcanna_henkan_kakutei): Ditto.
16163         (Fcanna_henkan_end): Ditto.
16164         (Fcanna_henkan_quit): Ditto.
16165         (Fcanna_henkan_next): Set retun value correctly.
16166         (c2mu): Use unsigned char instead of signed char.
16167
16168 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16169
16170         * emacs.c (main_1): Always call syms_of_gui.
16171         * inline.c: include gui.h
16172
16173 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16174
16175         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16176         converted to Lisp_Object.
16177         (Qtop_bottom): New variable.
16178         (syms_of_redisplay): Initialize it.
16179         * redisplay.h (Vvisible_bell): Ditto.
16180         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16181         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16182         only flash top and bottom.
16183
16184 2000-03-08  Andy Piper  <andy@xemacs.org>
16185
16186         * buffer.c (Frename_buffer): record new buffer name the right way.
16187
16188 2000-03-08  Andy Piper  <andy@xemacs.org>
16189
16190         * glyphs.c (update_subwindow): increase hash depth so that widget
16191         items get picked up properly.
16192
16193         * redisplay-output.c (compare_runes): increase hash depth so that
16194         widget items get picked up properly.
16195
16196 2000-03-08  Andy Piper  <andy@xemacs.org>
16197
16198         * gutter.c (output_gutter): add some debug.
16199
16200         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16201         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16202         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16203
16204         * redisplay-output.c (compare_runes): use display_hash to
16205         determine if glyphs really are not the same.
16206
16207         * glyphs.c (update_subwindow): check display_hash to see if
16208         anything really needs to be updated. If not then do
16209         nothing. Record the display_hash after updating.
16210         (image_instance_equal): compare the image_instance face also.
16211
16212 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16213
16214         * redisplay.h: Fix comment style.
16215
16216 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16217
16218         * consle-msw.h (struct mswindows_frame):
16219         Added new member paint_pending to indicate whether a WM_PAINT
16220         magic event has been queued for this frame.
16221
16222         * event-msw.c (mswindows_drain_windows_queue):
16223         Don't queue a WM_PAINT magic event if one is already queued.
16224         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16225
16226         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16227
16228 2000-03-07  Didier Verna  <didier@xemacs.org>
16229
16230         * dired.c: #include `regex.h' after `sysfile.h'.
16231
16232 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16233
16234         * sound.c (init_nas_sound): Fix compiler warning.
16235
16236         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16237         (FREE_STRUCT_P):
16238         (MARK_STRUCT_AS_FREE):
16239         (MARK_STRUCT_AS_NOT_FREE):
16240         Make `gcc -fstrict-aliasing' work properly.
16241
16242 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16243
16244         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16245         (mswindows_delete_device): Call CoUnnitialize().
16246
16247         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16248
16249 2000-02-25    <CraigL@DyCon.com>
16250
16251         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16252         <errno.h>.
16253
16254         * sysdep.c: This extern declaration for environ prevents MinGW
16255         from finding the variable in CRTDLL.DLL.
16256
16257         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16258         windows headers.
16259         (SHGFI_EXETYPE): ..
16260         (WM_MOUSEWHEEL): ..
16261         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16262         definitions.
16263         (MMRESULT): Removed, now defined in cygwin's windows headers.
16264         (TIMECAPS): ..
16265         (uid_t,gid_t,pid_t,ssize_t): ..
16266         (_timeb): Removed, MinGW defines both _timeb and timeb.
16267         (HAVE_H_ERRNO): Added.
16268         (HAVE_TZNAME): Added, configure is not detecting this.
16269
16270 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16271
16272         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16273         * syntax.c (syntax_match): Use it.
16274
16275         * cmds.c: Import auto-fill-chars from FSF Emacs.
16276         (Vauto_fill_chars): New variables.
16277         (internal_self_insert): Check Vauto_fill_chars.
16278         (vars_of_cmds):
16279         Declare auto-fill-chars as a Lisp variable and initialize it.
16280
16281 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16282
16283         * fileio.c (Fmake_symbolic_link):
16284         (Ffile_symlink_p):
16285         Run handlers even if local machine doesn't have symlinks.
16286
16287 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16288
16289         * event-msw.c (mswindows_drain_windows_queue):
16290         Don't generate paint magic events for non-XEmacs frames.
16291
16292 2000-03-05  Andy Piper  <andy@xemacs.org>
16293
16294         * redisplay.c (redisplay_frame): generate_displayable_area and
16295         friends assumes that we are not in GC, we therefore have to make
16296         sure that this doesn't happen.
16297
16298         * gutter.c (calculate_gutter_size): generate_displayable_area
16299         assumes that we are not in GC, we therefore have to make sure that
16300         this doesn't happen.
16301
16302 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16303
16304         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16305
16306 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16307
16308         * redisplay.c (regenerate_window): Make sure we set a sane value
16309         for end_pos even if we jump out of the loop.
16310         (regenerate_window): Answer Ben's question :-).
16311         (start_end_of_last_line): Add may_error argument.
16312         (start_of_last_line):
16313         (end_of_last_line): Pass may_error = 0.
16314         (end_of_last_line_may_error): New function.
16315         (pixel_to_glyph_translation): Use it, so we don't crash in
16316         event_to_glyph.
16317
16318 2000-03-04  Andy Piper  <andy@xemacs.org>
16319
16320         * window.h (struct window): add gutter_extent_modiff.
16321
16322         * window.c (allocate_window): zero out gutter_extent_modiff.
16323
16324         * redisplay.h: declare sync_display_line_structs.
16325
16326         * redisplay.c (add_glyph_rune): add a better comment.
16327
16328         * redisplay-output.c (sync_display_line_structs): made non-static.
16329         (compare_runes): remove unneccesary glyph cachel access.
16330
16331         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16332
16333         * gutter.c (output_gutter): don't output the gutter if extent
16334         changes only involve extents in buffers. use 4 sets of display
16335         lines.
16336         (gutter_extent_signal_changed_region_maybe): new function. Mark
16337         extents in gutters as changed.
16338         (update_frame_gutters): use 4 sets of display lines.
16339         (reset_gutter_display_lines): ditto.
16340         (free_frame_gutters): ditto.
16341         (redraw_exposed_gutter): force output of gutters.
16342
16343         * frame.h (struct frame): add 4 sets of gutter display lines.
16344
16345         * extents.c: (extent_changed_for_redisplay): signal changes to
16346         extents in strings in the gutter as well as extents in buffers.
16347
16348 2000-03-02  Andy Piper  <andy@xemacs.org>
16349
16350         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16351
16352         * frame.c (Fmake_frame): make sure the gutters get initialized
16353         after the frame is visible.
16354         (set_frame_selected_window): re-arrange compilation macros a
16355         little.
16356         (change_frame_size_1): mark gutters changed.
16357
16358         * device.c (Fset_device_class): mark gutters changed.
16359
16360 2000-03-01  Andy Piper  <andy@xemacs.org>
16361
16362         * window.c (window_top_frame_gutter_height): deleted.
16363         (window_bottom_frame_gutter_height): ditto.
16364         (window_left_frame_gutter_height): ditto.
16365         (window_right_frame_gutter_height): ditto.
16366         (window_top_gutter_height): don't use them.
16367         (window_bottom_gutter_height): ditto.
16368         (window_left_gutter_width): ditto.
16369         (window_right_gutter_width): ditto.
16370         (Fsplit_window): ditto.
16371         (Fwindow_pixel_edges): don't use border dimensions here.
16372
16373         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16374         (update_scrollbar_instance): ditto.
16375
16376         * redisplay.c (generate_modeline): don't take gutters into account.
16377         (generate_modeline): ditto.
16378         (redisplay_frame): small gutter display optimization.
16379
16380         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16381
16382         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16383         gutters into account.
16384
16385         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16386         for window position and type.
16387
16388         * gutter.c (get_gutter_coords): fix for frame gutters.
16389         (update_frame_gutters): update frame geometry if the gutters have
16390         changed.
16391         (init_frame_gutters): record current gutter geometries.
16392
16393         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16394         var.
16395         (mswindows_widget_instantiate): ditto.
16396
16397         * frame.h (struct frame): add current_gutter_bounds.
16398
16399         * frame.c (change_frame_size_1): position window and minibuffer
16400         appropriately taking into account the frame gutters.
16401
16402         * frame-x.c: (x_initialize_frame_size): take into account the
16403         frame gutters.
16404
16405 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16406
16407         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16408
16409 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16410
16411         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16412
16413 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16414
16415         * file-coding.c (reset_decoding_stream): Clear previous
16416         detection state when autodetect.
16417
16418 2000-02-29  Didier Verna  <didier@xemacs.org>
16419
16420         * extents.c (set_extent_glyph_1): don't require extents to be
16421         attached.
16422
16423 2000-02-27  Andy Piper  <andy@xemacs.org>
16424
16425         * gutter.c (Fset_default_gutter_position): don't default left and
16426         right gutter visibility to t.
16427         (Fset_default_gutter_position): run
16428         default-gutter-position-changed-hook.
16429         (syms_of_gutter): add default-gutter-position-changed-hook.
16430
16431 2000-02-26  Andy Piper  <andy@xemacs.org>
16432
16433         * specifier.c (Fmake_specifier): add gutter references.
16434
16435         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16436
16437         * lisp.h: declare Fvalid_plist_p.
16438
16439         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16440         as changed.
16441         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16442         well as its visibility so that it gets reconstructed.
16443         (construct_window_gutter_spec): new function. Construct a string
16444         to be displayed in the gutter from a plist of strings. Take care
16445         to only use elements that are declared as visible.
16446         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16447         WINDOW_GUTTER.
16448         (gutter_validate): allow plists of strings in the specifier.
16449         (gutter_specs_changed): construct the real_gutter from the gutter
16450         specs using construct_window_gutter_spec.
16451         (gutter_visible_validate): gutter-visible is a new specifier type.
16452         (Fgutter_visible_specifier_p): new function for the new specifier.
16453         (syms_of_gutter): declare gutter-visible and
16454         Fgutter_visible_specifier_p.
16455         (specifier_type_create_gutter): intitalize new gutter-visible
16456         specifier.
16457         (reinit_specifier_type_create_gutter): ditto.
16458         (specifier_vars_of_gutter): use new specifier type for gutter
16459         visibility.
16460         (init_frame_gutters): construct real_gutter correctly.
16461         (Fgutter_specifier_p): beef up documentation.
16462         (Fgutter_size_specifier_p): ditto.
16463
16464         * winslots.h: add real_gutter slots.
16465
16466 2000-02-25  Andy Piper  <andy@xemacs.org>
16467
16468         * device-msw.c: Be kind to older cygwin versions. From Raymond
16469         Toy <toy@rtp.ericsson.se>.
16470
16471         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16472         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16473
16474 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16475
16476         * elhash.c (MARK_OBJ): Practice macro hygiene.
16477
16478 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16479
16480         * miscplay.c: s/__inline__/inline/g;
16481         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16482         (get_device_compdc): INLINE ==> static inline
16483         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16484         find -name '*.h' | \
16485         xargs global-replace \
16486         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16487
16488 2000-02-25  Andy Piper  <andy@xemacs.org>
16489
16490         * window.c (window_top_frame_gutter_height): new function.
16491         (window_top_window_gutter_height): ditto.
16492         (window_top_gutter_height): use them.
16493         (window_bottom_frame_gutter_height): new function.
16494         (window_bottom_window_gutter_height): ditto.
16495         (window_bottom_gutter_height): use them.
16496         (window_left_window_gutter_width): new function.
16497         (window_left_frame_gutter_width): ditto.
16498         (window_left_gutter_width): use them.
16499         (window_right_window_gutter_width): new function.
16500         (window_right_frame_gutter_width): ditto.
16501         (window_right_gutter_width): use them.
16502         (window_pixel_height): new function. calulate window pixel height
16503         with frame gutter involvement.
16504         (Fsplit_window): calculate new sizes taking frame gutters into
16505         account.
16506         (window_char_height_to_pixel_height): don't include frame gutters.
16507         (window_char_height): use window_pixel_height.
16508         (window_pixheight): rename from window_pixel_height.
16509         (change_window_height): use it.
16510         (window_pixel_height_to_char_height): don't include frame gutters.
16511         (window_char_width_to_pixel_width): ditto.
16512
16513 2000-02-25  Andy Piper  <andy@xemacs.org>
16514
16515         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16516         if it is.
16517
16518 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16519
16520         * alloc.c (staticpro):
16521         (staticpro_nodump):
16522         (dumpstruct):
16523         (dumpopaque):
16524         (pdump_wire):
16525         (pdump_wire_list):
16526         (compact_string_chars):
16527         (pdump_dump_wired):
16528         Convert:  if (foo) abort();  ==>  assert (! foo);
16529
16530         * eldap.c (Fldap_search_basic):
16531         (Fldap_add):
16532         (Fldap_modify):
16533         (Fldap_delete):
16534         Fix compiler warnings, and possible crashes if (random) return
16535         value were to be used.
16536
16537 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16538
16539         * device-msw.c: Workaround ResetDC failure.
16540
16541         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16542         applying a devmode.
16543
16544         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16545         (mswindows_text_width): Do not start printer page.
16546
16547         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16548
16549         * glyphs-msw.c: Added image methods to msprinter console and
16550         msprinter-specific image instantiation.
16551
16552 2000-02-20  Mike Alexander  <mta@arbortext.com>
16553
16554         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16555         to avoid crashes when selection-sets-clipboard is on
16556         (mswindows_own_selection): ditto
16557
16558 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16559
16560         * glyphs-msw.c:
16561         * redisplay-msw.c (get_frame_dc):
16562         (get_frame_compdc):
16563         * console-msw.h:
16564         * device-msw.c (mswindows_init_device):
16565         (mswindows_delete_device):
16566         (msprinter_init_device):
16567         (msprinter_delete_device):
16568         * frame-msw.c (mswindows_init_frame_1):
16569         (mswindows_delete_frame):
16570         (msprinter_init_frame_3):
16571         (msprinter_delete_frame): Move compatible DC to device object from
16572         frame object, for both mswindows and msprinter. Only one at a time
16573         is needed, it is a real waste to have one per frame!
16574
16575 2000-02-23  Andy Piper  <andy@xemacs.org>
16576
16577         * glyphs.c: add dynamic width and height elements.
16578         (image_instance_equal): ditto.
16579
16580         * glyphs-widget.c (widget_query_geometry): calculate width and
16581         height dynamically if required.
16582         (initialize_widget_image_instance): initialize dynamic dimensions.
16583         (widget_instantiate): pick-up dynamic dimensions.
16584
16585         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16586         dynamic determination. Add appropriate macros.
16587
16588         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16589         dimensions safe.
16590         (WINDOW_GUTTER_SIZE): ditto.
16591         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16592
16593         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16594         inline.
16595         (get_frame_dc): ditto.
16596
16597         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16598         here.
16599
16600 2000-02-23  Martin Buchholz <martin@xemacs.org>
16601
16602         * XEmacs 21.2.31 is released.
16603
16604 2000-02-22  Ben Wing <ben@xemacs.org>
16605
16606         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16607
16608 2000-02-22  Andy Piper  <andy@xemacs.org>
16609
16610         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16611
16612 2000-02-21  Mike Sperber <mike@xemacs.org>
16613
16614         * .dbxrc:
16615         * .gdbinit:
16616         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16617         variables.
16618
16619 2000-02-21  Mike Sperber <mike@xemacs.org>
16620
16621         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16622
16623 2000-02-21  Martin Buchholz <martin@xemacs.org>
16624
16625         * XEmacs 21.2.30 is released.
16626
16627 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16628
16629         Performance hacking.
16630         * *.c (syms_of_*):
16631         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16632         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16633         * emacs.c (main_1):
16634         * lisp.h (DEFUN):
16635         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16636         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16637         * symeval.h (DEFVAR_SYMVAL_FWD):
16638         * symbols.c (guts_of_unbound_marker):
16639         Make all c_readonly objects also lisp_readonly and marked for life.
16640         * lrecord.h (struct lrecord_implementation):
16641         Document flags better.
16642         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16643         * lrecord.h (DECLARE_LRECORD):
16644         * lrecord.h (XSETRECORD):
16645         * lrecord.h (RECORDP):
16646         * lrecord.h (RECORD_TYPEP):
16647         * lrecord.h (RECORD_MARKER): New.
16648         * lrecord.h (error_check_*):
16649         * lrecord.h (CONCHECK_NONRECORD):
16650         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16651         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16652         * lrecord.h (set_lheader_implementation):
16653         * lrecord.h (enum lrecord_type): New.
16654         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16655         * alloc.c (disksave_object_finalization_1):
16656         * alloc.c (mark_object):
16657         * alloc.c (lrecord_type_index):
16658         * alloc.c (tick_lcrecord_stats):
16659         * alloc.c (Fgarbage_collect):
16660         * alloc.c (init_alloc_once_early):
16661         * alloc.c (pdump_load):
16662         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16663         * alloc.c (lrecord_type_index): Delete.
16664         Make lisp object type indexes be constant.
16665           Makes (byte-compile) 5% faster.
16666         Put all marker functions into their own array.
16667           Makes (garbage-collect) 5% faster.
16668         Optimize SYMBOL_VALUE_MAGIC_P.
16669           Makes (byte-compile) 2-3% faster.
16670         * config.h.in (gc_checking_assert): New.
16671         * alloc.c: Use gc_checking_assert().
16672         * .dbxrc: Make compatible with new object type implementation.
16673         * .gdbinit: Make compatible with new object type implementation.
16674         * alloc.c: Delete all symbols defined only for debugging, such as
16675         Lisp_Type_Vector and lrecord_charset.
16676
16677 2000-02-21  Andy Piper  <andy@xemacs.org>
16678
16679         * gui-msw.c (Fmswindows_shell_execute): fix file location
16680         problems.
16681
16682         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16683         unshowing so that set_window_buffer doesn't undo
16684         kill_buffer_hook's hard work.
16685
16686         * glyphs-widget.c (tab_control_query_geometry): don't count the
16687         first item when calculating geometry.
16688
16689         * glyphs.c (map_subwindow): remove redundant code.
16690         (update_frame_subwindows): be more circumspect about when to
16691         update subwindows.
16692
16693         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16694         when items haven't changed. Update faces if faces have changed as
16695         well as just the widget face.
16696         (x_tab_control_update): Update faces if faces have changed as well
16697         as just the widget face.
16698
16699 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16700
16701         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16702         registration.
16703         (build_syscolor_string): Use mswindows_color_to_string to try to
16704         get a named color.
16705         (mswindows_device_system_metrics): Reverse the foreground and
16706         background colors so that they match the documentation.
16707
16708         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16709         they match the default Windows palette.
16710         (mswindows_color_to_string): New function.
16711
16712 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16713
16714         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16715
16716 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16717
16718         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16719         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16720
16721         * symbols.c (init_symbols_once_early): Removed obsolete
16722         DATA_SEG_BITS related kludge.
16723         (defvar_magic): Ditto.
16724
16725         * malloc.c: Removed obsolete DATA_SEG_BITS
16726         * ralloc.c: Ditto.
16727         * mem-limits.h: Ditto.
16728
16729         * Makefile.in.in: Removed obsolete HAVE_SHM
16730         * emacs.c: Ditto.
16731
16732 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16733
16734         *  device-msw.c (mswindows_delete_device): Free DDE string
16735         handles.
16736
16737 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16738
16739         * keymap.c (get_keyelt):
16740         * unexnt.c (unexec):
16741         * vm-limit.c (memory_warnings):
16742         * ntheap.c (recreate_heap):
16743         * ntheap.h (UNINIT_PTR):
16744         * select-msw.c (Fmswindows_get_clipboard):
16745         (Fmswindows_set_clipboard):
16746         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16747         * objects-msw.c:
16748         * menubar-msw.c (displayable_menu_item):
16749         * glyphs-msw.c:
16750         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16751         * sysdep.c (sys_subshell):
16752         * process-nt.c (nt_create_process):
16753         * nt.c (normalize_filename):
16754         (dostounix_filename):
16755         (unixtodos_filename):
16756         * ntproc.c (win32_executable_type):
16757         * ntplay.c (play_sound_data_1):
16758         (play_sound_file):
16759         * editfns.c (get_home_directory):
16760         * event-msw.c (struct winsock_stream):
16761         (mswindows_dde_callback):
16762         * device-msw.c (msprinter_init_device):
16763         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16764
16765         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16766         mswindows_clear_toolbar were swapped!
16767
16768         * objects-msw.c:(colormap_t):
16769         (fontmap_t):
16770         * emacs.c (struct standard_args): Fixed const jumble.
16771
16772         * glyphs-widget.c (update_widget): Fixed comparison notation.
16773
16774         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16775
16776         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16777         __declspec(noreturn) syntax.
16778
16779 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16780
16781         * eldap.c (Fldap_open):
16782         (Fldap_search_basic):
16783         (Fldap_add):
16784         (Fldap_modify):
16785         Use new coding system conversion macros.
16786
16787 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16788
16789         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16790
16791 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16792
16793         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16794         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16795
16796         * eldap.c (Qadd, Qreplace): New constant symbols
16797         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16798         interruptions by XEmacs signals
16799         Remove unnecessary calls to slow_down_interrupts and
16800         speed_up_interrupts
16801         (Fldap_search_basic): Renamed from Fldap_search_internal
16802         Added new optional parameter VERBOSE that triggers the
16803         display of progress messages
16804         Remove unnecessary calls to slow_down_interrupts and
16805         speed_up_interrupts
16806         LDAP result code analysis rewritten
16807         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16808         (syms_of_eldap): Define the new symbols and functions
16809
16810
16811 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16812
16813         * realpath.c: Determine PATH_MAX maximally portably.
16814
16815         * insdel.c (bytecount_to_charcount): Optimize.
16816         The function used to be optimized for entirely ASCII sequences.
16817         Now it is optimized for successive characters from the same
16818         charset.  This also wins big for _mostly_ ASCII sequences.
16819
16820         * fileio.c (Ffile_truename): convert return from realpath() using
16821         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16822         - Rewrite GCPROing slightly.
16823
16824         * sysdep.c (sys_open): Do filename conversion, like all other
16825         sys_* functions.  Fixes bug:
16826         (let ((file-name-coding-system 'iso-8859-2))
16827            (write-region x y latin2-name))
16828         ==> writes filename using internal encoding.
16829
16830 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16831
16832         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16833         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16834         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16835         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16836         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16837         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16838         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16839         (CONST_IF_NOT_DEBUG): Delete.
16840         * alloc.c (this_one_is_unmarkable): Delete.
16841         (mark_object): Don't check for this_one_is_unmarkable. Use the
16842         c_readonly flag instead.
16843         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16844
16845 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16846
16847         * event-msw.c (mswindows_drain_windows_queue):
16848         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16849         away redundant repaint events.
16850
16851 2000-02-17  Andy Piper  <andy@xemacs.org>
16852
16853         * redisplay.h: declare mark_redisplay_structs.
16854
16855         * redisplay.c (redisplay_window):
16856         (redisplay_frame): don't check subwindows_state_changed.
16857         (mark_redisplay): mark gutters here.
16858
16859         * glyphs.c: (instantiate_image_instantiator): always layout if we
16860         haven't done so already.
16861         (allocate_image_instance): don't mark as dirty.
16862         (update_subwindow): bind inhibit_quit.
16863
16864         * gutter.c (mark_gutters): new function.
16865
16866         * glyphs-x.c (x_update_widget): Always resize to get round a
16867         widget bug.
16868
16869         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16870         breaking absolutely everything.
16871
16872         * gutter.h: declare mark_gutters.
16873
16874 2000-02-16  Martin Buchholz <martin@xemacs.org>
16875
16876         * XEmacs 21.2.29 is released.
16877
16878 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16879
16880         * fns.c (size_bit_vector): Fix computation of the size.
16881
16882 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16883
16884         * *.[ch]: Change CONST to const globally.
16885         find -name '*.[ch]' | \
16886         xargs global-replace \
16887         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16888         - Remove vestigial references to CONST_IS_LOSING
16889
16890 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16891
16892         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16893         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16894         events instead of dispatching them directly.
16895         (mswindows_handle_paint): New function to do repainting.
16896         (mswindows_wnd_proc):
16897         (emacs_mswindows_handle_magic_event): Call above function.
16898
16899 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16900
16901         * objects-msw.c (mswindows_create_font_variant): Return the new
16902         font handle.
16903         (initialize_font_instance): Get font metrics from the underlined
16904         variant of the font to cope with the case where the underlined
16905         font has a bigger descent.
16906
16907 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16908
16909         * gui.c (gui_item_accelerator): Return the first underlined
16910         character in item name.
16911
16912 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16913
16914         * lisp.h: Added Qprinter.
16915
16916         * general.c (syms_of_general): Initialized it.
16917
16918         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16919         (get_frame_dc):
16920         (get_frame_compdc): Made inline.
16921
16922         * console.h (struct console_methods): Added eject_page method.
16923
16924         * frame.h: Added FRAME_DISPLAY_P and friends.
16925         Aligned backslahes in many macros in more readable fashion.
16926         Added page_number to struct frame, and an accessor macro
16927         for it.
16928
16929         * defice.h: Added DEVICE_DISPLAY_P and friends.
16930
16931         * device.c (Fdevice_printer_p): Used these.
16932
16933         * frame.c (allocate_frame_core): Initialize page number.
16934         (Fprint_job_page_number):
16935         (Fprint_job_eject_page): Implemented.
16936
16937         * frame-msw.c (msprinter_eject_page): Added method.
16938         (msprinter_start_page): Added.
16939
16940         * window.c (Fwindow_truncated_p): Fixed docstring.
16941         (Fwindow_last_line_visible_height): Implemented.
16942
16943 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16944
16945         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16946
16947 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16948
16949         * syntax.c (scan_words): Always advance at least one character.
16950
16951 2000-02-13  Andy Piper  <andy@xemacs.org>
16952
16953         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16954         to make sure the glyph is in the cachels.
16955
16956         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16957         global image instance flag.
16958         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16959         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16960
16961         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16962         (Fset_image_instance_property): mark layout as changed.
16963         (invalidate_glyph_geometry_maybe): mark layout as changed.
16964         (glyph_width): use new NEEDS_LAYOUT macro.
16965         (glyph_ascent): ditto.
16966         (glyph_descent): ditto.
16967         (glyph_height): ditto.
16968         (image_instance_layout): mark layout as clean after laying out.
16969         (update_subwindow): don't mark layout as clean here.
16970
16971         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16972         should no longer be needed.
16973
16974         * glyphs-x.c (x_update_widget): sanitize asserts.
16975         (x_finalize_image_instance): sanitize assignment to widgets.
16976
16977         * glyphs-widget.c (widget_instantiate): don't need to clear the
16978         layout flag here.
16979
16980 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16981
16982         * sysdep.c (getcwd): Use standard prototype.
16983         * sysdep.h (getcwd): Use standard prototype.
16984
16985         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16986         (sequence, start, end).
16987         Remove redundant type checking.
16988         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16989         view of `caller-protects') to avoid a crash where the real fix was
16990         found elsewhere.
16991
16992 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16993
16994         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16995
16996         * s/sol2.h: Remove feature macro initialization.
16997
16998         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16999         (vector_hash): New.  Code from internal_hash.
17000         * lrecord.h:
17001         Fix up allocation subsystem comments.
17002
17003         * config.h.in: Add __EXTENSIONS__ for Solaris.
17004
17005         * systime.h (EMACS_GETTIMEOFDAY): New.
17006         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
17007         Remove Solaris-specific code.
17008         Use void* for the (ignored) second arg for gettimeofday().
17009
17010         * elhash.c (hash_table_hash): Implement it, finally.
17011         * elhash.c:  Use hashcode_t.
17012
17013         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
17014         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17015
17016         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17017         * fns.c (size_bit_vector):
17018         * alloc.c (size_vector):
17019         (make_vector_internal):
17020         (make_bit_vector_internal):
17021         (sweep_bit_vectors_1):
17022         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17023
17024 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17025
17026         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17027         Include strings.h to avoid warnings for bzero and strcasecmp.
17028
17029 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17030
17031         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17032         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17033
17034         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17035         sequence.
17036
17037 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17038
17039         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17040         use a value field instead.
17041         (symbol_value_forward_forward): Use value field.
17042         (DEFVAR_SYMVAL_FWD): Use value field.
17043         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17044         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17045         (DEFVAR_CONST_INT): Ditto.
17046         (DEFVAR_BOOL): Ditto.
17047         (DEFVAR_CONST_BOOL): Ditto.
17048         (DEFVAR_INT_MAGIC): Ditto.
17049         (DEFVAR_BOOL_MAGIC): Ditto.
17050
17051         * symbols.c (guts_of_unbound_marker): Use value field.
17052         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17053         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17054
17055         * lisp.h: Declare dumpopaque and noninteractive1.
17056
17057         * alloc.c (dumpopaque): Added.
17058         (pdump_dump_opaquevec): Added.
17059         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17060         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17061         noninteractive.
17062
17063 2000-02-10  Andy Piper  <andy@xemacs.org>
17064
17065         * glyphs.c (image_instance_layout): if the size changes, mark it
17066         as such.
17067
17068         * redisplay-output.c (redisplay_output_layout): Update the
17069         subwindow here.
17070         (redisplay_output_subwindow): ditto.
17071
17072         * glyphs.c (update_subwindow): make sure we reset flags for
17073         layouts as well as everything else.
17074
17075         * glyphs-widget.c (layout_layout): don't need to set the instances
17076         dimensions here.
17077
17078 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17079
17080         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17081         not HAVE_DLOPEN, which is a lower-level thing.
17082
17083         * .cvsignore: Ignore gmon.out
17084
17085 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17086
17087         * .cvsignore: Ignore portable dumper xemacs.dmp file
17088
17089 2000-02-09  Andy Piper  <andy@xemacs.org>
17090
17091         * redisplay-output.c (redisplay_output_layout): be more clever
17092         about when we output based on the changed flags.
17093
17094         * glyphs.h (struct image_instantiator_methods): add update_method.
17095         (struct Lisp_Image_Instance): add changed flags. Declare new
17096         macros for manipulating them.
17097
17098         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17099         (image_instance_parent_glyph): find an image_instance's parent
17100         glyph or image_instance.
17101         (image_instance_layout): mark the size as changed.
17102         (set_image_instance_dirty_p): new function. mark an image
17103         instance, plus all of its parents, as dirty.
17104         (Fset_image_instance_property): use it.
17105         (Fglyph_animated_timeout_handler): use it.
17106         (update_subwindow): call update_widget and device methods for
17107         update_subwindow. Mark all changed flags as clean.
17108         (Fresize_subwindow): mark size as changed.
17109
17110         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17111         failures.
17112         (x_update_subwindow): only resize subwindows here.
17113         (x_update_widget): new function. Update all changed properties of
17114         a widget.
17115         (x_resize_subwindow): deleted.
17116         (x_widget_set_property): deleted.
17117         (x_progress_gauge_set_property): deleted.
17118         (x_progress_gauge_update): new function. Implement recorded
17119         changes.
17120         (x_tab_control_update): ditto.
17121         (x_tab_control_set_property): deleted.
17122         (console_type_create_glyphs_x): declare new functions.
17123         (image_instantiator_format_create_glyphs_x): ditto.
17124
17125         * glyphs-widget.c (widget_set_property): mark text changed.
17126         (update_widget): new function. Update properties of a widget.
17127         (widget_instantiate): for layouts make sure we set their
17128         children's parent correctly.
17129         (tab_control_set_property): new function. Record changes that will
17130         take place under redisplay's control.
17131         (progress_gauge_set_property): ditto.
17132         (image_instantiator_progress_guage): declare new functions.
17133         (image_instantiator_tab_control): ditto.
17134
17135         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17136         now.
17137         (mswindows_update_widget): new function. Update all properties on
17138         a widget that have changed.
17139         (mswindows_button_update): new function. Update a button's set
17140         state.
17141         (mswindows_tab_control_update): new function. Update the items in
17142         a tab.
17143         (mswindows_tab_control_set_property): deleted.
17144         (mswindows_progress_gauge_update): new function. Update the
17145         progress gauge's progress.
17146         (mswindows_widget_set_property): deleted. This is all done
17147         asynchronously now.
17148         (mswindows_progress_gauge_set_property): ditto.
17149         (console_type_create_glyphs_mswindows): declare new methods.
17150         (image_instantiator_format_create_glyphs_mswindows): ditto.
17151
17152         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17153         (msprinter_set_frame_properties): ditto.
17154
17155         * console.h (struct console_methods): Add update_widget_method.
17156
17157 2000-02-09  Andy Piper  <andy@xemacs.org>
17158
17159         * gui-msw.c (Fmswindows_shell_execute): Make
17160         mswindows-shell-execute industrial strength.
17161
17162 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17163
17164         * lrecord.h: Make macro argument `props' match member function `plist'.
17165         * fns.c (Fget):
17166         * fns.c (Fput):
17167         * fns.c (Fremprop):
17168         * fns.c (Fobject_plist):
17169         * alloc.c:
17170         * symbols.c:
17171         Object property list frobbing cleanup.
17172         - Allow any lisp object (compared with `eq'), not just symbols, as
17173           keys in object plists.
17174         - Move symbol plist frobbing into symbols.c, where it belongs.
17175         - Move string plist frobbing into alloc.c, where it belongs.
17176         - Everything's an lrecord now, so no need to test for symbolp, etc.
17177         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17178
17179         * extents.c: Reorder code to remove declarations.
17180
17181         * frame.h (store_in_alist): Remove useless declaration.
17182
17183 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17184
17185         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17186         * config.h.in: Add HAVE_XCONVERTCASE.
17187
17188 2000-02-07  Andy Piper  <andy@xemacs.org>
17189
17190         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17191         it breaks many things.
17192
17193 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17194
17195         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17196         actually can start a common comment type.
17197         * src/syntax.h (SYNTAX_END_P): ditto for end.
17198
17199 2000-02-07  Martin Buchholz <martin@xemacs.org>
17200
17201         * XEmacs 21.2.28 is released.
17202
17203 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17204
17205         * event-Xt.c (x_keysym_to_character): New.
17206         (maybe_define_x_key_as_self_inserting_character): New.
17207         (x_has_keysym): New.
17208         Auto-define all keys on the keyboard as self-insert-key.
17209
17210 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17211
17212         * menubar.c (vars_of_menubar): A small code simplification.
17213
17214         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17215
17216         * ExternalShell.c:
17217         * ExternalClient.c:
17218         * EmacsShell-sub.c:
17219         * EmacsManager.c:
17220         * EmacsFrame.c:
17221         Use consistent style for specifying X resources.
17222
17223         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17224         This makes (dontusethis-set-symbol-value-handler) actually usable.
17225
17226         * lrecord.h (lrecord_decription_type):
17227         * alloc.c (pdump_register_sub):
17228         (pdump_dump_data):
17229         (pdump_reloc_one):
17230         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17231         Comply with XEmacs coding style.
17232         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17233         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17234
17235         * keymap.c (Faccessible_keymaps):
17236         Make (accessible-keymaps map "\C-h") do the Right Thing.
17237         Make (accessible-keymaps map []) do the Right Thing.
17238         Make (accessible-keymaps map "") do the Right Thing.
17239         (check_keymap_definition_loop): New function.
17240         (keymap_store_internal): Keep luser from shooting self in foot,
17241           via (define-key ctl-x-4-map "p" global-map).
17242         Remove fullness slot from struct Lisp_Keymap, since hash tables
17243         are now reliable.
17244         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17245
17246 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17247
17248         * redisplay.c (init_redisplay): Fix small memory leak.
17249         * elhash.h:
17250         * elhash.c (pdump_reorganize_hash_table):
17251         Rename from reorganize_hash_table. Change prototype.
17252         Reuse the original memory for hentries.  Save 100k.
17253         * alloc.c (PDUMP_READ): new macro.
17254         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17255         * alloc.c: No need to #ifndef before #undef.
17256
17257         * print.c: Allow debug_print() to print readably by modifying
17258         debug_print_readably.  Use consistent variable names.
17259
17260         * .dbxrc: Try to get things to work even if stopped in a function
17261         without source available by explicitly specifying source files.
17262 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17263
17264         * unexnt.c (_start): Removed bogus code which caused loading heap
17265         from differrent executable file.
17266         Removed bogus assignment to _fmode, which caused inconsistencies.
17267
17268 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17269
17270         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17271         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17272         Do not preliminary `#define signal sigset'.
17273
17274         * systime.h: Do not prototype environ on windows nt and cygwin,
17275         this conflicts with system header.
17276
17277         * syssignal.h: Use correct define for WINDOWSNT
17278
17279         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17280         with system header.
17281
17282         * sysdep.c (near start of file): Fixed commentary and rearranged
17283         ifdefs in readable order.
17284         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17285         (start_of_text):
17286         (end_of_text):
17287         (end_of_data): Do not compile in if using PDUMP.
17288
17289         * symsinit.h: Prototyped vars_of_nt().
17290
17291         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17292         (find_child_console): Use it.
17293         (sys_kill): Use it.
17294
17295         * ntheap.h: Do not extern os_subtype.
17296
17297         * ntheap.c (cache_system_info): Do not cache unneeded:
17298         nt_major_version, nt_minor_version and os_subtype.
17299         (recreate_heap): Do not compile in when PDUMPing.
17300
17301         * nt.c (geteuid and friends): Use the new varibale
17302         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17303         (init_user_info): Removed the above mentioned hackery.
17304         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17305         stat has been fixed in the C runtime.
17306         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17307
17308         * file-coding.c (struct file_coding_dump): Do not define
17309         ucs_to_mule_table in the struct if not MULE.
17310         (struct struct lrecord_description fcd_description_1): Do not dump
17311         the above.
17312
17313         * emacs.c (main_1): Call vars_of_nt().
17314         (right before Fdump_emacs_data): Don't need lastfile if using both
17315         portabe dumper and system malloc.
17316
17317         * alloc.c (Fmemory_limit): Conditionalized out.
17318         (pdump): Use OPEN_BINARY for the portable dump file.
17319         (pdump_load): Ditto.
17320
17321 2000-02-02  Mike Alexander  <mta@arbortext.com>
17322
17323         * nt.c (convert_time): Set tm_isdst before calling mktime and
17324         avoid calling it at all if the compiler supports 64 bit integers.
17325         Also initialize utc_base_ft before using it.
17326
17327 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17328
17329         * frame.c (change_frame_size_1): Take f->internal_border_width
17330         into consideration when calculating the width of the frame.
17331
17332 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17333
17334         * window.c (frame_min_height):
17335         (frame_size_valid_p):
17336         (frame_pixsize_valid_p): Added.
17337         (check_frame_size): Generalized.
17338
17339         * window.h: Prototyped the above.
17340
17341         * lisp.h:
17342         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17343         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17344         Deleted Vwin32_* and Vbinary_process_* unused variables.
17345
17346         * device-msw.c (msprinter_init_device): Do not get printer font
17347         list; Added DEVMODE functions.
17348
17349         * frame-msw.c: Added lots of printer code.
17350
17351         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17352         general.c.
17353
17354         * console-msw.h: Added more msprinter device private slots.
17355
17356 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17357
17358         * event-msw.c (key_needs_default_processing_p): Added.
17359         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17360
17361 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17362
17363         * glyphs.c (image_instance_layout): Mark image instance as clean
17364         after layout.
17365         (glyph_dirty_p): Removed redundant function.
17366         (invalidate_glyph_geometry_maybe): Added.
17367         (update_glyph_cachel_data): Call it.
17368
17369         * glyphs.h: Prototyped it.
17370
17371         * redisplay.c (add_glyph_rune): Call it.
17372         (redisplay_window): Reset glyphs cachels when frame faces have
17373         changed, thus forcing recomputation of built-in border glyphs.
17374
17375 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17376
17377         * Makefile.in.in: Make portable dumper and purify play well together.
17378         Add imperfect, but better than nothing, support for pdump.
17379         Remove xemacs.dmp when temacs is re-generated.
17380         Don't ignore errors when dumping xemacs.
17381
17382         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17383
17384 2000-01-28  Andy Piper  <andy@xemacs.org>
17385
17386         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17387         (setup_normal_frame): ditto.
17388         (setup_frame_without_minibuffer): ditto.
17389         (setup_minibuffer_frame): ditto.
17390         (delete_frame_internal): ditto.
17391         (Fmake_frame_invisible): ditto.
17392         (Ficonify_frame): ditto.
17393
17394         * window.h: change Fset_window_buffer signature.
17395
17396         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17397         (Fset_window_buffer): allow recording of buffer if the window is
17398         the selected window.
17399         (window_loop): Use new Fset_window signature.
17400
17401 2000-01-23  Daniel Pittman  <daniel@danann.net>
17402
17403         * config.h.in: Added template for `HAVE_ATHENA_3D'
17404
17405 2000-01-29  Andy Piper  <andy@xemacs.org>
17406
17407         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17408
17409         * gutter.c (output_gutter): Don't output if the window isn't live.
17410
17411 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17412
17413         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17414         of 01/12/00: Moved SetFocus back here where it belongs.
17415
17416 2000-01-23  Andy Piper  <andy@xemacs.org>
17417
17418         * s/cygwin32.h: declare printer things.
17419
17420 2000-01-26  Andy Piper  <andy@xemacs.org>
17421
17422         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17423         Alexander.
17424
17425 2000-01-24  Andy Piper  <andy@xemacs.org>
17426
17427         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17428         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17429
17430         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17431
17432         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17433
17434         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17435
17436         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17437         (mswindows_output_display_block): Avoid local shadows.
17438
17439         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17440         (mswindows_enqueue_mouse_button_event): ditto.
17441         (mswindows_handle_gui_wm_command): remove declaration.
17442
17443         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17444         warnings.
17445
17446         * console-msw.h: Avoid shadows.
17447         (mswindows_get_toolbar_button_text):
17448         (emacs_mswindows_create_stream_pair):
17449         (emacs_mswindows_delete_stream_pair):
17450         (mswindows_handle_toolbar_wm_command): declare.
17451
17452         * device-msw.c (build_syscolor_string): Avoid shadows.
17453
17454 2000-01-23  Andy Piper  <andy@xemacs.org>
17455
17456         * glyphs-widget.c (widget_instantiate): reverse the items for
17457         layouts so that children are in the expected order.
17458
17459 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17460
17461         * ralloc.c: safe_bcopy ==> memmove
17462         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17463         * s/msdos.h: Remove BCOPY macros.
17464         * insdel.c (gap_right): Remove BCOPY conditional code.
17465         * insdel.c (gap_left): Remove BCOPY conditional code.
17466         XEmacs demands a working ANSI C compiler - hence memmove.
17467
17468         * regex.c (regex_compile): Remove accidental use of trigraphs.
17469
17470 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17471
17472         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17473         event timestamp.
17474
17475 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17476
17477         * event-msw.c (mswindows_drain_windows_queue): Added the
17478         parameter.
17479         (mswindows_need_event): Commented the call to
17480         mswindows_drain_windows_queue().
17481         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17482         only.
17483
17484         * console-msw.h: Moved a few function prototypes here from
17485         event-msw.c.
17486
17487         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17488         parameter from unsigned short to unsigned long.
17489         (Fmswindows_shell_execute): Added return value.
17490
17491 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17492
17493         * sysdep.c (init_system_name):
17494           process-unix.c (unix_canonicalized_host_name):
17495         Don't call freeaddrinfo() if getaddrinfo() fails.
17496
17497         * process-unix.c (unix_open_unix_network_stream):
17498         Moved the code to get a port # into address loop.
17499
17500 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17501
17502         * buffer.c (reinit_vars_of_buffer):
17503         The right place to initialize conversion_in_dynarr and
17504         conversion_out_dynarr.
17505
17506         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17507
17508         * process-unix.c (unix_canonicalize_host_name): Muleize.
17509         (unix_open_network_stream): Muleize.
17510
17511         * buffer.h: Fix up prototypes for ralloc.c functions.
17512
17513 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17514         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17515         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17516                 instead of gethostbyname()
17517         * process-unix.c: In unix_canonicalize_host_name() and
17518                 unix_open_network_stream(), add code to use getaddrinfo()
17519                 instead of gethostbyname().
17520
17521 2000-01-27  Daniel Pittman <daniel@danann.net>
17522
17523         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17524         libs when built with flat Athena.
17525
17526 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17527
17528         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17529         Use coding standards for function prototypes.
17530
17531 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17532
17533         * dialog-msw.c (push_lisp_string_as_unicode):
17534         * doc.c (unparesseuxify_doc_string):
17535         * dired.c (Fuser_name_completion_1):
17536         * dired.c (Fuser_name_all_completions):
17537         * dired.c (free_user_cache):
17538         * dired.c (user_name_completion):
17539         * console-x.c (get_display_arg_connection):
17540         * minibuf.c (clear_echo_area_internal):
17541         * minibuf.c (echo_area_append):
17542         * eldap.c (Fldap_open):
17543         * eldap.c (Fldap_search_internal):
17544         * frame-x.c (x_set_frame_text_value):
17545         * frame-x.c (x_set_frame_properties):
17546         * frame-x.c (x_create_widgets):
17547         * redisplay-tty.c (term_get_fkeys_1):
17548         * objects-x.c (x_parse_nearest_color):
17549         * objects-x.c (x_valid_color_name_p):
17550         * objects-x.c (x_initialize_font_instance):
17551         * objects-x.c (x_list_fonts):
17552         * objects-x.c (x_find_charset_font):
17553         * tooltalk.c (Fadd_tooltalk_message_arg):
17554         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17555         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17556         * process-unix.c (unix_create_process):
17557         * ntproc.c (sys_spawnve):
17558         * sound.c (Fplay_sound_file):
17559         * sound.c (Fplay_sound):
17560         * buffer.c (init_initial_directory):
17561         * buffer.c (init_buffer):
17562         * editfns.c (init_editfns):
17563         * editfns.c (Ftemp_directory):
17564         * editfns.c (Fuser_full_name):
17565         * editfns.c (uncache_home_directory):
17566         * editfns.c (get_home_directory):
17567         * editfns.c (Fuser_home_directory):
17568         * editfns.c (Fformat_time_string):
17569         * editfns.c (Fcurrent_time_string):
17570         * gui-x.c (button_item_to_widget_value):
17571         * database.c (Fopen_database):
17572         * event-Xt.c (x_to_emacs_keysym):
17573         * event-Xt.c (x_event_to_emacs_event):
17574         * event-Xt.c (describe_event_window):
17575         * event-msw.c (mswindows_wnd_proc):
17576         * glyphs-eimage.c (jpeg_instantiate):
17577         * glyphs-eimage.c (gif_instantiate):
17578         * glyphs-eimage.c (png_instantiate):
17579         * glyphs-eimage.c (tiff_instantiate):
17580         * glyphs-x.c (xbm_instantiate_1):
17581         * glyphs-x.c (x_xbm_instantiate):
17582         * glyphs-x.c (x_xface_instantiate):
17583         * glyphs-x.c (autodetect_instantiate):
17584         * glyphs-x.c (cursor_font_instantiate):
17585         * glyphs-x.c (x_widget_instantiate):
17586         * glyphs-x.c (x_widget_set_property):
17587         * glyphs-x.c (x_widget_property):
17588         * glyphs-x.c (BUILD_GLYPH_INST):
17589         * print.c (write_string_to_stdio_stream):
17590         * print.c (output_string):
17591         * print.c (Falternate_debugging_output):
17592         * print.c (Fexternal_debugging_output):
17593         * glyphs-msw.c (extract_xpm_color_names):
17594         * glyphs-msw.c (mswindows_xpm_instantiate):
17595         * glyphs-msw.c (bmp_instantiate):
17596         * glyphs-msw.c (resource_name_to_resource):
17597         * glyphs-msw.c (mswindows_resource_instantiate):
17598         * glyphs-msw.c (xbm_instantiate_1):
17599         * glyphs-msw.c (mswindows_xbm_instantiate):
17600         * glyphs-msw.c (mswindows_xface_instantiate):
17601         * glyphs-msw.c (mswindows_widget_instantiate):
17602         * glyphs-msw.c (add_tree_item):
17603         * glyphs-msw.c (add_tab_item):
17604         * glyphs-msw.c (mswindows_combo_box_instantiate):
17605         * glyphs-msw.c (mswindows_widget_property):
17606         * glyphs-msw.c (mswindows_combo_box_property):
17607         * glyphs-msw.c (mswindows_widget_set_property):
17608         * console.c (stuff_buffered_input):
17609         * objects-msw.c (mswindows_initialize_color_instance):
17610         * objects-msw.c (mswindows_valid_color_name_p):
17611         * objects-msw.c (mswindows_list_fonts):
17612         * objects-msw.c (mswindows_font_instance_truename):
17613         * bytecode.c (optimize_compiled_function):
17614         * select-x.c (symbol_to_x_atom):
17615         * select-x.c (x_atom_to_symbol):
17616         * select-x.c (hack_motif_clipboard_selection):
17617         * select-x.c (selection_data_to_lisp_data):
17618         * select-x.c (lisp_data_to_selection_data):
17619         * select-x.c (Fx_get_cutbuffer_internal):
17620         * select-x.c (Fx_store_cutbuffer_internal):
17621         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17622         * buffer.h (TO_INTERNAL_FORMAT): New function.
17623         * emacs.c (make_arg_list_1):
17624         * emacs.c (make_argc_argv):
17625         * emacs.c (main_1):
17626         * emacs.c (Fdump_emacs):
17627         * emacs.c (split_string_by_emchar_1):
17628         * file-coding.h:
17629         * lisp.h:
17630         * lstream.h:
17631         * symsinit.h:
17632         * device-x.c (x_init_device):
17633         * device-x.c (Fx_valid_keysym_name_p):
17634         * device-x.c (Fx_get_font_path):
17635         * device-x.c (Fx_set_font_path):
17636         * glyphs.c (bitmap_to_lisp_data):
17637         * glyphs.c (pixmap_to_lisp_data):
17638         * alloc.c (make_ext_string): Use coding system arguments.  Update
17639         all callers.
17640         * alloc.c (build_string):
17641         * callproc.c (child_setup):
17642         * callproc.c (init_callproc):
17643         * fileio.c (lisp_strerror):
17644         * fileio.c (directory_file_name):
17645         * fileio.c (Fexpand_file_name):
17646         * fileio.c (Ffile_truename):
17647         * fileio.c (Fsysnetunam):
17648         * fileio.c (Fdo_auto_save):
17649         * sysdep.c (sys_readdir):
17650         * tests.c: New file.  Allow adding C tests.
17651         Replace GET_* macros with a more comprehensible and flexible
17652         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17653         Modify all calls.
17654         Any coding system can be used to do format conversion.
17655         Eliminate enum external_data_format.
17656         Eliminate convert_to_external_format.
17657         Eliminate convert_to_internal_format.
17658         Make sure file-name, keyboard, terminal, and ctext are always
17659         defined as coding systems or aliases.  Make
17660         file-name-coding-system, terminal-coding-system, and
17661         keyboard-coding-system magical variables that are equivalent to
17662         defining the corresponding coding system aliases.
17663
17664         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17665         * file-coding.c (Fcoding_system_alias_p): New function.
17666         * file-coding.c (Fcoding_system_aliasee): New function.
17667         * file-coding.c (append_suffix_to_symbol): New function.
17668         * file-coding.c (dangling_coding_system_alias_p): New function.
17669         * file-coding.c (Ffind_coding_system):
17670         * file-coding.c (Fcopy_coding_system):
17671         * file-coding.c (encode_coding_no_conversion):
17672         * file-coding.c (syms_of_file_coding):
17673         * file-coding.c (vars_of_file_coding):
17674         Rewrite coding system alias code.
17675         Allow nested aliases, like symbolic links.
17676         Allow redefinition of coding system aliases.
17677         Prevent existence of dangling coding system aliases.
17678
17679         * dired.c (Fuser_name_completion_1):
17680         * dired.c (Fuser_name_all_completions):
17681         A crash would happen if user did QUIT in the middle of building
17682         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17683
17684         * lisp.h:
17685         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17686
17687         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17688         an unsigned char *.  Update all callers.
17689
17690 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17691
17692         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17693
17694 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17695
17696         * elhash.c (hentry_description): Use more portable definition.
17697         (resize_hash_table): Initialize new hentries using
17698         xnew_array_and_zero, thereby simplifying the code.
17699
17700         * mule-charset.c (make_charset): Make sure entire object is
17701         initialized, to avoid Purify warnings.
17702
17703         * alloc.c (resize_string): Fix unlikely crash with big strings.
17704
17705 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17706
17707         * realpath.c (xrealpath):
17708         Don't call getwd().
17709
17710 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17711
17712         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17713
17714 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17715
17716         * unexelfsgi.c (unexec): Change the way we decide which segment
17717         should be extended.
17718
17719         Assumption that .bss section should be outside the PT_LOADable
17720         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17721         it's present) is inside the 'data' segment. This would fail the
17722         test which was used to find a segment to grow and cover new
17723         heap. Instead of this assumption, I created another one - on IRIX
17724         the segment to grow should start below .bss and it's address
17725         should extent above the end of .bss. Once this segment is
17726         identified, it's grown to accommodate the new heap and new
17727         zero-length .bss section is added at the end of .data2.
17728
17729 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17730
17731         * eval.c (Feval): Wrong number of arguments should use original
17732         function, not the indirect_function version of it.
17733
17734 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17735
17736         * glyphs-x.c (x_button_instantiate): Don't add image if
17737         it is not a pixmap.
17738         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17739         is relative.
17740
17741 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17742
17743         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17744         declaration.
17745         (DEFVAR_INT_MAGIC): Ditto.
17746         (DEFVAR_BOOL_MAGIC): Ditto.
17747         * glyphs.h: Reindent backslash.
17748
17749 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17750
17751         * glyphs-widget.c (layout_query_geometry):
17752         (layout_layout): Use correct types for gheight, gwidth.
17753
17754 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17755
17756         * EmacsManager.c (QueryGeometry): Purified.
17757
17758 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17759
17760         * alloc.c (make_float): Make sure entire object is initialized, to
17761         avoid Purify warnings.
17762         (pdump_register_sub): Remove useless assignment.
17763         (pdump): Use xmalloc, not malloc.
17764         (pdump_load): Use xmalloc, not malloc.
17765
17766 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17767
17768         * callproc.c:
17769         * dired-msw.c:
17770         * fileio.c:
17771         * process-nt.c:
17772         * redisplay-msw.c:
17773         * sysdep.c: Removed redundant #include <windows.h>
17774
17775 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17776
17777         * frame.c (delete_frame_internal): Do not delete device when its
17778         implementation so declares.
17779         (delete_frame_internal): Set device selected frame to nil when
17780         last frame goes away.
17781
17782         * device-msw.c (msprinter_device_system_metrics): Implemented.
17783         (mswindows_device_system_metrics): Added 'device-dpi property.
17784
17785         * device.c: (Fdevice_printer_p): Added.
17786         Added 'offset-workspace device metric.
17787
17788         * console.h (device_metrics): Declared DM_offset_workspace.
17789
17790 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17791
17792         * fileio.c (Ffile_truename): Remove pointless and confusing
17793         initialization of elen.
17794
17795         * glyphs-widget.c: Compiler warning fixes.
17796
17797 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17798
17799         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17800         instead of a Lisp_Object as argument to make it consistent with
17801         the other LIVE_P macros.
17802         (CHECK_LIVE_PROCESS): New macro.
17803
17804         * process.c: Declare Qprocess_live_p.
17805         (Fprocess_live_p): New function.
17806         (create_process): Use PROCESS_LIVE_P.
17807         (read_process_output): Ditto.
17808         (set_process_filter): Ditto.
17809         (Fdelete_process): Ditto.
17810         (kill_buffer_processes): Ditto
17811         (process_send_signal): Use CHECK_LIVE_PROCESS.
17812         (Fprocess_input_coding_system): Check whether process is still
17813         alive (fix PR#1061).
17814         (Fprocess_output_coding_system): Ditto.
17815         (Fprocess_coding_system): Ditto.
17816         (Fset_process_input_coding_system): Ditto.
17817         (Fset_process_output_coding_system): Ditto.
17818
17819 2000-01-23  Andy Piper  <andy@xemacs.org>
17820
17821         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17822         layout and widget.
17823
17824         * glyphs.c (mark_image_instance): take into account changed
17825         image_instance format.
17826         (image_instance_equal): ditto.
17827         (image_instance_hash): ditto.
17828
17829         * glyphs-widget.c (widget_instantiate): Incorporate layout
17830         instantiation here. Delay layout of the layout until later.
17831         (layout_instantiate): deleted.
17832         (layout_query_geometry): new function. get the geometry of a
17833         layout.
17834         (layout_layout): layout a layout dynamically.
17835         (image_instantiator_widget): New function - splitting up
17836         image_instantiator_format_create_glyphs_widget for netwinder
17837         compilation.
17838         (image_instantiator_buttons):
17839         (image_instantiator_edit_fields):
17840         (image_instantiator_combo_box):
17841         (image_instantiator_scrollbar):
17842         (image_instantiator_progress_guage):
17843         (image_instantiator_tree_view):
17844         (image_instantiator_tab_control):
17845         (image_instantiator_labels):
17846         (image_instantiator_layout): ditto.
17847         (image_instantiator_format_create_glyphs_widget): Call preceding
17848         functions.
17849
17850 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17851
17852         * process.c (Fset_process_coding_system):
17853         * device-x.c (Fx_keysym_hash_table):
17854         Docstring fixes.
17855
17856         * lstream.c (Lstream_write): Return documented value, not 0.
17857
17858         * fileio.c (directory_file_name):
17859         (Fsubstitute_in_file_name):
17860         (Fsubstitute_insert_file_contents_internal):
17861         (Fwrite_region_internal):
17862         * emacs.c:
17863         * sysdep.c:
17864         * getloadavg.c:
17865         * systty.h:
17866         Remove vestigial APOLLO-conditional code.
17867
17868 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17869
17870         * getpagesize.h: Add guard macros.
17871         * libsst.h: Add guard macros.
17872         * libst.h: Add guard macros.
17873         * line-number.h: Add guard macros.
17874         * ndir.h: Add guard macros.
17875         * sysfloat.h: Add guard macros.
17876         * sysfile.h: Add guard macros.
17877         * sysproc.h: Add guard macros.
17878         * syswait.h: Add guard macros.
17879         * xintrinsic.h: Add guard macros.
17880         * xintrinsicp.h: Add guard macros.
17881         * xmmanager.h: Add guard macros.
17882         * xmmanagerp.h: Add guard macros.
17883         * xmprimitive.h: Add guard macros.
17884         * xmu.h: Add guard macros.
17885         * gpmevent.h: Add copyright statement. Add guard macros.
17886         * miscplay.h: Add guard macros.
17887         * *.h: Use consistent C-standards-approved guard macro names.
17888
17889         * opaque.c (make_opaque): Switch parameter order.
17890         * opaque.h (make_opaque): Switch parameter order.
17891         Update all callers.
17892         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17893
17894         * config.h.in (type_checking_assert): Added.
17895         (bufpos_checking_assert): Added.
17896
17897 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17898
17899         * alloc.c: Harmless pdump changes.
17900         - Use countof().
17901         - spell alignment correctly.
17902         * sysdep.c: Use countof()
17903
17904 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17905
17906         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17907         initially_selected_for_input() console method, default to 0.
17908         (semi_canonicalize_console_connection): Try to delegate to
17909         canonicalize_console_connection if no such console method.
17910         (canonicalize_console_connection): Vice versa.
17911         (print_console): Do not print nil connection.
17912
17913         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17914         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17915         (XDEVIMPF_FRAMELESS_OK): Added.
17916         (CONSOLE_INHERITS_METHOD): Added.
17917
17918         * console-msw.c (mswindows_canonicalize_console_connection):
17919         Added.
17920         (mswindows_canonicalize_device_connection): Added.
17921
17922         * console-msw.h (struct msprinter_device): Added this struct and
17923         accessor macros.
17924         (mswindows_device): Made fontlist a lisp object.
17925
17926         * device.c (semi_canonicalize_device_connection):  Try to delegate
17927         to canonicalize_device_connection if no such console method.
17928         (canonicalize_device_connection): Vice versa.
17929         (print_device): Do not print nil connection.
17930
17931         * device-msw.c (mswindows_init_device): Call InitCommonControls
17932         when have widgets.
17933         (mswindows_delete_device): Removed fontlist deallocation.
17934         (mswindows_mark_device): Added.
17935
17936         * events.c (event_equal): Added abort() at unreached code.
17937         (event_hash): Ditto.
17938
17939         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17940         fallback tags of Windows devices.
17941
17942         * general.c (syms_of_general): Initialized Qmsprinter.
17943
17944         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17945         of fallback tags of Windows devices.
17946
17947         * lisp.h: Declared Qmsprinter.
17948
17949         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17950         of strings.
17951         (mswindows_list_fonts): Ditto.
17952         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17953         that it can be used by both mswindows and msprinter devices.
17954         (initialize_font_instance): Added.
17955         (mswindows_initialize_font_instance): Use it.
17956         (msprinter_initialize_font_instance): Added.
17957
17958         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17959         and implementation flags check.
17960         (redisplay_without_hooks): Changed the call to the above.
17961         (Fredraw_device): Ditto.
17962         (Fredisplay_device): Ditto.
17963
17964         * redisplay-msw.c (get_frame_dc): Implemented.
17965         (get_frame_compdc): Implemented.
17966         (many functions): Use the two functions above to get device
17967         contexts, ether for a window or a printer.
17968
17969 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17970
17971         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17972         initialization here.
17973         (init_symbols_once_early): Call it.
17974         * emacs.c (main_1): Call it.
17975         * symsinit.h: Declare it.
17976
17977 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17978
17979         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17980         Lisp_Object.
17981         (pdump_backtrace): Ditto.
17982         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17983         (pdump_get_entry): Abort if trying to register a null pointer.
17984         (pdump_dump_data): Cleanup types when relocating.
17985         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17986         (pdump_dump_rtables): Remove bad casts.
17987         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17988         Lisp_Object instead of a EMACS_INT for the hashtable
17989         reorganization.
17990
17991 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17992
17993         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17994
17995         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17996
17997         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17998
17999         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
18000
18001 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18002
18003         * faces.h (FACE_STRIKETHRU_P): Added.
18004
18005         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
18006         of font variants.
18007
18008         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
18009         (mswindows_set_dc_font): New function, aware of font variants,
18010         separated from mswindows_update_dc.
18011
18012         * objects-msw.h (struct mswindows_font_instance_data): Added
18013         definition.
18014
18015         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18016         cached fonts and the data structure.
18017         (mswindows_initialize_font_instance): Added creation of font data
18018         structure.
18019         (mswindows_print_font_instance): Print at least something.
18020         (mswindows_create_font_variant): Implemented.
18021         (mswindows_get_hfont): Implemented.
18022
18023 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18024
18025         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18026         prototyping problem with msvc.
18027
18028         * emacs.c (main_1): added syms_of_gui_mswindows() call
18029
18030         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18031         syms_of_gui_mswindows() function
18032
18033         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18034
18035 2000-01-18  Martin Buchholz <martin@xemacs.org>
18036
18037         * XEmacs 21.2.27 is released.
18038
18039 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18040
18041         * glyphs-eimage.c (struct tiff_error_struct):
18042         (tiff_error_func):
18043         (tiff_warning_func):
18044         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18045
18046         * unexmips.c:
18047         * unexhp9k3.c:
18048         * unexfreebsd.c:
18049         * unexec.c: Remove vestigial Lucid C code.
18050         * unexalpha.c:
18051         * unexaix.c:
18052         * termcap.c:
18053         * libsst.c: Ansify.
18054         Remove declarations of errno and strerror().
18055
18056         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18057
18058         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18059
18060 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18061
18062         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18063         Optimize.
18064
18065 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18066
18067         * md5.c:
18068         * file-coding.c:
18069         * file-coding.h:
18070         Change enum eol_type to eol_type_t.
18071
18072 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18073
18074         * gui.c (get_gui_callback): Check cons before accessing car.
18075
18076 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18077
18078         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18079         (XSETSPECIFIER_TYPE): Ditto.
18080
18081 2000-01-17  Didier Verna  <didier@xemacs.org>
18082
18083         * redisplay.c (generate_fstring_runes): compute string size in
18084         characters, not bytes.
18085
18086 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18087
18088         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18089
18090 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18091
18092         * print.c (print_error_message): Call print_prepare().
18093
18094 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18095
18096         * .dbxrc: Renamed from dbxrc.
18097
18098         * events.c (event_to_character):
18099         Use `assert (foo)' instead of `if (!foo) abort()'
18100
18101         * .gdbinit (xtype): Add documentation.
18102         * .gdbinit (check-temacs): New function.
18103         * .gdbinit (check-xemacs): New function.
18104         * dbxrc (check-xemacs): New function.
18105         * dbxrc (check-xemacs): New function.
18106
18107 2000-01-14  Andy Piper  <andy@xemacs.org>
18108
18109         * glyphs-widget.c (widget_query_geometry): Make sure that we
18110         calculate default dimensions correctly.
18111
18112 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18113
18114         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18115
18116         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18117         pdump_wire'd variable.
18118
18119         * emacs.c: (main_1): Conditionalized calls to
18120         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18121
18122 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18123
18124         * window.c (Fset_window_configuration):
18125         * sysdep.c (_start):
18126         * input-method-motif.c (res):
18127         * event-Xt.c (Xt_process_to_emacs_event):
18128         Simple compiler warning fixes.
18129
18130         * bytecode.c (funcall_compiled_function): Use the original
18131         function symbol on the backtrace list in preference to the
18132         compiled_function object in error messages.
18133
18134 2000-01-13  Andy Piper  <andy@xemacs.org>
18135
18136         * glyphs-x.c (update_widget_face): Make sure we update the widget
18137         background as well as foreground.
18138
18139 2000-01-13  Andy Piper  <andy@xemacs.org>
18140
18141         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18142         fields to subwindow.
18143         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18144         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18145         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18146         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18147
18148         * glyphs-widget.c (check_valid_tab_orientation): new function.
18149         (initialize_widget_image_instance): zero orientation and
18150         justification.
18151         (widget_instantiate): pick up orientation.
18152         (tab_control_query_geometry): return appropriate values for
18153         vertical tabs.
18154
18155         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18156         appropriate creation flags for left, right and bottom tabs.
18157
18158         * s/cygwin32.h: add tab definitions.
18159
18160 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18161
18162         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18163         frame upon hiding a subwindow.
18164         (mswindows_button_instantiate): Changed the push button style to
18165         BS_PUSHBUTTON.
18166         (mswindows_button_instantiate): Removed button BS_NOTIFY
18167         style.
18168         (mswindows_button_instantiate): Removed redundant check for
18169         a disabled gui item.
18170         (mswindows_button_instantiate): Made use of WS_TABSTOP
18171         consistent: "operable" controls (edit, button, tree, scroll) have
18172         this style, "display-only" ones (static, progress gauge) do
18173         not. This style is currently ignored by XEmacs though. Also,
18174         removed the WS_EX_CONTROLPARENT style - it is not for children,
18175         it is for their parents!
18176         (mswindows_edit_field_instantiate): Ditto.
18177         (mswindows_progress_gauge_instantiate): Ditto.
18178         (mswindows_tree_view_instantiate): Ditto.
18179         (mswindows_tab_control_instantiate): Ditto.
18180         (mswindows_scrollbar_instantiate): Ditto.
18181         (mswindows_combo_box_instantiate): Ditto.
18182         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18183         style to the "clip" window.
18184         (mswindows_button_instantiate): Removed compilation warning by
18185         equally typing terms of the ?: operator.
18186
18187 2000-01-12  Didier Verna  <didier@xemacs.org>
18188
18189         * redisplay.c (generate_fstring_runes): new parameter holding the
18190         last modeline-format extent.
18191         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18192         extent, fill the glyph block with it.
18193         (generate_fstring_runes): handle these parameters.
18194         (generate_formatted_string_db): ditto.
18195
18196         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18197         glyphs'extents in the modeline.
18198
18199 1999-01-11  Mike Woolley  <mike@bulsara.com>
18200
18201         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18202         256Mb, as a workaround for the non-starting problem many people
18203         have experienced.
18204
18205 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18206
18207         * console-tty.c (Fset_console_tty_output_coding_system):
18208         Force redrawing tty frame.
18209
18210 2000-01-10  Didier Verna  <didier@xemacs.org>
18211
18212         * redisplay.c (generate_fstring_runes): fix size computation bug.
18213
18214 2000-01-09  William M. Perry <wmperry@aventail.com>
18215
18216         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18217
18218 2000-01-09  Andy Piper  <andy@xemacs.org>
18219
18220         * glyphs-msw.c: index -> i to avoid shadows.
18221         (xbm_create_bitmap_from_data): make static.
18222         (check_valid_string_or_int): deleted.
18223         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18224
18225         * glyphs-x.c (x_update_subwindow): remove unused args.
18226
18227         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18228         back pointer - this is done in allocate_image_instance.
18229         (query_string_font): return Qnil to make the compiler happy.
18230         (unmap_subwindow): set to ~0 to make the compiler happy.
18231         (glyph_query_geometry): comment out until used.
18232         (glyph_layout): ditto.
18233
18234 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18235
18236         * insdel.c (signal_after_change): Remove extraneous unbind_to().