update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
4
5 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
6
7         * concord.c (Fconcord_decode_object): Try to use readable print
8         form as a key of Concord-index.
9         (Fconcord_object_get): Try to use readable print form as an ID of
10         Concord-object.
11         (Fconcord_object_put): Try to use readable print form as an ID of
12         Concord-object and a feature value.
13         (Fconcord_object_spec): Try to use readable print form as an ID of
14         Concord-object.
15
16 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * concord.c (print_concord_object): Support readable form.
19
20 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * emacs.c (main_1): Call `structure_type_create_concord' when
23         HAVE_CONCORD is defined.
24
25         * symsinit.h (structure_type_create_concord): New prototype.
26
27         * concord.c (Qconcord_object): New variable.
28         (Qgenre): Likewise.
29         (Q_id): Likewise.
30         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
31         for directory.
32         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
33         char*> for genre-name.
34         (Fconcord_feature_list): Likewise.
35         (Fconcord_make_object): Likewise.
36         (Fconcord_decode_object): Likewise; use <char*> instead of
37         <unsigned char*> for feature_name and strid.
38         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
39         c_obj and feature_name.
40         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
41         char*> for c_value.
42         (struct closure_for_object_spec): Use <char*> instead of <unsigned
43         char*> for member `object_id'.
44         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
45         char*> for feature-name.
46         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
47         for c_obj.
48         (func_for_each_object): Cast to avoid warnings.
49         (Fconcord_foreach_object_in_feature): Use <char*> instead of
50         <unsigned char*> for genre_name and feature_name.
51         (concord_name_validate): New function.
52         (concord_object_validate): Likewise.
53         (concord_object_instantiate): Likewise.
54         (syms_of_concord): Add new builtin symbols `concord-object',
55         `genre' and `=id'.
56         (structure_type_create_concord): New function.
57
58 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * concord.c (Vconcord_ds_hash_table): New variable.
61         (Vconcord_genre_hash_table): New variable.
62         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
63         (Fconcord_ds_directory): New function.
64         (Fconcord_assign_genre): New function.
65         (Fconcord_genre_directory): New function.
66         (Fconcord_genre_ds): New function.
67         (Fconcord_feature_list): Allow to omit `ds'.
68         (Fconcord_make_object): Likewise.
69         (Fconcord_decode_object): Likewise.
70         (Fconcord_foreach_object_in_feature): Likewise.
71         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
72         Fconcord_assign_genre, Fconcord_genre_directory and
73         Fconcord_genre_ds.
74         (vars_of_concord): Setup Vconcord_ds_hash_table and
75         Vconcord_genre_hash_table.
76
77 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * concord.c (struct closure_for_each_object): Add new member
80         `ret'.
81         (func_for_each_object): Setup the return value to
82         `for_each_object_closure->ret'.
83         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
84         returns the value instead of Qt.
85
86 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * concord.c: New file.
89
90 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
93         `lrecord_type_concord_object'.
94
95 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * symsinit.h (syms_of_concord): New prototype.
98         (vars_of_concord): New prototype.
99
100         * emacs.c (main_1): Setup symbols and variable about concord if
101         HAVE_CONCORD is defined.
102
103         * config.h.in (HAVE_CONCORD): New macro.
104
105 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * chartab.c (Fput_char_attribute): For each character relation
108         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
109
110 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * chartab.c (Fput_char_attribute): Use
113         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
114         calling `put_char_composition'.
115
116 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * chartab.c (Q_halfwidth_of): New variable.
119         (put_char_composition): Return `<-halfwidth' instead of
120         `=decomposition' for compatibility mapping to single character
121         tagged `narrow'.
122         (Fput_char_attribute): Convert char-specs in value of
123         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
124         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
125         for `<-halfwidth'.
126         (syms_of_chartab): Add new symbol `<-halfwidth'.
127
128 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * chartab.c (put_char_composition): Return
131         `<-formed@{isolated|initial|medial|final}' for compatibility
132         mapping to single character tagged
133         `{isolated|initial|medial|final}'.
134
135 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * chartab.c (Q_compat_of): Deleted.
138         (put_char_composition): Return `<-FOO' for compatibility mapping
139         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
140         of `symbol_name (XSYMBOL(...))'.
141         (Fput_char_attribute): Convert char-specs in value of
142         `{<-|->}font[^*]*' to characters and put reverse links.
143         (Fsave_char_attribute_table): Don't refer Q_compat_of.
144         (syms_of_chartab): Delete builtin symbol `<-compat'.
145
146 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.c (Q_circled_of): New variable.
149         (put_char_composition): Return `<-circled' instead of
150         `=decomposition' for compatibility mapping to single character
151         tagged `circle'.
152         (Fput_char_attribute): Convert char-specs in value of
153         `{<-|->}circled[^*]*' to characters and put reverse links.
154         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
155         for `<-circled'.
156         (syms_of_chartab): Add new symbol `<-circled'.
157
158 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * chartab.c (Qto_decomposition_at_circled): New variable.
161         (put_char_composition): Return `=>decomposition@circled' instead
162         of `=decomposition' for compatibility decomposition mapping tagged
163         `circle'.
164         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
165
166 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * chartab.c (Q_subscript_of): New variable.
169         (put_char_composition): Return `<-subscript' instead of
170         `=decomposition' for compatibility mapping to single character
171         tagged `sub'.
172         (Fput_char_attribute): Convert char-specs in value of
173         `{<-|->}subscript[^*]*' to characters and put reverse links.
174         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
175         for `<-subscript'.
176         (syms_of_chartab): Add new symbol `<-subscript'.
177
178 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * chartab.c (Q_superscript_of): New variable.
181         (put_char_composition): Return `<-superscript' instead of
182         `=decomposition' for compatibility mapping to single character
183         tagged `super'.
184         (Fput_char_attribute): Convert char-specs in value of
185         `{<-|->}superscript[^*]*' to characters and put reverse links.
186         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
187         for `<-superscript'.
188         (syms_of_chartab): Add new symbol `<-superscript'.
189
190 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
191
192         * chartab.c (Qto_decomposition_at_compat): Deleted.
193         (Qto_decomposition_at_superscript): New variable.
194         (put_char_composition): Use `=>decomposition@superscript' instead
195         of `=decomposition' for compatibility decomposition mapping tagged
196         `super'.
197         (Fput_char_attribute): Fix condition about `put_char_composition'.
198         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
199         add news symbol `=>decomposition@superscript'.
200
201 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
204         for compatibility decomposition mapping tagged FOO.
205         (Fput_char_attribute): Modify for `put_char_composition'.
206
207 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (Qto_decomposition_at_compat): New variable.
210         (Q_compat_of): Renamed from `Q_compatibility_of'.
211         (put_char_composition): Rename `Q_compatibility_of' to
212         `Q_compat_of'; return `=>decomposition@compat' for compatibility
213         decomposition mapping.
214         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
215         `Q_compat_of'.
216         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
217         `<-compatibility' to `<-compat'.
218
219 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * chartab.c (Q_compatibility_of): New variable.
222         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
223         object is proved to be a cons cell; return `<-compatibility' if
224         the first element of argument `value' is `compat'.
225         (Fput_char_attribute): Eliminate the first value if
226         `put_char_composition' returns `<-compatibility'.
227         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
228         for `<-compatibility'.
229         (syms_of_chartab): Add new symbol `<-compatibility'.
230
231 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * chartab.c (Q_canonical): New variable.
234         (put_char_composition): Return a feature name: return
235         `->canonical' if argument `value' specifies single character.
236         (Fput_char_attribute): Use `put_char_composition' to determine
237         feature name for `=decomposition' or `->denotational'.
238         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
239         for `->canonical'.
240         (syms_of_chartab): Add new symbol `->canonical'.
241
242 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * chartab.c (Qmap_decomposition): New variable.
245         (Fput_char_attribute): Convert `->decomposition' to
246         `=decomposition'.
247         (syms_of_chartab): Add new symbol `=decomposition'.
248
249 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * chartab.c (Fget_range_char_table): Fix serious problem when
252         `range' is nil.
253
254 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * chartab.c (char_table_get_db): Use `read_from_c_string'.
257
258 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * lread.c (read_from_c_string): New function.
261
262         * lisp.h (read_from_c_string): New prototype.
263
264 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * chartab.c (Fput_char_attribute): Convert char-specs in value of
267         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
268         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
269         for `{<-|->}Oracle-Bones[^*]*'.
270
271 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
274         (Kizu).
275
276 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * text-coding.c (Qccs_priority_list): New variable in XEmacs
279         CHISE.
280         (Fmake_coding_system): Support new property `ccs-priority-list' in
281         XEmacs CHISE.
282         (Fcoding_system_property): Likewise.
283         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
284         Vdefault_coded_charset_priority_list in XEmacs CHISE.
285         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
286         XEmacs CHISE.
287         (complex_vars_of_file_coding): Define new coding-system-property
288         `ccs-priority-list' in XEmacs CHISE.
289
290         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
291
292 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
295         changed to normal function.
296         (encode_char_2): Likewise.
297
298         * mule-charset.c (decoding_table_put_char): Copied from
299         char-ucs.h; changed to normal function.
300         (encode_char_2): Likewise.
301
302 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
305         New extern.
306         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
307         (encode_char_2_search_children): New inline function.
308         (encode_char_2): Refer
309         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
310         and use `encode_char_2_search_children'.
311
312 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * mule-charset.c
315         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
316         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
317         (vars_of_mule_charset): Add new variable
318         `display-coded-charset-priority-use-inheritance' and
319         `display-coded-charset-priority-use-hierarchy-order'.
320
321 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * char-ucs.h (Q_subsumptive): New extern.
324         (Q_denotational): Likewise.
325         (encode_char_2): Search children specified by `->subsumptive' and
326         `->denotational'.
327
328 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
329
330         * mule-charset.c (complex_vars_of_mule_charset): Modify the
331         X-registry of `ucs-bmp'.
332
333 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * chartab.c (char-variants): Refer `->subsumptive',
336         `->denotational' and `->identical' as same as `->ucs-unified'.
337
338 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * chartab.c (Fput_char_attribute): Convert char-specs in value of
341         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
342         links.
343
344 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * text-coding.c: Add EXFUN for `Fregexp_quote'.
347         (decode_add_er_char): Fix problem about infinite loop when a CCS
348         specified in `coded-charset-entity-reference-alist' is not
349         existed.
350
351 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * mule-charset.c (syms_of_mule_charset): Rename
354         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
355
356 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * fns.c (simplify_char_spec): Don't allocate new character-object
359         if specified char_spec does not have any CCS-features.
360
361         * chartab.h: Add EXFUN for Fdefine_char.
362
363         * chartab.c: Delete EXFUN for Fdefine_char.
364
365 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * fns.c (simplify_char_spec): Use Fdefine_char instead of
368         Ffind_char for char-spec.
369
370 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
371
372         * lisp-disunion.h (XCHARVAL): Fix condition about
373         SIZEOF_EMACS_INT.
374
375 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
376
377         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
378         <int> for `code'.
379         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
380         point; use <Emchar> instead of <int> for character-id.
381
382 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
385         (make_char): Likewise.
386         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
387         environment.
388         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
389         instead of <int> as the type of return value; use <Lisp_Object>
390         instead of <Emchar> as the type of argument.
391         (XCHARVAL[macro version]): Cast the result into <Emchar>.
392
393         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
394         syntaxcode> instead of <int>.
395
396 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * chartab.c (put_char_composition): Use DECODE_CHAR to get
399         character corresponding with UCS code point.
400         (Fput_char_attribute): Likewise.
401
402         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
403         character in the UCS decoding-table if the char-id is not equal to
404         the UCS code point.
405
406 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
409         for aliases; write `description'; write
410         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
411         not 0.
412
413 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
414
415         * chartab.c (Fsave_char_attribute_table): Don't use
416         `save_charset_properties'.
417
418         * mule-charset.c (Fsave_charset_properties): Renamed from
419         `save_charset_properties' and changed to Lisp function again;
420         write property `type' as `CCS'; write properties `final-byte' and
421         `mother' if they exists.
422         (syms_of_mule_charset): Revive builtin function
423         `save-charset-properties' when HAVE_LIBCHISE is defined.
424
425 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
428         instead of Vexec_directory.
429         (char_attribute_system_db_file): Likewise.
430
431 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * chartab.c (Fsave_char_attribute_table): Use
434         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
435         defined.
436
437         * mule-charset.c (save_charset_properties): Renamed from
438         `Fsave_charset_properties'; changed to non-Lisp function.
439         (syms_of_mule_charset): Abolish builtin function
440         `save-charset-properties'.
441
442 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * mule-charset.c (Fsave_charset_properties): New function when
445         HAVE_LIBCHISE is defined.
446         (syms_of_mule_charset): Add new builtin function
447         `save-charset-properties' when HAVE_LIBCHISE is defined.
448
449 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * chartab.c (Fput_char_attribute): Convert char-specs in value of
452         `{<-|->}ancient[^*]*' to characters and put reverse links.
453         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
454         for `{<-|->}ancient[^*]*'.
455
456 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * chartab.c (Fput_char_attribute): Convert char-specs in value of
459         `{<-|->}original[^*]*' to characters and put reverse links.
460         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
461         for `{<-|->}original[^*]*'.
462
463 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
466
467 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * mule-charset.c (Qsystem_char_id): New variable.
470
471         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
472         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
473
474 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * chartab.c (Fput_char_attribute): When processing a reference of
477         a character, put into the end of the reversed reference of each
478         target character.
479
480 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c (Q_same): Deleted.
483         (Q_same_of): Deleted.
484         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
485         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
486         for `{<-|->}same'.
487         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
488
489 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (Q_vulgar): Deleted.
492         (Q_vulgar_of): Deleted.
493         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
494         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
495         for `{<-|->}vulgar'.
496         (syms_of_chartab): Don't define `{<-|->}vulgar'.
497
498 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * chartab.c (Fput_char_attribute): Convert char-specs in value of
501         `{<-|->}wrong[^*]*' to characters and put reverse links.
502         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
503         for `{<-|->}wrong[^*]*'.
504
505 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * chartab.c (Q_vulgar): New variable.
508         (Q_vulgar_of): New variable.
509         (Fput_char_attribute): Convert char-specs in value of
510         `{->|<-}vulgar' to characters and put reverse links.
511         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
512         for `{->|<-}vulgar'.
513         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
514
515 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * text-coding.c (decode_add_er_char): Must to quote prefix string
518         as regexp.
519
520 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (put_char_ccs_code_point): Store characters of
523         =ucs whose code_points >= 0xF0000.
524
525 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
526
527         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
528         CHISE.
529         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
530         CHISE.
531         (complex_vars_of_mule_charset): Add new coded-charset
532         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
533         builtin characters over 0xEFFFF.
534
535         * chartab.c (syms_of_chartab): Don't define symbol
536         `system-char-id' in every case.
537
538         * char-ucs.h (Qsystem_char_id): New extern variable.
539         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
540
541 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * text-coding.c (char_encode_utf8): Try to use entity-references
544         for U-000F0000 ...  U-0010FFFF.
545
546 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * text-coding.c (ER_BUF_SIZE): New macro.
549         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
550         `er_buf'.
551         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
552         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
553
554 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * chartab.c (find_char_feature_in_family): New function.
557         (Fchar_feature): Use `find_char_feature_in_family' with
558         `->identical', `<-subsumptive' and `<-denotational'.
559
560 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * text-coding.c (char_encode_as_entity_reference): Allow prefix
563         within 8 characters; fix infinite loop.
564
565 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * chartab.c (Q_same): New variable.
568         (Q_same_of): New variable.
569         (Fput_char_attribute): Convert char-specs in value of
570         `{->|<-}same' to characters and put reverse links.
571         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
572         for `{->|<-}same'.
573         (syms_of_chartab): Add new symbols `{->|<-}same'.
574
575 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * chartab.c (Q_component): New variable.
578         (Q_component_of): Likewise.
579         (Fput_char_attribute): Convert char-specs in value of
580         `{->|<-}ideographic-component-forms' to characters and put reverse
581         links.
582         (syms_of_chartab): Add new symbols
583         `{->|<-}ideographic-component-forms'.
584
585 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
586
587         * chartab.c (Q_identical): New variable.
588         (Q_identical_from): New variable.
589         (Fchar_feature): Regard `->identical' as a feature to find
590         ancestors.
591         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
592         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
593         for `{->|<-}identical'.
594         (syms_of_chartab): Add new symbols `{->|<-}identical'.
595
596 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * char-ucs.h (encode_char_2): New inline function.
599         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
600
601 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * chartab.c (Fput_char_attribute): Convert char-specs to
604         characters in value of `ideographic-structure'.
605         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
606         for `{<-|->}simplified(@...)'.
607         (Fdefine_char): Try to use predefined character's id.
608
609 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * fns.c (simplify_char_spec): Try to convert builtin chars to
612         defined chars.
613
614 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * chartab.c (Fput_char_attribute): Convert char-specs in value of
617         `<-simplified[^*]*' to characters and put reverse links.
618
619 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * chartab.c (Q_subsumptive): Renamed from Q_unified.
622         (Q_subsumptive_from): Renamed from Q_unified_from.
623         (Fchar_feature): Use `Q_subsumptive_from' instead of
624         `Q_unified_from'.
625         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
626         `Q_unified'.
627         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
628         `<-unified' to `<-subsumptive'.
629
630 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
633         inheritance itself; fix typo; stop recursive search if cyclic
634         inheritance is found.
635
636 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * chartab.c (Q_denotational): New variable.
639         (Q_denotational_from): New variable.
640         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
641         (put_char_attribute): New function.
642         (Fput_char_attribute): Use `put_char_attribute'; regard
643         `->denotational' and `<-denotational' as same as `->unified' and
644         `<-unified'.
645         (syms_of_chartab): Add new symbols `->denotational' and
646         `<-denotational'.
647
648 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
651         `Fget_char_attribute'.
652         (Fchar_variants): Likewise.
653         (get_char_table): Likewise.
654         (Fchar_feature): New function.
655         (put_char_composition): Use `Fchar_feature' instead of
656         `Fget_char_attribute'.
657         (Fput_char_attribute): Likewise; don't put the target character
658         into its `->unified' value.
659         (syms_of_chartab): Add new builtin function `char-feature'.
660
661 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
662
663         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
664         `Fget_char_attribute'.
665         (char_encode_utf8): Likewise.
666
667         * chartab.h: Add an EXFUN for `Fchar_feature'.
668
669 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * chartab.c (Vnext_defined_char_id): New variable.
672         (Fput_char_attribute): Accept characters in `->unified'.
673         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
674         new characters which are not related with builtin char-id ranges.
675         (vars_of_chartab): Add new variable `next-defined-char-id'.
676
677 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * chartab.c (Q_unified): New variable.
680         (Q_unified_from): New variable.
681         (Fput_char_attribute): Add code for `->unified'.
682         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
683         XEmacs CHISE.
684
685 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
686
687         * mule-charset.c (decode_ccs_conversion): New function.
688         (decode_defined_char): Use `decode_ccs_conversion'.
689         (decode_builtin_char): Likewise.
690
691 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
692
693         * char-ucs.h: Change some charset-ids of private coded-charsets.
694
695 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
698         (char_encode_as_entity_reference): Likewise.
699         (decode_coding_big5): Modify for `decode_defined_char' and
700         `DECODE_CHAR'.
701         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
702         avoid compiler warning.
703         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
704
705         * mule-charset.c (decode_defined_char): Add new argument
706         `without_inheritance'.
707         (Fdecode_char): Add new optional argument `without_inheritance'.
708         (Fdecode_builtin_char): Modify for `Fdecode_char'.
709
710         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
711         (simplify_char_spec): Likewise.
712
713         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
714         setting.
715
716         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
717         (map_char_table): Likewise.
718         (Fdefine_char): Use `Fdecode_char' without inheritance.
719         (Ffind_char): Modify for `Fdecode_char'.
720
721         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
722
723         * char-ucs.h (decode_defined_char): Add new argument
724         `without_inheritance'.
725         (DECODE_CHAR): Likewise.
726         (MAKE_CHAR): Modify for `DECODE_CHAR'.
727
728 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * chartab.c (Vchise_system_db_directory): New variable.
731         (vars_of_chartab): Add new variable `chise-system-db-directory'.
732
733 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * chartab.c: EXFUN `Fmount_char_attribute_table'.
736         (print_chartab_range): Don't define when `UTF2000' is defined.
737         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
738         `CHISE_DS_open'.
739
740 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
743         and optional argument `rehash' is specified, call
744         `open_chise_data_source_maybe' before
745         `chise_ds_foreach_char_feature_name' is called.
746
747 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * chartab.c (char_attribute_list_reset_map_func): New function
750         when HAVE_LIBCHISE is defined.
751         (Fchar_attribute_list): Add new optional argument `rehash' when
752         HAVE_LIBCHISE is defined.
753         (open_chise_data_source_maybe): Use "chise-db" instead of
754         "char-db".
755         (char_attribute_system_db_file): Likewise.
756         (Fload_char_attribute_table): Use
757         `chise_feature_foreach_char_with_value' instead of
758         `chise_char_feature_value_iterate'.
759
760 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * chartab.c (Vchise_db_directory): New variable.
763         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
764
765 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
768         instead of HAVE_CHISE to specify using with libchise.
769
770         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
771
772         * chartab.h: Don't use HAVE_CHISE_CLIENT.
773
774         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
775         defined or HAVE_LIBCHISE_LIBCHISE is defined.
776         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
777         is defined.
778         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
779         HAVE_CHISE to specify using with libchise.
780         (syms_of_chartab): Don't define symbol `system-char-id' when
781         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
782
783 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
786         specify CHISE DB support.
787         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
788         of `char_attribute_system_db_file' to check feature DB file.
789
790         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
791         HAVE_CHISE_CLIENT to specify CHISE DB support.
792
793         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
794         specify CHISE DB support.
795         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
796         not defined.
797         (Freset_char_attribute_table): Use `chise_feature_setup_db'
798         instead of `char_attribute_system_db_file' to check feature DB
799         file.
800
801 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
804         `HAVE_CHISE_CLIENT'.
805
806 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
807
808         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
809         (Fsave_charset_mapping_table): Don't use
810         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
811
812         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
813         (HAVE_LIBCHISE): New macro.
814
815         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
816
817         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
818         (Fsave_char_attribute_table): Don't use
819         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
820
821 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
824         defined.
825         (save_uint16_byte_table): Likewise.
826         (save_byte_table): Likewise.
827         (char_table_get_db): Use `chise_ds_load_char_feature_value'
828         instead of `chise_char_load_feature_value'.
829         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
830
831 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * chartab.h (struct Lisp_Char_Table): Delete member
834         `feature_table' if CHISE is defined.
835
836         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
837         (Fcopy_char_table): Likewise.
838         (char_table_open_db_maybe): Likewise.
839         (char_table_close_db_maybe): Likewise.
840         (char_table_get_db): Likewise.
841         (Fmount_char_attribute_table): Likewise.
842         (Fload_char_attribute_table): Likewise.
843
844 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * mule-charset.c (load_char_decoding_entry_maybe): Use
847         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
848         `chise_ccs_decode'.
849
850 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
853         instead of `chise_open_data_source'.
854         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
855         `chise_ds_close'.
856
857 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
860         instead of `chise_ds_open_feature_table'.
861         (char_table_close_db_maybe): Don't use `chise_ft_close'.
862
863 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * mule-charset.c (Fsave_charset_mapping_table): Use
866         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
867         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
868         `chise_ccs_sync' instead of `chise_ccst_close'.
869         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
870
871         * chartab.c (open_chise_data_source_maybe): Modify for
872         `chise_open_data_source'.
873         (char_table_open_db_maybe): Modify for
874         `chise_ds_open_feature_table'.
875
876 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
877
878         * mule-charset.c (load_char_decoding_entry_maybe): Use
879         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
880         `chise_ccst_close'.
881
882 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
883
884         * mule-charset.c (Fsave_charset_mapping_table): Use
885         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
886         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
887         `chise_dt_put_char' and `chise_dt_close'.
888         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
889         `chise_ccs_decode' and `chise_ccst_close' instead of
890         `chise_ds_open_decoding_table', `chise_dt_get_char' and
891         `chise_dt_close'.
892
893         * chartab.c (char_table_get_db): Use
894         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
895         (load_char_attribute_table_map_func): Modify for
896         `chise_char_feature_value_iterate'.
897         (Fload_char_attribute_table): Use
898         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
899
900 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
903
904 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
905
906         * chartab.c (put_char_table): Modify for inherited coded-charsets
907         in XEmacs CHISE.
908
909 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
910
911         * chartab.c (Fput_char_table_map_function): Fixed.
912         (word_boundary_p): Don't check charset in XEmacs CHISE.
913
914 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * mule-charset.c (Fsave_charset_mapping_table): Use
917         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
918         instead of `chise_open_decoding_table'; refer
919         `default_chise_data_source'; use `chise_dt_close' instead of
920         `chise_close_decoding_table'.
921         (load_char_decoding_entry_maybe): Likewise.
922
923         * chartab.c (default_chise_data_source): New variable when `CHISE'
924         is defined.
925         (Fcopy_char_table): `ct->ds' is deleted.
926         (open_chise_data_source_maybe): New function.
927         (Fclose_char_data_source): New function.
928         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
929         use `chise_ds_open_feature_table' instead of
930         `chise_open_feature_table'.
931         (char_table_close_db_maybe): Use `chise_ft_close' instead of
932         `chise_close_feature_table'; `cit->ds' is deleted.
933         (syms_of_chartab): Add new builtin function
934         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
935
936         * chartab.h (default_chise_data_source): New extern variable.
937         (open_chise_data_source_maybe): New prototype.
938         (struct Lisp_Char_Table): Delete `ds'.
939
940 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
941
942         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
943         `CHISE' is defined.
944
945 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
948         not defined; add code for non-libchise setting.
949         (char_table_close_db_maybe): Likewise.
950         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
951         defined.
952         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
953         even if `CHISE' is not defined.
954         (Freset_char_attribute_table): Likewise.
955         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
956         `char_table_close_db_maybe' even if `CHISE' is not defined; use
957         `char_table_get_db'.
958         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
959         `char_table_close_db_maybe' even if `CHISE' is not defined.
960
961 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * chartab.c (char_table_open_db_maybe): New function.
964         (char_table_close_db_maybe): New function.
965         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
966         (Freset_char_attribute_table): Likewise.
967         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
968         `char_table_close_db_maybe'.
969         (Fload_char_attribute_table): Likewise.
970
971 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
972
973         * chartab.c: Don't include <chise.h> because it is included in
974         chartab.h.
975         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
976         defined.
977         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
978         `CHISE' is defined.
979         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
980         `CHISE' is defined.
981         (Fclose_char_attribute_table): Close `ct->feature_table' and
982         `ct->ds' when `CHISE' is defined.
983         (Freset_char_attribute_table): Likewise.
984         (load_char_attribute_maybe): Use `cit->ds' and
985         `cit->feature_table' when `CHISE' is defined.
986         (Fload_char_attribute_table): Likewise.
987
988         * chartab.h: Include <chise.h> when `CHISE' is defined.
989         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
990         when `CHISE' is defined.
991
992 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
995         is defined.
996         (char_table_description): Likewise.
997         (Fmake_char_table): Likewise.
998         (Fcopy_char_table): Likewise.
999         (Fmount_char_attribute_table): Likewise.
1000         (Fclose_char_attribute_table): Likewise.
1001         (Freset_char_attribute_table): Likewise.
1002         (load_char_attribute_maybe): Likewise.
1003         (Fload_char_attribute_table): Likewise.
1004
1005         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1006         defined.
1007
1008 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1009
1010         * chartab.c (load_char_attribute_table_map_func): New function
1011         when CHISE is defined.
1012         (Qload_char_attribute_table_map_function): Don't define when CHISE
1013         is defined.
1014         (Fload_char_attribute_table_map_function): Likewise.
1015         (Fload_char_attribute_table): Use libchise when `CHISE' is
1016         defined.
1017         (syms_of_chartab): Don't define
1018         `load-char-attribute-table-map-function' when CHISE is defined.
1019
1020 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1021
1022         * chartab.c: Include <chise.h> when `CHISE' is defined.
1023         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1024
1025 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1026
1027         * mule-charset.c (charset_code_point): Fix problem when searching
1028         in mother CCS fails with `defined_only' mode.
1029
1030 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1031
1032         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1033         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1034         (put_char_composition): Likewise.
1035         (Fput_char_attribute): Likewise.
1036         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1037
1038 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1039
1040         * chartab.c (Q_ucs): Deleted.
1041         (Fput_char_attribute): Don't refer `->ucs'.
1042         (Fdefine_char): Likewise.
1043         (Ffind_char): Likewise.
1044         (syms_of_chartab): Delete `->ucs'.
1045
1046 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1047
1048         * mule-charset.c (Qmap_cns11643_2): Renamed from
1049         `Qchinese_cns11643_2'.
1050         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1051         `chinese-cns11643-2'.
1052         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1053         `=cns11643-2'.
1054
1055 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1056
1057         * mule-charset.c (Qmap_cns11643_1): Renamed from
1058         `Qchinese_cns11643_1'.
1059         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1060         `chinese-cns11643-1'.
1061         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1062         `=cns11643-1'.
1063
1064 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1067         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1068         `chinese-gb12345'.
1069         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1070         `=gb12345'.
1071
1072 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1073
1074         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1075         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1076         `chinese-gb2312'.
1077         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1078         `=gb2312'.
1079
1080 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1081
1082         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1083         (syms_of_mule_charset): Add new symbol `=big5' instead of
1084         `chinese-big5'.
1085         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1086
1087 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1088
1089         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1090         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1091         `korean-ksc5601'.
1092         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1093         `=ks-x1001'.
1094
1095 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * mule-charset.c (Qmap_jis_x0212): Renamed from
1098         `Qjapanese_jisx0212'.
1099         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1100         `japanese-jisx0212'.
1101         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1102         `=jis-x0212'.
1103
1104 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1105
1106         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1107         `Qjapanese_jisx0208'.
1108         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1109         of `japanese-jisx0208'.
1110         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1111         `=jis-x0208-1983'.
1112
1113 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1116         `Qjapanese_jisx0208_1978'.
1117         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1118         of `japanese-jisx0208-1978'.
1119         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1120         `=jis-x0208-1978'.
1121
1122 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1123
1124         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1125         only for XEmacs CHISE.
1126
1127 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1128
1129         * char-ucs.h: Compact non-ISO-IR charset-ids.
1130         (LEADING_BYTE_UCS): Changed to -177.
1131         (LEADING_BYTE_CONTROL_1): Changed to -77.
1132         (LEADING_BYTE_UCS_BMP): Changed to -176.
1133         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1134
1135 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * mule-charset.c (Qiso_ir): New variable.
1138         (Fmake_charset): Recognise new property `iso-ir'.
1139         (syms_of_mule_charset): Add new symbol `iso-ir'.
1140
1141 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1142
1143         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1144         n to -n; charset-id of non ISO-IR sets are changed to positive
1145         numbers.
1146
1147 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1148
1149         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1150         for &MCS-XXXXXXXX; values.
1151
1152 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1153
1154         * mule.c (Vxemacs_chise_version): Renamed from
1155         `Vutf_2000_version'.
1156         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1157         `utf-2000-version' as an alias for `xemacs-chise-version'.
1158
1159 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1160
1161         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1162         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1163         defined.
1164
1165         * config.h.in (CHISE): New macro.
1166
1167 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1168
1169         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1170         of `ucs'.
1171         (Qmap_ucs): New variable.
1172         (syms_of_mule_charset): Add new symbol `=ucs'.
1173         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1174
1175         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1176         (simplify_char_spec): Likewise.
1177
1178         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1179
1180         * char-ucs.h (Qmap_ucs): New extern variable.
1181
1182 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1185         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1186         don't define it when UTF2000 is not defined.
1187         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1188         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1189         when UTF2000 is not defined.
1190         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1191         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1192
1193 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1196
1197         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1198         (Qucs_gb): Deleted.
1199         (syms_of_mule_charset): Delete `ucs-gb'.
1200         (complex_vars_of_mule_charset): Likewise.
1201
1202 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1203
1204         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1205
1206         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1207         (Qucs_cns): Deleted.
1208         (syms_of_mule_charset): Delete `ucs-cns'.
1209         (complex_vars_of_mule_charset): Likewise.
1210
1211 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1212
1213         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1214
1215         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1216         (Qucs_jis): Deleted.
1217         (syms_of_mule_charset): Delete `ucs-jis'.
1218         (complex_vars_of_mule_charset): Likewise.
1219
1220 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1221
1222         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1223
1224         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1225         (Qucs_ks): Deleted.
1226         (syms_of_mule_charset): Delete `ucs-ks'.
1227         (complex_vars_of_mule_charset): Likewise.
1228
1229 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1230
1231         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1232         (Qideograph_daikanwa_2): Deleted.
1233         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1234         (complex_vars_of_mule_charset): Likewise.
1235
1236         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1237         (LEADING_BYTE_DAIKANWA_1): Deleted.
1238         (LEADING_BYTE_DAIKANWA_2): Deleted.
1239         (MIN_CHAR_DAIKANWA): Deleted.
1240         (MAX_CHAR_DAIKANWA): Deleted.
1241
1242 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1243
1244         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1245         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1246         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1247
1248         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1249         (Vcharset_ideograph_daikanwa): Deleted.
1250         (Qideograph_hanziku_{1..12}): Deleted.
1251         (Qideograph_daikanwa): Deleted.
1252         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1253         Vcharset_ideograph_daikanwa.
1254         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1255         `ideograph-hanziku-{1..12}'.
1256         (complex_vars_of_mule_charset): Likewise.
1257
1258 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1259
1260         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1261
1262         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1263         (Qideograph_gt_pj_{1..11}): Deleted.
1264         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1265         (complex_vars_of_mule_charset): Likewise.
1266
1267 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1268
1269         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1270         (Vcharset_ideograph_gt): Deleted.
1271         (Qucs_big5): Deleted.
1272         (Qideograph_gt): Deleted.
1273         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1274         `ideograph-gt'.
1275         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1276         and `ideograph-gt'.
1277
1278         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1279         (LEADING_BYTE_GT): Deleted.
1280         (MIN_CHAR_GT): Deleted.
1281         (MAX_CHAR_GT): Deleted.
1282
1283 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1286
1287 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1290         (save_uint16_byte_table): Likewise.
1291         (save_byte_table): Likewise; convert values by it.
1292         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1293         for `ideographic-structure'.
1294         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1295         as the filter for `ideographic-structure'.
1296
1297 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1298
1299         * chartab.c (put_char_composition): New function.
1300         (Fput_char_attribute): Use `put_char_composition'; use
1301         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1302
1303         * fns.c (simplify_char_spec): New function.
1304         (char_ref_simplify_spec): New function.
1305         (Fchar_refs_simplify_char_specs): New function.
1306         (syms_of_fns): Add new builtin function
1307         `char-refs-simplify-char-specs'.
1308
1309 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1310
1311         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1312         (Qideograph_cbeta): Deleted.
1313         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1314         (complex_vars_of_mule_charset): Likewise.
1315
1316         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1317         (MIN_CHAR_CBETA): Comment out.
1318         (MAX_CHAR_CBETA): Likewise.
1319
1320 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1323         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1324         CHISE client feature.
1325
1326 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1327
1328         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1329
1330 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1331
1332         * mule-charset.c (charset_lookup_description_1): Use
1333         `NUM_LEADING_BYTES' in UTF-2000.
1334
1335 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1336
1337         * char-ucs.h (GC_CHARSETP): Deleted.
1338
1339 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1340
1341         * char-ucs.h (MAX_CHAR_GT): Updated.
1342
1343 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1344
1345         * text-coding.c: Sync with XEmacs 21.4.10.
1346
1347 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1348
1349         * mule-charset.c (Vcharset_china3_jef): Deleted.
1350         (Qchina3_jef): Deleted.
1351         (syms_of_mule_charset): Don't define `china3-jef'.
1352         (complex_vars_of_mule_charset): Likewise.
1353
1354         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1355         (MIN_CHAR_CHINA3_JEF): Comment out.
1356         (MAX_CHAR_CHINA3_JEF): Comment out.
1357
1358 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * mule-charset.c (Vcharset_ucs_gb): New variable.
1361         (Qucs_gb): New variable.
1362         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1363         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1364
1365         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1366
1367 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (charset_code_point): if a coded-charset has a
1370         final-byte, don't inherit the builtin range of the mother CCS.
1371
1372 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * mule-charset.c (charset_code_point): Fix problem about
1375         inheritance.
1376
1377 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1378
1379         * mule-charset.c (decode_builtin_char): Reorganized.
1380
1381 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1382
1383         * text-coding.c (char_encode_as_entity_reference): Modify for
1384         `charset_code_point'.
1385         (char_encode_shift_jis): Likewise.
1386         (char_encode_big5): Likewise.
1387         (char_encode_utf8): Likewise.
1388         (char_encode_iso2022): Likewise.
1389
1390         * mule-charset.c (charset_code_point): Add new argument
1391         `defined_only'.
1392         (Fencode_char): Add new optional argument `defined_only'.
1393
1394         * chartab.c (put_char_table): Modify for `charset_code_point'.
1395
1396         * char-ucs.h (charset_code_point): Add new argument
1397         `defined_only'.
1398         (encode_char_1): Modify for `charset_code_point'.
1399
1400 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1403         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1404
1405 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1408         (Qjis_x0208): Likewise.
1409         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1410         XCHARSET_FINAL(charset).
1411         (charset_code_point): Modify condition for final-byte based
1412         builtin-chars.
1413         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1414         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1415         in UTF-2000; specify `=jis-x0208' as the mother of
1416         `japanese-jisx0208-1978', `japanese-jisx0208' and
1417         `japanese-jisx0208-1990' in UTF-2000.
1418
1419 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1420
1421         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1422
1423 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1424
1425         * text-coding.c (decode_coding_utf16): Support UTF-16.
1426         (char_encode_utf16): Fixed.
1427
1428 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * text-coding.c (Qutf16): New variable in MULE.
1431         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1432         (Fcoding_system_type): Add `utf-16' in MULE.
1433         (struct detection_state): Add a structure for utf16 in MULE.
1434         (detect_coding_type): Setup st->utf16.mask in MULE.
1435         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1436         MULE.
1437         (reset_encoding_stream): Use `char_encode_utf16' and
1438         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1439         (detect_coding_utf16): New function [incomplete].
1440         (decode_coding_utf16): New function [support only UCS-2].
1441         (char_encode_utf16): New function.
1442         (char_finish_utf16): New function.
1443         (syms_of_file_coding): Add new symbol `utf-16'; setup
1444         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1445
1446         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1447         UTF-2000.
1448         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1449         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1450
1451 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1452
1453         * chartab.c (put_char_table): When a charset is specified as a
1454         range in UTF-2000, don't support builtin characters.
1455
1456 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1457
1458         * mule-charset.c (decode_defined_char): Don't refer external
1459         database if Qunbound or Qnil are found.
1460         (Fsave_charset_mapping_table): Don't define it if
1461         HAVE_CHISE_CLIENT is not defined.
1462         (Freset_charset_mapping_table): New function.
1463         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1464         found in external database.
1465         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1466         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1467         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1468
1469 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1470
1471         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1472         not.
1473
1474 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1475
1476         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1477         Q_lowercase, Q_uppercase in UTF-2000.
1478
1479         * chartab.c (get_char_table): Add special code for the standard
1480         case table to use character attribute `->downcase' and
1481         `->uppercase' for case operations in UTF-2000.
1482
1483         * casetab.c (Qflippedcase): New variable in UTF-2000.
1484         (Q_lowercase): Likewise.
1485         (Q_uppercase): Likewise.
1486         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1487         and `->uppercase' in UTF-2000.
1488         (complex_vars_of_casetab): Assign attribute name `downcase' to
1489         downcase and CANON table of Vstandard_case_table in UTF-2000;
1490         assign attribute name `flippedcase' to upcase and EQV table of
1491         Vstandard_case_table in UTF-2000.
1492
1493 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * text-coding.c (decode_add_er_char): Support isolated-chars.
1496         (char_encode_as_entity_reference): Likewise.
1497
1498 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1499
1500         * emacs.c (Vutf_2000_lisp_directory): New variable.
1501         (Vconfigure_utf_2000_lisp_directory): Likewise.
1502         (complex_vars_of_emacs): Add new variable
1503         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1504
1505 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1506
1507         * char-ucs.h (DECODE_CHAR): Delete special code for
1508         `chinese-big5-1' and `chinese-big5-2'.
1509
1510         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1511         (Qbig5_2): Likewise.
1512         (decode_defined_char): Support CONVERSION_BIG5_1 and
1513         CONVERSION_BIG5_2.
1514         (decode_builtin_char): Likewise.
1515         (charset_code_point): Likewise.
1516         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1517         'conversion in UTF-2000.
1518         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1519         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1520         `chinese-big5-2' as children of `chinese-big5'.
1521
1522         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1523         (CONVERSION_BIG5_2): New macro.
1524
1525 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1526
1527         * text-coding.c (char_encode_big5): Support entity-reference.
1528
1529 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1530
1531         * text-coding.c (char_encode_as_entity_reference): New function.
1532         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1533
1534 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1535
1536         * text-coding.c (decode_coding_big5): Support entity-reference
1537         decoding feature.
1538
1539 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1540
1541         * text-coding.c (allocate_coding_system): Initialize initial
1542         charsets for CODESYS_UTF8.
1543         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1544         charset-g2 for CODESYS_UTF8.
1545         (decode_coding_utf8): Use charset-g0.
1546         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1547         to force variants to map to UCS.
1548
1549 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * text-coding.c (Qutf_8_mcs): New variable.
1552         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1553         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1554         instead of `utf-8' in UTF-2000.
1555
1556 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1557
1558         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1559         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1560         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1561         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1562         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1563         CONVERSION_96x96x96x96 are introduced.
1564         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1565         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1566         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1567
1568         * char-ucs.h (CONVERSION_94): New macro.
1569         (CONVERSION_96): New macro.
1570         (CONVERSION_94x94): New macro.
1571         (CONVERSION_96x96): New macro.
1572         (CONVERSION_94x94x94): New macro.
1573         (CONVERSION_96x96x96): New macro.
1574         (CONVERSION_94x94x94x60): New macro.
1575         (CONVERSION_94x94x94x94): New macro.
1576         (CONVERSION_96x96x96x96): New macro.
1577
1578 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1579
1580         * chartab.c (Vcharacter_variant_table): Deleted.
1581         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1582         of `Vcharacter_variant_table'.
1583         (Fput_char_attribute): Likewise.
1584         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1585         (complex_vars_of_chartab): Likewise.
1586
1587 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1590
1591         * fns.c (Qideographic_structure): New variable.
1592         (Qkeyword_char): New variable.
1593         (ids_format_unit): New function.
1594         (Fideographic_structure_to_ids): New function.
1595         (syms_of_fns): Add new symbols `ideographic-structure' and
1596         `:char'; add new builtin function `ideographic-structure-to-ids'.
1597
1598         * data.c (Fchar_ref_p): New function.
1599         (syms_of_data): Add new builtin function `char-ref-p'.
1600
1601         * chartab.h: Add an EXFUN for `Ffind_char'.
1602
1603 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * text-coding.c (Vcharacter_composition_table): Deleted.
1606         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1607         in every UTF-2000.
1608
1609         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1610         UTF-2000.
1611         (Vcharacter_composition_table): Deleted.
1612         (Fget_composite_char): Use the implementation for external-DB
1613         support in every UTF-2000.
1614         (Fput_char_attribute): Likewise.
1615         (char_attribute_system_db_file): Don't define if external-DB
1616         feature is not available.
1617         (Fsave_char_attribute_table): Likewise.
1618         (Fmount_char_attribute_table): Likewise.
1619         (Fclose_char_attribute_table): Likewise.
1620         (Freset_char_attribute_table): Likewise.
1621         (Fload_char_attribute_table): Likewise.
1622         (syms_of_chartab): Don't define `save-char-attribute-table',
1623         `mount-char-attribute-table', `reset-char-attribute-table',
1624         `close-char-attribute-table' and `load-char-attribute-table' if
1625         external-DB feature is not available.
1626         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1627
1628 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1629
1630         * text-coding.c (Qcomposition): Add extern if external-DB feature
1631         is supported.
1632         (Vcharacter_composition_table): Don't add extern if external-DB
1633         feature is supported.
1634         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1635         character composition rule if external-DB feature is supported.
1636
1637         * chartab.c (Vcharacter_composition_table): Don't define if
1638         external-DB feature is supported.
1639         (Qcomposition): New variable.
1640         (Fget_composite_char): New implementation for external-DB support.
1641         (Fput_char_attribute): Use `composition' property of each
1642         character instead of `Vcharacter_composition_table' to store
1643         character-composition rules if external-DB feature is supported.
1644         (syms_of_chartab): Add new symbol `composition'.
1645         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1646         external-DB feature is supported.
1647
1648 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1649
1650         * chartab.c (Vchar_db_stingy_mode): New variable.
1651         (load_char_attribute_maybe): Close database if
1652         Vchar_db_stingy_mode is not NIL.
1653         (Fload_char_attribute_table_map_function): Use
1654         `get_char_id_table_0' instead of `get_char_id_table'.
1655         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1656
1657         * chartab.h (get_char_id_table_0): New inline function.
1658         (get_char_id_table): Use `get_char_id_table_0'.
1659
1660 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1661
1662         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1663         and `COMPOSE_ADD_CHAR'.
1664         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1665
1666 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1667
1668         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1669         instead of `DECODE_ADD_UCS_CHAR'.
1670         (COMPOSE_ADD_CHAR): Likewise.
1671
1672 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1673
1674         * text-coding.c (decode_flush_er_chars): New inline function.
1675         (decode_add_er_char): New function.
1676         (decode_coding_utf8): Use `decode_flush_er_chars' and
1677         `decode_add_er_char'.
1678
1679 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1680
1681         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1682         done before `decode_output_utf8_partial_char'.
1683
1684         * mule-charset.c (complex_vars_of_mule_charset): Specify
1685         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1686         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1687
1688 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * mule-charset.c (decode_defined_char): New function; search
1691         mother.
1692         (decode_builtin_char): Don't search mother if
1693         XCHARSET_MAX_CODE(charset) == 0.
1694         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1695         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1696         (Fdecode_char): Use `decode_defined_char' instead of
1697         `DECODE_DEFINED_CHAR'.
1698         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1699         mother of `Vcharset_ucs_jis'.
1700
1701         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1702         instead of `DECODE_DEFINED_CHAR'.
1703
1704         * char-ucs.h (decode_defined_char): Renamed from
1705         `DECODE_DEFINED_CHAR'; changed to normal function.
1706         (DECODE_CHAR): Use `decode_defined_char' instead of
1707         `DECODE_DEFINED_CHAR'.
1708
1709         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1710
1711 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1714
1715         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1716         variable.
1717         (Quse_entity_reference): New variable.
1718         (Qd): New variable.
1719         (Qx): New variable.
1720         (QX): New variable.
1721         (coding_system_description): Add description for
1722         `ccs_priority_list'.
1723         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1724         (allocate_coding_system): Initialize `ccs_priority_list' in
1725         UTF-2000.
1726         (Fmake_coding_system): Add description about
1727         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1728         (codesys).
1729         (Fcoding_system_property): Accept `disable-composition' and
1730         `use-entity-reference' in UTF-2000.
1731         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1732         in UTF-2000.
1733         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1734         (decode_coding_utf8): Decode entity-reference if
1735         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1736         (char_encode_utf8): Encode non-Unicode characters as
1737         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1738         (str->codesys).
1739         (syms_of_file_coding): Add new symbols `use-entity-reference',
1740         `d', `x', `X'.
1741         (vars_of_file_coding): Add new variable
1742         `coded-charset-entity-reference-alist'.
1743         (complex_vars_of_file_coding): Declare `disable-composition' and
1744         `use-entity-reference' to be coding-system-properties in UTF-2000.
1745
1746         * file-coding.h (struct Lisp_Coding_System): Add new member
1747         `use_entity_reference' and `ccs_priority_list'.
1748         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1749         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1750         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1751
1752 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1753
1754         * chartab.c (save_uint8_byte_table): Don't clear the table.
1755         (save_uint16_byte_table): Likewise.
1756         (save_byte_table): Likewise.
1757         (Fmount_char_attribute_table): New function.
1758         (syms_of_chartab): Add new builtin function
1759         `mount-char-attribute-table'.
1760
1761 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1762
1763         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1764         "w+" mode.
1765         (load_char_decoding_entry_maybe): Open database as read-only mode.
1766
1767         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1768         open database as "w+" mode.
1769         (load_char_attribute_maybe): Open database as read-only mode.
1770         (Fload_char_attribute_table): Likewise.
1771
1772 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1773
1774         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1775         (char_table_description): Delete member `db_file'.
1776         (Fmake_char_table): Don't refer `ct->db_file'.
1777         (Fcopy_char_table): Likewise.
1778         (Fsave_char_attribute_table): Likewise.
1779         (Fclose_char_attribute_table): Likewise.
1780         (Freset_char_attribute_table): Likewise.
1781         (load_char_attribute_maybe): Likewise.
1782         (Fload_char_attribute_table): Likewise.
1783
1784         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1785
1786 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1787
1788         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1789         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1790         `ct->db' is living.
1791         (load_char_attribute_maybe): Likewise.
1792         (Fload_char_attribute_table): Likewise.
1793
1794 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1795
1796         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1797         `ct->db_file' unconditionally.
1798
1799 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1800
1801         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1802         UTF-2000.
1803         (char_table_description): Add description for `db_file' and `db'
1804         in UTF-2000.
1805         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1806         UTF-2000.
1807         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1808         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1809         (Fclose_char_attribute_table): New function.
1810         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1811         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1812         and `cit->db'.
1813         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1814         (syms_of_chartab): Add new builtin function
1815         `Fclose_char_attribute_table'.
1816
1817 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1818
1819         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1820         `db' in UTF-2000.
1821         (load_char_attribute_maybe): Change interface.
1822         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1823
1824 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1825
1826         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1827
1828 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1831         instead of `DECODE_CHAR' for mother; don't use special code for
1832         chinese-big5 to use code space of chinese-big5-1 and
1833         chinese-big5-2.
1834         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1835         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1836
1837         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1838         (MAX_CHAR_BIG5_CDP): Revival.
1839
1840 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1841
1842         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1843         the XLFD registry-encoding name of `chinese-big5'.
1844
1845 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1846
1847         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1848         (Qchinese_big5_cdp): Deleted.
1849         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1850         (complex_vars_of_mule_charset): Delete coded-charset
1851         `chinese-big5-cdp'.
1852
1853         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1854         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1855         `CHARSET_ID_OFFSET - n' for private CCS.
1856         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1857         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1858         of `MIN_LEADING_BYTE'.
1859         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1860         `(CHARSET_ID_OFFSET - 97)'.
1861         (MIN_CHAR_BIG5_CDP): Deleted.
1862         (MAX_CHAR_BIG5_CDP): Deleted.
1863
1864 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1865
1866         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1867
1868 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1869
1870         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1871         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1872         chartab.c].
1873
1874         * chartab.c (Vutf_2000_version): Moved to mule.c.
1875         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1876
1877 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1878
1879         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1880         when HAVE_CHISE_CLIENT is not defined.
1881
1882         * mule.c (vars_of_mule): Provide feature `chise' when
1883         HAVE_CHISE_CLIENT is defined.
1884
1885 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1886
1887         * config.h.in (UTF2000): Add comment.
1888         (HAVE_CHISE_CLIENT): New macro.
1889
1890 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1891
1892         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1893         CONSP.
1894         (Fput_char_attribute): Likewise.
1895         (char_attribute_system_db_file): Encode file-name of attribute.
1896         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1897         the initial value.
1898
1899 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1900
1901         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1902         (Fsave_charset_mapping_table): Use
1903         `char_attribute_system_db_file'.
1904         (load_char_decoding_entry_maybe): Likewise.
1905
1906         * chartab.h (Qsystem_char_id): New external variable.
1907         (char_attribute_system_db_file): New prototype.
1908
1909         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1910         (char_attribute_system_db_file): New function.
1911         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1912         (Freset_char_attribute_table): Likewise.
1913         (load_char_attribute_maybe): Likewise.
1914         (Fload_char_attribute_table): Likewise.
1915         (syms_of_chartab): Add new symbol `system-char-id'.
1916
1917 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1918
1919         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1920         `XCHARSET_GRAPHIC(ccs)'.
1921
1922 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1923
1924         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1925
1926 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1927
1928         * chartab.c (Q_ucs_variants): New variable.
1929         (syms_of_chartab): Add new symbol `->ucs-variants'.
1930         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1931         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1932         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1933
1934         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1935
1936         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1937         `HAVE_DATABASE' is defined.
1938         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1939         `HAVE_DATABASE' is defined.
1940
1941 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1942
1943         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1944         attribute-table.
1945         (Freset_char_attribute_table): New function.
1946         (syms_of_chartab): Add new builtin function
1947         `reset-char-attribute-table'.
1948
1949 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1950
1951         * chartab.c (load_char_attribute_maybe): Don't make directories.
1952
1953 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1954
1955         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1956
1957         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1958         for decoding-table.
1959
1960 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1961
1962         * mule-charset.c (Fsave_charset_mapping_table): Use
1963         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1964
1965         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1966         instead of `XCHARSET_CHARS'.
1967
1968 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1969
1970         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1971         (XCHARSET_BYTE_SIZE): Likewise.
1972
1973         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1974         mule-charset.c].
1975         (XCHARSET_BYTE_SIZE): Likewise.
1976
1977 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1978
1979         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1980         data-directory to store database.
1981         (Fsave_char_attribute_table): Likewise.
1982         (load_char_attribute_maybe): Likewise.
1983         (Fload_char_attribute_table): Likewise.
1984
1985 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1986
1987         * mule-charset.c (Fsave_charset_mapping_table): New function.
1988         (syms_of_mule_charset): Add new builtin function
1989         `save-charset-mapping-table'.
1990
1991 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1994         (get_ccs_octet_table): New inline function.
1995         (put_ccs_octet_table): Likewise.
1996         (decoding_table_put_char): Use `get_ccs_octet_table' and
1997         `put_ccs_octet_table'.
1998         (decoding_table_remove_char): Use `decoding_table_put_char'.
1999         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2000
2001         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2002         into encoding_table.
2003         (make_charset): Use Qunbound instead Qnil as initial value of
2004         decoding_table.
2005
2006 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2007
2008         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2009         element is Qunloaded.
2010         (map_over_uint16_byte_table): Likewise.
2011         (map_over_byte_table): Likewise.
2012         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2013         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2014         database support, load encoding-table of the specified
2015         coded-charset if it is not loaded yet.
2016         (save_uint8_byte_table): New function of UTF-2000 with external
2017         database support.
2018         (save_uint16_byte_table): Likewise.
2019         (save_byte_table): Likewise.
2020         (Fput_char_attribute): Don't store value into external database
2021         even if the external database feature is supported in UTF-2000;
2022         set `attribute' as name of char-table if the external database
2023         feature is supported.
2024         (Fsave_char_attribute_table): New function in UTF-2000.
2025         (syms_of_chartab): Add new builtin function
2026         `save-char-attribute-table' in UTF-2000.
2027
2028 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2029
2030         * chartab.c (char_attribute_table_to_put): New variable in
2031         UTF-2000.
2032         (Qput_char_table_map_function): Likewise.
2033         (value_to_put): Likewise.
2034         (Fput_char_table_map_function): New function in UTF-2000.
2035         (put_char_table): Use `Fmap_char_attribute' for
2036         CHARTAB_RANGE_CHARSET in UTF-2000.
2037         (Fput_char_attribute): Store symbol instead of string in
2038         `XCHAR_TABLE_NAME (table)'.
2039         (load_char_attribute_maybe): Likewise.
2040         (syms_of_chartab): Add new symbol/function
2041         `put-char-table-map-function'.
2042
2043 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2044
2045         * database.h: Add new EXFUN for `Fmap_database'.
2046
2047         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2048         (syms_of_database): Likewise.
2049
2050         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2051         UTF-2000.
2052         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2053         (XCHAR_TABLE_UNLOADED): Likewise.
2054
2055         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2056         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2057         HAVE_DATABASE is defined.
2058         (char_attribute_table_to_load): New variable of UTF-2000 with
2059         external database support.
2060         (Qload_char_attribute_table_map_function): Likewise.
2061         (Fload_char_attribute_table_map_function): New function of
2062         UTF-2000 with external database support.
2063         (Fload_char_attribute_table): New function of UTF-2000.
2064         (Fmap_char_attribute): Call Fload_char_attribute_table if
2065         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2066         (syms_of_chartab): Add new symbol and function
2067         `load-char-attribute-table-map-function' in UTF-2000 with external
2068         database support; add new function `load-char-attribute-table' in
2069         UTF-2000.
2070
2071 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2072
2073         * chartab.h (load_char_attribute_maybe): New prototype for
2074         UTF-2000 with DATABASE support.
2075         (get_char_id_table): Use `load_char_attribute_maybe' if
2076         HAVE_DATABASE is defined.
2077
2078         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2079         with DATABASE support.
2080
2081 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * chartab.c (Fput_char_attribute): Use S-expression as key of
2084         external database.
2085
2086         * chartab.h (get_char_id_table): Use S-expression as key of
2087         external database.
2088
2089 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2090
2091         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2092         if an element is not loaded, load the corresponding attributes
2093         from an external database.
2094         (map_over_uint16_byte_table): Likewise.
2095         (map_over_byte_table): Likewise.
2096         (map_char_table): Modify for `map_over_uint8_byte_table',
2097         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2098         element is not loaded, load the corresponding attributes from an
2099         external database.
2100         (Fput_char_attribute): Change initial values to Qunloaded.
2101
2102         * chartab.h (get_char_id_table): If a character attribute is not
2103         loaded and the attribute value is not found in an external
2104         database, store Qunbound as the attribute value.
2105
2106 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2107
2108         * chartab.c (BT_UINT8_unloaded): New macro.
2109         (UINT8_VALUE_P): Accept Qunloaded.
2110         (UINT8_ENCODE): Likewise.
2111         (UINT8_DECODE): Likewise.
2112         (BT_UINT16_unloaded): New macro.
2113         (UINT16_VALUE_P): Accept Qunloaded.
2114         (UINT16_ENCODE): Likewise.
2115         (UINT16_DECODE): Likewise.
2116         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2117         BT_UINT16_unloaded.
2118         (mark_char_table): Mark `ct->name' in UTF-2000.
2119         (char_table_description): Add `name' in UTF-2000.
2120         (Fmake_char_table): Initialize `ct->name'.
2121         (Fcopy_char_table): Copy `ct->name'.
2122         (Fput_char_attribute): Store value into an external database if
2123         HAVE_DATABASE is defined.
2124
2125         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2126         UTF-2000.
2127         (CHAR_TABLE_NAME): New macro in UTF-2000.
2128         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2129         (get_char_id_table): Try to read an external database if Qunloaded
2130         is stored in a table.
2131
2132         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2133         Qunloaded.
2134
2135 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2136
2137         * database.h: Add EXFUN definitions for Fopen_database,
2138         Fput_database, Fget_database and Fclose_database.
2139
2140         * data.c (Qunloaded): New variable in UTF-2000.
2141
2142         * lisp.h (Qunloaded): New variable in UTF-2000.
2143
2144 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * mule-charset.c (put_char_ccs_code_point): Modify for
2147         `decoding_table_remove_char' and `decoding_table_put_char'.
2148         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2149
2150         * char-ucs.h (decoding_table_remove_char): Change arguments to
2151         hide decoding_table vector.
2152         (decoding_table_put_char): Likewise.
2153
2154 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * mule-charset.c (decoding_table_remove_char): Moved to
2157         char-ucs.h.
2158         (decoding_table_put_char): Likewise.
2159
2160         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2161         from mule-charset.c].
2162         (decoding_table_remove_char): New inline function [moved from
2163         mule-charset.c].
2164         (decoding_table_put_char): Likewise.
2165
2166 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2167
2168         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2169         extension.
2170
2171 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2172
2173         * mule-charset.c (decode_builtin_char): Support mother charsets.
2174
2175 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2176
2177         * mule-charset.c (Q94x94x60): New variable.
2178         (charset_code_point): Support conversion `94x94x60'.
2179         (Fmake_charset): Likewise.
2180         (syms_of_mule_charset): Add new symbol `94x94x60'.
2181
2182         * char-ucs.h (CONVERSION_94x94x60): New macro.
2183
2184 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2185
2186         * mule-charset.c (charset_code_point): Unify code about
2187         `code-offset'.
2188
2189 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2190
2191         * mule-charset.c (charset_code_point): Merge code about builtin
2192         characters into code about mother charsets; don't use
2193         `range_charset_code_point'.
2194         (range_charset_code_point): Deleted.
2195
2196 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2197
2198         * mule-charset.c (Qcode_offset): New variable.
2199         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2200         `max-code'; accept new property `code-offset'.
2201         (syms_of_mule_charset): Add new symbol `code-offset'.
2202
2203 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2204
2205         * mule-charset.c (range_charset_code_point): Fixed.
2206
2207 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2208
2209         * mule-charset.c (decode_builtin_char): Change semantics of
2210         code-offset of coded-charset.
2211         (charset_code_point): Likewise.
2212         (range_charset_code_point): Likewise.
2213         (complex_vars_of_mule_charset): Modify for the change.
2214
2215 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2216
2217         * mule-charset.c (Fencode_char): Reverse arguments.
2218
2219         * mule-charset.c (charset_code_point): Fixed.
2220
2221 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2222
2223         * mule-charset.c (Vcharset_mojikyo): Deleted.
2224         (Vcharset_mojikyo_2022_1): Deleted.
2225         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2226         (Qmin_code): New variable in UTF-2000.
2227         (Qmax_code): Likewise.
2228         (Qmother): Likewise.
2229         (Qconversion): Likewise.
2230         (Q94x60): Likewise.
2231         (Qmojikyo): Deleted.
2232         (Qmojikyo_2022_1): Deleted.
2233         (Qmojikyo_pj_{1..22}): Deleted.
2234         (mark_charset): Mark `cs->mother'.
2235         (charset_description): Add description for `mother'.
2236         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2237         new arguments `mother' and `conversion'; use
2238         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2239         (charset_code_point): Moved from char-ucs.h; support `mother'
2240         charset feature.
2241         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2242         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2243         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2244         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2245         allow 2 as the value of `graphic' in UTF-2000; add new properties
2246         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2247         require `final' in UTF-2000; modify for `make_charset'.
2248         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2249         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2250         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2251         (Fencode_char): New function.
2252         (syms_of_mule_charset): Add new builtin function `encode-char' in
2253         UTF-2000; add new symbols `min-code', `max-code', `mother',
2254         `conversion' and `94x60'; delete symbols `mojikyo',
2255         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2256         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2257         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2258         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2259
2260         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2261         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2262
2263         * char-ucs.h (Vcharset_mojikyo): Deleted.
2264         (Vcharset_mojikyo_2022_1): Deleted.
2265         (LEADING_BYTE_MOJIKYO): Deleted.
2266         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2267         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2268         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2269         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2270         add new member `mother'; add new member `conversion'.
2271         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2272         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2273         (CHARSET_MOTHER): New macro.
2274         (CHARSET_CONVERSION): New macro.
2275         (CONVERSION_IDENTICAL): New macro.
2276         (CONVERSION_94x60): New macro.
2277         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2278         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2279         (XCHARSET_MOTHER): New macro.
2280         (XCHARSET_CONVERSION): New macro.
2281         (MIN_CHAR_MOJIKYO): Deleted.
2282         (MAX_CHAR_MOJIKYO): Deleted.
2283         (DECODE_MOJIKYO_2022): Deleted.
2284         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2285         (charset_code_point): Changed to non-inline function.
2286         (encode_char_1): Use `charset_code_point'.
2287         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2288
2289 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2290
2291         * lread.c (read_compiled_function): Fix prototype.
2292         (read_vector): Likewise.
2293
2294 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2295
2296         * lrecord.h (struct lrecord_header): Delete `older'.
2297         (set_lheader_implementation): Delete code for `older'.
2298         (set_lheader_older_implementation): Deleted.
2299         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2300         (OLDER_RECORD_P): Deleted.
2301         (OLDER_RECORD_HEADER_P): Deleted.
2302         (alloc_older_lcrecord): Deleted.
2303         (alloc_older_lcrecord_type): Deleted.
2304
2305         * alloc.c (all_older_lcrecords): Deleted.
2306         (alloc_older_lcrecord): Deleted.
2307         (disksave_object_finalization_1): Delete code for older objects.
2308         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2309         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2310
2311 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2314         instead of `make_older_vector'.
2315         (put_char_ccs_code_point): Likewise.
2316         (mark_charset): Mark `cs->decoding_table'.
2317         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2318
2319         * lisp.h (make_older_vector): Deleted.
2320         (make_vector_newer): Deleted.
2321
2322         * config.h.in (HAVE_GGC): Deleted.
2323
2324         * alloc.c (make_older_vector): Deleted.
2325         (make_vector_newer_1): Deleted.
2326         (make_vector_newer): Deleted.
2327
2328 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2329
2330         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2331         (Qideograph_daikanwa_2): New variable.
2332         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2333         (complex_vars_of_mule_charset): Add new coded-charset
2334         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2335         `LEADING_BYTE_DAIKANWA'.
2336
2337         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2338         (LEADING_BYTE_DAIKANWA_1): New macro.
2339         (LEADING_BYTE_DAIKANWA_2): New macro.
2340         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2341
2342 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * mule-charset.c (complex_vars_of_mule_charset): Change
2345         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2346         the second revised version.
2347
2348 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2349
2350         * mule-charset.c (Vcharset_ucs_smp): New variable.
2351         (Vcharset_ucs_sip): New variable.
2352         (Qucs_smp): New variable.
2353         (Qucs_sip): New variable.
2354         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2355         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2356         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2357         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2358         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2359         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2360
2361         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2362         (LEADING_BYTE_UCS_SIP): New macro.
2363         (MIN_CHAR_SMP): New macro.
2364         (MAX_CHAR_SMP): New macro.
2365         (MIN_CHAR_SIP): New macro.
2366         (MAX_CHAR_SIP): New macro.
2367
2368 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2369
2370         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2371         utf-2000.
2372
2373 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2374
2375         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2376         value; don't store value into `encoding_table' of `Lisp_Charset'.
2377         (mark_charset): `encoding_table' was deleted.
2378         (charset_description): Likewise.
2379         (make_charset): Likewise.
2380         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2381         `put_char_ccs_code_point'.
2382
2383         * chartab.h (Fput_char_attribute): New EXFUN.
2384
2385         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2386         is unified with normal symbol space.
2387         (Fget_char_attribute): Likewise.
2388         (Fput_char_attribute): Likewise; behavior of
2389         `put_char_ccs_code_point' is changed.
2390
2391         * char-ucs.h: Include "elhash.h".
2392         (Vchar_attribute_hash_table): New external variable.
2393         (struct Lisp_Charset): Delete `encoding_table'.
2394         (CHARSET_ENCODING_TABLE): New implementation; refer
2395         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2396         `Lisp_Charset'.
2397
2398 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2399
2400         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2401         (cs) == 0.
2402
2403 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2404
2405         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2406         `chinese-big5'.
2407
2408 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2409
2410         * chartab.c (uint8_byte_table_description): New constant.
2411         (uint8-byte-table): Use `uint8_byte_table_description'.
2412         (uint16_byte_table_description): New constant.
2413         (uint16-byte-table): Use `uint16_byte_table_description'.
2414
2415 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2416
2417         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2418         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2419
2420 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2421
2422         * mule-charset.c (Vcharset_ucs_ks): New variable.
2423         (Qucs_ks): New variable.
2424         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2425         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2426
2427         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2428
2429 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2430
2431         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2432         (Fdecode_char): Likewise.
2433
2434         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2435         chartab.h.
2436         (Fdefine_char): Modify for Fdecode_char.
2437         (Ffind_char): Likewise.
2438
2439         * mule-charset.c (Fdecode_char): Add new optional argument
2440         `defined-only'.
2441         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2442
2443 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2444
2445         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2446         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2447         (allocate_coding_system): Initialize initial-charsets of
2448         CODESYS_BIG5 in XEmacs UTF-2000.
2449         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2450         CODESYS_BIG5 in XEmacs UTF-2000.
2451         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2452         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2453
2454         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2455         variables.
2456         (Qideograph_hanziku_{1 .. 12}): Likewise.
2457         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2458         .. 12}'.
2459         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2460         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2461         `ideograph-hanziku-{1 .. 12}'.
2462
2463         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2464         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2465         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2466         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2467         (DECODE_DEFINED_CHAR): New inline function.
2468         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2469
2470 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2471
2472         * mule-charset.c (Vcharset_china3_jef): Renamed from
2473         `Vcharset_japanese_jef_china3'.
2474         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2475         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2476         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2477         (syms_of_mule_charset): Rename `china3-jef' from
2478         `japanese-jef-china3'.
2479         (complex_vars_of_mule_charset): Likewise; rename
2480         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2481
2482         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2483         `LEADING_BYTE_JEF_CHINA3'.
2484         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2485         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2486
2487 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2488
2489         * mule-charset.c (encode_builtin_char_1): Comment out special code
2490         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2491
2492         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2493         (MAX_CHAR_MOJIKYO_0): Comment out.
2494         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2495         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2496         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2497         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2498
2499 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2500
2501         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2502         (Qideograph_cbeta): New variable.
2503         (encode_builtin_char_1): Comment out special code for
2504         coded-charset `mojikyo' and `japanese-jef-china3'.
2505         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2506         (complex_vars_of_mule_charset): Add new coded-charset
2507         `ideograph-cbeta'.
2508
2509         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2510         (MIN_CHAR_CBETA): New macro.
2511         (MAX_CHAR_CBETA): New macro.
2512
2513 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2514
2515         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2516         (LEADING_BYTE_JEF_CHINA3): New macro.
2517         (MIN_CHAR_JEF_CHINA3): New macro.
2518         (MAX_CHAR_JEF_CHINA3): Likewise.
2519         (DECODE_CHAR): Fixed.
2520
2521 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2524         (Qjapanese_jef_china3): New variable.
2525         (encode_builtin_char_1): Support `japanese-jef-china3'.
2526         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2527         (complex_vars_of_mule_charset): Add new coded-charset
2528         `japanese-jef-china3'.
2529
2530 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2531
2532         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2533         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2534         94^4, 96^3, 96^4, 128^n and 256^n set.
2535         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2536         (map_char_table): Likewise.
2537
2538 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2541         UTF-2000.
2542
2543 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * chartab.h (get_char_id_table): New inline function.
2546
2547         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2548         function.
2549
2550 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2551
2552         * chartab.h (decode_char_table_range): New prototype in XEmacs
2553         UTF-2000.
2554         (put_char_id_table): New inline function in XEmacs UTF-2000.
2555
2556         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2557         function.
2558         (decode_char_table_range): Delete static declaration in XEmacs
2559         UTF-2000.
2560
2561 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * chartab.c (put_char_id_table): Use `put_char_table'.
2564
2565 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2568         (map_over_uint16_byte_table): Likewise.
2569         (map_over_byte_table): Likewise.
2570         (map_char_table): Modify for `map_over_uint8_byte_table',
2571         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2572         UTF-2000.
2573
2574 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2575
2576         * chartab.c (struct map_char_table_for_charset_arg): New
2577         structure.
2578         (map_char_table_for_charset_fun): New function.
2579         (map_char_table): Use `map_char_table' for encoding_table of
2580         `range->charset'.
2581
2582 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2583
2584         * chartab.c (map_char_table): Check a character is found in
2585         range->charset instead of non default value is defined in
2586         char-table when range is CHARTAB_RANGE_ROW.
2587
2588 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * chartab.c (map_char_id_table): Deleted.
2591         (Fmap_char_attribute): Use `map_char_table' instead of
2592         `map_char_id_table'.
2593
2594 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2597         UTF-2000.
2598         (update_syntax_table): Deleted in XEmacs UTF-2000.
2599
2600         * syntax.c (find_defun_start): Use `syntax_table' instead of
2601         `mirror_syntax_table' in XEmacs UTF-2000.
2602         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2603         UTF-2000.
2604         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2605         XEmacs UTF-2000.
2606         (Fmatching_paren): Likewise.
2607         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2608         in XEmacs UTF-2000.
2609         (find_start_of_comment): Likewise.
2610         (find_end_of_comment): Likewise.
2611         (Fforward_comment): Likewise.
2612         (scan_lists): Likewise.
2613         (char_quoted): Likewise.
2614         (Fbackward_prefix_chars): Likewise.
2615         (scan_sexps_forward): Likewise.
2616         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2617         (update_syntax_table): Likewise.
2618
2619         * search.c (skip_chars): Use `syntax_table' instead of
2620         `mirror_syntax_table' in XEmacs UTF-2000.
2621         (wordify): Likewise.
2622         (Freplace_match): Likewise.
2623
2624         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2625         `mirror_syntax_table' in XEmacs UTF-2000.
2626         (WORDCHAR_P_UNSAFE): Likewise.
2627         (re_match_2_internal): Likewise.
2628
2629         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2630         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2631
2632         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2633         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2634
2635         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2636         XEmacs UTF-2000.
2637
2638         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2639         UTF-2000.
2640         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2641         (char_table_description): Delete `mirror_table' in XEmacs
2642         UTF-2000.
2643         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2644         UTF-2000.
2645         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2646         (Fcopy_char_table): Likewise.
2647         (put_char_table): Don't call `update_syntax_table' in XEmacs
2648         UTF-2000.
2649
2650         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2651         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2652         (casify_region_internal): Likewise.
2653
2654         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2655
2656         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2657         `mirror_syntax_table' in XEmacs UTF-2000.
2658
2659         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2660         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2661         (Fexpand_abbrev): Likewise.
2662
2663 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2664
2665         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2666
2667 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2668
2669         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2670         (map_over_uint16_byte_table): Likewise.
2671         (map_over_byte_table): Likewise.
2672         (get_char_id_table): Refer `cit->default_value'.
2673         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2674         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2675         of character-id ranges.
2676         (mark_char_table): Mark `ct->default_value'.
2677         (char_table_description): Add `default_value'.
2678         (fill_char_table): Use `default_value'.
2679         (decode_char_table_range): Decode `nil' as
2680         `CHARTAB_RANGE_DEFAULT'.
2681         (get_char_id_table): Refer `cit->default_value'.
2682         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2683         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2684         temporary hack; check value of char-table is bound or not.
2685         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2686
2687         * chartab.h (struct Lisp_Char_Table): Add new member
2688         `default_value' in XEmacs UTF-2000.
2689         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2690         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2691         UTF-2000.
2692
2693 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2694
2695         * chartab.h (Lisp_Char_ID_Table): Deleted.
2696
2697         * chartab.c (char_table_description): Fix typo.
2698         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2699         `Lisp_Char_ID_Table'.
2700
2701 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2702
2703         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2704         `CHAR_ID_TABLE_P'.
2705
2706         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2707         `CHAR_ID_TABLE_P'.
2708
2709         * chartab.h (XCHAR_ID_TABLE): Deleted.
2710         (XSETCHAR_ID_TABLE): Deleted.
2711         (CHAR_ID_TABLE_P): Deleted.
2712
2713         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2714         `CHAR_ID_TABLE_P'.
2715         (Fget_composite_char): Likewise.
2716         (put_char_table): Likewise.
2717         (add_char_attribute_alist_mapper): Fixed.
2718         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2719         `CHAR_ID_TABLE_P'.
2720         (Fget_char_attribute): Likewise.
2721         (Fget_char_attribute): Likewise.
2722         (Fmap_char_attribute): Likewise.
2723
2724         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2725         `CHAR_ID_TABLE_P'.
2726         (encode_char_1): Likewise.
2727
2728 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2731         `XCHAR_ID_TABLE'.
2732
2733         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2734         instead of `XCHAR_ID_TABLE'.
2735         (remove_char_ccs): Likewise.
2736
2737         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2738         `XCHAR_ID_TABLE'.
2739         (Fget_composite_char): Likewise.
2740         (Fchar_variants): Likewise.
2741         (put_char_table): Likewise.
2742         (add_char_attribute_alist_mapper): Likewise.
2743         (Fchar_attribute_alist): Likewise.
2744         (Fget_char_attribute): Likewise.
2745         (Fput_char_attribute): Likewise.
2746         (Fmap_char_attribute): Likewise.
2747         (Fmap_char_attribute): Likewise.
2748
2749         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2750         `XCHAR_ID_TABLE'.
2751         (encode_char_1): Likewise.
2752
2753 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2754
2755         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2756         `Lisp_Char_ID_Table'.
2757         (mark_char_id_table): Deleted.
2758         (print_char_id_table): Likewise.
2759         (char_id_table_equal): Likewise.
2760         (char_id_table_hash): Likewise.
2761         (char_id_table_description): Likewise.
2762         (char_id_table): Likewise.
2763         (make_char_id_table): Use `Fmake_char_table' and
2764         `fill_char_table'.
2765         (get_char_id_table): Use `Lisp_Char_Table' instead of
2766         `Lisp_Char_ID_Table'.
2767         (put_char_id_table): Likewise.
2768         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2769         `XCHAR_ID_TABLE'.
2770         (Fremove_char_attribute): Likewise.
2771         (syms_of_chartab): Don't define type `char-id-table'.
2772
2773         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2774         (char_id_table): Likewise.
2775         (GC_CHAR_ID_TABLE_P): Likewise.
2776         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2777         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2778         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2779         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2780         (get_char_id_table): Use `Lisp_Char_Table' instead of
2781         `Lisp_Char_ID_Table'.
2782         (put_char_id_table_0): Likewise.
2783         (put_char_id_table): Likewise.
2784
2785 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2786
2787         * chartab.h: Lisp_Byte_Table related codes are moved from
2788         chartab.h.
2789
2790         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2791
2792 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2793
2794         * chartab.h: Don't include "chartab.h".
2795         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2796         (Lisp_Char_ID_Table): Likewise.
2797         (char_id_table): Likewise.
2798         (XCHAR_ID_TABLE): Likewise.
2799         (XSETCHAR_ID_TABLE): Likewise.
2800         (CHAR_ID_TABLE_P): Likewise.
2801         (GC_CHAR_ID_TABLE_P): Likewise.
2802         (get_char_id_table): Likewise.
2803
2804         * char-ucs.h: Include "chartab.h".
2805         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2806         (Lisp_Char_ID_Table): Likewise.
2807         (char_id_table): Likewise.
2808         (XCHAR_ID_TABLE): Likewise.
2809         (XSETCHAR_ID_TABLE): Likewise.
2810         (CHAR_ID_TABLE_P): Likewise.
2811         (GC_CHAR_ID_TABLE_P): Likewise.
2812         (get_char_id_table): Likewise.
2813
2814 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2815
2816         * chartab.c (copy_uint8_byte_table): New function.
2817         (copy_uint16_byte_table): New function.
2818         (copy_byte_table): New function.
2819         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2820         characters to call.
2821         (map_over_uint16_byte_table): Likewise.
2822         (map_over_byte_table): Likewise.
2823         (get_byte_table): Move prototype to chartab.h.
2824         (put_byte_table): Likewise.
2825         (put_char_id_table_0): Moved to chartab.h.
2826         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2827         (char_table_entry_equal): Likewise.
2828         (char_table_entry_hash): Likewise.
2829         (char_table_entry_description): Likewise.
2830         (char_table_entry): Likewise.
2831         (make_char_table_entry): Likewise.
2832         (copy_char_table_entry): Likewise.
2833         (get_non_ascii_char_table_value): Likewise.
2834         (map_over_charset_ascii): Likewise.
2835         (map_over_charset_control_1): Likewise.
2836         (map_over_charset_row): Likewise.
2837         (map_over_other_charset): Likewise.
2838         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2839         (print_char_table): Likewise.
2840         (char_table_equal): Likewise.
2841         (char_table_hash): Likewise.
2842         (char_table_description): Likewise.
2843         (fill_char_table): Likewise.
2844         (Fcopy_char_table): Likewise.
2845         (get_char_table): Likewise.
2846         (Fget_range_char_table): Likewise.
2847         (put_char_table): Likewise.
2848         (map_char_table): Likewise.
2849         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2850         UTF-2000.
2851
2852 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2853
2854         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2855         `Vauto_fill_chars' in XEmacs UTF-2000.
2856
2857         * chartab.h (get_byte_table): New prototype [moved from
2858         chartab.c].
2859         (put_byte_table): Likewise [moved from chartab.c].
2860         (put_char_id_table_0): New inline function [moved from chartab.c].
2861         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2862         (Lisp_Char_Table_Entry): Likewise.
2863         (char_table_entry): Likewise.
2864         (XCHAR_TABLE_ENTRY): Likewise.
2865         (XSETCHAR_TABLE_ENTRY): Likewise.
2866         (CHAR_TABLE_ENTRYP): Likewise.
2867         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2868         (NUM_ASCII_CHARS): Likewise.
2869         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2870         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2871
2872 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * chartab.c (get_char_id_table): Change interface.
2875         (put_char_id_table_0): New function.
2876         (put_char_id_table): Change interface; new implementation.
2877         (Fget_composite_char): Modify for interface change of
2878         `get_char_id_table'.
2879         (Fchar_variants): Likewise.
2880         (add_char_attribute_alist_mapper): Likewise.
2881         (Fchar_attribute_alist): Likewise.
2882         (Fget_char_attribute): Likewise.
2883         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2884         as same as character as the first argument like `put-char-table';
2885         modify for interface change of `put_char_id_table'.
2886         (Fremove_char_attribute): Modify for interface change of
2887         `put_char_id_table'.
2888
2889 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2890
2891         * text-coding.c: Sync up with XEmacs 21.2.41.
2892         (COMPOSE_ADD_CHAR): Modify for interface change of
2893         `get_char_id_table'.
2894
2895         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2896         change of `put_char_id_table'.
2897         (remove_char_ccs): Likewise.
2898
2899         * chartab.h (put_char_id_table): Change interface.
2900
2901         * char-ucs.h (get_char_id_table): Change interface.
2902         (charset_code_point): Modify for interface change of
2903         `get_char_id_table'.
2904         (encode_char_1): Likewise.
2905
2906 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2907
2908         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2909         argument `ccs'.
2910         (map_over_uint16_byte_table): Likewise.
2911         (map_over_byte_table): Likewise.
2912         (map_char_id_table): Add new argument `range' like
2913         `map_char_table'.
2914         (Fmap_char_attribute): Add new argument `range' like
2915         `Fmap_char_table'.
2916
2917 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2918
2919         * chartab.c (map_over_uint8_byte_table): Change interface of
2920         mapping function to use struct chartab_range instead of Emchar.
2921         (map_over_uint16_byte_table): Likewise.
2922         (map_over_byte_table): Likewise.
2923         (map_char_id_table): Likewise.
2924         (struct slow_map_char_id_table_arg): Deleted.
2925         (slow_map_char_id_table_fun): Deleted.
2926         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2927         function `slow_map_char_table_fun' instead of struct
2928         `slow_map_char_id_table_arg' and function
2929         `slow_map_char_id_table_fun'.
2930
2931 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2932
2933         * mule-charset.c: Move char-it-table related codes to chartab.c.
2934         (Vutf_2000_version): Moved to chartab.c.
2935         (Fdefine_char): Likewise.
2936         (Ffind_char): Likewise.
2937         (syms_of_mule_charset): Move types `uint8-byte-table',
2938         `uint16-byte-table', `byte-table' and `char-id-table' to
2939         chartab.c; move functions `char_attribute_list,
2940         `find_char_attribute_table, `char_attribute_alist,
2941         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2942         `map_char_attribute, `define_char, `find_char, `char_variants and
2943         `get_composite_char to chartab.c; move symbols `=>ucs',
2944         `->decomposition', `compat', `isolated', `initial', `medial',
2945         `final', `vertical', `noBreak', `fraction', `super', `sub',
2946         `circle', `square', `wide', `narrow', `small' and `font' to
2947         chartab.c.
2948         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2949         setting codes for `Vcharacter_composition_table' and
2950         `Vcharacter_variant_table' to chartab.c.
2951         (complex_vars_of_mule_charset): Move setting code for
2952         `Vchar_attribute_hash_table' to chartab.c.
2953
2954         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2955         (make_char_id_table): New prototype.
2956         (put_char_id_table): Likewise.
2957         (Fget_char_attribute): Likewise.
2958
2959         * chartab.c: Move char-id-table related code from mule-charset.c.
2960         (Vutf_2000_version): Moved from mule-charset.c.
2961
2962         * char-ucs.h (Qucs): New external variable.
2963         (put_char_ccs_code_point): New prototype.
2964         (remove_char_ccs): Likewise.
2965
2966 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2967
2968         * mule-charset.c (Vcharset_ucs_jis): New variable.
2969         (Qucs_jis): Likewise.
2970         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2971         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2972
2973         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2974
2975 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * mule-charset.c (map_over_uint8_byte_table): New function.
2978         (map_over_uint16_byte_table): Likewise.
2979         (map_over_byte_table): Likewise.
2980         (map_char_id_table): Likewise.
2981         (slow_map_char_id_table_fun): Likewise.
2982         (Fmap_char_attribute): Likewise.
2983         (syms_of_mule_charset): Add new function `map-char-attribute'.
2984
2985 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2986
2987         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2988         (syms_of_mule_charset): Add new function `find-char'.
2989
2990 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2991
2992         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2993         XEmacs UTF-2000.
2994         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2995         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2996         XEmacs UTF-2000.
2997         (complex_vars_of_mule_charset): Add new coded-charset
2998         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2999         `ideograph-gt-pj-*'.
3000
3001         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3002
3003 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3004
3005         * mule-charset.c (encode_builtin_char_1): Purge codes about
3006         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3007         {MIN|MAX}_CHAR_HEBREW.
3008         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3009         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3010
3011         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3012         (MAX_CHAR_GREEK): Purged.
3013         (MIN_CHAR_CYRILLIC): Purged.
3014         (MAX_CHAR_CYRILLIC): Purged.
3015         (MIN_CHAR_HEBREW): Commented out.
3016         (MAX_CHAR_HEBREW): Likewise.
3017
3018 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3019
3020         * mule-charset.c (Qto_ucs): New variable.
3021         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3022         (Fdefine_char): Likewise.
3023         (syms_of_mule_charset): Add new symbol `=>ucs'.
3024
3025 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * mule-charset.c (Fdecode_char): Fixed.
3028
3029 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3030
3031         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3032         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3033         "tcvn5712-1".
3034
3035 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3036
3037         * mule-charset.c (Vcharset_ucs_big5): New variable.
3038         (Qucs_big5): Likewise.
3039         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3040         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3041
3042         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3043
3044 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3045
3046         * mule-charset.c (decode_builtin_char): Check Big5 code range
3047         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3048
3049 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3050
3051         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3052         (Qchinese_gb12345): Likewise.
3053         (Fdecode_builtin_char): Fixed.
3054         (syms_of_mule_charset): Add `chinese-gb12345'.
3055         (complex_vars_of_mule_charset): Add coded-charset
3056         `chinese-gb12345'.
3057
3058         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3059         (LEADING_BYTE_CHINESE_GB12345): New macro.
3060
3061 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3062
3063         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3064         and `latin-viscii-upper' for `latin-viscii'.
3065
3066 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3067
3068         * mule-charset.c (Fdecode_builtin_char): Comment out
3069         regularization code for ISO-IR GR representation.
3070
3071 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3072
3073         * mule-charset.c (decode_builtin_char): New function; renamed from
3074         `make_builtin_char'; return -1 instead of signal.
3075         (Fdecode_builtin_char): Use `decode_builtin_char'.
3076
3077         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3078         `make_builtin_char'.
3079         (DECODE_CHAR): Use `decode_builtin_char' instead of
3080         `make_builtin_char'; use mapping table of `chinese-big5' for
3081         `chinese-big5-{1,2}'.
3082
3083 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3084
3085         * text-coding.c (char_encode_big5): New function.
3086         (char_finish_big5): Likewise.
3087         (reset_encoding_stream): Use `char_encode_big5' and
3088         `char_finish_big5' for CODESYS_BIG5.
3089         (mule_encode): Don't use `encode_coding_big5'.
3090         (encode_coding_big5): Deleted.
3091
3092 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3093
3094         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3095         0x81- in XEmacs UTF-2000.
3096         (detect_coding_big5): Likewise.
3097
3098 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3099
3100         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3101         generate character-id if the CCS property does not have
3102         corresponding predefined character.
3103         (make_builtin_char): Return -1 if corresponding predefined
3104         character is not found.
3105         (Fdecode_char): Return nil if corresponding character is not
3106         found.
3107         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3108         don't map to builtin ucs space.
3109
3110 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3111
3112         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3113         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3114
3115 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3116
3117         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3118         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3119         (Qideograph_gt): Likewise.
3120         (Qideograph_gt_pj_{1..11}): Likewise.
3121         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3122         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3123         `ideograph-gt-pj-11'.
3124         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3125         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3126         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3127
3128         * char-ucs.h (LEADING_BYTE_GT): New macro.
3129         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3130         (MIN_CHAR_GT): Likewise.
3131         (MAX_CHAR_GT): Likewise.
3132
3133 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3134
3135         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3136         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3137
3138         * doprnt.c (unsigned_int_converters): Add `c'.
3139         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3140
3141         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3142         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3143         `MIN_CHAR_MOJIKYO'.
3144         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3145         (MAX_CHAR_MOJIKYO_0): New macro.
3146         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3147
3148 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3149
3150         * mule-charset.c (Fdefine_char): Delete cemented out code.
3151         (encode_builtin_char_1): Modify for new allocation of builtin
3152         Mojikyo characters.
3153
3154         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3155
3156 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3157
3158         * mule-charset.c (Vcharset_ucs_cns): New variable.
3159         (Qucs_cns): New variable.
3160         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3161         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3162
3163 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3164
3165         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3166
3167 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3168
3169         * search.c (search_buffer): Make `charset_base_code' as
3170         character-id >> 6 to eliminate the corresponding last byte in
3171         UTF-8 representation [I'm not sure it is right thing].
3172         (boyer_moore): Likewise.
3173
3174 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3175
3176         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3177         representation in MULE.
3178
3179 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * text-coding.c (Fmake_coding_system): Use
3182         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3183         `EXTERNAL_PROPERTY_LIST_LOOP'.
3184
3185 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3186
3187         * text-coding.c (decode_output_utf8_partial_char): New function.
3188         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3189
3190 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * text-coding.c (decode_coding_utf8): Output original byte
3193         sequence if it is broken; change order of conditions.
3194
3195         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3196         of conditions.
3197
3198         * mb-multibyte.h (BYTE_ASCII_P):
3199         Use bit ops for char-signedness safety.
3200         (BYTE_C0_P): Use bit ops for char-signedness safety.
3201         (BYTE_C1_P): Use bit ops for char-signedness safety.
3202
3203         * character.h: (XCHAR_OR_CHAR_INT):
3204         Always use inline function.
3205         Remove redundant type checking assert() - XINT will abort quite
3206         nicely.
3207
3208 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3209
3210         * text-coding.c: (Fencode_shift_jis_char):
3211         (Fencode_big5_char):
3212         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3213         Replace 0 with '\0' when working with bytes.
3214         Replace initial "(" with "\(" in docstrings.
3215
3216         (Fmake_coding_system):
3217         When type is ccl and value is vector, register it with a proper
3218         symbol.  And checks whether the given ccl program is valid.
3219         (mule_decode): When calling ccl_driver, if src indicates
3220         NULL pointer, set an empty string instead.
3221         (mule_encode): Likewise.
3222
3223         (detect_eol_type):
3224         (detect_coding_sjis):
3225         (decode_coding_sjis):
3226         (detect_coding_big5):
3227         (decode_coding_big5):
3228         (detect_coding_ucs4):
3229         (decode_coding_ucs4):
3230         (detect_coding_utf8):
3231         (decode_coding_utf8):
3232         (detect_coding_iso2022):
3233         (decode_coding_iso2022):
3234         (decode_coding_no_conversion):
3235         (mule_decode):
3236         Make all detecting and decoding functions take an Extbyte * arg.
3237         (text_encode_generic):
3238         (encode_coding_big5):
3239         (encode_coding_no_conversion):
3240         (mule_encode):
3241         Make all encoding functions take a Bufbyte * arg.
3242         Use size_t instead of unsigned int for memory sizes.
3243         Only cast to unsigned char whenever dereferencing Extbyte *.
3244
3245         (struct lrecord_description fcd_description_1): Use countof.
3246         (complex_vars_of_file_coding):
3247         Use countof instead of sizeof.
3248         Use CHECK_NATNUM instead of CHECK_INT.
3249
3250 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3251
3252         * mule-charset.c (Fget_char_attribute): Add new optional argument
3253         `default-value'.
3254         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3255         (remove_char_ccs): Likewise.
3256
3257 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3258
3259         * text-coding.c (char_encode_shift_jis): New implementation in
3260         UTF-2000.
3261         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3262         ...)'.
3263
3264         * mule-charset.c (Vcharset_chinese_big5): New variable in
3265         UTF-2000.
3266         (Qchinese_big5): New variable in UTF-2000.
3267         (BIG5_SAME_ROW): New macro in UTF-2000.
3268         (make_builtin_char): Use builtin characters of
3269         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3270         characters of `Vcharset_chinese_big5'.
3271         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3272         (complex_vars_of_mule_charset): Add new coded-charset
3273         `chinese-big5' in UTF-2000.
3274
3275         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3276         (Vcharset_chinese_big5): New external variable declaration.
3277         (Vcharset_japanese_jisx0208_1990): Likewise.
3278
3279 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3280
3281         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3282         function.
3283         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3284
3285 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3288         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3289         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3290         `mojikyo-pj-*'.
3291
3292 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3293
3294         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3295
3296 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3297
3298         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3299         to 0.17.
3300
3301 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3302
3303         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3304         for `CHARSET_BY_ATTRIBUTES'.
3305         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3306         `CHARSET_BY_ATTRIBUTES'.
3307
3308         * text-coding.c (struct decoding_stream): Rename member `CH' to
3309         `CPOS'.
3310         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3311         (decode_coding_sjis): Likewise.
3312         (decode_coding_big5): Likewise.
3313         (decode_coding_ucs4): Likewise.
3314         (decode_coding_utf8): Likewise.
3315         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3316         `CHARSET_BY_ATTRIBUTES'.
3317         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3318         `str->counter'; decode 3, 4 bytes sets.
3319         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3320         sets.
3321         (decode_coding_no_conversion): Use `str->cpos' instead of
3322         `str->ch'.
3323
3324         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3325         (Qmojikyo_2022_1): New variable.
3326         (make_charset): Don't use `CHARSET_TYPE_*'.
3327         (range_charset_code_point): Support coded-charset
3328         `mojikyo-2022-1'.
3329         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3330         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3331         `CHARSET_BY_ATTRIBUTES'.
3332         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3333         `CHARSET_BY_ATTRIBUTES'.
3334         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3335         (complex_vars_of_mule_charset): Add new coded-charset
3336         `mojikyo-2022-1'.
3337
3338         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3339         interface; changed to inline function.
3340
3341         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3342         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3343         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3344         (CHARSET_TYPE_94): Deleted.
3345         (CHARSET_TYPE_94X94): Deleted.
3346         (CHARSET_TYPE_96): Deleted.
3347         (CHARSET_TYPE_96X96): Deleted.
3348         (CHARSET_TYPE_128): Deleted.
3349         (CHARSET_TYPE_128X128): Deleted.
3350         (CHARSET_TYPE_256): Deleted.
3351         (CHARSET_TYPE_256X256): Deleted.
3352         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3353         to inline function.
3354         (DECODE_MOJIKYO_2022): New inline function.
3355         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3356         `Vcharset_mojikyo_2022_1'.
3357
3358 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3361         instead of `EQ'.
3362         (put_byte_table): Likewise.
3363         (char_id_table_equal): Use `get_byte_table' [new implementation].
3364
3365 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3366
3367         * mule-charset.c: Include <limits.h> in UTF-2000.
3368         (BT_UINT8_MIN): New macro in UTF-2000.
3369         (BT_UINT8_MAX): New macro in UTF-2000.
3370         (BT_UINT8_t): New macro in UTF-2000.
3371         (BT_UINT8_nil): New macro in UTF-2000.
3372         (BT_UINT8_unbound): New macro in UTF-2000.
3373         (INT_UINT8_P): New inline function in UTF-2000.
3374         (UINT8_VALUE_P): New inline function in UTF-2000.
3375         (UINT8_ENCODE): New inline function in UTF-2000.
3376         (UINT8_DECODE): New inline function in UTF-2000.
3377         (mark_uint8_byte_table): New function in UTF-2000.
3378         (print_uint8_byte_table): New function in UTF-2000.
3379         (uint8_byte_table_equal): New function in UTF-2000.
3380         (uint8_byte_table_hash): New function in UTF-2000.
3381         (make_uint8_byte_table): New function in UTF-2000.
3382         (uint8_byte_table_same_value_p): New function in UTF-2000.
3383         (BT_UINT16_MIN): New macro in UTF-2000.
3384         (BT_UINT16_MAX): New macro in UTF-2000.
3385         (BT_UINT16_t): New macro in UTF-2000.
3386         (BT_UINT16_nil): New macro in UTF-2000.
3387         (BT_UINT16_unbound): New macro in UTF-2000.
3388         (INT_UINT16_P): New inline function in UTF-2000.
3389         (UINT16_VALUE_P): New inline function in UTF-2000.
3390         (UINT16_ENCODE): New inline function in UTF-2000.
3391         (UINT16_DECODE): New inline function in UTF-2000.
3392         (UINT8_TO_UINT16): New inline function in UTF-2000.
3393         (mark_uint16_byte_table): New function in UTF-2000.
3394         (print_uint16_byte_table): New function in UTF-2000.
3395         (uint16_byte_table_equal): New function in UTF-2000.
3396         (uint16_byte_table_hash): New function in UTF-2000.
3397         (make_uint16_byte_table): New function in UTF-2000.
3398         (uint16_byte_table_same_value_p): New function in UTF-2000.
3399         (print_byte_table): New function in UTF-2000.
3400         (byte-table): Use `print_byte_table' as printer.
3401         (make_byte_table): Delete second argument `older'.
3402         (byte_table_same_value_p): New function in UTF-2000.
3403         (copy_byte_table): Deleted.
3404         (get_byte_table): New function in UTF-2000.
3405         (put_byte_table): New function in UTF-2000.
3406         (print_char_id_table): New function in UTF-2000.
3407         (char-id-table): Use `print_char_id_table' as printer.
3408         (make_char_id_table): Delete second argument `older'.
3409         (get_char_id_table): Use `get_byte_table [new implementation].
3410         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3411         implementation].
3412         (Ffind_char_attribute_table): New function in UTF-2000.
3413         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3414         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3415         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3416         (syms_of_mule_charset): Add new function
3417         `find-char-attribute-table' in UTF-2000.
3418
3419         * lrecord.h (enum lrecord_type): Add
3420         `lrecord_type_uint16_byte_table' and
3421         `lrecord_type_uint8_byte_table'.
3422
3423         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3424         (Lisp_Uint8_Byte_Table): New type.
3425         (XUINT8_BYTE_TABLE): New macro.
3426         (XSETUINT8_BYTE_TABLE): New macro.
3427         (UINT8_BYTE_TABLE_P): New macro.
3428         (GC_UINT8_BYTE_TABLE_P): New macro.
3429         (struct Lisp_Uint16_Byte_Table): New structure.
3430         (Lisp_Uint16_Byte_Table): New type.
3431         (XUINT16_BYTE_TABLE): New macro.
3432         (XSETUINT16_BYTE_TABLE): New macro.
3433         (UINT16_BYTE_TABLE_P): New macro.
3434         (GC_UINT16_BYTE_TABLE_P): New macro.
3435
3436 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3437
3438         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3439         (Vcharacter_ideographic_strokes_table): Deleted.
3440         (Vcharacter_total_strokes_table): Deleted.
3441         (Vcharacter_morohashi_daikanwa_table): Deleted.
3442         (Vcharacter_decomposition_table): Deleted.
3443         (Qname): Deleted because it is duplicated.
3444         (Qideographic_radical): Deleted.
3445         (Qideographic_strokes): Deleted.
3446         (Qtotal_strokes): Deleted.
3447         (Qmorohashi_daikanwa): Deleted.
3448         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3449         `ideographic-radical', `ideographic-strokes', `total-strokes',
3450         `morohashi-daikanwa' and `->decomposition'.
3451         (Fget_char_attribute): Likewise.
3452         (Fput_char_attribute): Likewise; use `make-vector' instead of
3453         `make_older_vector' for `->decomposition' value.
3454         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3455         `ideograph-daikanwa'.
3456         (syms_of_mule_charset): Delete builtin symbols `name',
3457         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3458         `morohashi-daikanwa'.
3459         (vars_of_mule_charset): Don't setup
3460         `Vcharacter_ideographic_radical_table',
3461         `Vcharacter_ideographic_strokes_table',
3462         `Vcharacter_total_strokes_table',
3463         `Vcharacter_morohashi_daikanwa_table' and
3464         `Vcharacter_decomposition_table'.
3465
3466 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3467
3468         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3469         `make_older_vector', `make_vector_newer_1' and
3470         `make_vector_newer'.
3471
3472         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3473         `make_older_vector' and `make_vector_newer'.
3474
3475         * config.h.in (HAVE_GGC): New macro.
3476
3477 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3478
3479         * mule-charset.c (struct char_attribute_list_closure): New
3480         structure in UTF-2000.
3481         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3482         (Fchar_attribute_list): Likewise.
3483         (Fset_charset_mapping_table): Use `make_vector_newer'.
3484         (Fdecode_builtin_char): New function in UTF-2000.
3485         (syms_of_mule_charset): Add new function `char-attribute-list' and
3486         `decode-builtin-char' in UTF-2000.
3487
3488         * lisp.h (make_vector_newer): New prototype.
3489
3490         * alloc.c (make_vector_newer_1): New function.
3491         (make_vector_newer): New function.
3492
3493 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3494
3495         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3496         50100)'.
3497
3498 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3499
3500         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3501         (Vcharacter_attribute_table): Deleted.
3502         (Vcharacter_name_table): Deleted.
3503         (put_char_attribute): Deleted.
3504         (remove_char_attribute): Deleted.
3505         (struct char_attribute_alist_closure): New structure.
3506         (add_char_attribute_alist_mapper): New function.
3507         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3508         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3509         (Fget_char_attribute): Likewise.
3510         (Fput_char_attribute): Likewise.
3511         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3512         of `remove_char_attribute'.
3513         (Fdefine_char): Return character.
3514         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3515         and `Vcharacter_name_table'.
3516         (complex_vars_of_mule_charset): Likewise
3517         `Vchar_attribute_hash_table'.
3518
3519 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3520
3521         * character.h (CHARC_CHARSET): New macro.
3522         (CHARC_CHARSET_ID): New macro.
3523         (CHARC_CODE_POINT): New macro.
3524         (CHARC_COLUMNS): New macro.
3525         (CHARC_TO_CHAR): New inline function.
3526         (CHARC_EQ): New inline function.
3527         (CHARC_ASCII_EQ): New inline function.
3528         (CHARC_IS_SPACE): New inline function.
3529         (ASCII_TO_CHARC): New inline function.
3530
3531         * char-ucs.h (encode_char_2): Deleted.
3532         (ENCODE_CHAR): Use `encode_char_1' again.
3533         (breakup_char_1): Likewise.
3534         (CHAR_TO_CHARC): New inline function.
3535
3536         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3537
3538 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3539
3540         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3541         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3542         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3543         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3544         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3545         `CHARC_IS_SPACE'.
3546         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3547
3548         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3549         `CHARC_CODE_POINT'.
3550         (x_output_display_block): Use `CHARC_CHARSET' and
3551         `CHARC_ASCII_EQ'.
3552
3553         * redisplay-tty.c (tty_output_display_block): Use
3554         `CHARC_ASCII_EQ'.
3555         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3556
3557         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3558
3559         * insdel.c (find_charsets_in_charc_string): Use
3560         `CHARC_CHARSET_ID'.
3561         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3562         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3563         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3564         (convert_charc_string_into_malloced_string): Likewise.
3565
3566 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3567
3568         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3569         instead of <Emchar_dynarr *> for buf; use
3570         `convert_bufbyte_string_into_charc_dynarr' instead of
3571         `convert_bufbyte_string_into_emchar_dynarr'; use
3572         `find_charsets_in_charc_string' instead of
3573         `find_charsets_in_emchar_string'.
3574
3575         * redisplay.h:
3576         - Include "character.h".
3577         (struct rune): New member `cglyph'; delete member `chr'.
3578
3579         * redisplay.c (redisplay_text_width_charc_string): New function;
3580         delete `redisplay_text_width_emchar_string'.
3581         (rtw_charc_dynarr): New variable; renamed from
3582         `rtw_emchar_dynarr'.
3583         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3584         `rtw_emchar_dynarr'; use
3585         `convert_bufbyte_string_into_charc_dynarr' instead of
3586         `convert_bufbyte_string_into_emchar_dynarr'; use
3587         `redisplay_text_width_charc_string' instead of
3588         `redisplay_text_width_emchar_string'.
3589         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3590         instead of `rtw_emchar_dynarr'; use
3591         `convert_bufbyte_string_into_charc_dynarr' instead of
3592         `convert_bufbyte_string_into_emchar_dynarr'.
3593         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3594         `redisplay_text_width_charc_string' instead of
3595         `redisplay_text_width_emchar_string'.
3596         (create_text_block): Modify for <struct rune> change.
3597         (generate_formatted_string_db): Likewise.
3598         (create_string_text_block): Likewise.
3599         (pixel_to_glyph_translation): Likewise.
3600
3601         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3602         instead of <const Emchar *>.
3603         (x_text_width): Likewise.
3604         (x_output_display_block): Use <Charc_dynarr *> instead
3605         <Emchar_dynarr *>; modify for <structure rune> change.
3606         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3607         *>.
3608
3609         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3610         <const Emchar *>; use `charc_string_displayed_columns' instead of
3611         `emchar_string_displayed_columns'.
3612         (tty_output_display_block): Use <Charc_dynarr *> instead of
3613         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3614         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3615         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3616         `tty_output_emchar_dynarr_dynarr'.
3617         (tty_output_charc_dynarr): New function; delete
3618         `tty_output_charc_dynarr'.
3619
3620         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3621         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3622         <Emchar_dynarr *> for buf; use
3623         `convert_bufbyte_string_into_charc_dynarr' instead of
3624         `convert_bufbyte_string_into_emchar_dynarr'.
3625
3626         * frame.c (title_string_charc_dynarr): New variable; renamed from
3627         `title_string_emchar_dynarr'.
3628         (generate_title_string): Use `title_string_charc_dynarr' instead
3629         of `title_string_emchar_dynarr'; use
3630         `convert_charc_string_into_malloced_string' instead of
3631         `convert_emchar_string_into_malloced_string'.
3632         (init_frame): Use `title_string_charc_dynarr' instead of
3633         `title_string_emchar_dynarr'.
3634
3635         * console.h:
3636         - Include "character.h".
3637         (struct console_methods): Use <const Charc *> instead of <const
3638         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3639         <Emchar_dynarr *> in output_string_method.
3640
3641         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3642         <Emchar_dynarr *>.
3643
3644         * console-stream.c (stream_text_width): Use <const Charc *>
3645         instead of <const Emchar *>.
3646
3647         * character.h (Charc_dynarr): New type.
3648
3649         * char-ucs.h (structure Charc): New structure; define new type
3650         `Charc'.
3651
3652         * char-lb.h (DECODE_CHAR): New inline function.
3653         (encode_char_1): New inline function.
3654         (ENCODE_CHAR): New macro.
3655         (structure Charc): New structure; define new type `Charc'.
3656
3657         * char-1byte.h (Vcharset_control_1): New macro.
3658         (Vcharset_latin_iso8859_1): New macro.
3659         (DECODE_CHAR): New inline function.
3660         (encode_char_1): New inline function.
3661         (ENCODE_CHAR): New macro.
3662         (structure Charc): New structure; define new type `Charc'.
3663
3664         * insdel.c (find_charsets_in_charc_string): New function; delete
3665         `find_charsets_in_emchar_string'.
3666         (charc_string_displayed_columns): New function; delete
3667         `emchar_string_displayed_columns'.
3668         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3669         `convert_bufbyte_string_into_emchar_dynarr'.
3670         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3671         `convert_charc_string_into_bufbyte_dynarr'.
3672         (convert_charc_string_into_malloced_string): New function; delete
3673         `convert_charc_string_into_malloced_string'.
3674
3675         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3676         `find_charsets_in_emchar_string'.
3677         (charc_string_displayed_columns): New prototype; delete
3678         `emchar_string_displayed_columns'.
3679         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3680         `convert_charc_string_into_bufbyte_dynarr'.
3681         (convert_charc_string_into_malloced_string): New prototype; delete
3682         `convert_charc_string_into_malloced_string'.
3683
3684 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3685
3686         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3687
3688 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3689
3690         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3691
3692         * char-ucs.h: Use <short> for <Charset_ID>.
3693
3694         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3695         <Charset_ID>.
3696
3697 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3698
3699         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3700         to 0.16.
3701
3702 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3703
3704         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3705         variable.
3706         (Qmorohashi_daikanwa): New variable.
3707         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3708         for `morohashi-daikanwa' attribute.
3709         (Fget_char_attribute): Likewise.
3710         (Fput_char_attribute): Likewise.
3711         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3712         has the same value of `ideograph-daikanwa'.
3713         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3714         (vars_of_mule_charset): Setup
3715         `Vcharacter_morohashi_daikanwa_table'.
3716
3717 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3718
3719         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3720         attributes.
3721         (add_charset_to_list_mapper): Add `key' instead of
3722         `XCHARSET_NAME (value)' to return aliases.
3723
3724 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3725
3726         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3727         variable.
3728         (Vcharacter_ideographic_strokes_table): New variable.
3729         (Qideographic_radical): New variable.
3730         (Qideographic_strokes): New variable.
3731         (Fchar_attribute_alist): Use
3732         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3733         attribute; use `Vcharacter_ideographic_strokes_table' for
3734         `ideographic-strokes' attribute.
3735         (Fget_char_attribute): Likewise.
3736         (Fput_char_attribute): Likewise.
3737         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3738         `ideographic-strokes'.
3739         (vars_of_mule_charset): Setup
3740         `Vcharacter_ideographic_radical_table' and
3741         `Vcharacter_ideographic_strokes_table'.
3742
3743 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3744
3745         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3746         (Qtotal_strokes): New variable.
3747         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3748         `total-strokes' attribute.
3749         (Fget_char_attribute): Likewise.
3750         (Fput_char_attribute): Likewise.
3751         (syms_of_mule_charset): Add new symbol `total-strokes'.
3752         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3753
3754 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3755
3756         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3757         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3758         are found.
3759         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3760         `->decomposition' attribute.
3761         (Fput_char_attribute): Likewise.
3762         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3763
3764 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3765
3766         * mule-charset.c (decoding_table_check_elements): New function.
3767         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3768
3769 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3770
3771         * mule-charset.c (Fset_charset_mapping_table): Use
3772         `put_char_ccs_code_point'.
3773
3774 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3775
3776         * mule-charset.c (decoding_table_put_char): New inline function.
3777         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3778
3779 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3780
3781         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3782         (XCHARSET_BYTE_SIZE): New macro.
3783         (decoding_table_remove_char): New inline function.
3784         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3785         `decoding_table_remove_char'.
3786         (remove_char_ccs): Use `decoding_table_remove_char'.
3787         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3788
3789 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3790
3791         * mule-charset.c (Vcharacter_name_table): New variable.
3792         (Qname): New variable.
3793         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3794         attribute.
3795         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3796         `Vcharacter_name_table' for `name' attribute.
3797         (Fremove_char_attribute): Use function `remove_char_ccs'.
3798         (put_char_ccs_code_point): New function.
3799         (remove_char_ccs): New function.
3800         (syms_of_mule_charset): Add new symbol `name'.
3801         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3802
3803 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3804
3805         * mule-charset.c (make_byte_table): Add new argument `older'.
3806         (make_char_id_table): Likewise.
3807         (copy_char_id_table): Comment out because it is not used.
3808         (put_char_id_table): Modify for `make_byte_table'.
3809         (Fput_char_attribute): Make encoding_table as older object;
3810         inherit older bit of `Vcharacter_composition_table'.
3811         (mark_charset): Don't mark `cs->encoding_table'.
3812         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3813         normal object; make `Vcharacter_composition_table' as an older
3814         object; delete staticpro for `Vcharacter_composition_table'; make
3815         `Vcharacter_variant_table' as a normal object.
3816
3817         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3818         (mark_object): Don't check older object in UTF-2000.
3819
3820         * lrecord.h (struct lrecord_header): Add new member `older' in
3821         UTF-2000.
3822         (set_lheader_implementation): Setup `SLI_header->older' in
3823         UTF-2000.
3824         (set_lheader_older_implementation): New macro in UTF-2000.
3825         (OLDER_RECORD_P): New macro in UTF-2000.
3826         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3827         (alloc_older_lcrecord): New prototype in UTF-2000.
3828         (alloc_older_lcrecord_type): New macro in UTF-2000.
3829
3830 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3831
3832         * mule-charset.c (byte_table_description): Use
3833         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3834         (char_id_table_description): Delete bogus `, 1'.
3835         (Fget_char_attribute): Refer encoding_table of each coded-charset
3836         to get value of coded-charset attribute of a character.
3837         (Fput_char_attribute): Use `make_older_vector' instead of
3838         `make_vector'; use encoding_table of each coded-charset to store
3839         value of coded-charset attribute of a character.
3840         (Fremove_char_attribute): Use encoding_table of each coded-charset
3841         to store value of coded-charset attribute of a character.
3842         (mark_charset): Mark `cs->encoding_table'; don't mark
3843         `cs->decoding_table'.
3844         (charset_description): Add description of new member
3845         `encoding_table'.
3846         (make_charset): Initialize `encoding_table'.
3847
3848         * char-ucs.h (struct Lisp_Charset): Add new member
3849         `encoding_table'.
3850         (CHARSET_ENCODING_TABLE): New macro.
3851         (XCHARSET_ENCODING_TABLE): New macro.
3852         (charset_code_point): New implementation.
3853         (encode_char_1): Likewise.
3854
3855         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3856         (disksave_object_finalization_1): Call finalizers of
3857         `all_older_lcrecords' in UTF-2000.
3858         (make_older_vector): New function in UTF-2000.
3859         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3860         UTF-2000.
3861
3862         * lisp.h (make_older_vector): New prototype in UTF-2000.
3863
3864 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3865
3866         * lrecord.h (enum lrecord_type): Rename
3867         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3868
3869         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3870         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3871         `get_char_code_table'.
3872
3873         * mule-charset.c (mark_char_id_table): Renamed from
3874         `mark_char_code_table'.
3875         (char_id_table_equal): Renamed from `char_code_table_equal'.
3876         (char_id_table_hash): Renamed from `char_code_table_hash'.
3877         (make_char_id_table): Renamed from `make_char_code_table'.
3878         (copy_char_id_table): Renamed from `copy_char_code_table'.
3879         (get_char_id_table): Renamed from `get_char_code_table'.
3880         (put_char_id_table): Renamed from `put_char_code_table'.
3881         (to_char_id): Renamed from `to_char_code'.
3882
3883         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3884         `Lisp_Char_Code_Table'.
3885         (char_id_table): Renamed from `char_code_table'.
3886         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3887         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3888         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3889         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3890         (get_char_id_table): Renamed from `get_char_code_table'.
3891
3892 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3893
3894         * lrecord.h (enum lrecord_type): Rename
3895         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3896
3897         * mule-charset.c (mark_byte_table): Renamed from
3898         `mark_char_byte_table'.
3899         (byte_table_equal): Renamed from `char_byte_table_equal'.
3900         (byte_table_hash): Renamed from `byte_table_hash'.
3901         (make_byte_table): Renamed from `make_byte_table'.
3902         (copy_byte_table): Renamed from `copy_char_byte_table'.
3903
3904         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3905         `Lisp_Char_Byte_Table'.
3906         (byte_table): Renamed from `char_byte_table'.
3907         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3908         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3909         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3910         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3911
3912 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3913
3914         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3915         (dfc_convert_to_internal_format): Likewise.
3916         
3917         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3918         * text-coding.c (Fcoding_system_alias_p): New function.
3919         * text-coding.c (Fcoding_system_aliasee): New function.
3920         * text-coding.c (append_suffix_to_symbol): New function.
3921         * text-coding.c (dangling_coding_system_alias_p): New function.
3922         * text-coding.c (Ffind_coding_system):
3923         * text-coding.c (Fcopy_coding_system):
3924         * text-coding.c (encode_coding_no_conversion):
3925         * text-coding.c (syms_of_file_coding):
3926         * text-coding.c (vars_of_file_coding):
3927         Rewrite coding system alias code.
3928         Allow nested aliases, like symbolic links.
3929         Allow redefinition of coding system aliases.
3930         Prevent existence of dangling coding system aliases.
3931         Eliminate convert_to_external_format.
3932         Eliminate convert_to_internal_format.
3933         
3934         * text-coding.c: Change enum eol_type to eol_type_t.
3935
3936 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3937
3938         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3939         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3940
3941         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3942         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3943
3944 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3945
3946         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3947         `ideograph-daikanwa'.
3948
3949         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3950         (Vcharset_ucs_bmp): Likewise.
3951         (Vcharset_mojikyo): Add new extern variable definition.
3952         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3953         (Vcharset_latin_iso8859_3): Likewise.
3954         (Vcharset_latin_iso8859_4): Likewise.
3955         (Vcharset_latin_iso8859_9): Likewise.
3956         (Vcharset_latin_viscii_lower): Likewise.
3957         (Vcharset_latin_viscii_upper): Likewise.
3958         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3959         `mojikyo' code-point is used to decode.
3960         (encode_char_2): New function [to convert `mojikyo' code-point to
3961         Mojikyo font encoding].
3962         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3963         (breakup_char_1): Likewise.
3964         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3965
3966 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3967
3968         * text-coding.c (Fmake_coding_system): Add document about
3969         `disable-composition' property.
3970
3971 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3972
3973         * text-coding.c (Qdisable_composition): New variable; delete
3974         `Qcomposite'.
3975         (Fmake_coding_system): Add new property `disable-composite';
3976         delete property `composite'.
3977         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3978         instead of `!CODING_SYSTEM_COMPOSITE'.
3979         (syms_of_file_coding): Add new symbol `disable-composition';
3980         delete symbol `composite'.
3981
3982         * file-coding.h (struct Lisp_Coding_System): Add
3983         `disable_composition'; delete `enable_composition'.
3984         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3985         `CODING_SYSTEM_COMPOSITE'.
3986         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3987         `XCODING_SYSTEM_COMPOSITE'.
3988
3989 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3990
3991         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3992         to 0.15.
3993
3994 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3995
3996         * text-coding.c (Qcomposite): New variable.
3997         (Fmake_coding_system): Add new property `composite'.
3998         (struct decoding_stream): Add `combined_char_count',
3999         `combined_chars' and `combining_table' in UTF-2000.
4000         (COMPOSE_FLUSH_CHARS): New macro.
4001         (COMPOSE_ADD_CHAR): New macro.
4002         (reset_decoding_stream): Reset `str->combined_char_count' and
4003         `str->combining_table' in UTF-2000.
4004         (decode_coding_iso2022): Modify for character-decomposition.
4005         (syms_of_file_coding): Add new symbol `composite'.
4006
4007 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4008
4009         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4010         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4011         of `Vcharacter_composition_table' if `->decomposition' property
4012         has only 1 element.
4013         (Qlatin_tcvn5712): New variable.
4014         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4015         (complex_vars_of_mule_charset): Add new coded-charset
4016         `latin-tcvn5712'.
4017
4018         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4019
4020 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4021
4022         * file-coding.h (struct Lisp_Coding_System): Add
4023         `enable_composition'.
4024         (CODING_SYSTEM_COMPOSITE): New macro.
4025         (XCODING_SYSTEM_COMPOSITE): New macro.
4026
4027 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4028
4029         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4030
4031 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4032
4033         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4034         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4035
4036 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4037
4038         * mule-charset.c (Vcharset_mojikyo): New variable.
4039         (Fdefine_char): Don't use coded-charset which does not have
4040         non-builtin character range to allocate character-id.
4041         (Qmojikyo): New variable.
4042         (syms_of_mule_charset): Add new symbol `mojikyo'.
4043         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4044
4045         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4046         (LEADING_BYTE_MOJIKYO): New macro.
4047         (MIN_CHAR_MOJIKYO): New macro.
4048         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4049         (MAX_CHAR_MOJIKYO): New macro.
4050
4051 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4052
4053         * mule-charset.c (remove_char_attribute): Fixed.
4054
4055 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4056
4057         * mule-charset.c (remove_char_attribute): New function.
4058         (Fremove_char_attribute): New function.
4059         (encode_builtin_char_1): Comment out builtin-support for
4060         greek-iso8859-7 and cyrillic-iso8859-5.
4061         (Fdecode_char): Check `code' is an integer.
4062         (syms_of_mule_charset): Add `remove-char-attribute'.
4063         (MIN_CHAR_GREEK): Deleted.
4064         (MAX_CHAR_GREEK): Likewise.
4065         (MIN_CHAR_CYRILLIC): Likewise.
4066         (MAX_CHAR_CYRILLIC): Likewise.
4067         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4068         MAX_CHAR_GREEK for `greek-iso8859-7'.
4069
4070         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4071         (MAX_CHAR_GREEK): Likewise.
4072         (MIN_CHAR_CYRILLIC): Likewise.
4073         (MAX_CHAR_CYRILLIC): Likewise.
4074
4075 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4076
4077         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4078         format is used without `ucs' property.
4079         (Fdecode_char): Fix problem with GR representation.
4080         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4081         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4082
4083 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4084
4085         * mule-charset.c (make_builtin_char): New function.
4086         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4087         (Fset_charset_mapping_table): Modify for new representation of
4088         code-point.
4089         (Fdecode_char): New function.
4090         (syms_of_mule_charset): Add new builtin function `decode-char' in
4091         UTF-2000.
4092
4093         * char-ucs.h (make_builtin_char): New prototype.
4094         (DECODE_CHAR): New inline function.
4095         (MAKE_CHAR): Use `DECODE_CHAR'.
4096
4097 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4098
4099         * text-coding.c (parse_charset_conversion_specs): Use
4100         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4101         `XCHARSET_TYPE'.
4102         (iso2022_designate): Likewise.
4103
4104         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4105         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4106
4107         * mule-charset.c (Vcharset_ucs): New variable.
4108         (print_charset): Change design; use `CHARSET_CHARS' and
4109         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4110         (make_charset): Change signature to specify `chars' and
4111         `dimension' instead of `type'.
4112         (range_charset_code_point): Modify for 256^n-set.
4113         (encode_builtin_char_1): Encode as `ucs' in default.
4114         (Fmake_charset): Modify for `make_charset'.
4115         (Fmake_reverse_direction_charset): Likewise.
4116         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4117         UTF-2000.
4118         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4119         for `make_charset'.
4120
4121         * char-ucs.h (Vcharset_ucs): New variable.
4122         (LEADING_BYTE_UCS): New macro.
4123         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4124         and `chars' to `unsigned short' from `unsigned int'.
4125         (CHARSET_TYPE): Deleted.
4126         (XCHARSET_TYPE): Deleted.
4127
4128 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4129
4130         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4131
4132         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4133         (ENCODE_CHAR): New macro.
4134
4135 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4136
4137         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4138         to 0.14 (Kawachi-Katakami).
4139
4140 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4141
4142         * text-coding.c (char_encode_shift_jis): Modify for
4143         `charset_code_point'.
4144         (char_encode_iso2022): Likewise.
4145
4146         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4147         (integer) instead of list of <Lisp_Object>s (integers) as the
4148         format of code-point of a coded-charset.
4149         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4150         (encode_builtin_char_1): New function; delete
4151         `split_builtin_char'.
4152         (charset_code_point): Return <int> instead of <Lisp_Object>.
4153         (Fsplit_char): Don't use `SPLIT_CHAR'.
4154
4155         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4156         prototype for `split_builtin_char'.
4157         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4158         (charset_code_point): Likewise.
4159         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4160         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4161
4162 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4163
4164         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4165         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4166
4167 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4168
4169         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4170
4171         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4172         (MAX_CHAR_OBS_94x94): Deleted.
4173
4174 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4175
4176         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4177
4178         * char-ucs.h (MAX_CHAR_BMP): New macro.
4179
4180 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4181
4182         * text-coding.c: Sync with r21-2-24.
4183
4184 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4185
4186         * file-coding.c: Modify for UTF-2000.
4187
4188 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4189
4190         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4191         to 0.13 (Takaida).
4192
4193 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4194
4195         * mule-charset.c (split_builtin_char): Delete builtin support for
4196         `katakana-jisx0201'.
4197         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4198         BMP area in builtin representation.
4199
4200         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4201         `Vcharset_katakana_jisx0201'.
4202
4203 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4204
4205         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4206         (Qisolated): New variable.
4207         (Qinitial): New variable.
4208         (Qmedial): New variable.
4209         (Qfinal): New variable.
4210         (Qvertical): New variable.
4211         (Qsmall): New variable.
4212         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4213         `Qvertical' and `Qsmall'.
4214         (Qmojikyo_pj_[1 .. 21]): New variable.
4215         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4216         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4217         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4218         .. 21]'.
4219
4220 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4221
4222         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4223         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4224         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4225
4226 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4227
4228         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4229         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4230         BMP.
4231         (Qjapanese_jisx0208_1990): New variable.
4232         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4233         (complex_vars_of_mule_charset): Add new coded-charset
4234         `japanese-jisx0208-1990'.
4235
4236         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4237         (MIN_CHAR_JIS_X0208_1990): New macro.
4238         (MAX_CHAR_JIS_X0208_1990): New macro.
4239
4240 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4241
4242         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4243         coded-charset is not found.
4244
4245 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4246
4247         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4248         (Fdefine_char): Use `Fmake_char'.
4249
4250 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4251
4252         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4253         (Vcharset_hiragana_jisx0208): Deleted.
4254         (Vcharset_katakana_jisx0208): Deleted.
4255         (Qideograph_daikanwa): New variable.
4256         (Qhiragana_jisx0208): Deleted.
4257         (Qkatakana_jisx0208): Deleted.
4258         (split_builtin_char): Split `ideograph-daikanwa'.
4259         (Fsplit_char): New implementation for UTF-2000.
4260         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4261         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4262         (complex_vars_of_mule_charset): Add new coded-charset
4263         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4264         `katakana-jisx0208'.
4265
4266         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4267         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4268         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4269         (MIN_CHAR_DAIKANWA): New macro.
4270         (MAX_CHAR_DAIKANWA): New macro.
4271
4272 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4273
4274         * data.c (Fstring_to_number): Don't recognize floating point if
4275         base is not 10.
4276
4277 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4278
4279         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4280
4281 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4282
4283         * mule-charset.c (Qsquare): New variable.
4284         (to_char_code): Add `Qsquare'.
4285         (syms_of_mule_charset): Add new symbol `square'.
4286
4287 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4288
4289         * mule-charset.c (Qcircle): New variable.
4290         (to_char_code): Add `Qcircle'.
4291         (syms_of_mule_charset): Add new symbol `circle'.
4292
4293 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4294
4295         * mule-charset.c (Qfont): New variable.
4296         (to_char_code): Add `Qfont'.
4297         (syms_of_mule_charset): Add new symbol `font'.
4298
4299 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4300
4301         * mule-charset.c (Qsub): New variable.
4302         (to_char_code): Add `Qsub'.
4303         (syms_of_mule_charset): Add new symbol `sub'.
4304
4305 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4306
4307         * mule-charset.c (Fput_char_attribute): Convert each element of
4308         VALUE to GL position if ATTRIBUTE is a GR-set,
4309
4310 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4311
4312         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4313         coded-charset is a GR-set.
4314
4315 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4316
4317         * mule-charset.c (Fput_char_attribute): Check each element of
4318         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4319
4320 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4323         UTF-2000.
4324         (Qethiopic_ucs): New variable in UTF-2000.
4325         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4326         (complex_vars_of_mule_charset): Add new coded-charset
4327         `ethiopic-ucs' in UTF-2000.
4328
4329         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4330         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4331         9)'.
4332         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4333         10)'.
4334         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4335
4336 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4337
4338         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4339         `ascii'.
4340
4341 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4342
4343         * mule-charset.c (Vcharacter_variant_table): New variable.
4344         (Q_ucs): New variable.
4345         (Fchar_variants): New function.
4346         (Fput_char_attribute): Register `->ucs' value to
4347         `Vcharacter_variant_table'.
4348         (syms_of_mule_charset): Add new function `char-variants' and new
4349         symbol `->ucs'.
4350         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4351
4352 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4353
4354         * mule-charset.c (get_char_code_table): Allow negative character
4355         code.
4356         (put_char_code_table): Likewise.
4357         (Vcharacter_composition_table): New variable.
4358         (Q_decomposition): New variable.
4359         (Qwide): New variable.
4360         (Qnarrow): New variable.
4361         (Qcompat): New variable.
4362         (QnoBreak): New variable.
4363         (Qsuper): New variable.
4364         (Qfraction): New variable.
4365         (to_char_code): New function.
4366         (Fget_composite_char): New function.
4367         (Fput_char_attribute): Register `->decomposition' value to
4368         `Vcharacter_composition_table'.
4369         (syms_of_mule_charset): Add new function `get-composite-char', new
4370         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4371         `super' and `fraction'.
4372         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4373
4374 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4375
4376         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4377         character; copy the return value.
4378
4379 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4380
4381         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4382
4383         * mule-charset.c (range_charset_code_point): Must use make_int.
4384         (split_builtin_char): New function.
4385
4386 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4387
4388         * mule-charset.c (char_byte_table): Change name from
4389         "char-code-table" to "char-byte-table".
4390         (mark_char_code_table): New function.
4391         (char_code_table_equal): New function.
4392         (char_code_table_hash): New function.
4393         (char_code_table_description): New constant.
4394         (char_code_table): New type.
4395         (make_char_code_table): New function.
4396         (copy_char_code_table): New function.
4397         (get_char_code_table): Modify for `char_code_table' type.
4398         (put_char_code_table): Likewise.
4399         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4400         (Kashiwara).
4401
4402         * char-ucs.h (char_code_table): New type.
4403         (XCHAR_CODE_TABLE): New macro.
4404         (XSETCHAR_CODE_TABLE): New macro.
4405         (CHAR_CODE_TABLE_P): New macro.
4406         (GC_CHAR_CODE_TABLE_P): New macro.
4407         (struct Lisp_Char_Code_Table): New structure.
4408
4409 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4410
4411         * mule-charset.c (Fmake_charset): Setup byte_offset for
4412         {94|96}^n-set.
4413
4414 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4415
4416         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4417         character.
4418
4419 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4420
4421         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4422         is found.
4423
4424 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4425
4426         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4427         charset, it is regarded as a charset.
4428         (put_char_attribute): New function in UTF-2000.
4429         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4430         charset, mapping-table of the charset is modified.
4431         (Fdefine_char): New function in UTF-2000.
4432         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4433         `Fput_char_attribute'.
4434         (syms_of_mule_charset): Add new function `define-char' and new
4435         symbol `ucs' in UTF-2000.
4436         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4437
4438 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4439
4440         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4441         non-UTF-2000 configuration.
4442
4443 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4444
4445         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4446         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4447
4448         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4449         deleted.
4450         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4451         (Fset_charset_mapping_table): Likewise.
4452
4453         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4454         (CHARSET_ENCODING_TABLE): Delete.
4455         (XCHARSET_ENCODING_TABLE): Delete.
4456         (charset_code_point): New interface.
4457
4458 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4459
4460         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4461         instead of `charset_get_byte1' and `charset_get_byte2'.
4462
4463         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4464         (charset_get_byte2): Deleted.
4465
4466 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * char-ucs.h (SPLIT_CHAR): New inline function.
4469         (breakup_char_1): Use `SPLIT_CHAR'.
4470
4471         * mule-charset.c (range_charset_code_point): New function.
4472         (charset_code_point): New function.
4473
4474         * char-ucs.h (range_charset_code_point): New interface.
4475         (breakup_char_1): Use `range_charset_code_point'.
4476
4477 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4478
4479         * mule-charset.c (Fmake_charset): Delete unused local variable
4480         `code_offset'.
4481
4482         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4483         (breakup_char_1): Find a charset and code-point in
4484         `Vcharacter_attribute_table'.
4485
4486 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4487
4488         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4489         to 0.10 (Yao).
4490
4491 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4492
4493         * mule-charset.c (Vcharacter_attribute_table): New variable.
4494         (Fchar_attribute_alist): New function.
4495         (Fget_char_attribute): New function.
4496         (Fput_char_attribute): New function.
4497         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4498         too.
4499         (syms_of_mule_charset): Add new function `char-attribute-alist',
4500         `get-char-attribute' and `put-char-attribute'.
4501         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4502
4503 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4504
4505         * mule-charset.c (Fmake_charset): Just use
4506         `get_unallocated_leading_byte'.
4507
4508         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4509         sets; don't use final-byte based number for private sets.
4510
4511 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4512
4513         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4514         integer.
4515
4516 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4517
4518         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4519         to 0.9.
4520
4521 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4522
4523         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4524         of `CHAR_LEADING_BYTE' in UTF-2000.
4525
4526         * insdel.c (find_charsets_in_bufbyte_string): Use
4527         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4528         (find_charsets_in_emchar_string): Likewise.
4529
4530         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4531         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4532
4533         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4534         (CHAR_CHARSET_ID): New macro.
4535
4536 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4537
4538         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4539         charset-id - MIN_LEADING_BYTE.
4540         (put_char_table): Likewise.
4541
4542 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4543
4544         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4545         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4546         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4547         (CHARSET_ID_OFFSET): New macro.
4548         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4549         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4550         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4551         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4552         4).
4553         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4554         5).
4555         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4556         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4557         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4558         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4559         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4560
4561 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4562
4563         * mule-charset.c (next_allocated_leading_byte): New variable in
4564         UTF-2000.
4565         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4566         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4567         (get_unallocated_leading_byte): Simply use
4568         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4569         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4570         UTF-2000.
4571
4572         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4573         (MAX_LEADING_BYTE_PRIVATE): New macro.
4574         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4575         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4576
4577 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4578
4579         * mule-charset.c (Fmake_charset): Allocate final-byte based
4580         charset-id for 94-set, 96-set and 94x94-set.
4581
4582 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4583
4584         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4585         ambiguous `else'.
4586         (Fmake_charset): Likewise.
4587         (complex_vars_of_mule_charset): Modify the font registry of
4588         `ucs-bmp' not to match `Ethiopic-Unicode'.
4589
4590 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4591
4592         * mule-charset.c (complex_vars_of_mule_charset): Add font
4593         registory of `ucs-bmp'.
4594
4595 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4596
4597         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4598         coded-charsets in `default-coded-charset-priority-list' when
4599         breaking up a character.
4600
4601         * mule-charset.c (Vcharset_latin_viscii): New variable.
4602         (Qlatin_viscii): New variable.
4603         (make_charset): Don't use `decoding_table'.
4604         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4605         byte_offset.
4606         (Fset_charset_mapping_table): New implementation.
4607         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4608         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4609         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4610         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4611         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4612         charset `latin_viscii'.
4613
4614         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4615         (CHARSET_TYPE_94X94): Change to 1 from 2.
4616         (CHARSET_TYPE_96): Change to 2 from 1.
4617         (CHARSET_TYPE_128): New macro.
4618         (CHARSET_TYPE_128X128): Change to 5 from 4.
4619         (CHARSET_TYPE_256): New macro.
4620         (CHARSET_TYPE_256X256): Change to 7 from 5.
4621         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4622
4623 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4624
4625         * text-coding.c (char_encode_shift_jis): Refer
4626         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4627         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4628
4629         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4630         (char_byte_table_equal): New function in UTF-2000.
4631         (char_byte_table_hash): New function in UTF-2000.
4632         (char_byte_table_description): New constant in UTF-2000.
4633         (char_byte_table): New type in UTF-2000.
4634         (make_char_byte_table): New function in UTF-2000.
4635         (copy_char_byte_table): New function in UTF-2000.
4636         (make_char_code_table): New macro in UTF-2000.
4637         (get_char_code_table): New function in UTF-2000.
4638         (put_char_code_table): New function in UTF-2000.
4639         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4640         (charset_description): Add setting in UTF-2000.
4641         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4642         `CHARSET_TO_BYTE1_TABLE(cs)'.
4643         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4644         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4645         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4646         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4647         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4648         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4649         `CHARSET_TO_BYTE2_TABLE(cs)'.
4650
4651         * char-ucs.h (char_byte_table): New type.
4652         (XCHAR_BYTE_TABLE): New macro.
4653         (XSETCHAR_BYTE_TABLE): New macro.
4654         (CHAR_BYTE_TABLE_P): New macro.
4655         (GC_CHAR_BYTE_TABLE_P): New macro.
4656         (struct Lisp_Char_Byte_Table): New structure.
4657         (get_char_code_table): New interface.
4658         (Emchar_to_byte_table): Deleted.
4659         (get_byte_from_character_table): Deleted.
4660         (struct Lisp_Charset): Add `encoding_table'; delete
4661         `to_byte1_table' and `to_byte2_table'.
4662         (CHARSET_ENCODING_TABLE): New macro.
4663         (CHARSET_TO_BYTE1_TABLE): Deleted.
4664         (CHARSET_TO_BYTE2_TABLE): Deleted.
4665         (XCHARSET_ENCODING_TABLE): New macro.
4666         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4667         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4668
4669 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4670
4671         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4672         `vietnamese-viscii-*'.
4673
4674 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4675
4676         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4677         (Qvietnamese_viscii_upper): New variable.
4678         (Fdefine_charset_alias): New function.
4679         (syms_of_mule_charset): Add new function `define-charset-alias'.
4680         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4681         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4682         `latin-viscii-*'.
4683
4684 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4685
4686         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4687         (MAX_CHAR_OBS_94x94): New macro.
4688         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4689         for 94x94 sets.
4690
4691         * mule-charset.c (put_byte_from_character_table): Change unit size
4692         from 128 to 256.
4693         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4694         not defined.
4695         (Fmake_reverse_direction_charset): Modify dummy argument of
4696         `make_charset' for non-UTF-2000 environment.
4697
4698 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4699
4700         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4701
4702         * mule-charset.c (destroy_byte_from_character_table): New macro.
4703         (latin_jisx0201_to_ucs): Deleted.
4704         (latin_iso8859_2_to_ucs): Deleted.
4705         (latin_iso8859_3_to_ucs): Deleted.
4706         (latin_iso8859_4_to_ucs): Deleted.
4707         (latin_iso8859_9_to_ucs): Deleted.
4708         (latin_viscii_lower_to_ucs): Deleted.
4709         (latin_viscii_upper_to_ucs): Deleted.
4710         (mark_charset): Mark `cs->decoding_table'.
4711         (Fcharset_mapping_table): Fix DOC-string.
4712         (Fset_charset_mapping_table): New function.
4713         (syms_of_mule_charset): Add nwe function
4714         `set-charset-mapping-table'.
4715         (complex_vars_of_mule_charset): Don't setup and use
4716         `latin_*_to_ucs'.
4717
4718 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4719
4720         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4721         charset.
4722
4723 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4724
4725         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4726         (Vcharset_katakana_jisx0208): New variable.
4727         (Qhiragana_jisx0208): New variable.
4728         (Qkatakana_jisx0208): New variable.
4729         (make_charset): Add new argument `byte_offset'.
4730         (charset_get_byte1): Modify for new coded-charset definition; use
4731         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4732         `XCHARSET_BYTE_OFFSET'.
4733         (Fmake_charset): Modify for `make_charset'.
4734         (Fmake_reverse_direction_charset): Likewise.
4735         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4736         `katakana-jisx0208'.
4737         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4738         `.'  in font registry of charset `katakana-jisx0201',
4739         `latin-jisx0201', `vietnamese-viscii-lower' and
4740         `vietnamese-viscii-upper'; modify DOC-string of charset
4741         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4742         registry of charset `japanese-jisx0208' not to use font for JIS
4743         X0208:1990; add new charset `hiragana-jisx0208' and
4744         `katakana-jisx0208'.
4745
4746         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4747         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4748         (struct Lisp_Charset): Add `byte_offset'.
4749         (CHARSET_BYTE_OFFSET): New macro.
4750         (XCHARSET_UCS_MIN): New macro.
4751         (XCHARSET_UCS_MAX): New macro.
4752         (XCHARSET_CODE_OFFSET): New macro.
4753         (XCHARSET_BYTE_OFFSET): New macro.
4754         (MIN_CHAR_HIRAGANA): New macro.
4755         (MAX_CHAR_HIRAGANA): New macro.
4756         (MIN_CHAR_KATAKANA): New macro.
4757         (MAX_CHAR_KATAKANA): New macro.
4758         (MAKE_CHAR): Modify for new coded-charset definition; use
4759         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4760         `XCHARSET_BYTE_OFFSET'.
4761
4762 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4763
4764         * mule-charset.c (CHAR96): Deleted.
4765         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4766         <Lisp_Object>.
4767         (latin_iso8859_2_to_ucs): Likewise.
4768         (latin_iso8859_3_to_ucs): Likewise.
4769         (latin_iso8859_4_to_ucs): Likewise.
4770         (latin_iso8859_9_to_ucs): Likewise.
4771         (latin_viscii_lower_to_ucs): Likewise.
4772         (latin_viscii_upper_to_ucs): Likewise.
4773         (latin_tcvn5712_to_ucs): Commented out.
4774         (make_charset): Change type of argument `decoding_table' from
4775         <Emchar*> to <Lisp_Object> [vector of characters].
4776         (Fmake_charset): Modify for `make_charset'.
4777         (Fmake_reverse_direction_charset): Likewise.
4778         (Fcharset_mapping_table): New function in UTF-2000.
4779         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4780         UTF-2000.
4781         (complex_vars_of_mule_charset): Modify for type change of
4782         `*_to_ucs'; modify for `make_charset'.
4783
4784         * char-ucs.h (struct Lisp_Charset): Change type of
4785         `decoding_table' from <Emchar*> to <Lisp_Object>.
4786         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4787
4788 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4789
4790         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4791         error with non-UTF-2000-Mule.
4792
4793 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4794
4795         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4796         in lisp again].
4797         (Vcharset_chinese_cns11643_4): Likewise.
4798         (Vcharset_chinese_cns11643_5): Likewise.
4799         (Vcharset_chinese_cns11643_6): Likewise.
4800         (Vcharset_chinese_cns11643_7): Likewise.
4801         (Qchinese_cns11643_3): Likewise.
4802         (Qchinese_cns11643_4): Likewise.
4803         (Qchinese_cns11643_5): Likewise.
4804         (Qchinese_cns11643_6): Likewise.
4805         (Qchinese_cns11643_7): Likewise.
4806         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4807         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4808         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4809         (complex_vars_of_mule_charset): Likewise.
4810
4811 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4812
4813         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4814         96-set.
4815         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4816         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4817
4818 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4819
4820         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4821         0xFF60.
4822         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4823         (breakup_char_1): Likewise.
4824
4825         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4826         one of them includes the specified character.
4827
4828 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4829
4830         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4831
4832 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4833
4834         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4835
4836 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4837
4838         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4839         definition for non-UTF-2000 Mule.
4840         (latin_iso8859_3_to_ucs): Likewise.
4841         (latin_iso8859_4_to_ucs): Likewise.
4842         (latin_iso8859_9_to_ucs): Likewise.
4843         (latin_jisx0201_to_ucs): Likewise.
4844         (MIN_CHAR_THAI): Likewise.
4845         (MAX_CHAR_THAI): Likewise.
4846         (MIN_CHAR_GREEK): Likewise.
4847         (MAX_CHAR_GREEK): Likewise.
4848         (MIN_CHAR_HEBREW): Likewise.
4849         (MAX_CHAR_HEBREW): Likewise.
4850         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4851         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4852         (MIN_CHAR_CYRILLIC): Likewise.
4853         (MAX_CHAR_CYRILLIC): Likewise.
4854
4855 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4856
4857         * char-ucs.h (breakup_char_1): Use
4858         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4859         thai-tis620 and katakana-jisx0201 area.
4860
4861 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4862
4863         * char-ucs.h (breakup_char_1): Use
4864         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4865         area.
4866
4867         * text-coding.c (reset_encoding_stream): Fixed.
4868         (char_encode_ucs4): Delete `& 255'.
4869
4870         * char-ucs.h (breakup_char_1): Use
4871         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4872
4873 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4874
4875         * file-coding.c (Fmake_coding_system): Don't set up
4876         `codesys->fixed.size'.
4877         (encode_coding_no_conversion): Don't refer
4878         `str->codesys->fixed.size'.
4879
4880 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4881
4882         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4883         (latin_a_char_to_byte1): Deleted.
4884         (latin_a_char_to_byte2): Deleted.
4885
4886 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4887
4888         * mule-charset.c (make_charset): Add new argument `ucs_min',
4889         `ucs_max' and `code_offset'.
4890         (charset_get_byte1): New implementation [delete specific charset
4891         depended implementations].
4892         (Fmake_charset): Modify for `make_charset'.
4893         (Fmake_reverse_direction_charset): Likewise.
4894         (complex_vars_of_mule_charset): Likewise.
4895
4896         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4897         `code_offset'.
4898         (CHARSET_UCS_MIN): New macro.
4899         (CHARSET_UCS_MAX): New macro.
4900         (CHARSET_CODE_OFFSET): New macro.
4901         (MAKE_CHAR): Delete charset depended definitions [except
4902         katakana-jisx0201].
4903
4904 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4905
4906         * char-ucs.h (breakup_char_1): Use
4907         `Vdefault_coded_charset_priority_list' for C0-Controls,
4908         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4909
4910 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4911
4912         * char-ucs.h (charset_get_byte1): New function.
4913         (XCHARSET_GET_BYTE1): Deleted.
4914         (charset_get_byte2): New function.
4915         (XCHARSET_GET_BYTE2): Deleted.
4916         (Vdefault_coded_charset_priority_list): New external variable.
4917         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4918         `Vdefault_preferred_coded_charset_list'.
4919
4920         * mule-charset.c (charset_get_byte1): New function.
4921         (charset_get_byte2): New function.
4922         (Vdefault_coded_charset_priority_list): New variable.
4923         (vars_of_mule_charset): Add new variable
4924         `default-coded-charset-priority-list'.
4925
4926 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4927
4928         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4929         (XCHARSET_GET_BYTE2): New inline function.
4930         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4931         `XCHARSET_GET_BYTE2'.
4932
4933 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4934
4935         * mule-charset.c (make_charset): Initialize
4936         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4937         NULL if table is not defined.
4938
4939 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4940
4941         * text-coding.c (char_encode_shift_jis): Use
4942         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4943         `ucs_to_latin_jisx0201'.
4944
4945         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4946         (ucs_to_latin_iso8859_2): Deleted.
4947         (ucs_to_latin_iso8859_3): Deleted.
4948         (ucs_to_latin_iso8859_4): Deleted.
4949         (ucs_to_latin_iso8859_9): Deleted.
4950         (ucs_to_latin_viscii_lower): Deleted.
4951         (ucs_to_latin_viscii_upper): Deleted.
4952         (ucs_to_latin_tcvn5712): Deleted.
4953         (make_charset): Add new argument `decoding_table'; set up
4954         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4955         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4956         `decoding_table' is defined in UTF-2000.
4957         (Fmake_charset): Modify for `make_charset'.
4958         (Fmake_reverse_direction_charset): Likewise.
4959         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4960         and `GENERATE_96_SET'.
4961
4962         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4963         (ucs_to_latin_jisx0201): Deleted.
4964         (latin_iso8859_2_to_ucs): Deleted.
4965         (ucs_to_latin_iso8859_2): Deleted.
4966         (latin_iso8859_3_to_ucs): Deleted.
4967         (ucs_to_latin_iso8859_3): Deleted.
4968         (latin_iso8859_4_to_ucs): Deleted.
4969         (ucs_to_latin_iso8859_4): Deleted.
4970         (latin_iso8859_9_to_ucs): Deleted.
4971         (ucs_to_latin_iso8859_9): Deleted.
4972         (latin_viscii_lower_to_ucs): Deleted.
4973         (ucs_to_latin_viscii_lower): Deleted.
4974         (latin_viscii_upper_to_ucs): Deleted.
4975         (ucs_to_latin_viscii_upper): Deleted.
4976         (struct Lisp_Charset): Renamed `encoding_table' to
4977         `to_byte1_table'; add `to_byte2_table'.
4978         (CHARSET_DECODING_TABLE): New macro.
4979         (CHARSET_TO_BYTE1_TABLE): New macro.
4980         (CHARSET_TO_BYTE2_TABLE): New macro.
4981         (XCHARSET_DECODING_TABLE): New macro.
4982         (XCHARSET_TO_BYTE1_TABLE): New macro.
4983         (XCHARSET_TO_BYTE2_TABLE): New macro.
4984         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4985         tables.
4986         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4987         don't use `ucs_to_*' tables.
4988
4989 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4990
4991         * text-coding.c (Fmake_coding_system): Don't set up
4992         `codesys->fixed.size'.
4993         (encode_coding_no_conversion): Use `if' instead of `switch'.
4994
4995         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4996
4997 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4998
4999         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5000         (Fmake_charset): Modify for `make_charset'.
5001         (Fmake_reverse_direction_charset): Likewise.
5002         (complex_vars_of_mule_charset): Likewise.
5003
5004 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5005
5006         * text-coding.c (char_encode_shift_jis): Use table
5007         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5008
5009 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5010
5011         * text-coding.c (text_encode_generic): Use `if' instead of
5012         `switch'.
5013         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5014         decode JIS-Latin.
5015
5016 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5017
5018         * text-coding.c (encode_coding_sjis): Deleted.
5019         (char_encode_shift_jis): New function.
5020         (char_finish_shift_jis): New function.
5021         (reset_encoding_stream): Set up `encode_char' and `finish' for
5022         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5023         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5024         (char_encode_utf8): Treat `eol_type'.
5025
5026 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5027
5028         * file-coding.c (decode_coding_iso2022): Use
5029         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5030
5031 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5032
5033         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5034         to 0.7 (Hirano).
5035
5036 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5037
5038         * char-lb.h (CHAR_COLUMNS): New macro.
5039
5040 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5041
5042         * text-coding.c (char_encode_ucs4): New function.
5043         (char_finish_ucs4): New function.
5044         (encode_coding_ucs4): Deleted.
5045         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5046         (text_encode_generic): Delete local variable `charset' and `half'.
5047         (ucs_to_mule_table): Deleted.
5048         (mule_to_ucs_table): Deleted.
5049         (Fset_ucs_char): Deleted.
5050         (ucs_to_char): Deleted.
5051         (Fucs_char): Deleted.
5052         (Fset_char_ucs): Deleted.
5053         (Fchar_ucs): Deleted.
5054         (decode_ucs4): Deleted.
5055         (mule_char_to_ucs4): Deleted.
5056         (encode_ucs4): Deleted.
5057         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5058         (decode_coding_utf8): Likewise.
5059         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5060         (char_encode_iso2022): Fixed.
5061         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5062         `Fset_char_ucs' and `Fchar_ucs'.
5063         (complex_vars_of_file_coding): Don't initialize
5064         `ucs_to_mule_table'.
5065
5066         * objects-tty.c (tty_initialize_font_instance): Don't use
5067         `XCHARSET_COLUMNS'.
5068
5069         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5070         UTF-2000.
5071
5072         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5073         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5074
5075         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5076         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5077         (emchar_string_displayed_columns): Likewise.
5078
5079         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5080         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5081         (string_column_at_point): Likewise.
5082         (Fmove_to_column): Likewise.
5083
5084         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5085         `encoding_table' and `decoding_table'.
5086         (CHARSET_REP_BYTES): Deleted.
5087         (XCHARSET_REP_BYTES): Deleted.
5088         (XCHARSET_COLUMNS): Deleted.
5089         (CHAR_COLUMNS): New macro.
5090         (lookup_composite_char): Deleted unconditionally.
5091         (composite_char_string): Likewise.
5092
5093 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5094
5095         * char-ucs.h (Emchar_to_byte_table): New type.
5096         (get_byte_from_character_table): New function interface.
5097         (Vcharset_latin_jisx0201): New variable.
5098         (latin_jisx0201_to_ucs): New variable.
5099         (ucs_to_latin_jisx0201): New variable.
5100         (Vcharset_latin_iso8859_2): New variable.
5101         (latin_iso8859_2_to_ucs): New variable.
5102         (ucs_to_latin_iso8859_2): New variable.
5103         (Vcharset_latin_iso8859_3): New variable.
5104         (latin_iso8859_3_to_ucs): New variable.
5105         (ucs_to_latin_iso8859_3): New variable.
5106         (Vcharset_latin_iso8859_4): New variable.
5107         (latin_iso8859_4_to_ucs): New variable.
5108         (ucs_to_latin_iso8859_4): New variable.
5109         (Vcharset_latin_iso8859_9): New variable.
5110         (latin_iso8859_9_to_ucs): New variable.
5111         (ucs_to_latin_iso8859_9): New variable.
5112         (Vcharset_latin_viscii_lower): New variable.
5113         (latin_viscii_lower_to_ucs): New variable.
5114         (ucs_to_latin_viscii_lower): New variable.
5115         (Vcharset_latin_viscii_upper): New variable.
5116         (latin_viscii_upper_to_ucs): New variable.
5117         (ucs_to_latin_viscii_upper): New variable.
5118         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5119         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5120         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5121         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5122         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5123         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5124         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5125         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5126         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5127         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5128
5129         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5130         (Vcharset_latin_viscii_upper): New variable.
5131         (make_byte_from_character_table): New function.
5132         (put_byte_from_character_table): New function.
5133         (get_byte_from_character_table): New function.
5134         (CHAR96): New macro.
5135         (ucs_to_latin_jisx0201): New variable.
5136         (latin_jisx0201_to_ucs): New variable.
5137         (ucs_to_latin_iso8859_2): New variable.
5138         (latin_iso8859_2_to_ucs): New variable.
5139         (ucs_to_latin_iso8859_3): New variable.
5140         (latin_iso8859_3_to_ucs): New variable.
5141         (ucs_to_latin_iso8859_4): New variable.
5142         (latin_iso8859_4_to_ucs): New variable.
5143         (ucs_to_latin_iso8859_9): New variable.
5144         (latin_iso8859_9_to_ucs): New variable.
5145         (ucs_to_latin_viscii_lower): New variable.
5146         (latin_viscii_lower_to_ucs): New variable.
5147         (ucs_to_latin_viscii_upper): New variable.
5148         (latin_viscii_upper_to_ucs): New variable.
5149         (ucs_to_latin_tcvn5712): New variable.
5150         (latin_tcvn5712_to_ucs): New variable.
5151         (Qlatin_viscii_lower): New variable.
5152         (Qlatin_viscii_upper): New variable.
5153         (syms_of_mule_charset): Set up new symbol
5154         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5155         (complex_vars_of_mule_charset): Set up new charset
5156         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5157         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5158         `ucs_to_<CHARSET>' tables.
5159
5160 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5161
5162         * text-coding.c: New file.
5163
5164 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5165
5166         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5167
5168         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5169         (MAKE_CHAR): Modify for `ucs-bmp'.
5170         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5171         non-MULE characters of BMP.
5172
5173 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5174
5175         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5176         to 0.6.
5177
5178 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5179
5180         * lstream.h:
5181         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5182         - Include character.h for `CHAR_ASCII_P'.
5183
5184         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5185
5186         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5187         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5188
5189         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5190         (BYTE_C0_P): Likewise.
5191         (BYTE_C1_P): Likewise.
5192         (Lstream_get_emchar_1): Likewise.
5193         (Lstream_fput_emchar): Likewise.
5194         (Lstream_funget_emchar): Likewise.
5195         (copy_internal_to_external): Likewise.
5196         (copy_external_to_internal): Likewise.
5197
5198         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5199         (BYTE_C0_P): Likewise.
5200         (BYTE_C1_P): Likewise.
5201         (Lstream_get_emchar_1): Likewise.
5202         (Lstream_fput_emchar): Likewise.
5203         (Lstream_funget_emchar): Likewise.
5204         (copy_internal_to_external): Likewise.
5205         (copy_external_to_internal): Likewise.
5206
5207         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5208         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5209
5210         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5211         (BYTE_ASCII_P): Moved to mb-1byte.h.
5212
5213 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5214
5215         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5216
5217         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5218         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5219         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5220         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5221         (VALIDATE_CHARPTR_FORWARD): Likewise.
5222         (simple_charptr_emchar): Moved to mb-multibyte.h.
5223         (simple_set_charptr_emchar): Likewise.
5224         (simple_charptr_copy_char): Likewise.
5225         (non_ascii_charptr_emchar): Likewise.
5226         (non_ascii_set_charptr_emchar): Likewise.
5227         (non_ascii_charptr_copy_char): Likewise.
5228         (charptr_emchar): Moved to mb-*byte.h.
5229         (set_charptr_emchar): Likewise.
5230         (charptr_copy_char): Likewise.
5231
5232         * mb-1byte.h, mb-multibyte.h: New files.
5233
5234 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5235
5236         * mb-utf-8.h (MULTIBYTE): New macro.
5237         (MAX_EMCHAR_LEN): Moved from buffer.h.
5238         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5239
5240         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5241
5242         * mb-lb.h, multibyte.h: New files.
5243
5244         * char-1byte.h (Charset_ID): Moved from buffer.h.
5245         (MIN_LEADING_BYTE): Likewise.
5246         (LEADING_BYTE_ASCII): Likewise.
5247         (NUM_LEADING_BYTES): Likewise.
5248         (CHARSETP): Likewise.
5249         (CHARSET_BY_LEADING_BYTE): Likewise.
5250         (XCHARSET_LEADING_BYTE): Likewise.
5251         (XCHARSET_GRAPHIC): Likewise.
5252         (XCHARSET_COLUMNS): Likewise.
5253         (XCHARSET_DIMENSION): Likewise.
5254         (CHAR_CHARSET): Likewise.
5255         (CHAR_LEADING_BYTE): Likewise.
5256         (BREAKUP_CHAR): Likewise.
5257         (Vcharset_ascii): Likewise.
5258
5259         * buffer.h: Include multibyte.h unconditionally.
5260         (VALID_CHARPTR_P): Moved to multibyte.h.
5261         (ASSERT_VALID_CHARPTR): Likewise.
5262         (REAL_INC_CHARPTR): Likewise.
5263         (REAL_INC_CHARBYTIND): Likewise.
5264         (REAL_DEC_CHARPTR): Likewise.
5265         (INC_CHARPTR): Likewise.
5266         (INC_CHARBYTIND): Likewise.
5267         (DEC_CHARPTR): Likewise.
5268         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5269         (VALIDATE_CHARPTR_FORWARD): Likewise.
5270         (charptr_n_addr): Likewise.
5271         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5272         (simple_charptr_emchar): Moved to multibyte.h.
5273         (simple_set_charptr_emchar): Likewise.
5274         (simple_charptr_copy_char): Likewise.
5275         (non_ascii_charptr_emchar): Likewise.
5276         (non_ascii_set_charptr_emchar): Likewise.
5277         (non_ascii_charptr_copy_char): Likewise.
5278         (charptr_emchar): Likewise.
5279         (set_charptr_emchar): Likewise.
5280         (charptr_copy_char): Likewise.
5281         (charptr_emchar_n): Likewise.
5282         (Charset_ID): Moved to char-1byte.h.
5283         (Vcharset_ascii): Likewise.
5284         (CHAR_CHARSET): Likewise.
5285         (CHAR_LEADING_BYTE): Likewise.
5286         (LEADING_BYTE_ASCII): Likewise.
5287         (NUM_LEADING_BYTES): Likewise.
5288         (MIN_LEADING_BYTE): Likewise.
5289         (CHARSETP): Likewise.
5290         (CHARSET_BY_LEADING_BYTE): Likewise.
5291         (XCHARSET_LEADING_BYTE): Likewise.
5292         (XCHARSET_GRAPHIC): Likewise.
5293         (XCHARSET_COLUMNS): Likewise.
5294         (XCHARSET_DIMENSION): Likewise.
5295         (BREAKUP_CHAR): Likewise.
5296
5297 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5298
5299         * character.h: Add document about interface for characters.
5300
5301         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5302         (MAKE_CHAR): Delete comment about
5303         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5304         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5305         (BREAKUP_CHAR): Modify name of arguments.
5306         (CHAR_CHARSET): Modify name of argument.
5307
5308         * buffer.h: Delete document about Emchar accessors.
5309
5310 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5311
5312         * character.h (CHAR_INTP): Moved from buffer.h
5313         (CHAR_OR_CHAR_INTP): Likewise.
5314         (XCHAR_OR_CHAR_INT): Likewise.
5315         (CHECK_CHAR_COERCE_INT): Likewise.
5316
5317         * buffer.h (CHAR_INTP): Moved to character.h
5318         (CHAR_OR_CHAR_INTP): Likewise.
5319         (XCHAR_OR_CHAR_INT): Likewise.
5320         (CHECK_CHAR_COERCE_INT): Likewise.
5321
5322 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5323
5324         * character.h:
5325         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5326         - Include char-1byte.h, char-lb.h or char-ucs.h.
5327
5328         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5329
5330         * buffer.h: Include character unconditionally.
5331         (valid_char_p): Moved to char-*.h.
5332         (non_ascii_valid_char_p): Moved to char-lb.h.
5333
5334         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5335
5336 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5337
5338         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5339         in UTF-2000 because it is not ported yet and not to use
5340         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5341         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5342         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5343
5344         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5345         (CHAR_ASCII_P): Moved from character.h.
5346
5347         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5348         (CHAR_ASCII_P): Likewise.
5349         (CHAR_FIELD1_MASK): Deleted.
5350         (CHAR_FIELD2_MASK): Deleted.
5351         (CHAR_FIELD3_MASK): Deleted.
5352         (MAX_CHAR_BASIC_LATIN): New macro.
5353         (CHAR_FIELD1): Deleted.
5354         (CHAR_FIELD2_INTERNAL): Deleted.
5355         (CHAR_FIELD3_INTERNAL): Deleted.
5356         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5357         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5358         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5359         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5360         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5361         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5362         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5363         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5364         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5365         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5366         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5367         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5368         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5369         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5370         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5371         (MIN_CHAR_COMPOSITION): Deleted.
5372         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5373         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5374
5375 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5376
5377         * buffer.h: Include mb-utf-8.h in UTF-2000.
5378
5379         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5380
5381         * mb-utf-8.h: New file.
5382
5383 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5384
5385         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5386         instead of `int'.
5387
5388         * mule-charset.h, buffer.h (Charset_ID): New type.
5389
5390 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5391
5392         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5393         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5394         instead of `MULE_CHAR_PRIVATE_OFFSET',
5395         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5396         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5397         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5398
5399         * character.h (Vcharset_japanese_jisx0212): New variable
5400         definition.
5401
5402 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5403
5404         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5405         (charset_by_attributes): Delete array about direction.
5406         (latin_a_char_to_charset): New variable in UTF-2000.
5407         (latin_a_char_to_byte1): New variable in UTF-2000.
5408         (latin_a_char_to_byte2): New variable in UTF-2000.
5409         (Qucs_bmp): New variable.
5410         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5411         `Bufbyte'.
5412         (next_allocated_2_byte_leading_byte): Likewise.
5413         (non_ascii_set_charptr_emchar): Likewise.
5414         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5415         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5416         `charset_by_attributes'.
5417         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5418         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5419         and `CHARSET_BY_LEADING_BYTE'.
5420         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5421         `utf-2000-version' to `vars_of_mule_charset'.
5422         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5423         define `leading-code-private-11' in UTF-2000; move setting of
5424         `utf-2000-version' from `syms_of_mule_charset'.
5425         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5426         UTF-2000.
5427
5428         * character.h (Charset_ID): New type.
5429         (LEADING_BYTE_UCS_BMP): New macro.
5430         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5431         (CHARSET_ID_OFFSET_94): New macro.
5432         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5433         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5434         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5435         final-byte.
5436         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5437         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5438         (CHARSET_ID_OFFSET_96): New macro.
5439         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5440         CHARSET_ID_OFFSET_96 and final-byte.
5441         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5442         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5443         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5444         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5445         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5446         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5447         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5448         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5449         (LEADING_BYTE_THAI_TIS620): Likewise.
5450         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5451         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5452         (CHARSET_ID_OFFSET_94x94): New macro.
5453         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5454         CHARSET_ID_OFFSET_94x94 and final-byte.
5455         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5456         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5457         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5458         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5459         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5460         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5461         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5462         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5463         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5464         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5465         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5466         (CHARSET_TYPE_128X128): New macro.
5467         (CHARSET_TYPE_256X256): New macro.
5468         (XCHARSET_PRIVATE_P): Delete unconditionally.
5469         (charset_by_attributes): Delete array about direction.
5470         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5471         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5472         (MIN_CHAR_94): New macro.
5473         (MAX_CHAR_94): New macro.
5474         (MIN_CHAR_96): New macro.
5475         (MAX_CHAR_96): New macro.
5476         (MIN_CHAR_94x94): New macro.
5477         (MAX_CHAR_94x94): New macro.
5478         (MIN_CHAR_96x96): New macro.
5479         (MAX_CHAR_96x96): New macro.
5480         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5481         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5482         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5483         - 32)'.
5484         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5485         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5486         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5487         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5488         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5489         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5490         `XCHARSET_LEADING_BYTE' to make code-point.
5491         (latin_a_char_to_charset): New variable.
5492         (latin_a_char_to_byte1): New variable.
5493         (latin_a_char_to_byte2): New variable.
5494         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5495         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5496         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5497
5498         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5499         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5500         (find_charsets_in_emchar_string): Likewise.
5501         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5502
5503         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5504         `int'.
5505         (decode_coding_iso2022): Likewise.
5506
5507         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5508         of `unsigned char'.
5509
5510         * redisplay.c (redisplay_text_width_emchar_string): Use
5511         `Charset_ID' instead of `unsigned char'.
5512         (redisplay_frame_text_width_string): Likewise.
5513
5514         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5515         `unsigned char'.
5516
5517         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5518         instead of `unsigned char'.
5519         (face_cachel_charset_font_metric_info): Likewise.
5520
5521         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5522         (get_non_ascii_char_table_value): Likewise.
5523         (get_char_table): Likewise.
5524         (put_char_table): Likewise.
5525         (map_over_other_charset): Likewise.
5526         (map_char_table): Likewise.
5527
5528         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5529         instead of `unsigned char'.
5530
5531 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5532
5533         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5534         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5535
5536         * mule-charset.c (leading_code_private_11): Don't define in
5537         UTF-2000.
5538
5539         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5540         in UTF-2000 because it is not ported yet and not to use
5541         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5542
5543 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5544
5545         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5546
5547 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5548
5549         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5550         in UTF-2000.
5551
5552         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5553         of unsigned char to store leading-byte.
5554
5555         * chartab.c (get_non_ascii_char_table_value): Don't use
5556         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5557
5558         * file-coding.c (encode_coding_big5): Delete bogus implementation
5559         in UTF2000.
5560
5561         * character.h (LEADING_BYTE_*): Delete definition for
5562         non-UTF-2000.
5563         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5564         (LEADING_BYTE_PREFIX_P): Deleted.
5565         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5566         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5567         (BUFBYTE_LEADING_BYTE_P): Deleted.
5568         (CHARSET_PRIVATE_P): Deleted unconditionally.
5569         (rep_bytes_by_first_byte): Deleted unconditionally.
5570         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5571         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5572         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5573         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5574         (CHAR_FIELD2): Deleted.
5575         (CHAR_FIELD3): Deleted.
5576         (MAKE_CHAR): Delete definition for non-UTF-2000.
5577         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5578         (breakup_char_1): New implementation.
5579         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5580         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5581
5582 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5583
5584         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5585         condition.
5586
5587 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5588
5589         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5590         (CHARSET_PRIVATE_P): Likewise.
5591         (XCHARSET_PRIVATE_P): Likewise.
5592         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5593
5594         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5595         UTF2000.
5596         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5597
5598 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5599
5600         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5601         (NUM_LEADING_BYTES): Changed from 128 to 256.
5602         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5603         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5604         UTF2000.
5605         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5606
5607         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5608         UTF2000.
5609         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5610         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5611         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5612         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5613         (Qchinese_cns11643_3): New variable in UTF2000.
5614         (Qchinese_cns11643_4): New variable in UTF2000.
5615         (Qchinese_cns11643_5): New variable in UTF2000.
5616         (Qchinese_cns11643_6): New variable in UTF2000.
5617         (Qchinese_cns11643_7): New variable in UTF2000.
5618         (syms_of_mule_charset): Define `chinese-cns11643-3',
5619         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5620         and `chinese-cns11643-7' in UTF2000.
5621         (vars_of_mule_charset): Initialize
5622         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5623         + 1 in UTF2000.
5624         (complex_vars_of_mule_charset): Setup charset
5625         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5626         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5627
5628 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5629
5630         * mule-charset.c: Move setting for `leading-code-private-11' from
5631         `syms_of_mule_charset' to `vars_of_mule_charset'.
5632
5633 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5634
5635         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5636         and `NUM_LEADING_BYTES' in assert.
5637
5638 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5639
5640         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5641         instead of 128.
5642         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5643         `NUM_LEADING_BYTES' instead of 128.
5644
5645 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5646
5647         * mule-charset.h (charset_by_leading_byte): Use
5648         `NUM_LEADING_BYTES' instead of 128.
5649         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5650
5651         * mule-charset.c (charset_by_leading_byte): Use
5652         `NUM_LEADING_BYTES' instead of 128.
5653         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5654
5655         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5656         128.
5657
5658 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5659
5660         * mule-charset.c (syms_of_mule_charset): Update to
5661         0.4 (Shin-Imamiya).
5662
5663 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5664
5665         * file-coding.c (encode_coding_sjis): New implementation for
5666         UTF2000.  (decode_coding_sjis): Ditto.
5667
5668 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5669
5670         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5671         Don't define in UTF2000.
5672
5673         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5674         defined.
5675
5676         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5677         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5678         MULE.
5679
5680 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5681
5682         * config.h.in (CHAR_IS_UCS4): New macro.
5683
5684         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5685         conventional MULE representation.
5686         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5687
5688         * mule-charset.h: Reverted to original.
5689
5690         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5691         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5692         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5693
5694         * character.h: New file.
5695
5696         * file-coding.c (Fmake_coding_system): Set 1 to
5697         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5698         defined.
5699         (encode_coding_no_conversion): New implementation for UTF2000.
5700
5701         * file-coding.h (struct Lisp_Coding_System): Add new member
5702         `fixed.size'.
5703
5704 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5705
5706         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5707         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5708         (encode_coding_iso2022): New implementation for UTF2000.
5709
5710 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5711
5712         * mule-canna.c (c2mu): New implementation for UTF2000.
5713         (m2c): Likewise.
5714
5715 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5716
5717         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5718
5719 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5720
5721         * file-coding.c (reset_encoding_stream): Set 0 to
5722         `str->iso2022.current_char_boundary' in UTF2000.
5723         (encode_utf8): Don't define in UTF2000.
5724         (encode_coding_utf8): New implementation for UTF-8 representation
5725         of UTF2000.
5726         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5727
5728 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5729
5730         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5731
5732         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5733         UTF2000.
5734         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5735
5736         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5737
5738         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5739         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5740         as UTF-8 in UTF2000.
5741         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5742         (non_ascii_valid_char_p): Don't define in UTF2000.
5743         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5744         (Lstream_get_emchar_1): Likewise.
5745         (utf-2000-version): New variable in UTF2000.
5746
5747         * lread.c (read_escape): Add new reader `u'.
5748
5749         * insdel.c (three_to_one_table): Don't define in UTF2000.
5750         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5751         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5752         UTF2000.
5753         (bytind_to_bufpos_func): Likewise.
5754         (buffer_mule_signal_inserted_region): Likewise.
5755         (vars_of_insdel): Don't initialize `three_to_one_table'.
5756         (init_buffer_text): Use `buf->text->mule_size' instead of
5757         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5758         UTF2000.
5759
5760         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5761         UTF-8 representation in UTF2000.
5762         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5763         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5764         (decode_coding_iso2022): Don't define local variable `lb' in
5765         UTF2000; don't use LEADING_BYTE in UTF2000; use
5766         `DECODE_ADD_UCS_CHAR' in UTF2000.
5767         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5768
5769         * config.h.in (UTF2000): New macro.
5770
5771         * buffer.h (struct buffer_text): Add new member `mule_size' and
5772         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5773         (valid_char_p): Return always 1 in UTF2000.
5774         (MAX_EMCHAR_LEN): 6 in UTF2000.
5775         (three_to_one_table): Don't define in UTF2000.
5776         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5777         UTF2000.
5778         (real_bytind_to_bufpos): Likewise.
5779
5780         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5781
5782 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5783
5784         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5785         representation change.
5786         (Vutf_2000_version): New variable.
5787         (leading_code_private_11): New variable.
5788         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5789         `leading-code-private-11'.
5790
5791         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5792         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5793         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5794         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5795         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5796         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5797         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5798         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5799         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5800         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5801         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5802         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5803         (MIN_CHAR_GREEK): New macro.
5804         (MAX_CHAR_GREEK): New macro.
5805         (MIN_CHAR_CYRILLIC): New macro.
5806         (MAX_CHAR_CYRILLIC): New macro.
5807         (MIN_CHAR_HEBREW): New macro.
5808         (MAX_CHAR_HEBREW): New macro.
5809         (MIN_CHAR_THAI): New macro.
5810         (MAX_CHAR_THAI): New macro.
5811         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5812         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5813         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5814         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5815         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5816         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5817         (CHAR_FIELD2): New inline function.
5818         (CHAR_FIELD3): New inline function.
5819         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5820         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5821         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5822         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5823         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5824         (MIN_CHAR_COMPOSITION): Likewise.
5825         (CHAR_LEADING_BYTE): Modified for character representation change.
5826         (MAKE_CHAR): Likewise.
5827
5828         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5829         (Vcharset_greek_iso8859_7): Likewise.
5830         (Vcharset_cyrillic_iso8859_5): Likewise.
5831         (Vcharset_hebrew_iso8859_8): Likewise.
5832         (Vcharset_thai_tis620): Likewise.
5833         (Vcharset_katakana_jisx0201): Likewise.
5834
5835 2005-02-06  Vin Shelton <acs@xemacs.org>
5836
5837         * XEmacs 21.4.17 is released
5838
5839 2005-01-31  Ben Wing  <ben@xemacs.org>
5840
5841         * emacs.c:
5842         Define assert_failed() always.
5843         * lisp.h:
5844         Always define ABORT().
5845
5846 2005-01-25  Ben Wing  <ben@xemacs.org>
5847
5848         * Makefile.in.in:
5849         * Makefile.in.in (%.o):
5850         Don't compile executable as Windows (-mwindows) under Cygwin.
5851         Semi-recent changes to Cygwin's executable-startup handling make
5852         it impossible to access the TTY this way.
5853
5854         Don't use special linker file under Cygwin (cygwin.sc) except
5855         when non-PDUMP (even in this case it is highly questionable); you
5856         get errors like
5857
5858       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5859    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5860
5861 2005-01-29  Ben Wing  <ben@xemacs.org>
5862
5863         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5864
5865         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5866
5867 2005-01-29  Ben Wing  <ben@xemacs.org>
5868
5869         * bytecode.c (optimize_compiled_function):
5870         * print.c (FROB):
5871         * print.c (long_to_string):
5872         Add casts to avoid warning.
5873         
5874         * glyphs-eimage.c:
5875         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5876         #### The better solution is to move the TIFF and JPEG code to
5877         different files.
5878         
5879         * glyphs-msw.c (mswindows_xbm_instantiate):
5880         Define __STDC__ to avoid problems with compface.h.
5881         
5882         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5883         * EmacsShell-sub.c:
5884         * EmacsShell-sub.c (ABORT):
5885         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5886         * EmacsShell-sub.c (RootGeometryManager):
5887         * EmacsShell.c:
5888         * EmacsShell.c (ABORT):
5889         * EmacsShell.c (EmacsShellUpdateSizeHints):
5890         * alloc.c (free_lcrecord):
5891         * alloca.c (i00afunc):
5892         * buffer.c (delete_from_buffer_alist):
5893         * buffer.c (MARKED_SLOT):
5894         * bytecode.c (execute_rare_opcode):
5895         * bytecode.c (optimize_byte_code):
5896         * bytecode.c (Ffetch_bytecode):
5897         * chartab.c (char_table_type_to_symbol):
5898         * chartab.c (Freset_char_table):
5899         * chartab.c (decode_char_table_range):
5900         * chartab.c (Fget_range_char_table):
5901         * chartab.c (check_valid_char_table_value):
5902         * chartab.c (map_char_table):
5903         * chartab.c (slow_map_char_table_fun):
5904         * chartab.c (chartab_instantiate):
5905         * cm.c (cmcheckmagic):
5906         * console-msw.c (DHEADER):
5907         * console.c (MARKED_SLOT):
5908         * data.c (finish_marking_weak_lists):
5909         * data.c (encode_weak_list_type):
5910         * debug.h (DASSERT):
5911         * device-gtk.c (gtk_init_device):
5912         * device-msw.c (mswindows_get_default_margin):
5913         * device-tty.c (tty_init_device):
5914         * device-x.c (get_device_from_display):
5915         * device-x.c (x_get_visual_depth):
5916         * doprnt.c (parse_doprnt_spec):
5917         * doprnt.c (get_doprnt_args):
5918         * dumper.c (pdump_get_indirect_count):
5919         * dumper.c (pdump_register_sub):
5920         * dumper.c (pdump_register_object):
5921         * dumper.c (pdump_register_struct):
5922         * dumper.c (pdump_dump_data):
5923         * dumper.c (pdump_reloc_one):
5924         * elhash.c (print_hash_table):
5925         * elhash.c (make_standard_lisp_hash_table):
5926         * elhash.c (hash_table_instantiate):
5927         * emacs.c:
5928         * emacs.c (Fforce_debugging_signal):
5929         * emacs.c (sort_args):
5930         * emacs.c (main):
5931         * emacs.c (assert_failed):
5932         * eval.c (throw_or_bomb_out):
5933         * eval.c (signal_1):
5934         * eval.c (Fsignal):
5935         * event-Xt.c:
5936         * event-Xt.c (emacs_Xt_mapping_action):
5937         * event-Xt.c (Xt_process_to_emacs_event):
5938         * event-msw.c:
5939         * event-stream.c (check_event_stream_ok):
5940         * event-stream.c (Fadd_timeout):
5941         * event-stream.c (Fadd_async_timeout):
5942         * event-stream.c (Fdiscard_input):
5943         * event-stream.c (execute_internal_event):
5944         * event-stream.c (Frecent_keys):
5945         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5946         * event-stream.c (lookup_command_event):
5947         * event-unixoid.c (poll_fds_for_input):
5948         * events.c:
5949         * events.c (mark_event):
5950         * events.c (event_equal):
5951         * events.c (event_hash):
5952         * events.c (Fmake_event):
5953         * events.c (Fdeallocate_event):
5954         * events.c (event_chain_find_previous):
5955         * events.c (event_to_character):
5956         * events.c (format_event_object):
5957         * events.c (Fevent_type):
5958         * events.c (event_pixel_translation):
5959         * events.c (Fevent_properties):
5960         * extents.c (extent_in_region_p):
5961         * extents.c (print_extent):
5962         * extents.c (process_extents_for_insertion_mapper):
5963         * extents.c (report_extent_modification_mapper):
5964         * extents.c (glyph_layout_to_symbol):
5965         * faces.c (face_validate):
5966         * file-coding.c (eol_type_to_symbol):
5967         * file-coding.c (subsidiary_coding_system):
5968         * file-coding.c (Fcoding_system_type):
5969         * file-coding.c (Fcoding_system_property):
5970         * file-coding.c (mule_decode):
5971         * file-coding.c (mule_encode):
5972         * file-coding.c (encode_coding_ucs4):
5973         * file-coding.c (encode_coding_utf8):
5974         * file-coding.c (parse_iso2022_esc):
5975         * file-coding.c (encode_coding_iso2022):
5976         * fileio.c:
5977         * fns.c (concat):
5978         * fns.c (Fsubseq):
5979         * fns.c (mapcar1):
5980         * fns.c (Fbase64_encode_region):
5981         * fns.c (Fbase64_encode_string):
5982         * fns.c (Fbase64_decode_region):
5983         * fns.c (Fbase64_decode_string):
5984         * font-lock.c (find_context):
5985         * font-lock.c (context_to_symbol):
5986         * frame-gtk.c (gtk_set_frame_pointer):
5987         * frame-gtk.c (gtk_update_frame_external_traits):
5988         * frame-x.c (x_wm_mark_shell_size_user_specified):
5989         * frame-x.c (x_wm_mark_shell_position_user_specified):
5990         * frame-x.c (x_wm_set_shell_iconic_p):
5991         * frame-x.c (x_wm_set_cell_size):
5992         * frame-x.c (x_wm_set_variable_size):
5993         * frame-x.c (x_wm_store_class_hints):
5994         * frame-x.c (x_wm_maybe_store_wm_command):
5995         * frame-x.c (x_initialize_frame_size):
5996         * frame-x.c (x_update_frame_external_traits):
5997         * frame.c:
5998         * frame.c (delete_frame_internal):
5999         * frame.c (mouse_pixel_position_1):
6000         * frame.c (change_frame_size_1):
6001         * free-hook.c (check_free):
6002         * free-hook.c (check_realloc):
6003         * free-hook.c (note_block_input):
6004         * free-hook.c (log_gcpro):
6005         * gccache-gtk.c (gc_cache_lookup):
6006         * glyphs-eimage.c (tiff_memory_write):
6007         * glyphs-gtk.c (gtk_finalize_image_instance):
6008         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6009         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6010         * glyphs-gtk.c (gtk_xpm_instantiate):
6011         * glyphs-gtk.c (gtk_unmap_subwindow):
6012         * glyphs-gtk.c (gtk_map_subwindow):
6013         * glyphs-gtk.c (gtk_button_redisplay):
6014         * glyphs-msw.c:
6015         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6016         * glyphs-x.c (init_image_instance_from_xbm_inline):
6017         * glyphs-x.c (extract_xpm_color_names):
6018         * glyphs-x.c (x_xpm_instantiate):
6019         * glyphs.c (get_image_instantiator_governing_domain):
6020         * glyphs.c (print_image_instance):
6021         * glyphs.c (image_instance_equal):
6022         * glyphs.c (image_instance_hash):
6023         * glyphs.c (encode_image_instance_type):
6024         * glyphs.c (make_image_instance_1):
6025         * glyphs.c (inherit_instantiate):
6026         * glyphs.c (image_instantiate):
6027         * glyphs.c (allocate_glyph):
6028         * glyphs.c (Fglyph_type):
6029         * glyphs.c (redisplay_subwindow):
6030         * glyphs.c (display_table_entry):
6031         * gtk-glue.c (xemacs_list_to_gtklist):
6032         * gtk-glue.c (xemacs_gtklist_to_list):
6033         * gtk-glue.c (xemacs_list_to_array):
6034         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6035         * gutter.c (gutter_was_visible):
6036         * gutter.c (get_gutter_coords):
6037         * input-method-xlib.c (get_XIM_input):
6038         * insdel.c (bufpos_to_bytind_func):
6039         * insdel.c (bytind_to_bufpos_func):
6040         * insdel.c (move_gap):
6041         * intl.c (x_get_composed_input):
6042         * keymap.c (keymap_lookup_directly):
6043         * keymap.c (keymap_delete_inverse_internal):
6044         * keymap.c (ensure_meta_prefix_char_keymapp):
6045         * keymap.c (accessible_keymaps_mapper_1):
6046         * keymap.c (where_is_recursive_mapper):
6047         * lisp.h:
6048         * lisp.h (ABORT):
6049         * lread.c (read_atom):
6050         * lstream.c (Lstream_delete):
6051         * lstream.c (make_lisp_buffer_stream_1):
6052         * macros.c (pop_kbd_macro_event):
6053         * malloc.c (malloc):
6054         * malloc.c (free):
6055         * marker.c (bi_marker_position):
6056         * marker.c (set_bi_marker_position):
6057         * menubar-gtk.c (menu_descriptor_to_widget_1):
6058         * menubar-msw.c (prune_menubar):
6059         * menubar-x.c (set_frame_menubar):
6060         * mule-charset.c (get_unallocated_leading_byte):
6061         * mule-charset.h (CHAR_LEADING_BYTE):
6062         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6063         * nt.c (init_environment):
6064         * nt.c (generate_inode_val):
6065         * ntproc.c (delete_child):
6066         * ntproc.c (_sys_read_ahead):
6067         * ntproc.c (create_child):
6068         * objects.c (color_instantiate):
6069         * objects.c (font_instantiate):
6070         * objects.c (face_boolean_instantiate):
6071         * print.c (printing_major_badness):
6072         * process-nt.c (nt_send_process):
6073         * process-unix.c (unix_send_process):
6074         * process.c (get_process):
6075         * ralloc.c (obtain):
6076         * ralloc.c (relinquish):
6077         * ralloc.c (relocate_blocs):
6078         * ralloc.c (resize_bloc):
6079         * ralloc.c (r_alloc_free):
6080         * ralloc.c (r_re_alloc):
6081         * ralloc.c (r_alloc_thaw):
6082         * ralloc.c (init_ralloc):
6083         * ralloc.c (Free_Addr_Block):
6084         * ralloc.c (r_alloc):
6085         * redisplay-gtk.c (gtk_output_display_block):
6086         * redisplay-msw.c (mswindows_output_display_block):
6087         * redisplay-output.c (get_next_display_block):
6088         * redisplay-output.c (get_cursor_size_and_location):
6089         * redisplay-output.c (redisplay_output_layout):
6090         * redisplay-output.c (redisplay_clear_region):
6091         * redisplay-tty.c (tty_output_display_block):
6092         * redisplay-x.c (x_output_display_block):
6093         * redisplay.c (add_propagation_runes):
6094         * redisplay.c (add_glyph_rune):
6095         * redisplay.c (create_text_block):
6096         * redisplay.c (add_margin_runes):
6097         * redisplay.c (create_left_glyph_block):
6098         * redisplay.c (create_right_glyph_block):
6099         * redisplay.c (create_string_text_block):
6100         * redisplay.c (regenerate_window):
6101         * redisplay.c (REGEN_INC_FIND_START_END):
6102         * redisplay.c (redisplay_frame):
6103         * redisplay.c (point_in_line_start_cache):
6104         * regex.c:
6105         * regex.c (ABORT):
6106         * regex.c (re_compile_fastmap):
6107         * regex.c (re_match_2_internal):
6108         * regex.c (regerror):
6109         * scrollbar-gtk.c (gtk_scrollbar_loop):
6110         * scrollbar-gtk.c (scrollbar_cb):
6111         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6112         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6113         * scrollbar-x.c (x_update_scrollbar_instance_status):
6114         * scrollbar-x.c (x_scrollbar_loop):
6115         * scrollbar-x.c (x_update_frame_scrollbars):
6116         * search.c (search_command):
6117         * search.c (Fmatch_data):
6118         * select-x.c (motif_clipboard_cb):
6119         * signal.c (interrupt_signal):
6120         * specifier.c (specifier_add_spec):
6121         * specifier.c (specifier_instance_from_inst_list):
6122         * specifier.c (specifier_instance):
6123         * specifier.h:
6124         * specifier.h (struct specifier_methods):
6125         * strftime.c (add_num_time_t):
6126         * sunplay.c (init_device):
6127         * symbols.c (Fsetplist):
6128         * symbols.c (do_symval_forwarding):
6129         * symbols.c (store_symval_forwarding):
6130         * symbols.c (Fset):
6131         * symbols.c (Fbuilt_in_variable_type):
6132         * symbols.c (decode_magic_handler_type):
6133         * symbols.c (handler_type_from_function_symbol):
6134         * syntax.c (update_syntax_cache):
6135         * sysdep.c (init_baud_rate):
6136         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6137         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6138         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6139         * toolbar.c (get_toolbar_coords):
6140         * ui-gtk.c (build_gtk_boxed):
6141         * ui-gtk.c (describe_gtk_arg):
6142         * ui-gtk.c (gtk_type_to_lisp):
6143         * ui-gtk.c (lisp_to_gtk_type):
6144         * ui-gtk.c (lisp_to_gtk_ret_type):
6145         * ui-gtk.c (lisp_to_flag):
6146         * unexnt.c (read_in_bss):
6147         * unexnt.c (map_in_heap):
6148         * window.c (real_window):
6149         * window.c (window_display_lines):
6150         * window.c (window_display_buffer):
6151         * window.c (set_window_display_buffer):
6152         * window.c (window_modeline_height):
6153         * window.c (unshow_buffer):
6154         * window.c (window_loop):
6155         * window.c (Fget_lru_window):
6156         * window.c (Fsplit_window):
6157         * window.c (Fset_window_configuration):
6158         * window.c (saved_window_index):
6159         * xgccache.c (gc_cache_lookup):
6160         abort() -> ABORT().  Eliminate preprocessor games with abort()
6161         since it creates huge problems in VC7, solvable only by including
6162         massive amounts of files in every compile (and not worth it).
6163
6164         * sysdep.c:
6165         * sysproc.h:
6166         Inclusion of process.h does not need to be before lisp.h any more.
6167         Move later and remove comment about abort().
6168
6169 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6170
6171         * regex.c (re_match_2_internal):
6172         Correctly initialize loop which clears uninitialized registers.
6173
6174 2005-01-28  Vin Shelton  <acs@xemacs.org>
6175
6176         * sheap.c (more_static_core): Applied Ben's version of the long
6177         string patch.
6178
6179 2005-01-24  Vin Shelton  <acs@xemacs.org>
6180
6181         * sheap.c (more_static_core): Reformatted printf string so
6182         gcc-3.3.3 will compile this on Cygwin.
6183
6184 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6185
6186         * console.c (function_key_map): Reference `key-binding'.
6187
6188         * keymap.c (Vkey_translation_map): Improve docstring.
6189
6190 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6191
6192         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6193         * window.c (window_loop): [fix] Take into account
6194         `allow-deletion-of-last-visible-frame' variable.
6195         * window.c (replace-buffer-in-windows): Ditto.
6196
6197 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6198
6199         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6200
6201 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6202
6203         * event-gtk.c: Recognise AltGr as a valid modifier.
6204
6205 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6206
6207         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6208
6209 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6210
6211         Fix backreference bug caught by test suite.
6212
6213         * regex.c (regex_compile):
6214         Make backref duplicate internal register.
6215
6216 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6217
6218         Documentation, code clarification, and warning suppression.
6219         
6220         * regex.c (regex_compile):
6221         Improve comments.
6222         (re_match_2_internal):
6223         Improve comments and avoid redundant braces.  [Most of the big hunk
6224         at l. 4710 is indentation; use diff -w to see the real changes.]
6225         (alt_match_null_string_p):
6226         (common_op_match_null_string_p):
6227         Avoid shadowing global on Mac OS X 10.4, at least.
6228
6229 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6230
6231         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6232         introduced with shy groups fix).  [Already applied, probably
6233         with the second "fix shy groups" patch of 2004-10-07.] 
6234
6235 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6236
6237         From Andrey Slusar <anrays@gmail.com>:
6238
6239         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6240
6241 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6242
6243         * Makefile (RECURSIVE_MAKE): Removed.
6244         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6245         handling parallel builds.
6246
6247 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6248
6249         * Makefile.in.in: Enable support for parallel builds.
6250
6251 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6252
6253         From Andrey Slusar <anrays@gmail.com>:
6254
6255         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6256         FreeBSD version is >= 199701 _and_ < 600006.
6257
6258 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6259
6260         * scrollbar.c (compute_scrollbar_instance_usage):
6261         Only call device method compute_scrollbar_instance_usage() if it
6262         is defined.
6263
6264 2004-12-05  Vin Shelton <acs@xemacs.org>
6265
6266         * XEmacs 21.4.16 is released
6267
6268 2004-12-04  Vin Shelton  <acs@xemacs.org>
6269
6270         * depend: Regenerated.
6271
6272 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6273
6274         * regex.c (re_match_2_internal): Map internal to external
6275         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6276         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6277
6278 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6279
6280         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6281         to fix a crash.  Also, check the buffer is live and it
6282         really exists in buffer_list.  If the buffer is not in the list,
6283         prepend it.
6284
6285 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6286
6287         Fix shy groups by implementing recording of all groups for
6288         repetition and backtracking.  Backport from 21.5.
6289         
6290         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6291         external_to_internal_register, external_to_internal_register_size,
6292         and update comments for re_nsub.
6293
6294         * regex.c (re_opcode_t): Update comments.
6295         (print_compiled_pattern): Ouput external_to_internal_register,
6296         external_to_internal_register_size, and re_ngroups for debugging.
6297         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6298         (regex_compile): Update header comment.
6299         Ensure that all groups are recorded so that repeat matches and
6300         backtracking work correctly.  Comment related warning for groups >
6301         255.
6302         (re_search_2): Construct map of API indexes (which count only
6303         nonshy groups) to internal register numbers, and keep it updated.
6304
6305 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6306
6307         * frame-gtk.c (gtk_make_frame_visible):
6308         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6309         show/hide.  This is what X uses and is prevents previously hidden
6310         widgets from suddenly reappearing.
6311         * gtk-xemacs.c (gtk_xemacs_paint):
6312         * gtk-xemacs.c (gtk_xemacs_draw):
6313         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6314         drawable.
6315         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6316         size and location changes so that they can be seen before the next
6317         idle event.  Without this rapid changes to scrollbar properties
6318         are not seen.
6319
6320 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6321
6322         * console-gtk.h:
6323         * console-gtk.h (struct gtk_frame):
6324         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6325           Add hash tables track tab_control callback data.
6326           Added #defines for GTK object data names.
6327           Declaration of gtk_widget_to_frame().
6328         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6329         * frame-gtk.c (gtk_widget_to_frame): New.
6330         * frame-gtk.c (gtk_create_widgets):
6331         * frame-gtk.c (allocate_gtk_frame_struct):
6332         * frame-gtk.c (gtk_mark_frame):
6333         Manage frame callbakc hash tables.
6334         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6335         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6336         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6337         of widget size.
6338         * glyphs-gtk.c (gtk_widget_query_geometry): New
6339         * glyphs-gtk.c (gtk_register_gui_item): New
6340         * glyphs-gtk.c (gtk_add_tab_item): New
6341         * glyphs-gtk.c (gtk_tab_control_callback): New
6342         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6343         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6344         Use correct list when loading item.
6345         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6346         Register new methods.
6347         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6348         default size, for widgets.
6349         * gui-x.c:  Improved comment.
6350         * menubar-gtk.c (__generic_button_callback): Use
6351         gtk_widget_to_frame instead of __get_channel.
6352         * scrollbar-gtk.c:
6353         * ui-gtk.c: Use symbolic names for GTK object data.
6354
6355 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6356
6357         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6358
6359 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6360
6361         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6362
6363 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6364
6365         * malloc.c (morecore): siz is a long because in some architectures
6366         (eg ia-64) an int cannot hold the address range.  Additional patch
6367         from the SuSe distribution.
6368
6369 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6370
6371         * emacs.c:
6372         * malloc.c: lim_data is a long because in some architectures
6373         (eg ia-64) an int cannot hold the address range.
6374         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6375         instead of ulimit() because ulimit() always returns -1.
6376
6377 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6378
6379         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6380
6381 2004-06-11  David Kastrup  <dak@gnu.org>
6382
6383         * search.c (match_limit): Don't flag an error if match-data
6384         exceeding the allocated search_regs.num_regs gets requested, just
6385         return Qnil.
6386
6387 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6388
6389         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6390         replace symbolic color entries with the real colors specified in
6391         xpm-color-symbols, before passing the XPM to gtk.
6392         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6393         instead of a GTK specific field, so that it is used in by generic
6394         code.
6395
6396 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6397
6398        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6399         coredump from deref of NULL ptr (ExtData)
6400
6401 2004-04-19  Jerry James  <james@xemacs.org>
6402
6403         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6404         VALBITS to compute the location of the sign bit.
6405         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6406         of VALBITS with EMACS_INT_MAX.
6407         * events.c (Fevent_timestamp): Ditto.
6408         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6409         compute the halfway point to timestamp wraparound.
6410         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6411         EMACS_INT_MIN instead of using VALBITS.
6412         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6413         incorrect number with VALBITS.
6414         * fns.c (Frandom): Correct number of integer bits in docstring.
6415         Use INT_VALBITS instead of VALBITS to compute the denominator.
6416         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6417         build random numbers.
6418
6419 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6420         * event-gtk.c:
6421         * event-gtk.c (gtk_event_to_emacs_event):
6422         * menubar-gtk.c:
6423         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6424         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6425         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6426         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6427         * menubar-gtk.c (__activate_menu):
6428         * menubar-gtk.c (convert_underscores):
6429         * menubar-gtk.c (remove_underscores):
6430         * menubar-gtk.c (menu_convert):
6431         * menubar-gtk.c (menu_descriptor_to_widget_1):
6432         * menubar-gtk.c (menu_descriptor_to_widget):
6433         * menubar-gtk.c (menu_can_reuse_widget):
6434         * menubar-gtk.c (menu_create_menubar):
6435         * menubar-gtk.c (gtk_popup_menu):
6436         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6437         Added support for Gtk menu bar and menu item mnemonics.
6438
6439 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6440
6441         * sysdll.c: (dll_function): Added support for finding symbols in
6442         Darwin shared libraries as well in Darwin bundles.
6443         * sysdll.c (image_for_address): New
6444         * sysdll.c (my_find_image): New
6445         * sysdll.c (search_linked_libs): New
6446
6447 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6448
6449         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6450         return to GTK requires a different API to marshalling data to use
6451         as GTK parameters.
6452         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6453
6454 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6455
6456         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6457
6458 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6459
6460         * glyphs.c (process_image_string_instantiator):
6461         (Fset_console_type_image_conversion_list):
6462         Stop GCC from warning about shadowing of `exp'.
6463
6464         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6465
6466 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6467
6468         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6469
6470 2004-02-03  Vin Shelton  <acs@xemacs.org>
6471
6472         * glyphs.c (image_instance_layout): Remove pointless assertion.
6473         * regex.c (regex_grow_registers): Return type is void.
6474
6475 2004-02-02  Vin Shelton <acs@xemacs.org>
6476
6477         * XEmacs 21.4.15 is released
6478
6479 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6480
6481         * device-x.c (x_error_handler): Don't call stderr_out
6482
6483 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6484
6485         * buffer.c (other-buffer): Clarify documentation of order of
6486         arguments for FSF Emacs.
6487
6488 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6489
6490         * window.c (Fdelete_window): Dirty the mirror structure _before_
6491         marking the window deleted.
6492
6493 2003-09-15  Jerry James  <james@xemacs.org>
6494
6495         * event-msw.c (debug_mswin_messages): Conditionally compile
6496         messages missing from the Cygwin headers.
6497
6498 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6499
6500         * data.c (eq_with_ebola_notice): Fix typo in comment.
6501         (Ftrue_list_p): Improve docstring.
6502
6503 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6504
6505         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6506
6507 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6508
6509         * search.c (trivial_regexp_p): Regexps containing "\{" are
6510         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6511         Stefan Monnier for suggesting a diagnosis.
6512
6513 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6514
6515         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6516
6517 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6518
6519         * search.c (Fsearch_forward):
6520         (Fsearch_backward):
6521         Document negative count.
6522
6523 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6524
6525         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6526
6527 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6528
6529         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6530
6531 2003-09-15  Vin Shelton  <acs@xemacs.org>
6532
6533         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6534         21.5.
6535
6536 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6537
6538         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6539         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6540         (re_match_2_internal): Use TRANSLATE instead of
6541         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6542         non-ASCII char case conversion.
6543
6544 2003-09-08  Mike Sperber  <mike@xemacs.org>
6545
6546         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6547         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6548
6549 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6550
6551        * .gdbinit (pobj): fix printing of symbol name.
6552
6553 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6554
6555         * frame-x.c (x_layout_widgets): When resizing is about to cause
6556         frame size slip, mark it for redisplay.
6557
6558 2003-08-18  Jerry James  <james@xemacs.org>
6559
6560         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6561
6562 2003-09-03  Vin Shelton <acs@xemacs.org>
6563
6564         * XEmacs 21.4.14 is released
6565
6566 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6567
6568         * config.h.in (REGEX_MALLOC): Make it configure'able.
6569
6570 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6571
6572         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6573         linking.
6574         * sysdll.c (dll_init):
6575         * sysdll.c (dll_open):
6576         * sysdll.c (dll_close):
6577         * sysdll.c (dll_function):
6578         * sysdll.c (dll_variable):
6579         * sysdll.c (dll_error):
6580         Add support for loading bundles using Darwin/MacOSX
6581         native API.
6582
6583 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6584
6585         * process.c (start-process-internal): Document coding systems.
6586
6587 2003-07-30  Jerry James  <james@xemacs.org>
6588
6589         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6590
6591 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6592
6593         * event-msw.c (mswindows_enqueue_mouse_button_event):
6594         * event-msw.c (mswindows_wnd_proc):
6595           enqueue button event when scrollwheel event isn't handled by 
6596           mswindows_handle_mousewheel_event, such as when the scrollbars
6597           are not showing.
6598
6599 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6600
6601         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6602
6603 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6604
6605         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6606
6607 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6608
6609         * regex.c (re_match_2_internal): Fix matching degenerate word
6610         boundaries.
6611
6612 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6613
6614         * XEmacs 21.4.13 is released
6615
6616 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6617
6618         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6619         * lisp.h (<inttypes.h>):
6620         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6621         the definition.
6622
6623 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6624
6625         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6626         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6627         Result: "temacs can only be run in -batch mode."
6628         Fix: Check xemacs executable candidate for directory-ness.
6629
6630 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6631
6632         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6633           they conflict with <sys/types.h>.
6634
6635 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6636
6637         * database.c: Berkeley DB wants __STDC__ to be defined.
6638
6639 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6640
6641         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6642
6643 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6644
6645         * process-unix.c (unix_send_process): Fix C++ compile error.
6646
6647 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6648
6649         * Added .dylib as an acceptable shared library file extension
6650         * to support MacOSX.
6651
6652 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6653
6654         * EmacsFrameP.h (EmacsFramePart):
6655         Kludge to allow compiling with Motif1, but linking with Motif2.
6656
6657 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6658
6659         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6660
6661
6662 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6663
6664         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6665
6666 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6667
6668         * sysdll.c: Included lisp.h to define needed alloca_array.
6669
6670 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6671
6672         Make XEmacs redisplay 10 times faster.
6673         If, that is, you're using a slow X connection and MoveOpaque.
6674         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6675         Use compress_motion = TRUE.
6676         * EmacsFrame.c (emacsFrameClassRec): 
6677         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6678         * EmacsManager.c (emacsManagerClassRec):
6679         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6680
6681 2003-01-30  Vin Shelton  <acs@xemacs.org>
6682
6683         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6684
6685 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6686
6687         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6688         Patch by Martin Buchholz.
6689
6690 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6691
6692         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6693         Thanks to icc for warning and Martin Buchholz for reporting.
6694
6695 2003-01-29  Vin Shelton <acs@xemacs.org>
6696
6697         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6698
6699         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6700         remember to multiply by the element size.
6701
6702 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6703
6704         * XEmacs 21.4.12 "Portable Code" is released.
6705
6706 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6707
6708         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6709         * s/cygwin.sc: new linker file.
6710
6711 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6712
6713         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6714
6715         * redisplay-x.c (x_output_string): Use X11-specified types.
6716         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6717         * emacs.c (__free_hook): Use typeof with Intel compiler.
6718         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6719
6720 2003-01-08  Andy Piper  <andy@xemacs.org>
6721
6722         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6723         reserve size during unexec().
6724
6725 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6726
6727         * process-unix.c (unix_create_process): Don't let outchannel block.
6728
6729 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6730
6731         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6732         Needed for IsBadReadPtr().
6733
6734 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6735
6736         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6737
6738 2002-12-14  Ben Wing  <ben@xemacs.org>
6739
6740         * callint.c: Declaration error.
6741         * dumper.c (pdump):
6742         * dumper.c (pdump_load): Warning fix.
6743         * process.c: GCPRO error.
6744         * glyphs.c (unmap_subwindow):
6745         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6746         * event-stream.c (maybe_kbd_translate): Wrong argument to
6747         character_to_event().
6748
6749         * alloc.c (garbage_collect_1):
6750         * emacs.c:
6751         * emacs.c (debug_can_access_memory):
6752         * emacs.c (fatal_error_signal):
6753         * emacs.c (mswindows_handle_hardware_exceptions):
6754         * emacs.c (main_1):
6755         * emacs.c (main):
6756         * emacs.c (assert_failed):
6757         * emacs.c (syms_of_emacs):
6758         * lisp.h:
6759         * print.c:
6760         * print.c (std_handle_out_va):
6761         * print.c (write_string_to_stdio_stream):
6762         * print.c (write_fmt_string):
6763         * print.c (printing_badness):
6764         * print.c (printing_major_badness):
6765         * print.c (print_internal):
6766         * print.c (debug_print_no_newline):
6767         * print.c (debug_backtrace):
6768         Be more defensive in handling bad values when printing.  Add code
6769         from trunk involving inhibit_non_essential_printing_operations.
6770         When going down or in debug_print(), don't do external conversion
6771         and such and try really, really hard when printing to avoid core
6772         dumping.  Add force-debugging-signal, debug_break().
6773
6774 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6775
6776         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6777         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6778
6779 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6780
6781         * database.c: Fix open_database. Berkeley DB API has changed in
6782         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6783
6784 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6785
6786         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6787
6788 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6789
6790         * event-Xt.c (Xt_timeout):
6791         (Xt_timeout_callback):
6792         (emacs_Xt_add_timeout):
6793         (emacs_Xt_remove_timeout):
6794         (Xt_timeout_to_emacs_event):
6795         Turn completed_timeouts from a stack into a queue.  Fixes
6796         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6797
6798 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6799
6800         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6801         * emacs.c (main): Assert that mmap'd allocation is disabled.
6802
6803 2002-10-14  Andy Piper  <andy@xemacs.org>
6804
6805         * glyphs-widget.c (layout_query_geometry): add in fiddle
6806         factor. Include border text in width layout calculation.
6807         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6808
6809 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6810
6811         * XEmacs 21.4.10 "Military Intelligence" is released.
6812
6813 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6814
6815         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6816         using the NAS private array SoundFileInfo that no longer exists in
6817         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6818         and earlier.  This is broken for some versions between 1.5a and
6819         1.5f.
6820
6821 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6822
6823         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6824
6825         * emacs.c (shut_down_emacs): Improve crash message.
6826
6827 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6828
6829         * file-coding.c (determine_real_coding_system): Check for coding
6830         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6831         shebangs and Python PEP 263.
6832
6833 2002-10-08  Andy Piper  <andy@xemacs.org>
6834
6835         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6836         if static sizes haven't been set.
6837
6838 2002-08-30  Mike Alexander  <mta@arbortext.com>
6839
6840         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6841         to close a socket.
6842
6843 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6844
6845         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6846
6847 2002-09-20  Mike Sperber <mike@xemacs.org>
6848
6849         (This partially gets back my patch from 2002-07-20 without the
6850         bug.)
6851         * callproc.c (child_setup): Remove Ben's comment noting confusion
6852         over the file descriptors >= 3: close_process_descs() doesn't
6853         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6854         * process-unix.c (unix_create_process): Call
6855         begin_dont_check_for_quit to inhibit unwanted interaction (and
6856         thus breaking of X event synchronicity) in the child.
6857
6858 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6859
6860         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6861         widget.
6862
6863 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6864
6865         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6866         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6867         the xemacs process did not exit, but looped infinitely here.  This
6868         fixes that problem.
6869
6870 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6871
6872         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6873         (find_context): Improve comments.
6874
6875         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6876         (re_match_2): An XCHAR_TABLE operation was missing.
6877
6878         Many of the following changes were inspired by Andy Piper's (now
6879         obsolete) patch to make syntax-table text property lookup optional.
6880
6881         [Documentation]
6882
6883         * syntax.h (top level): Document semantics of syntax flags.
6884         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6885         * syntax.c, syntax.h (top level): Document syntax cache better in
6886         comments.
6887
6888         [Instrument syntax caching (temporary change)]
6889
6890         * syntax.h (enum syntax_cache_statistics_functions, struct
6891         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6892         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6893         * syntax.c (scan_words, Fforward_comment, scan_lists,
6894         Fbackward_prefix_characters):
6895         * font-lock.c (find_context):
6896         Use them to instrument syntax caching. 
6897         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6898         syntax_cache_statistics_function_names): New type and variables.
6899         * syntax.c (update_syntax_cache): Update and report statistics.
6900
6901         [Major syntax cache optimizations]
6902
6903         syntax.c (lookup_syntax_properties): Default off.
6904
6905         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6906         * syntax.c (update_syntax_cache):
6907         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6908
6909         [Minor syntax cache optimizations and code clarifications]
6910
6911         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6912         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6913         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6914         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6915         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6916         (Code clarification.)
6917
6918         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6919         scan_lists): Compute code from syncode, use Boolean macros instead
6920         of redundant masking operations.  (Code clarification; any decent
6921         compiler can do this optimization.)
6922
6923         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6924         for clarity.
6925
6926         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6927         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6928         use F*_single_property_change instead of F*_extent_change.
6929         Currently F*_single_property_change is _much_ less efficient.
6930
6931         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6932         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6933         syntax_cache.object properly, don't leave Qt or Qnil.
6934         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6935         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6936         tests for Qt or Qnil.
6937
6938 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6939
6940         * redisplay.c (point_in_line_start_cache): 
6941         * extents.c (print_extent_1):
6942         Fix warnings.
6943
6944         * extents.c (Fset_extent_property): Document `syntax-table' property.
6945
6946         * extents.h (Fnext_single_property_change): EXFUN it.
6947
6948 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6949
6950         * search.c (clear_unused_search_regs): New static function.
6951         (search_buffer): 
6952         (simple_search): 
6953         (boyer_moore):
6954         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6955         Minor clarifications in comments.
6956
6957         * regex.c (re_match_2_internal): Ensure no stale submatches.
6958
6959 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6960
6961         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6962
6963 2002-08-29  Jerry James  <james@xemacs.org>
6964
6965         * lisp.h: structrures -> structures.
6966
6967 2002-06-03  Andy Piper  <andy@xemacs.org>
6968
6969         * frame.c (frame_conversion_internal): add conversion appropriate
6970         for setting frame dimensions in pixels.
6971
6972         * console.h (struct console_methods): add device-specific widget
6973         layout functions.
6974
6975         * emacs.c (main_1): initialize glyph vars.
6976
6977         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6978         (handle_focus_event_2): new function. Allow focus to
6979         be set to a particular window and widget.
6980         (enqueue_focus_event): new function. Create a
6981         synthetic focus event.
6982         (emacs_Xt_handle_magic_event): call
6983         handle_focus_event_2.
6984
6985         * frame.c (Fset_frame_pixel_height): new function. Allow
6986         pixel-based sizing. Does the right thing on character-oriented
6987         displays.
6988         (Fset_frame_pixel_width): ditto.
6989         (Fset_frame_pixel_size): ditto.
6990         (syms_of_frame): declare.
6991
6992         * general-slots.h: add :vertically-justify and
6993         :horizontally-justify.
6994
6995         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6996         (mswindows_widget_border_width): new function.
6997         (mswindows_combo_box_instantiate): set border widths.
6998         (console_type_create_glyphs_mswindows): declare.
6999
7000         * glyphs-widget.c:
7001         (check_valid_justification): allow vertical and horizontal
7002         justification.
7003         (widget_border_width): new function. Call device methods.
7004         (widget_instance_border_width): ditto.
7005         (logical_unit_height): new function. Determine the height of a
7006         logical-unit. Logical units are intended to provide grid-like
7007         layout for subcontrols in a layout. If the layout is
7008         :vertically-justify top then subcontrols will be positioned on
7009         logical-unit boundaries, thus allowing adjacent subcontrols to
7010         line up.
7011         (widget_logical_unit_height): ditto for widgets.
7012         (redisplay_widget): misc cleanup.
7013         (widget_spacing): new function. Call device specific
7014         methods. Intended to be the default gap between adjacent widgets.
7015         (widget_query_geometry): use new spacing functions to determine
7016         appropriate geometry.
7017         (initialize_widget_image_instance): initialize horizontal and
7018         vertical justification.
7019         (widget_instantiate): use logica-units where appropriate for
7020         sizing large widgets.
7021         (button_query_geometry): use widget_instance_border_width.
7022         (tree_view_query_geometry): ditto.
7023         (tab_control_query_geometry): ditto.
7024         (edit_field_query_geometry): new function.
7025         (layout_update): pick up :justify, :horizontally-justify and
7026         :vertically-justify none of which worked previously. :justify is
7027         used as a fallback for both horizontal and vertical justification.
7028         (layout_query_geometry): use logical units to size appropriately.
7029         (layout_layout): ditto.
7030         (Fwidget_logical_to_character_width): new function. Allow users to
7031         convert from logical units to characters so that frame sizes can
7032         be set appropriately.
7033         (Fwidget_logical_to_character_height): ditto.
7034         (syms_of_glyphs_widget): declare.
7035         (image_instantiator_edit_fields): add edit_field_query_geometry.
7036         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7037         :horizontally-justify.
7038         (specifier_vars_of_glyphs_widget): new function. Declare
7039         Vwidget_border_width which is not yet used.
7040
7041         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7042         (x_widget_border_width): new function.
7043         (x_widget_instantiate): create a sensible name for widgets.
7044         (console_type_create_glyphs_x): declare x_widget_border_width.
7045
7046         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7047         (struct Lisp_Image_Instance): add :vertically-justify and
7048         :horizontally-justify.
7049         (LAYOUT_JUSTIFY_TOP): new.
7050         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7051         (ROUND_UP): new macro. Round argument up to next integral
7052         interval.
7053
7054         * redisplay-output.c (redisplay_output_layout): misc formatting.
7055
7056         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7057
7058 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7059
7060         * XEmacs 21.4.9 "Informed Management" is released.
7061
7062 2002-08-19  Andy Piper  <andy@xemacs.org>
7063
7064         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7065         win32 format.
7066
7067         * realpath.c (xrealpath): normalize drive spec also so that dir
7068         sep chars are not mixed on cygwin.
7069
7070 2002-08-06  Jerry James  <james@xemacs.org>
7071
7072         * window.c (Fsplit_window): Count only half of the divider width
7073         against the left window when splitting horizontally. 
7074
7075 2002-06-24  Andy Piper  <andy@xemacs.org>
7076
7077         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7078         toolbar was cleared.
7079
7080         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7081         function. Split out from mswindows_output_frame_toolbars.
7082         (mswindows_output_frame_toolbars): move clear pieces to
7083         mswindows_output_frame_toolbars.
7084
7085         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7086         out from gtk_output_frame_toolbars.
7087         (gtk_output_frame_toolbars): move clear pieces to
7088         gtk_clear_frame_toolbars.
7089
7090         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7091         the frame is cleared. How this ever worked before is a mystery.
7092         (x_output_frame_toolbars): Only output toolbars.
7093         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7094
7095         * gutter.c (update_gutter_geometry):
7096         Mark frame layout changed.
7097         (update_frame_gutter_geometry, update_frame_gutters):
7098         Respect frame_layout_changed.
7099
7100         * console.h (struct console_methods): add
7101         clear_frame_toolbars_method.
7102
7103         * redisplay.c (redisplay_frame): call
7104         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7105
7106         * toolbar.h: declare update_frame_toolbars_geometry.
7107
7108         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7109         out from update_frame_toolbars.  Call clear_frame_toolbars.
7110         (update_frame_toolbars): only output, do not change geometry.
7111
7112         * redisplay.c: add frame_layout_changed.
7113
7114         * redisplay.h: add frame_layout_changed.
7115         (CLASS_RESET_CHANGED_FLAGS): set it.
7116         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7117         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7118         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7119
7120         * device.h (struct device): add frame_layout_changed.
7121         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7122
7123         * frame.h (struct frame): add frame_layout_changed.
7124         (MARK_FRAME_LAYOUT_CHANGED): new.
7125
7126 2002-06-30  Mike Alexander  <mta@arbortext.com>
7127
7128         * event-msw.c (mswindows_need_event): Don't wait for a new message
7129         if the queue is not empty.  Suggested by Paul Moore.
7130
7131 2002-06-12  Andy Piper  <andy@xemacs.org>
7132
7133         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7134         for printing on accurately.
7135
7136 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7137
7138         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7139         WM_ACTIVATE message. Make sure that the frame is visible if the
7140         window is visible. This seemss to fix the problem where XEmacs
7141         appears to freeze after switching desktops with certain virtual
7142         window managers.
7143         (debug_output_mswin_message): Added code to output message
7144         parameters for WM_WINDOWPOSCHANGED, 
7145         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7146
7147 2002-05-25  Andy Piper  <andy@xemacs.org>
7148
7149         * select-x.c (vars_of_select_x): Fix docstring of
7150         x-selection-strict-motif-ownership
7151
7152 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7153
7154         * keymap.c (get_keymap):
7155         Add comment about do_autoload GCPROs own args.
7156
7157 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7158
7159         * bytecode.c (execute_optimized_program): check_opcode ifdef
7160         ERROR_CHECK_BYTE_CODE.
7161
7162 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7163
7164         Thanks to Ben Wing and Michael Sperber.
7165
7166         * eval.c (Fcommand_execute):
7167         (Feval):
7168         (Ffuncall):
7169         (Fmacroexpand_internal):
7170         (function_argcount):
7171         callint.c (Fcall_interactively):
7172         Add comment about do_autoload GCPROs own args.
7173
7174         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7175
7176         * eval.c (Ffuncall): Extra braces to placate GCC.
7177
7178 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7179
7180         * backtrace.h (grow_specpdl):
7181         (SPECPDL_RESERVE):
7182         * EmacsFrame.c (EmacsFrameSetValues):
7183         * eval.c (grow_specpdl):
7184         * ExternalShell.c (hack_event_masks_1):
7185         * glyphs-x.c (convert_EImage_to_XImage): 
7186         (x_finalize_image_instance):
7187         * ralloc.c (page_size):
7188         (r_alloc_sbrk):
7189         * xgccache.c (gc_cache_hash):
7190         Fix unsigned comparison warnings.
7191
7192 2002-07-29  Jerry James  <james@xemacs.org>
7193
7194         * lread.c (locate_file): Any nonnegative return value indicates
7195         success if MODE is nonnegative.
7196
7197 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7198
7199         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7200         argument. 
7201
7202 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7203
7204         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7205
7206         * dumper.c (pdump_get_indirect_count):
7207         (pdump_scan_by_alignment):
7208         (pdump_dump_root_struct_ptrs):
7209         (pdump_dump_rtables):
7210         (pdump_dump_root_objects):
7211         (pdump):
7212         * nas.c (WaveOpenDataForReading):
7213         * fns.c (print_bit_vector):
7214         * font-lock.c (SINGLE_SYNTAX_STYLE):
7215         * glyphs.c (check_for_ignored_expose):
7216         (find_matching_subwindow):
7217         * glyphs-eimage.c:
7218         * imgproc.c (get_histogram):
7219         * redisplay.c (point_in_line_start_cache):
7220         * redisplay-output.c (redisplay_unmap_subwindows):
7221         * symbols.c (defsymbol_massage_name_1):
7222         (defkeyword_massage_name):
7223         (deferror_massage_name_and_message):
7224         * redisplay-x.c (x_output_string): 
7225         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7226         * frame.h (struct frame):
7227         * filelock.c (current_lock_owner):
7228         * doprnt.c (emacs_doprnt_1):
7229         * lisp.h (struct Lisp_Bit_Vector):
7230         (DO_REALLOC):
7231         Fix warnings.
7232
7233 2002-02-13  Ben Wing  <ben@xemacs.org>
7234
7235         * event-stream.c (reset_key_echo):
7236         * event-stream.c (reset_this_command_keys):
7237         * event-stream.c (execute_command_event):
7238         If console is dead as a result of C-x 5 0, then post-command stuff
7239         needs to be careful and do only non-console-specific stuff.
7240
7241 2002-07-01  Mike Sperber <mike@xemacs.org>
7242
7243         * process-unix.c (unix_send_process): Mark coding_outstream as
7244         non-open upon SIGPIPE.
7245
7246         * event-stream.c (Fnext_event): Reorder switch cases to something
7247         that makes sense.
7248
7249 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7250
7251         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7252         Don't bogusly reinitialize ascii_character property.
7253
7254 2002-07-08  Mike Sperber <mike@xemacs.org>
7255
7256         * process.c (Fstart_process_internal): Do error checking before we
7257         fork off the child, so the child can't muck with the state of the
7258         parent.
7259
7260 2002-07-08  Mike Sperber <mike@xemacs.org>
7261
7262         * ralloc.c (init_ralloc): Allocate properly for pdump.
7263
7264 2002-06-12  Andy Piper  <andy@xemacs.org>
7265
7266         * glyphs.c (query_string_geometry): check the string.
7267
7268         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7269         widget names.
7270
7271 2002-06-17  Jerry James  <james@xemacs.org>
7272
7273         * sysdll.c: Remove RTLD_GLOBAL initialization.
7274         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7275
7276 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7277
7278         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7279
7280 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7281
7282         * sysdep.c (sys_rename): Make sys_rename work for the case where
7283         Windows rename sets errno to EACCES if target file exists.
7284
7285 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7286
7287         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7288         Fix detection of metric units to work on Win95
7289
7290 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7291
7292         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7293
7294 2002-04-25  Andy Piper  <andy@xemacs.org>
7295
7296         * redisplay.c (create_text_block): Remove extra comment trailer.
7297
7298 2002-04-24  Andy Piper  <andy@xemacs.org>
7299
7300         * redisplay.c (create_text_block): Don't actually add propagation
7301         data if the line ends after we have added a glyph.
7302
7303 2002-04-22  Andy Piper  <andy@xemacs.org>
7304
7305         * extents.c (extent_fragment_update): check for glyphs we have
7306         previously displayed.
7307         * extents.c (print_extent_1): warning removal.
7308         * extents.h: change prototype.
7309         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7310         widths correctly for wide glyphs.
7311         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7312         * redisplay.c (prop_type): add PROP_GLYPH.
7313         * redisplay.c (struct prop_block): add glyph type
7314         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7315         to the propagation data.
7316         * redisplay.c (create_text_block): if there is a glyph in the
7317         propagation data use it to salt extent_fragment_update.
7318         * redisplay.c (create_string_text_block): ditto.
7319
7320 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7321
7322         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7323         * redisplay-output.c (compare_runes): Compare them.
7324         * redisplay.c: Update copyright date.
7325         * redisplay.c (pos_data): Add need_baseline_computation field.
7326         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7327         need_baseline_computation; zero yoffset. Set max_pixmap_height
7328         for all pixmaps, not just automatically positioned ones.
7329         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7330         * redisplay.c (calculate_baseline): New, compute textual baseline.
7331         * redisplay.c (add_glyph_rune): Call them.
7332         * redisplay.c (create_text_block): Likewise.
7333         * redisplay.c (create_overlay_glyph_block): Likewise.
7334         * redisplay.c (add_margin_runes): Likewise.
7335         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7336
7337         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7338         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7339         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7340         * redisplay-msw.c (mswindows_output_string): Likewise.
7341         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7342         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7343         * redisplay-x.c (x_output_display_block): Likewise.
7344
7345 2002-03-28  Ben Wing  <ben@xemacs.org>
7346
7347         * redisplay.c: Fixed bug in redisplay
7348         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7349         and down of the lines, since they're bigger than the line
7350         size. (It was seen most obviously when there's a horizontal scroll
7351         bar, e.g. do C-h a glyph or something like that.) The problem was
7352         that the glyph-contrib-p setting on glyphs was ignored even if it
7353         was set properly, which it wasn't until now.
7354
7355 2002-04-24  Andy Piper  <andy@xemacs.org>
7356
7357         * lisp.h (Dynarr_end): Fix definition.
7358
7359 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7360
7361         * redisplay.c (mark_redisplay): Remove call to
7362         update_frame_window_mirror.
7363
7364 2001-11-15  Andy Piper  <andy@xemacs.org>
7365
7366         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7367         cygwin (again).
7368
7369 2002-02-13  Andy Piper  <andy@xemacs.org>
7370
7371         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7372         we did in fact enqueue the XM_MAPFRAME event.
7373
7374 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7375
7376         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7377         to fix problem switching between virtual desktops under virtuawin
7378         virtual window manager.
7379
7380 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7381
7382         * event-msw.c: Typo fix.
7383         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7384         magic XM_MAPFRAME event has been sent.
7385
7386 2001-11-23  Andy Piper  <andy@xemacs.org>
7387
7388         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7389
7390 2001-11-21  Andy Piper  <andy@xemacs.org>
7391
7392         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7393         mouse events outside the frame.
7394
7395 2002-03-20  Andy Piper  <andy@xemacs.org>
7396
7397         * menubar-msw.c (mswindows_popup_menu): warning removal.
7398         * dialog-msw.c (dialog_popped_down): ditto.
7399
7400 2001-12-11  Andy Piper  <andy@xemacs.org>
7401
7402         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7403         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7404         popup_up_p.
7405         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7406         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7407         * menubar-msw.c (mswindows_popup_menu): ditto.
7408
7409 2001-10-29  Andy Piper  <andy@xemacs.org>
7410
7411         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7412         cancels.
7413
7414 2002-01-03  Andy Piper  <andy@xemacs.org>
7415
7416         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7417         letters.
7418         (xrealpath): ditto.
7419
7420 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7421
7422         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7423         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7424         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7425         Detect and handle case where machine is set up for metric units
7426
7427 2002-04-02  Andy Piper  <andy@xemacs.org>
7428
7429         * dired-msw.c (mswindows_get_files): 
7430         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7431         completely handled by XEmacs. Suggested by Thomas Vogler
7432         <mail@thomas-vogler.de>.
7433
7434 2001-11-14  Andy Piper  <andy@xemacs.org>
7435
7436         * nt.c (REG_ROOT): change registry key to XEmacs.
7437
7438 2002-04-27  Andy Piper  <andy@xemacs.org>
7439
7440         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7441
7442 2002-04-26  Andy Piper  <andy@xemacs.org>
7443
7444         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7445         behavior.
7446
7447 2002-03-14  Mike Alexander  <mta@arbortext.com>
7448
7449         * event-msw.c (mswindows_unwait_process): New, remove process from
7450         wait list
7451         * process-nt.c (nt_finalize_process_data): Call
7452         mswindows_unwait_process
7453         * console-msw.h: Declare mswindows_unwait_process
7454
7455 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7456
7457         * editfns.c (Fdecode_time):
7458         (Fformat_time_string):
7459         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7460         (make_time): Warning elimination (change arg name).
7461
7462 2001-11-24  Andy Piper  <andy@xemacs.org>
7463
7464         * window.c (Fsplit_window): Doc return type.
7465
7466 2002-04-01  Andy Piper  <andy@xemacs.org>
7467
7468         * emacs.c (Fkill_emacs): Only output message box in interactive
7469         mode.
7470
7471 2002-04-26  Andy Piper  <andy@xemacs.org>
7472  
7473         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7474         cygwin.
7475
7476 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7477
7478         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7479         bit platform.
7480
7481 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7482
7483         * XEmacs 21.4.8 "Honest Recruiter" is released.
7484
7485 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7486
7487         Supersedes 2002-04-17 patch.
7488
7489         * process.h (PROCESS_LIVE_P): Use the process status as
7490         evidence of health, not the state of the input stream.
7491         (PROCESS_READABLE_P): Say if the process is readable
7492         from. (It may be dead nonetheless.)
7493         (CHECK_READABLE_PROCESS): Test for that condition.
7494
7495         * process.c (create_process): Use PROCESS_READABLE_P.
7496         (read_process_output, set_process_filter): Likewise.
7497
7498         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7499         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7500
7501         This code is #if 0'd, this is not the time to add new functions:
7502
7503         * process.c (Fprocess_readable_p): Report readability status.
7504         * process.c (Qprocess_readable_p): New, associated symbol...
7505         * process.c (syms_of_process): ... initialize it.
7506
7507 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7508
7509         * XEmacs 21.4.7 "Economic Science" is released.
7510
7511 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7512
7513         * process.h (PROCESS_LIVE_P): Use the process status as
7514         evidence of health, not the state of the input stream.
7515
7516 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7517
7518         * sysdep.c (sys_siglist): change "signum" to "signal"
7519
7520 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7521
7522         * s/darwin.h: New file.
7523         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7524         
7525 2002-04-23  Andreas Jaeger  <aj@suse.de>
7526
7527         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7528         which use lib64 for 64-bit libs.
7529         (START_FILES): Likewise.
7530
7531 2002-02-11  Mike Sperber  <mike@xemacs.org>
7532
7533         * device-x.c: 
7534         (x_IO_error_handler):
7535         (x_init_device): Temporarily keep device in static variable
7536         `device_being_initialized' so we can recover gracefully from
7537         internal XOpenDevice failure.  (XOpenDevice is documented to
7538         return NULL on failure, but sometimes calls the IO error handler
7539         instead.)
7540
7541 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7542
7543         * dired.c (Ffile_name_all_completions): Change documentation --
7544         remove reference to completion-ignored-extensions.
7545         * dired.c (vars_of_dired): Change documentation for
7546         completion-ignored-extensions -- remove reference to
7547         file-name-all-completions.
7548
7549 2002-03-06  Jerry James  <james@xemacs.org>
7550
7551         * emodules.c (emodules_load): Fix multiple loading of same module.
7552
7553 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7554         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7555         RTLD_LAZY to avoid incorrect symbol binding when using nested
7556         shared libraries on Solaris.
7557
7558 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7559
7560         * fileio.c (Ffind_file_name_handler): Improve docstring.
7561
7562 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7563
7564         * fns.c (Fmapconcat): Improve docstring.
7565
7566 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7567
7568         * device-gtk.c: Add prototype for
7569         emacs_gtk_selection_clear_event_handle.
7570         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7571         selection.  Setup signal handler for "selection_clear_event"
7572         (emacs_gtk_selection_clear_event_handle).
7573
7574         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7575         other applications owning the clipboard (based on
7576         x_handle_selection_clear).
7577
7578 2001-12-23  William M. Perry  <wmperry@gnu.org>
7579
7580         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7581         
7582 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7583
7584         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7585
7586 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7587
7588         * XEmacs 21.4.6 "Common Lisp" is released.
7589
7590 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7591
7592         * search.c (Freplace_match): Add missing sub-expression functionality.
7593
7594         * buffer.c (decode_buffer): Add a check for pointer type to
7595         decode_buffer, before gcc's CSE optimization reorders a
7596         dereference in front of the allow_string test.
7597
7598 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7599
7600         * window.c (window_loop): Fix bug that sometimes prevented
7601         window_loop() from iterating across multiple devices.  Also, at
7602         Ben's request, changed infloop-detecting code to abort() instead
7603         of silently terminating window_loop().
7604
7605 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7606
7607         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7608         * editfns.c (make_time): New function.
7609         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7610         * lisp.h (make_time): Prototype and comment it.
7611         * dired.c (wasteful_word_to_lisp): Deprecate.
7612         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7613
7614 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7615
7616         * fileio.c (auto_save_1): Use current coding system, not
7617         escape-quoted.
7618
7619 2001-11-13  Ben Wing  <ben@xemacs.org>
7620
7621         * window.c:
7622         * window.c (window_truncation_on):
7623         * window.c (syms_of_window):
7624         truncate-partial-width-windows should respect the buffer being
7625         displayed, like other redisplay vars.
7626
7627 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7628
7629         * event-stream.c (Fread_key_sequence): save current buffer.
7630
7631 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7632
7633         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7634
7635 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7636
7637         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7638
7639 2001-10-26  Mike Alexander  <mta@arbortext.com>
7640
7641         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7642
7643 2001-10-25  Andy Piper  <andy@xemacs.org>
7644
7645         * ChangeLog:
7646         * dialog-msw.c (handle_directory_proc): new function.
7647          (handle_directory_dialog_box): new fucntion.
7648          (handle_file_dialog_box): use new directory dialog support.
7649          (mswindows_make_dialog_box_internal): ditto.
7650         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7651         handling.
7652         (mswindows_find_frame): make global.
7653         * fileio.c (Fexpand_file_name): build fix.
7654         * general-slots.h: add Qdirectory.
7655         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7656         handling.
7657         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7658         cygwin not leaving win32 paths unchanged.
7659         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7660         cygwin runtime to do path conversion.
7661         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7662         (syms_of_win32): add new function.
7663         * window.c (window_loop): build fix.
7664
7665 2001-10-15  Andy Piper  <andy@xemacs.org>
7666
7667         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7668
7669 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7670
7671         * XEmacs 21.4.5 "Civil Service" is released.
7672
7673 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7674
7675         * glyphs-x.c: Force buffer-tab highlight update when moving the
7676         buffer, avoiding an ugly black border, used for keyboard focus
7677         indication, on a widget that can never have keyboard focus, the
7678         buffer tab.
7679
7680 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7681
7682         * process-unix.c (unix_open_multicast_group): Remove too much
7683         conversion between host and network byte order.
7684
7685 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7686
7687         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7688         before replacing them.
7689
7690         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7691         operation.
7692
7693         * src/window.c (undedicate_windows): Use it.
7694         * src/window.h: Add prototype.
7695
7696 2001-09-17  Ben Wing  <ben@xemacs.org>
7697
7698         * fileio.c (normalize_filename):
7699         * fileio.c (Fexpand_file_name):
7700         Fix various C++ compile errors in Andy's recent code.
7701         
7702         * callint.c (Fcall_interactively):
7703         * editfns.c (Ftemp_directory):
7704         * editfns.c (Fuser_full_name):
7705         * emacs.c (argmatch):
7706         * lread.c (locate_file_map_suffixes):
7707         * redisplay-x.c (x_ring_bell):
7708         Fix sign-compare warnings.
7709         
7710 2001-09-08  Andy Piper  <andy@xemacs.org>
7711
7712         * fileio.c (normalize_filename): copied from nt.c
7713         * (Ffile_name_directory): enable win32 paths under cygwin.
7714         * (Ffile_name_nondirectory): ditto.
7715         * (directory_file_name): ditto.
7716         * (Fexpand_file_name): ditto.
7717         * (Ffile_truename): ditto.
7718         * (Fsubstitute_in_file_name): ditto.
7719         * (Ffile_name_absolute_p): ditto.
7720         * (Ffile_readable_p): ditto.
7721
7722 2001-09-08  Andy Piper  <andy@xemacs.org>
7723
7724         * device-msw.c (mswindows_finish_init_device): remove dde
7725         initialization.
7726         * device-msw.c (mswindows_init_dde): factor out from
7727         mswindows_finish_init_device()
7728         * device-msw.c (init_mswindows_very_early): new function
7729         initialize but don't enable dde.
7730         * emacs.c (main_1): call init_mswindows_very_early.
7731         * event-msw.c:
7732         * event-msw.c (mswindows_dde_callback): only execute when we are
7733         ready.
7734         * symsinit.h: declare init_mswindows_very_early.
7735
7736 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7737
7738         [sjt: This has been in 21.5 for months with no complaints.]
7739
7740         * console.h (struct console_methods): Added flags member.
7741         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7742         (CONMETH_IMPL_FLAG):
7743         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7744         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7745
7746         * device.c (window_system_pixelated_geometry): Use the above macros.
7747
7748         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7749         implememntation flag.
7750         * device.h (DEVICE_DISPLAY_P): Use it.
7751
7752         * frame.c (delete_frame_internal): Use the above macro.
7753
7754         * redisplay.c (redisplay_device): Use it.
7755         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7756         (redisplay_frame): Ditto.
7757
7758         * device-msw.c (mswindows_device_implementation_flags): Removed.
7759         (msprinter_device_implementation_flags): Removed.
7760         (console_type_create_device_mswindows): Removed references to
7761         implementation_flags methods, set implementation flags here.
7762         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7763
7764         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7765         (console_type_create_device_gtk): Removed method declaration.
7766         Added commented out statement which semantically matches the
7767         commented out statement in the above removed method.
7768
7769 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7770
7771         The attached patch fixes a few warnings. 
7772
7773         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7774         * src/frame-gtk.c: guard against GNOME calls in GTK only
7775         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7776         * src/select-gtk.c: prototype lisp_to_time
7777
7778 2001-06-08  Ben Wing  <ben@xemacs.org>
7779
7780         ------ gc-in-window-procedure fixes ------
7781         
7782         * alloc.c:
7783         * alloc.c (struct post_gc_action):
7784         * alloc.c (register_post_gc_action):
7785         * alloc.c (run_post_gc_actions):
7786         * alloc.c (garbage_collect_1):
7787         Create "post-gc actions", to avoid those dreaded "GC during window
7788         procedure" problems.
7789
7790         * event-msw.c:
7791         Abort, clean and simple, when GC in window procedure.  We want
7792         to flush these puppies out.
7793
7794         * glyphs-msw.c:
7795         * glyphs-msw.c (finalize_destroy_window):
7796         * glyphs-msw.c (mswindows_finalize_image_instance):
7797         Use a post-gc action when destroying subwindows.
7798
7799         * lisp.h:
7800         Declare register_post_gc_action().
7801
7802         * scrollbar-msw.c:
7803         * scrollbar-msw.c (unshow_that_mofo):
7804         Use a post-gc action when unshowing scrollbar windows, if in gc.
7805
7806         * redisplay.c (mark_redisplay):
7807         Add comment about the utter evilness of what's going down here.
7808
7809         ------ cygwin setitimer fixes ------
7810         
7811         * Makefile.in.in (sheap_objs):
7812         * Makefile.in.in (profile_objs):
7813         * Makefile.in.in (objs):
7814         Compile profile.c only when HAVE_SETITIMER.
7815         
7816         * nt.c (mswindows_sigset):
7817         * nt.c (mswindows_sighold):
7818         * nt.c (mswindows_sigrelse):
7819         * nt.c (mswindows_sigpause):
7820         * nt.c (mswindows_raise):
7821         * nt.c (close_file_data):
7822         Style fixes.
7823         
7824         * nt.c:
7825         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7826         
7827         * profile.c:
7828         * profile.c (Fstart_profiling):
7829         * profile.c (Fstop_profiling):
7830         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7831         instead of just plain setitimer().
7832         
7833         * signal.c:
7834         * signal.c (set_one_shot_timer):
7835         * signal.c (alarm):
7836         Define qxe_setitimer() as an encapsulation around setitimer() --
7837         call setitimer() directly unless Cygwin or MS Win, in which case
7838         we use our simulated version in win32.c.
7839         
7840         * systime.h:
7841         * systime.h (struct itimerval):
7842         * systime.h (ITIMER_REAL):
7843         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7844         comment about "qxe" and the policy regarding encapsulation.
7845
7846         * win32.c:
7847         * win32.c (setitimer_helper_proc):
7848         * win32.c (setitimer_helper_period):
7849         * win32.c (setitimer_helper):
7850         * win32.c (mswindows_setitimer):
7851         Move setitimer() emulation here, so Cygwin can use it.
7852         Rename a couple of functions and variables to be longer and more
7853         descriptive.  In setitimer_helper_proc(), send the signal
7854         using either mswindows_raise() or (on Cygwin) kill().  If for
7855         some reason we are still getting lockups, we'll change the kill()
7856         to directly invoke the signal handlers.
7857
7858         ------ windows shell fixes ------
7859         
7860         * callproc.c:
7861         * ntproc.c:
7862         Comments about how these two files must die.
7863
7864         * callproc.c (init_callproc):
7865         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7866         not just COMSPEC. (more correct and closer to FSF.) Don't
7867         force a value for SHELL into the environment. (Comments added
7868         to explain why not.)
7869         
7870         * nt.c (init_user_info):
7871         Don't shove a fabricated SHELL into the environment.  See above.
7872
7873 2001-06-01  Ben Wing  <ben@xemacs.org>
7874
7875         * Makefile.in.in (ldflags):
7876         eliminate that pesky "defaulting to 00401000" warning.
7877         * nt.h:
7878         eliminate warnings.
7879
7880 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7881
7882         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7883         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7884
7885 2001-04-24  Jerry James <james@xemacs.org>
7886
7887         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7888         correct order.
7889
7890 2001-06-01  Ben Wing  <ben@xemacs.org>
7891
7892         * event-msw.c (debug_mswin_messages):
7893         conditionalize the messages that were causing compile errors.
7894         (if only macros could generate #ifdef statements ...)
7895
7896 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7897
7898         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7899
7900 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7901
7902         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7903
7904 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7905
7906         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7907         * process-unix.c (unix_canonicalize_host_name):
7908         sysdep.c (init_system_name):
7909         Use it to conditionally support IPv6 canonicalization.
7910
7911 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7912
7913         * event-msw.c:
7914         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7915
7916 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7917
7918         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7919         attempt is made to scroll when no scroll bar is available.
7920
7921 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7922
7923         * input-method-motif.c (XIM_delete_frame): New callback.
7924         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7925         got deleted from 21.4.3.)
7926
7927 2001-06-01  Ben Wing  <ben@xemacs.org>
7928
7929         * nt.c (mswindows_utime):
7930         * nt.c (close_file_data):
7931         fix off-by-one-indirection error.
7932
7933 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7934
7935         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7936         because set_file_times() now takes Lisp_Object path, instead of
7937         char*.
7938         * nt.c: Include buffer.h.
7939         * nt.c (convert_from_time_t): New.
7940         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7941         not set mtime correctly.
7942         * nt.h: Declare mswindows_utime().
7943         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7944         path, instead of char*.
7945         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7946
7947 2001-05-30  Ben Wing  <ben@xemacs.org>
7948
7949         For 21.4:
7950
7951         (Stephen, just take all event-msw.c patches.  This includes
7952         the "iconify" fix below.)
7953
7954         * event-msw.c:
7955         * event-msw.c (mswindows_dequeue_dispatch_event):
7956         * event-msw.c (assert):
7957         * event-msw.c (emacs_mswindows_quit_p):
7958         * event-msw.c (debug_mswin_messages):
7959         * event-msw.c (debug_output_mswin_message):
7960         * event-msw.c (vars_of_event_mswindows):
7961         Fix yet more problems with C-g handling.
7962         Implement debug-mswindows-events.
7963         
7964 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7965
7966         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7967         
7968 2001-05-23  Ben Wing  <ben@xemacs.org>
7969
7970         * event-msw.c (winsock_writer):
7971         * event-msw.c (winsock_closer):
7972         prior kludgy code was clobbering the buffer, thinking it was
7973         "unused" space to store an unneeded return value; instead, use
7974         the variable we've already got staring us in the face.
7975
7976 2001-05-17  Andy Piper  <andy@xemacs.org>
7977
7978         * sysfile.h: don't assume that file attributes are boolean
7979
7980 2001-05-23  Ben Wing  <ben@xemacs.org>
7981
7982         * device-msw.c (msprinter_init_device):
7983         signal an error rather than crash with an unavailable network
7984         printer (from Mike Alexander).
7985         
7986         * event-msw.c:
7987         * event-msw.c (struct winsock_stream):
7988         * event-msw.c (winsock_writer):
7989         * event-msw.c (winsock_closer):
7990         * event-msw.c (make_winsock_stream_1):
7991         cleanup headers.  fix (hopefully) an error with data corruption
7992         when sending to a network connection.
7993
7994         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7995         to handle the ~user prefix by (a) always assuming we're referencing
7996         ourselves and not even verifying the user -- hence any file with
7997         a tilde as its first char is invalid! (b) if there wasn't a slash
7998         following the filename, the pointer was set *past* the end of
7999         file and we started reading from uninitialized memory.  Now we
8000         simply treat these as files, always.
8001
8002         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8003         
8004 2001-05-19  Ben Wing  <ben@xemacs.org>
8005
8006         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8007
8008         * process-nt.c:
8009         * process-nt.c (vars_of_process_nt):
8010         remove unused mswindows-quote-process-args.  rec for 21.4.
8011         
8012 2001-05-12  Ben Wing  <ben@xemacs.org>
8013
8014         * event-msw.c (mswindows_dde_callback):
8015         * event-msw.c (mswindows_wnd_proc):
8016         eliminate cygwin warnings.
8017
8018 2001-05-06  Ben Wing  <ben@xemacs.org>
8019
8020         * console-msw.h:
8021         * device-msw.c:
8022         * device-msw.c (print_dialog_worker):
8023         * device-msw.c (mswindows_handle_print_dialog_box):
8024         * device-msw.c (syms_of_device_mswindows):
8025         * dialog-msw.c (mswindows_make_dialog_box_internal):
8026         * general-slots.h:
8027         implement printing the selection when it's selected.
8028
8029 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8030
8031         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8032
8033 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8034
8035         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8036         EMACS_INT is signed.
8037
8038 2001-04-15  Michael Lausch  <mla@1012surf.net>
8039
8040         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8041         gtk_widget_request_size() to give scrollbar >0 width for
8042         GTK >1.2.8.
8043
8044 2001-05-30  William M. Perry  <wmperry@gnu.org>
8045
8046         * event-gtk.c: Check for buttons as modifier keys.
8047
8048 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8049
8050         * s\mingw32.h:
8051         Properly find MinGW's <process.h> inside Cygwin's restructured
8052         include directories.  Don't try to include <cygwin/version.h>
8053         since we are dropping support for MinGW in versions of Cygwin
8054         earlier than b21.
8055         * nt.c:
8056         Drop support for MinGW in versions of Cygwin before b21.
8057         * sysdep.c:
8058         Properly find MinGW's <process.h> inside Cygwin's restructured
8059         include directories.
8060         * syswindows.h:
8061         Drop support for MinGW in versions of Cygwin before b21.
8062         * unexcw.c:
8063         Even though a.out.h is no longer detected by configure, allow
8064         MinGW to use it until we figure out how to do the job with Win32.
8065
8066 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8067
8068         * syntax.c (find_start_of_comment):
8069         Fix `unbalanced parentheses' bug when dealing with mixed comment
8070         styles in c++/java/etc. mode
8071
8072 2001-05-29  Mike Alexander  <mta@arbortext.com>
8073
8074         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8075         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8076
8077 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8078
8079         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8080
8081 2001-03-31  Mike Sperber <mike@xemacs.org>
8082
8083         * search.c (Freplace_match): Support FSF-style specification of
8084         match subexpression when applied to a buffer.
8085
8086 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8087
8088         * event-stream.c (is_scrollbar_event): add missing semicolon
8089
8090 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8091
8092         * Makefile.in.in: Use TAR macro instead of hardcoding
8093           tar.  Allows use of GNU tar instead of system tar
8094
8095 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8096
8097         * event-stream.c (is_scrollbar_event): add missing semicolon
8098
8099 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8100
8101         * XEmacs 21.4.3 "Academic Rigor" is released.
8102
8103 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8104
8105         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8106
8107 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8108
8109         * buffer.c (Vcase_fold_search): Remove obsolete
8110           comment about non ASCII case-fold-search.  This
8111           bug has been fixed by case-table changes.
8112
8113 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8114
8115         * event-msw.c: Restore include of events-mod.h.
8116
8117 2001-04-22   zhaoway  <zw@debian.org>
8118
8119         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8120         !HAVE_SCROLLBARS.
8121
8122 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8123
8124         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8125
8126 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8127
8128         * mule-charset.c (Fmake_charset): Add missing else.
8129
8130 2001-04-23  Ben Wing  <ben@xemacs.org>
8131
8132         * event-msw.c (FAKE_MOD_QUIT):
8133         * event-msw.c (mswindows_dequeue_dispatch_event):
8134         * event-msw.c (mswindows_wnd_proc):
8135         * event-msw.c (emacs_mswindows_quit_p):
8136         Get critical quit working.
8137
8138 2001-05-05  Ben Wing  <ben@xemacs.org>
8139
8140         * console-msw.h:
8141         * device-msw.c:
8142         * device-msw.c (mswindows_get_default_margin):
8143         * frame-msw.c (mswindows_size_frame_internal):
8144         * frame-msw.c (msprinter_init_frame_1):
8145         * frame-msw.c (vars_of_frame_mswindows):
8146         Change top/bottom margin defaults to 0.5 inches.
8147
8148 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8149
8150         Fix link error with gcc 3.0 on Linux.
8151         * terminfo.c (UP): Remove.
8152         * terminfo.c (BC): Remove.
8153         * terminfo.c (PC): Remove.
8154         They weren't used, and in any case, these symbols should be
8155         defined in the *library*.
8156
8157 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8158
8159         * s/aix4.h: Fix crash with xlc -O3.
8160         Improve comment explaining how -O3 works.
8161
8162 2001-04-15  Ben Wing  <ben@xemacs.org>
8163
8164         * event-stream.c:
8165         * event-stream.c (Fnext_event):
8166         * event-stream.c (is_scrollbar_event):
8167         * event-stream.c (execute_command_event):
8168         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8169         crash' problem.  His fix introduces other problems.  We filter
8170         out scrollbar events specifically, making them somewhat invisible
8171         to command-building, and not appearing in `this-command-keys'.
8172         More work is still needed (see comments in event-stream.c), but
8173         this fixes all the major problems.
8174
8175 2001-04-20  Ben Wing  <ben@xemacs.org>
8176
8177         * .cvsignore: Added stuff for Windows.
8178
8179 2001-04-28  Ben Wing  <ben@xemacs.org>
8180
8181         * buffer.c (Ferase_buffer):
8182         * editfns.c (buffer_insert1):
8183         * editfns.c (Finsert_before_markers):
8184         * editfns.c (Finsert_string):
8185         * editfns.c (Finsert_char):
8186         * editfns.c (Fdelete_region):
8187         * editfns.c (Fwiden):
8188         * editfns.c (Fnarrow_to_region):
8189         remove bogus lines setting zmacs_region_stays to 0.
8190         
8191 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8192
8193         * process-unix.c (unix_open_network_stream): If connect() fails
8194         invalidate file descriptor after closing it.
8195
8196 2001-03-08  Mike Alexander  <mta@arbortext.com>
8197
8198         * event-msw.c (mswindows_need_event_in_modal_loop):
8199         Don't dispatch a message if we didn't get one.
8200         (mswindows_need_event):
8201         Terminate the correct process when one exits instead of the first
8202         one on Vprocess_list and look for process termination when in
8203         mswindows_protect_modal_loop.
8204
8205 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8206
8207         * XEmacs 21.4.1 "Copyleft" is released.
8208
8209 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8210
8211         * input-method-motif.c (XIM_delete_frame): New callback.
8212         (XIM_init_frame): Register it.
8213
8214 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8215
8216         * XEmacs 21.4.0 "Solid Vapor" is released.
8217
8218 2001-04-15  Ben Wing  <ben@xemacs.org>
8219
8220         * cmdloop.c (call_command_loop):
8221         Fix braino in bit-rotting code.
8222         
8223 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8224
8225         * extents.c (Fset_extent_endpoints): Force creation of extent info
8226         in buffer_or_string.
8227
8228         * extents.c (process_extents_for_insertion_mapper): Correctly
8229         check for open-open zero-length extents.
8230
8231 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8232
8233         * lisp.h: New typedefs Memory_count, Element_count.
8234         * regex.c:
8235         * regex.h:
8236         Sign-compare warning elimination: several unsigned -> signed.
8237         Based on work by Ben Wing <ben@xemacs.org>.
8238
8239 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8240
8241         * XEmacs 21.2.47 "Zephir" is released.
8242
8243 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8244
8245         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8246
8247 2001-04-03  Mike Sperber <mike@xemacs.org>
8248
8249         * search.c: Revert previous patch due because of release.
8250
8251 2001-03-30  Ben Wing  <ben@xemacs.org>
8252
8253         * s\cygwin32.h:
8254         Add missing killpg prototype.
8255
8256         * elhash.c:
8257         Add a comment about fixing problems when a new entry is added
8258         while mapping.
8259
8260         * frame-msw.c (mswindows_init_frame_1):
8261         Fix compile warnings.
8262
8263         * menubar.c (vars_of_menubar):
8264         Provide `menu-accelerator-support' to indicate that we properly
8265         support %_ in menu specifications, so that package code can
8266         conditionalize on this (and remove %_ from menu specifications
8267         on older versions).
8268
8269         * event-msw.c:
8270         * scrollbar-msw.c:
8271         * scrollbar-msw.c (can_scroll):
8272         * scrollbar-msw.h:
8273         Fix handling of mouse wheel under Windows to follow standards --
8274         now scrolls window under pointer, not selected window.
8275
8276 2001-03-31  Mike Sperber <mike@xemacs.org>
8277
8278         * search.c (Freplace_match): Support FSF-style specification of
8279         match subexpression when applied to a buffer.
8280
8281 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8282
8283         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8284         function to modify KEYMAP, so map over a copy of the hash table.
8285
8286 2001-03-21  Martin Buchholz <martin@xemacs.org>
8287
8288         * XEmacs 21.2.46 "Urania" is released.
8289
8290 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8291
8292         * realpath.c (xrealpath): Make file-truename work with symlinks to
8293         /cygdrive paths on cygwin. Always lowercase drive-letters on
8294         native windows.
8295         (cygwin_readlink): Don't try to find canonical filename unless
8296         file exists.
8297
8298 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8299
8300         * ChangeLog: Log GTK merge.
8301
8302         * dumper.c:
8303         * select-x.c:
8304         * specifier.c:
8305         * symeval.h:
8306         Revert gratuitous whitespace changes from GTK merge.
8307
8308         * emacs.c: Document end of complex #ifdef @ l. 1495.
8309
8310
8311 2001-03-12  Andy Piper  <andy@xemacs.org>
8312
8313         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8314         have to do likewise.
8315
8316 2001-03-12  Andy Piper  <andy@xemacs.org>
8317
8318         * sysdep.c: we only support mingw now.
8319
8320 2001-03-09  Andy Piper  <andy@xemacs.org>
8321
8322         * unexcw.c (copy_executable_and_dump_data_section): making approx
8323         overrun a warning only.
8324
8325 2001-03-10  William M. Perry  <wmperry@aventail.com>
8326
8327         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8328         satisfy Stephen's identical-after-cpp plea.
8329
8330 2001-03-02  Ben Wing  <ben@xemacs.org>
8331
8332         * cmds.c:
8333         * cmds.c (Fforward_char):
8334         * syntax.c:
8335         * window.c:
8336
8337         Augment documentation of the most common motion commands to make
8338         note of the shifted-motion support.
8339         
8340 2001-03-02  Ben Wing  <ben@xemacs.org>
8341
8342         * nt.c (mswindows_fstat):
8343         * nt.c (mswindows_stat):
8344         * search.c (boyer_moore):
8345         Fix compile warnings under Windows.
8346         
8347         * sysdep.c (sys_readdir):
8348         Fix buggy filename-conversion code under Mule.
8349
8350 2001-03-09  William M. Perry  <wmperry@aventail.com>
8351
8352         * Makefile.in.in:
8353         * config.h.in:
8354         * console.c:
8355         * console.h:
8356         * device.c:
8357         * device.h:
8358         * dragdrop.c:
8359         * emacs.c:
8360         * event-stream.c:
8361         * events.c:
8362         * events.h:
8363         * faces.c:
8364         * frame.h:
8365         * general-slots.h:
8366         * glyphs.c:
8367         * gutter.c:
8368         * inline.c:
8369         * lisp.h:
8370         * lrecord.h:
8371         * make-src-depend:
8372         * redisplay-output.c:
8373         * redisplay.c:
8374         * symsinit.h:
8375         * sysfile.h:
8376         * toolbar.c:
8377         * window.c:
8378         The Great GTK Merge.
8379
8380         * ChangeLog.GTK:
8381         * console-gtk.c:
8382         * console-gtk.h:
8383         * device-gtk.c:
8384         * emacs-marshals.c:
8385         * emacs-widget-accessors.c:
8386         * event-gtk.c:
8387         * frame-gtk.c:
8388         * gccache-gtk.c:
8389         * gccache-gtk.h:
8390         * glade.c:
8391         * glyphs-gtk.c:
8392         * glyphs-gtk.h:
8393         * gtk-glue.c:
8394         * gtk-xemacs.c:
8395         * gtk-xemacs.h:
8396         * gui-gtk.c:
8397         * gui-gtk.h:
8398         * menubar-gtk.c:
8399         * native-gtk-toolbar.c:
8400         * objects-gtk.c:
8401         * objects-gtk.h:
8402         * redisplay-gtk.c:
8403         * scrollbar-gtk.c:
8404         * scrollbar-gtk.h:
8405         * select-gtk.c:
8406         * toolbar-gtk.c:
8407         * ui-byhand.c:
8408         * ui-gtk.c:
8409         * ui-gtk.h:
8410         The Great GTK Merge: new files.
8411
8412 2001-02-26  Ben Wing  <ben@xemacs.org>
8413
8414         Reapplied Lstream change.
8415
8416 2001-02-26  Ben Wing  <ben@xemacs.org>
8417
8418         Undid the last change, since it is more controversial than I
8419         thought.  It should be back in at some point soon.
8420         
8421 2001-02-25  Ben Wing  <ben@xemacs.org>
8422
8423         * buffer.c:
8424         * callproc.c (Fold_call_process_internal):
8425         * event-msw.c (ntpipe_slurp_reader):
8426         * event-msw.c (ntpipe_shove_writer):
8427         * event-msw.c (winsock_reader):
8428         * event-msw.c (winsock_writer):
8429         * file-coding.c:
8430         * file-coding.c (detect_eol_type):
8431         * file-coding.c (detect_coding_type):
8432         * file-coding.c (determine_real_coding_system):
8433         * file-coding.c (Fdetect_coding_region):
8434         * file-coding.c (decoding_reader):
8435         * file-coding.c (decoding_writer):
8436         * file-coding.c (mule_decode):
8437         * file-coding.c (Fdecode_coding_region):
8438         * file-coding.c (encoding_reader):
8439         * file-coding.c (encoding_writer):
8440         * file-coding.c (mule_encode):
8441         * file-coding.c (Fencode_coding_region):
8442         * file-coding.c (detect_coding_sjis):
8443         * file-coding.c (decode_coding_sjis):
8444         * file-coding.c (encode_coding_sjis):
8445         * file-coding.c (detect_coding_big5):
8446         * file-coding.c (decode_coding_big5):
8447         * file-coding.c (encode_coding_big5):
8448         * file-coding.c (detect_coding_ucs4):
8449         * file-coding.c (decode_coding_ucs4):
8450         * file-coding.c (encode_coding_ucs4):
8451         * file-coding.c (detect_coding_utf8):
8452         * file-coding.c (decode_coding_utf8):
8453         * file-coding.c (encode_coding_utf8):
8454         * file-coding.c (detect_coding_iso2022):
8455         * file-coding.c (decode_coding_iso2022):
8456         * file-coding.c (encode_coding_iso2022):
8457         * file-coding.c (decode_coding_no_conversion):
8458         * file-coding.c (encode_coding_no_conversion):
8459         * glyphs-x.c (write_lisp_string_to_temp_file):
8460         * gpmevent.c (tty_get_foreign_selection):
8461         * lisp.h:
8462         * lstream.c:
8463         * lstream.c (Lstream_flush_out):
8464         * lstream.c (Lstream_adding):
8465         * lstream.c (Lstream_write_1):
8466         * lstream.c (Lstream_write):
8467         * lstream.c (Lstream_raw_read):
8468         * lstream.c (Lstream_read_more):
8469         * lstream.c (Lstream_read):
8470         * lstream.c (Lstream_unread):
8471         * lstream.c (Lstream_fputc):
8472         * lstream.c (stdio_reader):
8473         * lstream.c (stdio_writer):
8474         * lstream.c (filedesc_reader):
8475         * lstream.c (filedesc_writer):
8476         * lstream.c (lisp_string_reader):
8477         * lstream.c (struct fixed_buffer_stream):
8478         * lstream.c (make_fixed_buffer_input_stream):
8479         * lstream.c (make_fixed_buffer_output_stream):
8480         * lstream.c (fixed_buffer_reader):
8481         * lstream.c (fixed_buffer_writer):
8482         * lstream.c (struct resizing_buffer_stream):
8483         * lstream.c (resizing_buffer_writer):
8484         * lstream.c (dynarr_writer):
8485         * lstream.c (lisp_buffer_reader):
8486         * lstream.c (lisp_buffer_writer):
8487         * lstream.h:
8488         * lstream.h (lstream_implementation):
8489         * lstream.h (struct lstream):
8490         * md5.c (Fmd5):
8491         * process-nt.c (nt_send_process):
8492         * process-unix.c (unix_send_process):
8493         
8494         Correct Lstream lossage due to mixing of signed and unsigned
8495         quantities.  All Lstream uses of size_t and ssize_t are now a
8496         single signed data type Lstream_data_count.  This fixes problems
8497         under Windows with sending large quantities of data to a process,
8498         and may well fix other subtle bugs.
8499
8500 2001-02-23  Martin Buchholz <martin@xemacs.org>
8501
8502         * XEmacs 21.2.45 "Thelxepeia" is released.
8503
8504 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8505
8506         * lisp-union.h (XSETINT): 
8507         (XSETCHAR):
8508         (XSETOBJ): 
8509         Reverse previous change of 2001-02-06.
8510
8511 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8512
8513         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8514         buffers.
8515         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8516         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8517         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8518         * regex.c (POS_AS_IN_BUFFER): removed
8519         * regex.c (re_search_2):
8520         * regex.c (re_match_2):
8521         Don't use an offset of 1 when calculating buffer positions, since
8522         `BI_BUF_BEGV' does it already.
8523
8524 2001-02-18  Wim Dumon  <wim@easics.be>
8525
8526         * insdel.c (prepare_to_modify_buffer): Also check for
8527         supersession when clash-detection is enabled. 
8528
8529 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8530
8531         * regex.c (re_match_2_internal):
8532         Convert temp characters from 'const unsigned char' to 're_char'.
8533         Fix crashing bug with extended characters under mule.
8534         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8535         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8536         font-lock, pdump, and new syntax-table code.
8537         * syntax.c (find_start_of_comment):
8538         (find_end_of_comment):
8539         (forward-comment):
8540         Fix crashing bugs involving moving beyond end of buffer.
8541         * syntax.c (find_start_of_comment):
8542         Fixed logic to allow proper detection of cases where the same
8543         character is used to end both a two-char comment start and a
8544         two-char comment end sequence. Fixes `(forward-comment -1)'.
8545         * syntax.c (find_start_of_comment):
8546         Return position just past last comment-end character for all cases
8547         (previously was only done for two-char comment-end sequences).
8548         * syntax.c (forward-comment):
8549         Take value returned from `find_end_of_comment', rather than
8550         incrementing it.
8551         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8552         Properly deal with BUFFERP (syntax_cache.object)
8553
8554 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8555
8556         * alloc.c (Fgarbage_collect): 
8557         * alloc.c (make_bit_vector_from_byte_vector):
8558         -Wsign-compare-correctness.
8559
8560 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8561
8562         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8563         (XSETCHAR): Likewise.
8564         (XSETOBJ): Likewise.
8565
8566 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8567
8568         * mule-canna.c (canna-func-delete_previous): 
8569         Rename to canna-func-delete-previous.
8570
8571 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8572
8573         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8574
8575 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8576
8577         * font-lock.c (find_context): Fix C++ compile errors introduced by
8578         recent patch
8579
8580 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8581
8582         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8583         pragma, but earlier ones barf on the same pragma.
8584
8585 2001-02-06  Mike Sperber <mike@xemacs.org>
8586
8587         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8588         `configure-mule-lisp-directory'.
8589
8590 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8591
8592         Make sure dump-id.c is compiled in the same way as other .c's.
8593         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8594         * dump-id.h: Remove.
8595         * emacs.c: Move dump-id.h into dumper.h.
8596         * dumper.h: Move dump-id.h into dumper.h.
8597         * Makefile.in.in:
8598         Use standard .c.o rule for building dump-id.o.
8599         Remove preprocessor flags from link command.
8600         Add dump-id.o to ${otherobjs} if PDUMP.
8601
8602 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8603
8604         Port FSF 20.7 syntax table improvements.
8605         * syntax.c.
8606         * syntax.h.
8607
8608         Fixups for new syntax table stuff.
8609         * dired.c: Include syntax.c.
8610         (Fdirectory_files): Initialize regex_match_object and
8611         regex_emacs_buffer.
8612         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8613         and Fget_char_property.
8614
8615         Use ported FSF 20.7 syntax table improvements.
8616         * font-lock.c.
8617         * regex.c.
8618         * search.c.
8619         
8620 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8621
8622         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8623         Unixware's enum boolean from sys/types.h.
8624
8625 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8626
8627         Fix support for building with latest Purify.
8628         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8629         (PURIFY_FLAGS): Likewise.
8630
8631 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8632
8633         * fileio.c (lisp_string_set_file_times): New.
8634         * fileio.c (Fcopy_file): Use it.
8635         Fixes bug:
8636         (copy-file filename non-ascii-filename t t)
8637         ==> No such file or directory, non-ascii-filename
8638
8639 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8640
8641         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8642         USHRT_MAX seems clearer than ~0 anyways.
8643
8644 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8645
8646         dumper improvements.  Inspired by Olivier.
8647         * dumper.c (pdump_max_align): New.
8648         * dumper.c (pdump_add_entry): Use pdump_max_align.
8649         * dumper.c (pdump_get_entry_list): Likewise.
8650         * dumper.c (pdump_scan_by_alignment): Likewise.
8651         Don't iterate through unnecessary alignments.
8652         * dumper.c (pdump_file_get): No need to align result of malloc().
8653         * dumper.c (pdump_mallocadr): Remove.  
8654         The result of malloc() is guaranteed to be maximally aligned.
8655         * dumper.c: s/elmt/elt/g;
8656         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8657         * dumper.c (pdump_alert_undump_object): Likewise.
8658         * dumper.c (pdump_align_table): 
8659         Don't support alignments > 64.
8660         Store ALIGNOF's, not shift counts, in table.
8661
8662 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8663
8664         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8665         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8666         * systime.h: Use HAVE_UTIME.
8667         * sysdep.c (struct utimbuf): Remove.
8668         * sysdep.c (set_file_times): Prefer utime() to utimes().
8669         * config.h.in (HAVE_UTIME): New.
8670         * config.h.in (HAVE_UTIME_H): Remove.
8671         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8672
8673 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8674
8675         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8676
8677 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8678
8679         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8680
8681 2001-02-08  Martin Buchholz <martin@xemacs.org>
8682
8683         * XEmacs 21.2.44 "Thalia" is released.
8684
8685 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8686
8687         Fixes crashes in kill-emacs on some systems.
8688         * process-unix.c (unix_kill_child_process):
8689         It's OK for kill() to fail with ESRCH.
8690
8691 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8692
8693         Contortions to make .gdbinit tricks work on most systems.
8694         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8695         * alloc.c (dbg_valmask): Make non-const.
8696         * alloc.c (dbg_typemask): Make non-const.
8697         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8698         * alloc.c (dbg_valbits): Make non-const.
8699         * alloc.c (dbg_gctypebits): Make non-const.
8700         * .gdbinit (decode_object): Make it work with AIX cc.
8701
8702 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8703
8704         * elhash.c (make_general_lisp_hash_table):
8705         Use simpler and more efficient calloc to clear entries.
8706
8707 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8708
8709         * window.c (window_scroll): Work around an AIX C compiler bug.
8710         Fixes 'scroll-up' does nothing problem with xlC.
8711
8712 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8713
8714         * .gdbinit: Remove obsolete comment.
8715
8716 2001-01-31  Mike Alexander  <mta@arbortext.com>
8717
8718         * select.c (Fown_selection_internal): Set owned_p for device
8719         method correctly.
8720
8721 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8722
8723         Port to g++ 2.97.
8724         "not" cannot be used as a macro name as it is an operator in C++
8725         * config.h.in: Stop #defining `not'.
8726         * chartab.c (check_category_char): not ==> not_p
8727         * chartab.h: Likewise.
8728         * regex.c (re_match_2_internal): Likewise.
8729
8730 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8731
8732         * lisp-disunion.h: Fix up comments.
8733
8734 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8735
8736         * keymap.c (define_key_check_and_coerce_keysym):
8737         (syms_of_keymap):
8738         Support mouse-6 and mouse-7 bindings in the obvious way.
8739
8740 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8741
8742         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8743
8744 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8745
8746         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8747         Previous patch missed DEFVAR_INT_MAGIC.
8748         Make sure future DEFVAR_foo use correct types.
8749         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8750         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8751         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8752         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8753         * (DEFVAR_INT): Likewise.
8754         * redisplay.c (vertical_clip): Should be of type Fixnum.
8755         * redisplay.c (horizontal_clip): Likewise.
8756         * lisp.h (dump_add_opaque_int): New.
8757         (dump_add_opaque_fixnum): New.
8758
8759 2001-01-29  Andy Piper  <andy@xemacs.org>
8760
8761         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8762         since they can be eval'ed
8763
8764 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8765
8766         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8767         Oops, XEmacs redefines `class'.  Use `typename' instead.
8768
8769 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8770
8771         * dumper.c: Fix C++ compile errors.
8772
8773 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8774
8775         * tparam.c: Use correct prototypes.
8776
8777 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8778
8779         * sysproc.h: #include util.h for NetBSD's openpty.
8780
8781 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8782
8783         More 64-bit correctness.
8784         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8785         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8786         Fix up comments.
8787         This finally finishes the 64-bit SGI port.
8788         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8789         * symbols.c: Fix up comments and type casts.
8790         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8791         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8792         * symeval.h (Fixnum): New type.
8793         * symeval.h (symbol_value_type): Fix up comment.
8794
8795         * commands.h:
8796         * nt.c:
8797         * emacs.c:
8798         * data.c:
8799         * redisplay.c:
8800         * abbrev.c:
8801         * dired-msw.c:
8802         * event-Xt.c:
8803         * eldap.c:
8804         * window.c:
8805         * sound.c:
8806         * event-stream.c:
8807         * eval.c:
8808         * buffer.c:
8809         * mule-canna.c: A million DEFVAR_INTs here...
8810         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8811         * extents.c:
8812         * cmdloop.c:
8813         * lisp.h:
8814         * select-x.c:
8815         * console-x.h:
8816         * event-msw.c:
8817         * mule-wnnfns.c:
8818         * hpplay.c:
8819         * ralloc.c:
8820         * alloc.c:
8821         * keymap.c:
8822         * profile.c:
8823         s/int/Fixnum/g in DEFVAR_INT declarations.
8824
8825 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8826
8827         Port pdump to SGI alignment-sensitive environment.
8828         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8829         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8830         properly aligned.
8831         Define and use aligned reading and writing macros.
8832         Use buffered stdio instead of posix i/o for faster dumping.
8833         Eliminate kludgy 256 byte space for header.
8834         Read and write from dump file using structs for alignment safety.
8835         * dumper.c (pdump_align_stream): New.
8836         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8837         * dumper.c (PDUMP_READ_ALIGNED): New.
8838         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8839         * dumper.c (pdump_static_Lisp_Object): New struct.
8840         * dumper.c (pdump_static_pointer): New struct.
8841         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8842         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8843         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8844         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8845
8846         * dumper.c (pdump_backtrace):
8847         * dumper.c (pdump_get_indirect_count):
8848         * dumper.c (pdump_register_object):
8849         * dumper.c (pdump_register_struct):
8850         * dumper.c (pdump_reloc_one):
8851         * dumper.c (pdump_scan_by_alignment):
8852         * dumper.c (pdump_dump_from_root_struct_ptrs):
8853         * dumper.c (pdump_dump_opaques):
8854         * dumper.c (pdump_dump_rtables):
8855         * dumper.c (pdump_dump_from_root_objects):
8856         * dumper.c (pdump):
8857         * dumper.c (pdump_load_finish):
8858         Use aligned reading and writing.
8859
8860         * dumper.c (pdump_free): Make static.
8861         * dumper.c (pdump_hFile): Likewise.
8862         * dumper.c (pdump_hMap): Likewise.
8863
8864 2001-01-26  Martin Buchholz <martin@xemacs.org>
8865
8866         * XEmacs 21.2.43 "Terspichore" is released.
8867
8868 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8869
8870         Type fiddling for window_config.saved_windows_count
8871         * window.c (struct window_config): 
8872         Make saved_windows_count member unsigned.
8873         * window.c (sizeof_window_config_for_n_windows): 
8874         Make parameter unsigned.
8875         * window.c (mark_window_config):
8876         * window.c (window_config_equal):
8877         * window.c (free_window_configuration):
8878         * window.c (Fset_window_configuration):
8879         * window.c (count_windows):
8880         * window.c (Fcurrent_window_configuration):
8881         * window.c (reinit_vars_of_window):
8882         Update all callers and users.
8883
8884 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8885
8886         Alignment correctness for flexible arrays.
8887         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8888         Make alignment-correct. Add interesting comments.
8889         * alloc.c (size_vector):
8890         * alloc.c (make_vector_internal):
8891         * alloc.c (make_bit_vector_internal):
8892         * alloc.c (sweep_bit_vectors_1):
8893         * fns.c (size_bit_vector):
8894         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8895         * window.c (sizeof_window_config_for_n_windows): 
8896         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8897
8898 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8899
8900         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8901
8902 2001-01-23  Andy Piper  <andy@xemacs.org>
8903
8904         * select.c (Fown_selection_internal): pass owned_p
8905
8906         * select-msw.c (mswindows_own_selection): New Signature.
8907
8908         * console.h (struct console_methods): add owned_p to
8909         _own_selection.
8910
8911         * select-x.c (x_own_selection): pass owned_p
8912         (hack_motif_clipboard_selection): use owned_p
8913         (vars_of_select_x): new variable -
8914         x_selection_strict_motif_ownership.
8915
8916 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8917
8918         * specifier.h (specifier_data_offset): Remove pointless parens.
8919         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8920
8921 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8922
8923         Make Lisp_Object sizeof methods be alignment-correct.
8924         pdump must restore objects to the same alignment as the C compiler
8925         assumes.  It really matters on SGIs.
8926         * lstream.c (aligned_sizeof_lstream): New.
8927         (sizeof_lstream): Use aligned_sizeof_lstream.
8928         (Lstream_new): Likewise.
8929         * opaque.c (aligned_sizeof_opaque): New.
8930         (sizeof_opaque): Use aligned_sizeof_opaque.
8931         (make_opaque): Likewise.
8932         * specifier.c (aligned_sizeof_specifier): New.
8933         (sizeof_specifier): Use aligned_sizeof_specifier.
8934         (make_specifier_internal): Likewise.
8935
8936 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8937
8938         * lstream.h (struct lstream): Use max_align_t for trailing data.
8939         * specifier.h (struct Lisp_Specifier): Likewise.
8940
8941 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8942
8943         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8944         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8945         (CCL_SUSPEND): Likewise.
8946         (CCL_INVALID_CMD): Likewise.
8947         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8948         (ccl_driver): Likewise.
8949         (CCL_WRITE_CHAR): Macro hygiene.
8950         (CCL_WRITE_STRING): Macro hygiene.
8951
8952 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8953
8954         Port "portable" dumper to SunOS 4 and HP-UX.
8955         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8956         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8957         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8958
8959 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8960
8961         * lisp.h (ALIGNOF): A better definition for C++.
8962
8963 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8964
8965         Macro hygiene.
8966         Fix printf warnings: int format, long int arg.
8967         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8968         (PUSH_FAILURE_POINT): Use correct printf formats.
8969         (POP_FAILURE_POINT): Use correct printf formats.  
8970         Use do {...} while (0)
8971
8972 2001-01-20  Martin Buchholz <martin@xemacs.org>
8973
8974         * XEmacs 21.2.42 "Poseidon" is released.
8975
8976 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8977
8978         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8979
8980 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8981
8982         De-kludgify FIXED_TYPE free list frobbing.
8983         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8984         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8985         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8986         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8987         * alloc.c (LRECORD_FREE_P): New.
8988         * alloc.c (MARK_LRECORD_AS_FREE): New.
8989         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8990         * alloc.c (STRUCT_FREE_P): Deleted.
8991         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8992         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8993         * alloc.c (STRING_CHARS_FREE_P): New.
8994         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8995         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8996         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8997         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8998         * alloc.c (resize_string): Use new definitions.
8999         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9000         * alloc.c (verify_string_chars_integrity): Use new definitions.
9001         * alloc.c (compact_string_chars): Use new definitions.
9002         * alloc.c: Update monster comments.
9003         * lrecord.h (lrecord_type): Add some new lrecord types for
9004         alloc.c's use.
9005
9006 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9007
9008         Improve alignment hackery.
9009         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9010         (max_align_t): Moved from opaque.h - general purpose.
9011         (ALIGN_PTR): Use size_t, not long.
9012         * opaque.h (max_align_t): Move to lisp.h.
9013
9014 2001-01-18  Norbert Koch  <nk@LF.net>
9015
9016         * gui.h: Fix and add prototypes to fix build problems.
9017
9018 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9019
9020         temacs is going away, so `dump-temacs' is now a bad name.
9021         * .dbxrc (dump-temacs): Rename to `dmp'.
9022         * .gdbinit (dump-temacs): Rename to `dmp'.
9023
9024 2001-01-17  Andy Piper  <andy@xemacs.org>
9025
9026         * glyphs.c (print_image_instance): comment to make martin happy.
9027
9028         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9029         change.
9030
9031         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9032         activation.
9033         (mswindows_tab_control_redisplay): warning suppression.
9034
9035         * glyphs-widget.c (widget_update): re-write to cope with updated
9036         items.
9037         (widget_instantiate): use new gui_item functions.
9038         (tab_control_update): deleted.
9039         (progress_gauge_update): deleted.
9040         (image_instantiator_progress_guage): take out update reference.
9041         (image_instantiator_tree_view): ditto.
9042         (image_instantiator_tab_control): ditto.
9043
9044         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9045         Right the new way.
9046         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9047         return whether anything was changed.
9048         (update_gui_item_keywords): as it sounds.
9049
9050         * gui.h: declare widget_gui_parse_item_keywords.
9051
9052         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9053         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9054
9055 2001-01-17  Martin Buchholz <martin@xemacs.org>
9056
9057         * XEmacs 21.2.41 "Polyhymnia" is released.
9058
9059 2001-01-16  Didier Verna  <didier@xemacs.org>
9060
9061         * glyphs.c (image_instantiate): don't use fallbacks when
9062         instantiating a face's background pixmap by inheritance.
9063
9064 2001-01-14  Mike Sperber <mike@xemacs.org>
9065
9066         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9067         Conditionalize accordingly.
9068
9069 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9070
9071         * dumper.c (pdump_file_get): Fix a compiler warning.
9072
9073 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9074
9075         Make Purify happy when pdumping.
9076         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9077         iniitalizing all bits of new lisp object memory.
9078         * symbols.c (Fmake_local_variable): Likewise.
9079         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9080         * symbols.c (Fdefvaralias): Likewise.
9081         * mule-charset.c (vars_of_mule_charset): Likewise.
9082
9083 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9084         Add the `-nd' flag when running pre-dump operations under the debugger.
9085         * .dbxrc (run-temacs): Add `-nd'.
9086         * .dbxrc (update-elc): Likewise.
9087         * .dbxrc (dump-temacs): Likewise.
9088         * .gdbinit (run-temacs): Likewise.
9089         * .gdbinit (check-temacs): Likewise.
9090         * .gdbinit (update-elc): Likewise.
9091         * .gdbinit (dump-temacs): Likewise.
9092
9093 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9094
9095         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9096         export OBJECT_MODE=64
9097         configure --pdump --use-union-type=no
9098         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9099         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9100
9101         * miscplay.c (sndcnv8U_2mono):
9102         Avoid two uses of `++' in the same expression.
9103         Suppresses a GCC warning.
9104
9105 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9106
9107         Make sure future compilers don't miscompile alloc.c.
9108         * alloc.c:
9109         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9110         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9111
9112 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9113
9114         * dumper.c: A little post-pdump-rename comment fixup.
9115
9116 2001-01-09  Jerry James  <james@eecs.ku.edu>
9117
9118         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9119
9120 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9121
9122         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9123         script:
9124         #!/bin/sh
9125         replace_symbol () {
9126           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9127         }
9128
9129         replace_symbol pdump_wire_lists pdump_weak_object_chains
9130         replace_symbol pdump_wire_list dump_add_weak_object_chain
9131
9132         replace_symbol pdump_wires pdump_root_objects
9133         replace_symbol pdump_wire dump_add_root_object
9134
9135         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9136         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9137
9138         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9139         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9140         replace_symbol dumpstructinfo pdump_root_struct_ptr
9141         replace_symbol dumpstruct dump_add_root_struct_ptr
9142
9143         replace_symbol dumpopaque dump_add_opaque
9144         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9145         replace_symbol dumpopaqueinfos pdump_opaques
9146         replace_symbol dumpopaqueinfo pdump_opaque
9147
9148         replace_symbol nb_structdump nb_root_struct_ptrs
9149         replace_symbol nb_opaquedump nb_opaques
9150
9151         replace_symbol align_table pdump_align_table
9152         replace_symbol dump_header pdump_header
9153
9154         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9155         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9156
9157
9158 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9159
9160         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9161         optimizing bytecount_to_charcount().
9162
9163 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9164
9165         * config.h.in:
9166         (HAVE_DLFCN_H): Removed.
9167         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9168
9169 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9170
9171         Portable dumper maintainability improvements.
9172         * alloc.c (staticpro):
9173         * alloc.c (staticpro_nodump):
9174         * alloc.c (garbage_collect_1):
9175         * alloc.c (reinit_alloc_once_early):
9176         * alloc.c (init_alloc_once_early):
9177         * alloc.c: Move dumper functions to alloc.c.
9178         * dumper.c (pdump_backtrace):
9179         * dumper.c (pdump_dump_structs):
9180         * dumper.c (pdump_dump_opaques):
9181         * dumper.c (pdump_dump_rtables):
9182         * dumper.c (pdump_dump_wired):
9183         * dumper.c (pdump):
9184         * dumper.c (pdump_load_check):
9185         * dumper.c (pdump_load_finish):
9186         * dumper.c (pdump_file_unmap):
9187         * dumper.c (pdump_file_get):
9188         * dumper.c (pdump_resource_free):
9189         * dumper.c (pdump_resource_get):
9190         * dumper.c (pdump_file_free):
9191         * dumper.c (pdump_file_try):
9192         * dumper.c (pdump_load):
9193         Remove fixed size limits on staticpro(), staticpro_nodump(),
9194         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9195         Remove custom code for dumping lrecord_implementations_table - use
9196         dumpopaque instead.
9197         Remove (most of the) custom code for dumping staticpros - dump it
9198         like any other dynarr.
9199
9200         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9201         * dumper.c: Moved functions from alloc.c.
9202         * alloc.c (dumpstruct): Moved to dumper.c.
9203         * alloc.c (dumpopaque): Likewise.
9204         * alloc.c (pdump_wire): Likewise.
9205         * alloc.c (pdump_wire_list): Likewise.
9206
9207         * lisp.h (Dynarr_sizeof): New.
9208         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9209         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9210         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9211
9212         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9213         * lisp.h (dumpopaque): ditto.
9214         * lisp.h (pdump_wire): ditto.
9215         * lisp.h (pdump_wire_list): ditto.
9216
9217 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9218
9219         * make-src-depend (PrintPatternDeps):
9220         Use `sort' to make output independent of perl version.
9221
9222 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9223
9224         Port to Netbsd 1.5.
9225         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9226         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9227
9228 2001-01-03  Didier Verna  <didier@xemacs.org>
9229
9230         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9231         that `focus_frame' is alive before thinking of calling
9232         `redisplay_redraw_cursor' on it.
9233
9234 2001-01-08  Martin Buchholz <martin@xemacs.org>
9235
9236         * XEmacs 21.2.40 is released.
9237
9238 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9239
9240         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9241
9242 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9243
9244         * alloc.c (dbg_valmask): Make const.
9245         * alloc.c (dbg_typemask): Make const.
9246         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9247         * alloc.c (dbg_valbits): Make const.
9248         * alloc.c (dbg_gctypebits): Make const.
9249
9250 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9251
9252         * redisplay-x.c (x_bevel_area):
9253         redisplay.h (struct rune):
9254         Typo fixes in comments.
9255
9256 2001-01-05  Andy Piper  <andy@xemacs.org>
9257
9258         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9259         adjustment.
9260
9261         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9262
9263 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9264
9265         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9266
9267         * mule-ccl.c (stack_idx_of_map_multiple):
9268         Non const global data must not be initialized!
9269         Found by MIYASHITA Hisashi.
9270
9271 2001-01-02  Andy Piper  <andy@xemacs.org>
9272
9273         * frame.c (change_frame_size): make sure frame size is always
9274         marked as changed.
9275
9276         * glyphs.c (image_instance_layout): minor code reuse.
9277
9278         * window.c (Fcurrent_window_configuration): revert previous
9279         change.
9280
9281 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9282
9283         * glyphs.h:
9284         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9285
9286 2000-12-31  Andy Piper  <andy@xemacs.org>
9287
9288         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9289         when widget gets unmapped.
9290
9291         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9292         function. Make sure widgets losing focus don't just drop it.
9293         (handle_focus_event_1): record the widget with focus.
9294
9295 2000-12-31  Andy Piper  <andy@xemacs.org>
9296
9297         * window.c (allocate_window): use
9298         make_image_instance_cache_hash_table.
9299         (make_dummy_parent): ditto.
9300         (Fset_window_configuration): ditto.
9301
9302         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9303
9304         * glyphs.c (process_image_string_instantiator): use
9305         INSTANTIATOR_TYPE.
9306         (get_image_instantiator_governing_domain): ditto.
9307         (normalize_image_instantiator): ditto.
9308         (instantiate_image_instantiator): ditto.
9309         (make_image_instance_1): ditto.
9310         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9311         (instantiator_eq_equal): new function for use with instance hash
9312         tables.
9313         (instantiator_eq_hash): ditto.
9314         (make_image_instance_cache_hash_table): create a suitable hash
9315         table for storing image instances.
9316
9317         * elhash.h (hash_table_weakness): new internal weakness type
9318         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9319         declare new functions.
9320
9321         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9322         another weakness type for glyphs.
9323         (make_standard_lisp_hash_table): new function split out from
9324         make_general_lisp_hash_table.
9325         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9326         (hash_table_instantiate): ditto.
9327         (Fmake_hash_table): ditto.
9328
9329 2000-12-31  Martin Buchholz <martin@xemacs.org>
9330
9331         * XEmacs 21.2.39 is released.
9332
9333 2000-12-29  Andy Piper  <andy@xemacs.org>
9334
9335         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9336
9337         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9338         the frame has changed so that we pick up geometry changes such as
9339         menubar visibility.
9340
9341 2000-12-28  Andy Piper  <andy@xemacs.org>
9342
9343         * lastfile.c (my_ebss): make a char array so we can pad the
9344         bss. Fixes cygwin unexec.
9345
9346         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9347
9348 2000-12-26  Andy Piper  <andy@xemacs.org>
9349
9350         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9351         comments and try and be more precise about a non-/SIGIO world.
9352         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9353         SIGIO.
9354
9355         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9356         we don't normalize to zero width or height.
9357
9358 2000-12-24  Andy Piper  <andy@xemacs.org>
9359
9360         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9361
9362 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9363
9364         * s/sco5.h: SCO 5 has pty support.
9365
9366 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9367
9368         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9369         input-method-xlib.c contains whole contents of input-method-xfs.c,
9370         so we can use input-method-xlib.c's code for USE_XFONTSET
9371         using #ifdefs.
9372         * input-method-xfs.c: removed.
9373
9374 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9375
9376         * file-coding.h (enum coding_category_type): reorder enumerators to
9377         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9378         (now one greater than largest real coding_category_type enumerator).
9379         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9380         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9381         Fcoding_category_list, Fset_coding_priority_list,
9382         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9383         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9384
9385 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9386
9387         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9388         * redisplay-output.c (redisplay_output_window): Clear top of window
9389         when face is changed.
9390         * redisplay-x.c (x_redraw_exposed_window): Call
9391         redisplay_clear_top_of_window.
9392         * redisplay.h: Publish redisplay_clear_top_of_window.
9393
9394 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9395
9396         * buffer.c (Fkill_buffer): Map over all devices.
9397         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9398         (list_windows): New function.
9399         (list_all_windows): Ditto.
9400         (Freplace_buffer_in_windows): Use them.
9401
9402 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9403
9404         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9405         (Fopen_database): Use `db_create' instead of `db_open'.
9406         (syms_of_database): Initialize Qqueue.
9407
9408 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9409
9410         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9411         buffer_local_face_property.
9412         * buffer.h (struct buffer): New member buffer_local_face_property.
9413         * window.c (Fset_window_buffer):  Mark window's face as changed
9414         when buffer has buffer local face.
9415         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9416         * objects.c (color_after_change): Set buffer_local_face_property
9417         when locale of face specifier is buffer.
9418         * objects.c (font_after_change): Ditto.
9419         * objects.c (face_boolean_after_change): Ditto.
9420         * glyphs.c (image_after_change): Ditto.
9421
9422 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9423
9424         * nt.c (mswindows_fstat): Report file permissions, volume serial
9425         number, etc. Code adapted from FSF Emacs 20.7.
9426
9427 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9428
9429         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9430         of stat when we don't have symbolic links, to make sure
9431         mswindows_stat is called on mswindows.
9432
9433 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9434
9435         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9436
9437 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9438
9439         * doprnt.c (emacs_doprnt_1): More printing fixes.
9440         Make printing of numbers compatible with libc and FSF Emacs.
9441         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9442         Use the system printf to do most of the hard work of formatting,
9443         instead of doprnt_1().
9444         Calculate memory to allocate for format string.
9445         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9446         (doprnt_1): Cleaner code and documentation.
9447
9448 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9449
9450         * Makefile.in.in: Use the loop variable to install headers.
9451
9452 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9453
9454         * window.c (Fsplit_window): Don't invalidate face cache.
9455
9456 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9457
9458         * minibuf.c (Fall_completions): Undo the previous change
9459         which removed checking elements start with space.
9460
9461 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9462
9463         * mule-canna.c: Didier suppression.
9464
9465 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9466
9467         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9468         (warning suppression).  Add English comment translations.
9469
9470 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9471
9472         * unexelfsgi.c (unexec): Better test for mmap failure.
9473
9474 2000-12-05  Martin Buchholz <martin@xemacs.org>
9475
9476         * XEmacs 21.2.38 is released.
9477
9478 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9479
9480         * redisplay.c (bar-cursor): Make a user variable.
9481
9482         * symsinit.h: Add init_postgresql_from_environment.
9483
9484 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9485
9486         * regex.c: Convert to clean C.
9487
9488 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9489
9490         * realpath.c:
9491         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9492         initialization.
9493         (sys_readlink): renamed to system_readlink to avoid conflict with
9494         the other sys_readlink.
9495
9496 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9497
9498         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9499
9500 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9501
9502         * postgresql.c (init_postgresql_from_environment): new function.
9503         (vars_of_postgresql): Move code initializing Lisp variables out and
9504         into init_postgresql_from_environment.
9505         emacs.c (main_1): Call init_postgresql_from_environment if and only
9506         if running a dumped XEmacs.
9507
9508 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9509
9510         * buffer.c: Make find-file-compare-truenames default to true on
9511         windows.
9512
9513         * realpath.c (win32_abs_start):
9514         (cygwin_readlink):
9515         (win32_readlink): New functions.
9516         (xrealpath): Return really real filenames on windows.
9517
9518         * fileio.c (Ffile_truename): Make file-truename work on windows.
9519
9520 2000-11-29  Didier Verna  <didier@xemacs.org>
9521
9522         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9523         * faces.c (update_face_cachel_data): use it.
9524         * faces.c (add_face_cachel): use it. Complete background pixmap
9525         frobbing in face cache if `update_face_cachel_data' has not done so.
9526
9527 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9528
9529         * search.c (string_match_1): Don't set last_thing_searched
9530         when search failed.
9531
9532 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9533
9534         * buffer.c: Include casetab.h
9535         (common_init_complex_vars_of_buffer): Use new case-table object.
9536         * buffer.h: Include casetab.h
9537         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9538         (DOWNCASE_TABLE_OF): Ditto.
9539         * bufslots.h: Remove char-tables and add case-table.
9540         * casetab.c: Include casetab.h
9541         (CASE_TABLE_P): Removed.
9542         (mark_case_table): New function.
9543         (allocate_case_table): New function.
9544         (Fcase_table_p): Use new case-table.
9545         (case_table_char): New function.
9546         (Fget_case_table): Ditto.
9547         (Fput_case_table): Ditto.
9548         (Fput_case_table_pair): Ditto.
9549         (Fcopy_case_table): Ditto.
9550         (Fcurrent_case_table): Return case-table.
9551         (Fstandard_case_table): Return case-table.
9552         (Fset_case_table): Fix doc-string.
9553         (set_case_table): Use case-table
9554         (syms_of_casetab): DEFSUBR new functions.
9555         (complex_vars_of_casetab): Set up standard case-table.
9556         * casetab.h: New file.
9557         * editfns.c: Include casetab.h
9558         (Fcompare_buffer_substrings): Use case-table.
9559         * inline.c: Include casetab.h
9560         * lisp.h: Remove bogus extern.
9561         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9562         * search.c: Include casetab.h
9563         (TRANSLATE_ASCII): Removed.
9564         (TRANSLATE): Unconditionally translate character.
9565         (looking_at_1): Use case-table.
9566         (string_match_1): Ditto.
9567         (fast_string_match): Ditto.
9568         (search_command): Ditto.
9569         (search_buffer): Separate boyer_moore.  Check whether
9570         boyer_moore is possible.
9571         (simple_search): New function.
9572         (boyer_moore): Separated from search_buffer. Translate char.
9573
9574 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9575
9576         * regex.c (RE_TR_ASCII): Removed.
9577         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9578         (PATFETCH): Call PATFETCH_RAW.
9579         (PATFETCH_RAW): Fetch Emchar.
9580         (PATUNFETCH): Decrement charptr.
9581         (GET_BUFFER_SPACE): Rename b to buf_end.
9582         (BUF_PUSH): Ditto.
9583         (BUF_PUSH_2): Ditto.
9584         (BUF_PUSH_3): Ditto.
9585         (EXTEND_BUFFER): Ditto.
9586         (SET_LIST_BIT): Ditto.
9587         (regex_compile): Ditto.  Translate non ASCII char.
9588         (compile_range): Ditto.
9589         (re_search_2): Ditto.
9590         (re_match_2_internal): Compare Emchar.
9591         (bcmp_translate): Ditto.
9592
9593 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9594
9595         * lisp.h (basic char/int typedefs):  comment improvement.
9596
9597 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9598
9599         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9600         unstomp inhibit_site_lisp.  Improve comments.
9601
9602 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9603
9604         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9605
9606 2000-11-28  Andy Piper  <andy@xemacs.org>
9607
9608         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9609         clipped display for windows in the gutter also.
9610         (redisplay_display_boxes_in_window_p): change semantics of return
9611         codes to be more intuitive.
9612
9613         * gutter.h: declare display_boxes_in_gutter_p.
9614
9615         * gutter.c (display_boxes_in_gutter_p): new function for
9616         redisplay.
9617
9618 2000-11-22  Andy Piper  <andy@xemacs.org>
9619
9620         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9621         autodetect domain.
9622
9623 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9624
9625         * callproc.c (Fold_call_process_internal):
9626         * gpm.c (Freceive_gpm_event):
9627         (tty_get_foreign_selection): Might be just warning supression.
9628         * fileio.c (Fwrite_region_internal):
9629         (Fset_visited_file_modtime):
9630         * keymap.c (event_matches_key_specifier_p):
9631         Initialize GCPROed variable.
9632
9633         * menubar-x.c (command_builder_find_menu_accelerator):
9634         Initialize before use.
9635
9636 2000-11-23  Andy Piper  <andy@xemacs.org>
9637
9638         * unexcw.c (unexec): make the resulting executable executable.
9639
9640 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9641
9642         * doc.c (get_doc_string):
9643         Use size_t, not int, for result of XSTRING_LENGTH.
9644
9645         * cmds.c (Fdelete_char):
9646         * cmds.c (Fpoint_at_eol):
9647         * cmds.c (Fself_insert_command):
9648         Use EMACS_INT, not int, for result of XINT.
9649         Someday, someone will want to insert more than 2**31 identical characters.
9650
9651         * cmds.c (Fdelete_char):
9652         * cmds.c (Fdelete_backward_char):
9653         * syntax.c (Fforward_word):
9654         * syntax.c (Fforward_comment):
9655         Make COUNT argument optional, for consistency with forward-char et al.
9656
9657 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9658
9659         * lisp.h:
9660         * print.c (long_to_string):
9661         Return a useful value: the pointer at end of data written.
9662
9663         * doprnt.c:
9664         Use `static const char * const' for constant strings.
9665         (union printf_arg): Delete `i', `ui' members.
9666         (get_doprnt_args):
9667         (emacs_doprnt_1):
9668         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9669         Do all printf-ing via the `l' specifier.
9670         Use EMACS_INT instead of int.
9671         Optimize.
9672
9673 2000-11-20  Didier Verna  <didier@xemacs.org>
9674
9675         * faces.c (update_face_cachel_data): don't frob the background
9676         pixmap when the window is being created. The face is needed but
9677         does not exist yet.
9678
9679 2000-11-20  Andy Piper  <andy@xemacs.org>
9680
9681         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9682         messing with a debug environment.
9683
9684 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9685
9686         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9687
9688 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9689
9690         * casetab.c (Fcase_table_p): Fix compile error and crash.
9691
9692 2000-11-18  Philip Aston  <philipa@mail.com>
9693
9694         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9695
9696 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9697
9698         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9699         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9700
9701 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9702
9703         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9704         * unexelf.c: Use HAVE_ELF_H.
9705         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9706         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9707         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9708         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9709         for testing.
9710         So this is an unexelfsgi.c from a different line of development.
9711
9712 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9713
9714         * regex.c (RE_TR_ASCII): New function.
9715         (RE_TRANSLATE): Call it.
9716
9717 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9718
9719         * buffer.h (TRT_TABLE_OF): Remove assert.
9720         (IN_TRT_TABLE_DOMAIN): Removed.
9721
9722 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9723
9724         * free-hook.c (log_gcpro):
9725         (show_gcprohist): Add support for GCPRO5.
9726
9727 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9728
9729         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9730
9731 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9732
9733         * symeval.h: Declare flush_all_buffer_local_cache.
9734
9735         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9736         (flush_buffer_local_cache): Added.
9737         (flush_all_buffer_local_cache): Added.
9738
9739         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9740
9741         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9742         (pdump_dump_data): Ditto.
9743         (pdump_reloc_one): Ditto.
9744         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9745         before dumping.
9746
9747
9748 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9749
9750         * buffer.c: Remove if 0'ed entry.
9751         * buffer.h: Rewrite TRT to use char-table.
9752         * bufslots.h: Remove mirror tables.
9753         * casetab.c: Remove mirror tables.
9754         (CASE_TABLE_P): New macro.
9755         (Fcase_table_p): Element of a case table is string or char-table.
9756         (make_mirror_trt_table): Removed.
9757         (set_case_table): Setup char-table from strings for backward
9758         compatibility.
9759         * dired.c (Fdirectory_files):
9760         * dired-msw.c: (mswindows_get_files):
9761         * lisp.h: Change prototype of re_pattern_buffer.
9762         * regex.c: (RE_TRANSLATE): New macro.
9763         (TRANSLATE_P): Ditto.
9764         Change translate to type RE_TRANSLATE_TYPE.
9765         * regex.h: Define RE_TRANSLATE_TYPE
9766         * search.c (TRANSLATE): New macro.
9767         (TRANSLATE_ASCII): New macro.
9768         Translate table is changed to Lisp_Object.
9769         (signal_failure): Inhibit return.
9770
9771 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9772
9773         * device-msw.c:
9774         * eldap.c:
9775         * event-Xt.c:
9776         * event-stream.c:
9777         * print.c:
9778         Do UNGCPRO before return.
9779
9780 2000-11-14  Martin Buchholz <martin@xemacs.org>
9781
9782         * XEmacs 21.2.37 is released.
9783
9784 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9785
9786         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9787         Add comments about discarded return value.
9788
9789 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9790
9791         * callint.c:
9792         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9793
9794 2000-10-27  Andy Piper  <andy@xemacs.org>
9795
9796         * gutter.c (Fset_default_gutter_position): default left and right
9797         gutters to visible.
9798         (calculate_gutter_size): calculate resonable heuristic for left
9799         and right gutter sizes.
9800         (specifier_vars_of_gutter): change left and right gutter sizes to
9801         autodetect.
9802         (calculate_gutter_size_from_display_lines): new function.
9803         (output_gutter): check for resizing on left and right gutters.
9804         (clear_gutter): don't special case top and left gutters.
9805         (specifier_vars_of_gutter): use new signature for
9806         set_specifier_caching.
9807
9808         * glyphs-x.c (x_redisplay_widget): spelling fix.
9809         * glyphs.c (specifier_vars_of_glyphs):
9810         * menubar.c (specifier_vars_of_menubar):
9811         * redisplay.c (specifier_vars_of_redisplay):
9812         * toolbar.c (specifier_vars_of_toolbar):
9813         * window.c (specifier_vars_of_window):
9814         * scrollbar.c (specifier_vars_of_scrollbar):
9815         (complex_vars_of_scrollbar): use new signature for
9816         set_specifier_caching.
9817
9818         * specifier.c (set_specifier_caching): include recompute flag.
9819         (recompute_one_cached_specifier_in_window): always recompute if
9820         flag set.
9821         (recompute_one_cached_specifier_in_frame): ditto.
9822
9823         * specifier.h (struct specifier_caching): add recompute flag.
9824
9825 2000-10-24  Andy Piper  <andy@xemacs.org>
9826
9827         * unexcw.c (copy_executable_and_dump_data_section): add new
9828         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9829         5.0 happy.
9830
9831 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9832
9833         * console-x.h (x_device): New member modifier_release_time.
9834         * event-Xt.c (x_handle_sticky_modifiers):
9835         Bound interval modifier keys are sticky.
9836         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9837         * events.h: extern it.
9838
9839 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9840
9841         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9842
9843 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9844
9845         * event-stream.c (execute_command_event): Preserve current_events
9846         and the like when event is misc-user-event.
9847         Inhibit quit during the call to maybe_echo_keys.
9848
9849 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9850
9851         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9852         symlink when buffer is killed.
9853         (inhibit_clash_detection): New variable.
9854
9855 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9856
9857         * console.c (Fset_input_method): Trigger redisplay on tty.
9858
9859 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9860
9861         * process.c (Fprocess_status): Revert to previous behavior:
9862         (process-status "nosuchprocess") ==> nil
9863
9864 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9865
9866         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9867         Work around another GCC 2.95.2 optimizer bug.
9868
9869 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9870
9871         * process.c (Fget_process): Use LIST_LOOP_2.
9872         (kill_buffer_processes): Use LIST_LOOP_2.
9873
9874         * minibuf.c (Fall_completions):
9875         Delete old non-functional code for FSF fourth argument.
9876
9877         * frame.c (frame_matches_frame_spec):
9878         Renamed from `frame_matches_frametype'.  Update all callers.
9879         (device_matches_device_spec):
9880         Renamed from 'device_matches_console_spec'.  Update all callers.
9881
9882         * doc.c (Fsubstitute_command_keys):
9883         Remove buffer overflow crash.  Small code cleanups.
9884
9885         * casetab.c (check_case_table): Simpler code.
9886
9887         * window.c (Freplace_buffer_in_windows):
9888         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9889         (and similar implementation) as Fdelete_windows_on.
9890         Update all callers.
9891
9892         * alloc.c (Fmake_list):
9893         * alloc.c (make_vector):
9894         * alloc.c (Fmake_vector):
9895         * alloc.c (make_bit_vector):
9896         * alloc.c (Fmake_bit_vector):
9897         * alloc.c (Fbit_vector):
9898         * alloc.c (Fmake_string):
9899         * alloc.c (Fpurecopy):
9900         * alloc.c (Fmemory_limit):
9901         * buffer.c:
9902         * buffer.c (Fget_buffer):
9903         * buffer.c (Fkill_buffer):
9904         * buffer.c (complex_vars_of_buffer):
9905         * bytecode.c (Fcompiled_function_stack_depth):
9906         * callint.c (Fprefix_numeric_value):
9907         * event-stream.c:
9908         * event-stream.c (Fread_key_sequence):
9909         * casetab.c:
9910         * casetab.c (Fcase_table_p):
9911         * casetab.c (check_case_table):
9912         * casetab.c (Fset_case_table):
9913         * casetab.c (Fset_standard_case_table):
9914         * chartab.c:
9915         * chartab.c (Fchar_table_type):
9916         * chartab.c (Freset_char_table):
9917         * chartab.c (Fget_char_table):
9918         * chartab.c (Fget_range_char_table):
9919         * chartab.c (Fput_char_table):
9920         * chartab.c (Fmap_char_table):
9921         * chartab.c (Fcategory_table_p):
9922         * chartab.c (Fcheck_category_at):
9923         * chartab.c (Fchar_in_category_p):
9924         * chartab.c (Fcategory_table):
9925         * chartab.c (Fcopy_category_table):
9926         * chartab.c (Fset_category_table):
9927         * chartab.c (Fcategory_designator_p):
9928         * chartab.c (Fcategory_table_value_p):
9929         * cmds.c (Fdelete_char):
9930         * cmds.c (Fdelete_backward_char):
9931         * cmds.c (Fself_insert_command):
9932         * cmds.c (Fself_insert_internal):
9933         * console.c (Fvalid_console_type_p):
9934         * console.c (Fcdfw_console):
9935         * console.c (Fconsole_type):
9936         * console.c (Fconsole_name):
9937         * console.c (Fconsole_device_list):
9938         * console.c (Fconsole_on_window_system_p):
9939         * data.c:
9940         * data.c (Feq):
9941         * data.c (Fold_eq):
9942         * data.c (Fsubr_interactive):
9943         * data.c (Fchar_to_int):
9944         * data.c (Fint_to_char):
9945         * data.c (Fsetcar):
9946         * data.c (Fsetcdr):
9947         * data.c (Fnumber_to_string):
9948         * data.c (Fstring_to_number):
9949         * data.c (Frem):
9950         * database.c (mark_database):
9951         * database.c (finalize_database):
9952         * database.c (Fdatabase_live_p):
9953         * database.c (Fdatabasep):
9954         * device-x.c (Fx_get_resource):
9955         * device.c (Fdfw_device):
9956         * dired.c:
9957         * dired.c (Ffile_name_completion):
9958         * dired.c (Ffile_name_all_completions):
9959         * dired.c (Fuser_name_completion):
9960         * dired.c (Fuser_name_completion_1):
9961         * dired.c (Fuser_name_all_completions):
9962         * doc.c (Fdocumentation):
9963         * doc.c (Fdocumentation_property):
9964         * doc.c (Fsubstitute_command_keys):
9965         * editfns.c:
9966         * editfns.c (Fchar_to_string):
9967         * editfns.c (Fstring_to_char):
9968         * editfns.c (Ftemp_directory):
9969         * editfns.c (Finsert_char):
9970         * editfns.c (Fbuffer_substring_no_properties):
9971         * editfns.c (Fnarrow_to_region):
9972         * editfns.c (Fchar_equal):
9973         * editfns.c (Fchar_Equal):
9974         * editfns.c (Ftranspose_regions):
9975         * emacs.c (Fdump_emacs):
9976         * eval.c (Fthrow):
9977         * eval.c (Fcommand_execute):
9978         * eval.c (Fautoload):
9979         * eval.c (Fbacktrace):
9980         * eval.c (Fbacktrace_frame):
9981         * events.c:
9982         * events.c (Fcopy_event):
9983         * events.c (Fcharacter_to_event):
9984         * events.c (Fevent_button):
9985         * events.c (Fevent_process):
9986         * extents.c:
9987         * extents.c (Fnext_extent_change):
9988         * extents.c (Fextent_property):
9989         * faces.c (Ffacep):
9990         * faces.c (Fmake_face):
9991         * file-coding.c:
9992         * file-coding.c (Fencode_shift_jis_char):
9993         * file-coding.c (Fencode_big5_char):
9994         * fileio.c (Ffile_name_directory):
9995         * fileio.c (Ffile_name_nondirectory):
9996         * fileio.c (Ffile_name_as_directory):
9997         * fileio.c (Fdirectory_file_name):
9998         * fileio.c (Ffile_truename):
9999         * fileio.c (Fsubstitute_in_file_name):
10000         * fileio.c (Ffile_modes):
10001         * fileio.c (Fset_file_modes):
10002         * fileio.c (Fset_default_file_modes):
10003         * fileio.c (Fverify_visited_file_modtime):
10004         * floatfns.c (Facos):
10005         * floatfns.c (Fasin):
10006         * floatfns.c (Fatan):
10007         * floatfns.c (Fcos):
10008         * floatfns.c (Fsin):
10009         * floatfns.c (Ftan):
10010         * floatfns.c (Fbessel_j0):
10011         * floatfns.c (Fbessel_j1):
10012         * floatfns.c (Fbessel_jn):
10013         * floatfns.c (Fbessel_y0):
10014         * floatfns.c (Fbessel_y1):
10015         * floatfns.c (Fbessel_yn):
10016         * floatfns.c (Ferf):
10017         * floatfns.c (Ferfc):
10018         * floatfns.c (Flog_gamma):
10019         * floatfns.c (Fexp):
10020         * floatfns.c (Fexpt):
10021         * floatfns.c (Flog):
10022         * floatfns.c (Flog10):
10023         * floatfns.c (Fsqrt):
10024         * floatfns.c (Fcube_root):
10025         * floatfns.c (Facosh):
10026         * floatfns.c (Fasinh):
10027         * floatfns.c (Fatanh):
10028         * floatfns.c (Fcosh):
10029         * floatfns.c (Fsinh):
10030         * floatfns.c (Ftanh):
10031         * floatfns.c (Fabs):
10032         * floatfns.c (Ffloat):
10033         * floatfns.c (Flogb):
10034         * floatfns.c (Fceiling):
10035         * floatfns.c (Ffloor):
10036         * floatfns.c (Fround):
10037         * floatfns.c (Ftruncate):
10038         * floatfns.c (Ffceiling):
10039         * floatfns.c (Fffloor):
10040         * floatfns.c (Ffround):
10041         * floatfns.c (Fftruncate):
10042         * fns.c (Fstring_equal):
10043         * fns.c (Fstring_lessp):
10044         * fns.c (concat2):
10045         * fns.c (concat3):
10046         * fns.c (vconcat2):
10047         * fns.c (vconcat3):
10048         * fns.c (Fsubstring):
10049         * fns.c (Fassoc):
10050         * fns.c (Fold_assoc):
10051         * fns.c (assoc_no_quit):
10052         * fns.c (Fassq):
10053         * fns.c (Fold_assq):
10054         * fns.c (assq_no_quit):
10055         * fns.c (Frassoc):
10056         * fns.c (Fold_rassoc):
10057         * fns.c (Frassq):
10058         * fns.c (Fold_rassq):
10059         * fns.c (rassq_no_quit):
10060         * fns.c (Fremassoc):
10061         * fns.c (remassoc_no_quit):
10062         * fns.c (Fremassq):
10063         * fns.c (remassq_no_quit):
10064         * fns.c (Fremrassoc):
10065         * fns.c (Fremrassq):
10066         * fns.c (remrassq_no_quit):
10067         * fns.c (Fsort):
10068         * fns.c (Fplist_get):
10069         * fns.c (Fplist_put):
10070         * fns.c (Fplist_remprop):
10071         * fns.c (Fplist_member):
10072         * fns.c (Flax_plist_get):
10073         * fns.c (Flax_plist_put):
10074         * fns.c (Flax_plist_remprop):
10075         * fns.c (Flax_plist_member):
10076         * fns.c (Fequal):
10077         * fns.c (Fold_equal):
10078         * fns.c (Frequire):
10079         * fns.c (Fbase64_encode_region):
10080         * fns.c (Fbase64_encode_string):
10081         * fns.c (Fbase64_decode_region):
10082         * frame.c:
10083         * frame.c (frame_matches_frame_spec):
10084         * frame.c (device_matches_device_spec):
10085         * frame.c (next_frame):
10086         * frame.c (previous_frame):
10087         * frame.c (Fnext_frame):
10088         * frame.c (Fprevious_frame):
10089         * frame.c (Fframe_property):
10090         * frame.c (Fset_frame_height):
10091         * frame.c (Fset_frame_size):
10092         * frame.h:
10093         * glyphs.c:
10094         * glyphs.c (if):
10095         * glyphs.c (decode_error_behavior_flag):
10096         * glyphs.c (Fmake_image_instance):
10097         * indent.c (Findent_to):
10098         * intl.c (Fignore_defer_gettext):
10099         * keymap.c (Fkeymapp):
10100         * keymap.c (Flookup_key):
10101         * lread.c:
10102         * lread.c (Fload_internal):
10103         * lread.c (Feval_buffer):
10104         * lread.c (Feval_region):
10105         * macros.c (Fexecute_kbd_macro):
10106         * marker.c (set_marker_internal):
10107         * marker.c (Fset_marker):
10108         * marker.c (set_marker_restricted):
10109         * marker.c (Fcopy_marker):
10110         * marker.c (noseeum_copy_marker):
10111         * menubar.c:
10112         * menubar.c (Fpopup_menu):
10113         * minibuf.c:
10114         * mule-charset.c (Fcharset_name):
10115         * mule-charset.c (Fchar_charset):
10116         * mule-charset.c (Fchar_octet):
10117         * mule-charset.c (Fsplit_char):
10118         * mule-wnnfns.c (Fwnn_open):
10119         * mule-wnnfns.c (Fwnn_dict_comment):
10120         * mule-wnnfns.c (Fwnn_quit_henkan):
10121         * mule-wnnfns.c (Fwnn_word_toroku):
10122         * mule-wnnfns.c (Fwnn_word_sakujo):
10123         * mule-wnnfns.c (Fwnn_word_use):
10124         * mule-wnnfns.c (Fwnn_hindo_set):
10125         * objects.c:
10126         * objects.c (Fmake_color_instance):
10127         * objects.c (Fmake_font_instance):
10128         * print.c (Fwrite_char):
10129         * process.c:
10130         * process.c (mark_process):
10131         * process.c (print_process):
10132         * process.c (get_process_from_usid):
10133         * process.c (Fprocessp):
10134         * process.c (Fprocess_live_p):
10135         * process.c (Fget_process):
10136         * process.c (Fget_buffer_process):
10137         * process.c (get_process):
10138         * process.c (Fprocess_id):
10139         * process.c (Fprocess_name):
10140         * process.c (Fprocess_command):
10141         * process.c (init_process_io_handles):
10142         * process.c (start_process_unwind):
10143         * process.c (Fstart_process_internal):
10144         * process.c (Fopen_multicast_group_internal):
10145         * process.c (Fset_process_window_size):
10146         * process.c (read_process_output):
10147         * process.c (send_process):
10148         * process.c (Fprocess_tty_name):
10149         * process.c (Fset_process_buffer):
10150         * process.c (Fprocess_buffer):
10151         * process.c (Fprocess_mark):
10152         * process.c (set_process_filter):
10153         * process.c (Fset_process_filter):
10154         * process.c (Fprocess_filter):
10155         * process.c (Fprocess_send_region):
10156         * process.c (Fprocess_send_string):
10157         * process.c (exec_sentinel):
10158         * process.c (Fset_process_sentinel):
10159         * process.c (Fprocess_sentinel):
10160         * process.c (status_notify):
10161         * process.c (Fprocess_status):
10162         * process.c (Fprocess_exit_status):
10163         * process.c (process_send_signal):
10164         * process.c (Fprocess_send_eof):
10165         * process.c (deactivate_process):
10166         * process.c (remove_process):
10167         * process.c (Fdelete_process):
10168         * process.c (kill_buffer_processes):
10169         * process.c (Fprocess_kill_without_query):
10170         * process.c (Fprocess_kill_without_query_p):
10171         * rangetab.c:
10172         * rangetab.c (Fget_range_table):
10173         * rangetab.c (Fput_range_table):
10174         * rangetab.c (Fremove_range_table):
10175         * rangetab.c (Fclear_range_table):
10176         * search.c:
10177         * search.c (Fskip_chars_forward):
10178         * search.c (Fskip_chars_backward):
10179         * search.c (Fskip_syntax_forward):
10180         * search.c (Fskip_syntax_backward):
10181         * search.c (search_command):
10182         * search.c (Freplace_match):
10183         * search.c (Fregexp_quote):
10184         * select.c (Fown_selection_internal):
10185         * select.c (Fselection_owner_p):
10186         * select.c (Fselection_exists_p):
10187         * select.c (Fget_selection_internal):
10188         * specifier.c:
10189         * symbols.c:
10190         * symbols.c (Fintern):
10191         * symbols.c (Fintern_soft):
10192         * symbols.c (Funintern):
10193         * symbols.c (Fapropos_internal):
10194         * symbols.c (Fset_default):
10195         * syntax.c:
10196         * syntax.c (Fsyntax_table_p):
10197         * syntax.c (Fcopy_syntax_table):
10198         * syntax.c (Fset_syntax_table):
10199         * syntax.c (Fchar_syntax):
10200         * syntax.c (syntax_match):
10201         * syntax.c (Fmatching_paren):
10202         * syntax.c (Fforward_word):
10203         * syntax.c (scan_lists):
10204         * syntax.c (Fscan_lists):
10205         * syntax.c (Fscan_sexps):
10206         * syntax.c (Fparse_partial_sexp):
10207         * toolbar.c (Fcheck_toolbar_button_syntax):
10208         * tooltalk.doc:
10209         * window.c:
10210         * window.c (Fwindowp):
10211         * window.c (Fwindow_live_p):
10212         * window.c (Fwindow_point):
10213         * window.c (Fdelete_window):
10214         * window.c (Fnext_window):
10215         * window.c (Fprevious_window):
10216         * window.c (Fother_window):
10217         * window.c (window_loop):
10218         * window.c (Fget_lru_window):
10219         * window.c (Fsplit_window):
10220         * window.c (Fenlarge_window):
10221         * window.c (Fenlarge_window_pixels):
10222         * window.c (Fshrink_window):
10223         * window.c (Fshrink_window_pixels):
10224         * window.c (change_window_height):
10225         * window.c (Fwindow_configuration_p):
10226         * window.c (Fcurrent_window_configuration):
10227         * window.h:
10228         * casefiddle.c (casify_object):
10229         * casefiddle.c (Fupcase):
10230         * casefiddle.c (Fdowncase):
10231         * casefiddle.c (Fcapitalize):
10232         * casefiddle.c (Fupcase_initials):
10233         * casefiddle.c (casify_region_internal):
10234         * casefiddle.c (casify_region):
10235         * casefiddle.c (Fupcase_region):
10236         * casefiddle.c (Fdowncase_region):
10237         * casefiddle.c (Fcapitalize_region):
10238         * casefiddle.c (Fupcase_initials_region):
10239         * casefiddle.c (Fupcase_word):
10240         * casefiddle.c (Fdowncase_word):
10241         * casefiddle.c (Fcapitalize_word):
10242         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10243         Replace 0 with '\0' when working with bytes.
10244         Replace initial "(" with "\(" in docstrings.
10245
10246 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10247
10248         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10249
10250         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10251
10252 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10253
10254         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10255
10256 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10257
10258         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10259         correctly.
10260
10261 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10262
10263         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10264         (inhibit_auto_save_session): New variable.
10265         (vars_of_fileio): Declare and initialize them.
10266         * fileio.c (Fdo_auto_save): Don't create session file if
10267         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10268
10269 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10270
10271         * sgiplay.c (play_internal): C++ compilability.
10272         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10273         * callproc.c (Fold_call_process_internal):
10274         Remove unused vars `env', `first'.
10275         * scrollbar.c (update_scrollbar_instance):
10276         #### unused var `current_window'.
10277         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10278         etc. within #ifdef NOT_YET.
10279         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10280         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10281         * specifier.c (specifier_instance):
10282         #### unused var `tag'.
10283         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10284
10285 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10286
10287         * fns.c (Fbutlast):
10288         * fns.c (list_sort):
10289         * fns.c (Ffillarray):
10290         * fns.c (bytecode_nconc2):
10291         * fns.c (Fnconc):
10292         * fns.c (mapcar1):
10293         * fns.c (Fmapconcat):
10294         Be pedantically 64-bit correct.  For the time when someone will
10295         want to have a list with length > 2**32.
10296
10297         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10298         Work around MIPSpro compiler bug.
10299
10300         * process-unix.c (unix_kill_child_process): Add snarky comment.
10301         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10302
10303         * config.h.in: Oops, _getpt ==> _getpty
10304
10305 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10306
10307         * config.h.in:
10308         * regex.c:
10309         Use void*, not char*, as return type of alloca().
10310
10311         * alloc.c (free_marker): Side effect inside assert expression!
10312
10313 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10314
10315         * mule-charset.c (Fset_charset_ccl_program): To check
10316         if the given ccl program is valid, use setup_ccl_program()
10317         instead of CHECK_VECTOR().
10318         (Fmake_charset): Likewise.
10319
10320 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10321
10322         * faces.c (get_extent_fragment_face_cache_index):
10323         Fix cachel.merged_faces memory leak.
10324
10325 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10326
10327         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10328         Reset MSB of octets obtained by DECODE_SJIS
10329         because of the incompatibility with Emacs.
10330         (ccl_driver)<CCL_ENCODE_SJIS>:
10331         Set MSB of octets before passing them to
10332         ENCODE_SJIS because of the incompatibility
10333         with Emacs.
10334
10335 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10336
10337         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10338         (DECLARE_LRECORD): Undo the last change.
10339         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10340
10341 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10342
10343         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10344         the implementation to lrecord_implementations_table.
10345
10346 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10347
10348         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10349         initial value of `lrecord_type_##c_name' and
10350         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10351         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10352         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10353         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10354         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10355
10356 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10357
10358         * miscplay.c (sndcnv8S_2mono):
10359         (sndcnv2monounsigned):
10360         (sndcnvULaw_2linear):
10361         (sndcnv16swap):
10362         Remove implementation-defined behavior.
10363
10364 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10365
10366         * input-method-xlib.c: Warning suppression.
10367
10368 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10369
10370         * mule-ccl.c: Sync up with Emacs 21.0.90.
10371         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10372         Do nothing.
10373         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10374         Likewise.
10375         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10376         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10377         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10378         leading char belongs to official 2-dimensional charset.
10379         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10380         write the given character as is.  Otherwise,
10381         if it is a multibyte char, convert it by
10382         non_ascii_set_charptr_emchar, then write it.
10383         (CCL_WRITE_STRING): Likewise.
10384         (ccl_get_compiled_code): New function.
10385         (setup_ccl_program): When ccl_prog is invalid,
10386         return -1.
10387         (Fregister_code_conversion_map): New function.
10388         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10389
10390         * mule-ccl.h: Sync up with Emacs 21.0.90.
10391         (Fregister_ccl_program): export it.
10392
10393         * redisplay-msw.c (separate_textual_runs):
10394         If ccl program is not valid, don't do ccl conversion.
10395
10396         * redisplay-x.c (separate_textual_runs): Ditto.
10397
10398         * file-coding.c (Fmake_coding_system):
10399         When type is ccl and value is vector, register it
10400         with a proper symbol.  And checks whether the
10401         given ccl program is valid.
10402         (mule_decode): When calling ccl_driver, if src indicates
10403         NULL pointer, set an empty string instead.
10404         (mule_encode): Likewise.
10405
10406 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10407
10408         The following large batch of changes gets us back to a state of
10409         C++ compilability.  Extbyte is now a char, which means that
10410         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10411
10412         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10413
10414         * sound.c (Fplay_sound): Type correctness.
10415
10416         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10417         (x_get_window_property): Type correctness.
10418         (receive_incremental_selection): unsigned char ==> Extbyte
10419         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10420         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10421         (Fx_store_cutbuffer_internal): Type correctness.
10422
10423         * process-unix.c (try_to_initialize_subtty): Type correctness.
10424
10425         * objects-x.c (x_print_color_instance): Type correctness.
10426         (x_print_font_instance): Type correctness.
10427         (x_list_fonts): SExtbyte ==> Extbyte.
10428         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10429         (x_find_charset_font): SExtbyte ==> Extbyte.
10430         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10431         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10432         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10433         Use bufbyte_strcmp.
10434
10435         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10436         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10437         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10438         (BYTE_C0_P): Use bit ops for char-signedness safety.
10439         (BYTE_C1_P): Use bit ops for char-signedness safety.
10440         (CHARSET_BY_LEADING_BYTE):
10441         (CHARSET_BY_ATTRIBUTES):
10442         Always use inline function.
10443         Use type_checking_assert.
10444         Hide chlook.
10445
10446         * mule-charset.c (non_ascii_charptr_copy_char):
10447         Modify to work with both ASCII and non-ASCII characters.
10448         Improve docs and variable names.
10449         Replace over-clever fall-through switch with a simple loop.
10450         (Lstream_get_emchar_1):
10451         Replace over-clever fall-through switch with a simple loop.
10452
10453         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10454         Warning suppression.
10455
10456         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10457         the return value of Lstream_getc, which could be EOF as well.
10458
10459         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10460
10461         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10462         APIs can be used on Extbytes without casts.  Risky!
10463         (SExtbyte): Remove.
10464         (UExtbyte): Remove.
10465
10466         * input-method-xlib.c (XIM_init_device):
10467         Use Xlib.h instead of IntrinsicP.h.
10468         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10469         which will break in X11R7.
10470         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10471         to call XRegisterIMInstantiateCallback with correct types.
10472
10473         * gui-x.c (button_item_to_widget_value): Type correctness.
10474
10475         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10476
10477         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10478         (xbm_instantiate_1): Type correctness.
10479         (BUILD_GLYPH_INST):  Type correctness.
10480
10481         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10482
10483         * file-coding.c:
10484         (decode_coding_sjis):
10485         (decode_coding_big5):
10486         (decode_coding_ucs4):
10487         (decode_coding_utf8):
10488         (decode_coding_iso2022):
10489         (decode_coding_no_conversion):
10490         Make all decoding functions take an Extbyte * arg.
10491         (encode_coding_sjis):
10492         (encode_coding_big5):
10493         (encode_coding_ucs4):
10494         (encode_coding_utf8):
10495         (encode_coding_iso2022):
10496         (encode_coding_no_conversion):
10497         Make all encoding functions take a Bufbyte * arg.
10498         Use size_t instead of unsigned int for memory sizes.
10499         Only cast to unsigned char whenever dereferencing Extbyte *.
10500
10501         * doc.c (unparesseuxify_doc_string): Type correctness.
10502
10503         * console-x.c (split_up_display_spec):
10504         Rewrite without using details of internal string representation.
10505         (x_semi_canonicalize_device_connection): Type correctness.
10506
10507         * config.h.in:
10508         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10509         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10510         (HAVE_XFREE386): Removed.
10511
10512         * buffer.h (DEC_CHARPTR): `const' correctness.
10513         (bufbyte_strcmp): New.
10514         (bufbyte_memcmp): New.
10515
10516         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10517
10518         * buffer.h (XCHAR_OR_CHAR_INT):
10519         Always use inline function.
10520         Remove redundant type checking assert() - XINT will abort quite nicely.
10521
10522 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10523
10524         * search.c (Freplace_match): Set newtext to an empty string.
10525
10526 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10527
10528         * s/decosf1-3.h: Remove #include of stropts.h
10529         * s/ptx.h: Remove #include of stropts.h
10530         * s/usg5-4.h: Remove #include of stropts.h
10531         * sysproc.h:
10532         * config.h.in:
10533         Use stropts.h, not sys/stropts.h.
10534         Use strtio.h, not sys/strtio.h.
10535
10536 2000-10-04  Martin Buchholz <martin@xemacs.org>
10537
10538         * XEmacs 21.2.36 is released.
10539
10540 2000-09-21  Andy Piper  <andy@xemacs.org>
10541
10542         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10543         changes still involve copying the widget tree.
10544         (update_widget_face): make sure a change is register in the widget
10545         tree. Call update_tab_widget_face appropriately.
10546         (update_tab_widget_face): ditto.
10547         (x_tab_control_redisplay): make sure non-structural changes still
10548         involve copying the widget tree.
10549
10550 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10551
10552         * lread.c (locate_file): Check the path element is non-nil.
10553
10554 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10555
10556         * lisp.h: Warning suppression for SCO compilers.
10557
10558         * redisplay-tty.c (reset_tty_modes): Fix crash.
10559         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10560
10561 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10562
10563         Big signal/process handling overhaul.  Bugs fixed:
10564         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10565         M-x comint-kill-subjob should work for both values nil and t of
10566         process-connection-type. It was broken on most platforms.
10567         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10568         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10569         * process-unix.c: Signal/Process handling overhaul.
10570         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10571         (allocate_pty): Use all available modern methods of allocating
10572         ptys, falling back to old style BSD allocation as a last resort.
10573         Use allegedly more secure Unix98 pty allocation by default.
10574         (allocate_pty_the_old_fashioned_way): New. the last resort.
10575         (unix_create_process): Push ptem, ldterm, ttcompat where
10576         available.  Autoconfiscate.
10577         (try_to_initialize_subtty): New.
10578         (unix_kill_child_process): Proper signal handling for ptys on most
10579         platforms, using special knowledge of AIX, BSD, etc...
10580         (unix_create_process): Always disconnect_controlling_terminal() for
10581         subprocesses, whether using ptys or not.
10582         * process.h: Remove old getpt-dependent PTY code.
10583         * process.c (Fprocess_send_signal): New, obvious generic function.
10584         (decode_signal): New.
10585         (Finterrupt_process):
10586         (Fkill_process):
10587         (Fquit_process):
10588         (Fstop_process):
10589         (Fcontinue_process):
10590         (Fsignal_process): Use decode_signal.
10591         (process_send_signal):
10592         Many docstring corrections.
10593         Allow any signal to be sent to a process object.
10594         * config.h.in: Add symbols for big signal/process overhaul.
10595         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10596         * sysproc.h: Include process-related headers, where available:
10597         sys/stropts.h sys/strtio.h pty.h libutil.h
10598         * s/irix4-0.h:
10599         * s/irix5-0.h:
10600         * s/cygwin32.h:
10601         * s/gnu.h:
10602         * s/linux.h:
10603         * s/hpux.h:
10604         * s/aix3-1.h:
10605         Remove old S&M pty stuff.
10606         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10607         * systty.h: Simplify cpp hackery, improve comments.
10608         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10609
10610         * editfns.c (Fformat_time_string):
10611         Be a little more paranoid with the return value of ctime.
10612
10613         * fileio.c (check_executable):
10614         (check_writable):
10615         Use symbolic constants X_OK, W_OK.
10616
10617         * console-x.c (split_up_display_spec): Fix a warning.
10618
10619 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10620
10621         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10622         * ntproc.c (sys_spawnve): make_string ==> build_string
10623         Small clarity improvements.
10624
10625 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10626
10627         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10628
10629         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10630
10631         * config.h.in (HAVE_STRCASECMP): Remove.
10632
10633 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10634
10635         * redisplay-output.c (redisplay_output_pixmap):
10636         Cleaner and possibly more 64-bit correct code.
10637
10638 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10639
10640         * dumper.c (pdump_load_finish): move restoration of
10641         `noninteractive1' to emacs.c (main_1).
10642         * emacs.c (main_1): protect LISP-visible command-line flags
10643         from pdump_load().
10644
10645 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10646
10647         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10648         DUMP_TARGET instead of literal program names.
10649
10650 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10651
10652         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10653
10654 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10655
10656         * *: Spelling mega-patch
10657
10658 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10659
10660         * fns.c (bad_bad_turtle):
10661         Delete "Eek!" comment, since we fixed the bug to which it refers.
10662
10663 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10664
10665         * alloca.c: Replace REGISTER with register.
10666
10667 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10668
10669         * file-coding.c (ucs_to_char): Use countof.
10670
10671 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10672
10673         * file-coding.c: (ucs_to_char):
10674         (complex_vars_of_file_coding):
10675         Use countof instead of sizeof.
10676         Use CHECK_NATNUM instead of CHECK_INT.
10677
10678         * sysdep.c (strcasecmp): Remove.
10679         * device-x.c (ascii_strcasecmp): New.
10680         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10681         Avoid using non-standard non-portable strcasecmp.
10682
10683 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10684
10685         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10686         * font-lock.c: remove reference to emacsfns.h.
10687         * search.c: small doc improvement.
10688         * event-Xt.c: correct file names in comments.
10689         * console-x.h Correct file names in comments.
10690         * frame.c: Correct file names in comments.
10691         * event-stream.c: remove Energize from comments.
10692
10693 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10694
10695         * symeval.h (DEFERROR_STANDARD):
10696         (DEFERROR):
10697         (DEFSYMBOL):
10698         (DEFSYMBOL_NO_DUMP):
10699         (DEFSYMBOL_MULTIWORD_PREDICATE):
10700         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10701         (DEFKEYWORD):
10702         The construct &##name is not sensible C.
10703         Fixes compilation errors with Unixware native compiler.
10704
10705 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10706
10707         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10708         (next_frame_internal): Removed.  We now just have next_frame.
10709         (next_frame):
10710         Write a simpler and cleaner one-pass algorithm.
10711         Remove called_from_delete_device arg and #ifdefed-out code.
10712         (previous_frame):
10713         Renamed from prev_frame.  Update callers.
10714         Cleaned up to have an analogous implementation to next_frame.
10715         (other_visible_frames_internal): Remove the
10716         called_from_delete_device bogus arg, and hence, remove this
10717         function.  Just use other_visible_frames().
10718
10719         * window.c (Fnext_window):
10720         Prettify docstring.
10721         Since next_frame() is guaranteed to return a frame, remove check
10722         for nil inserted in previous patch.
10723         (Fprevious_window):
10724         Prettify docstring.
10725         Make code look more like Fnext_window.
10726         (window_loop):
10727         Respect the `console' arg when iterating through windows.
10728         Fixes bug: (get-buffer-window buffer t device) not respecting
10729         the `device' arg.
10730         This function needs more work, as others have pointed out.
10731
10732         * frame.h: Rename prev_frame to previous_frame.
10733         device_matches_console_spec no longer takes a `frame' arg.
10734
10735         * s/gnu.h:
10736         * s/linux.h:
10737         * s/hpux.h:
10738         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10739         From "Golubev I. N." <gin@mo.msk.ru>.
10740
10741         * make-src-depend: Fix typo.
10742
10743 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10744
10745         * window.c (Fnext_window):
10746         next_frame() might return nil, not a frame.
10747         Fixes this crash:
10748         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10749
10750         * frame.c (next_frame_internal):
10751         We've passed a frame if we've passed its device.
10752         Fixes this crash:
10753         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10754 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10755
10756 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10757
10758         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10759         Allow option to suppress accelerators in menu/dialog items.
10760         (populate_or_checksum_helper): Pass dialog title through above.
10761
10762 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10763
10764         * event-msw.c (mswindows_key_to_emacs_keysym):
10765         Add "pause" key, fix "menu" key.
10766
10767 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10768
10769         * eval.c (reinit_vars_of_eval):
10770         Increase max_lisp_eval_depth to 1000,
10771         required for thai-xtis.el to byte-compile under some circumstances.
10772
10773 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10774
10775         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10776         From Kenichi Handa.
10777
10778 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10779
10780         * make-src-depend: Make the generated Makefiles smaller.
10781
10782         * s/hpux.h (SETUP_SLAVE_PTY):
10783         Provide a %d in the format string for the errno argument.
10784
10785         * editfns.c (Ftemp_directory):
10786         Warning fix.
10787         Avoid buffer overrun on very long file name.
10788
10789         * input-method-xlib.c (XIM_init_device):
10790         6th parameter of XRegisterIMInstantiateCallback has different
10791         pointer types on different OSes, so simply cast to (void *).
10792
10793         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10794
10795         * sysdll.c (dll_open):
10796         shl_load will hang hard if passed a NULL filename.
10797         Simply return NULL for compatibility with dlopen.
10798         * sysdll.c: Conform to XEmacs coding standards.
10799
10800         * sysdep.c (get_pty_max_bytes):
10801         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10802
10803 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10804
10805         * tooltalk.c: Add #include <syssignal.h>
10806
10807 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10808
10809         * s/hpux.h: Don't use undefined function sigunblock().
10810
10811 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10812
10813         * config.h.in: Add HAVE_BALLOON_HELP.
10814         * emacs.c: Use HAVE_BALLOON_HELP.
10815         * Makefile.in.in (x_objs):
10816         Make Balloon Help conditional on finding shape.h.
10817
10818 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10819
10820         * syntax.c (regex_emacs_buffer_p): New variable.
10821         * syntax.h (regex_emacs_buffer_p): extern.
10822         * search.c (looking_at_1):
10823         (string_match_1):
10824         (fast_string_match):
10825         (search_buffer): Set regex_emacs_buffer_p.
10826         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10827         when before_dot, at_dot, after_dot.
10828
10829 2000-08-23  Andy Piper  <andy@xemacs.org>
10830
10831         * gui-x.c (popup_selection_callback): Only set action_occurred
10832         when we really have an image instance.
10833         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10834
10835 2000-08-23  Andy Piper  <andy@xemacs.org>
10836
10837         * gui-msw.c (mswindows_handle_gui_wm_command): set
10838         action_occurred.
10839         * gui-x.c (popup_selection_callback): ditto.
10840
10841         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10842         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10843         (struct Lisp_Image_Instance): add action_occurred flag.
10844
10845         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10846         (image_instance_changed): ditto.
10847         (reset_frame_subwindow_instance_cache): only unmap windows - do
10848         not remove them from the cache also.
10849
10850         * glyphs-widget.c (tab_control_update): better debug.
10851         (progress_gauge_update): ditto.
10852         (layout_update): ditto.
10853         (layout_instantiate): ditto.
10854         (tab_control_order_only_changed): cope with null pending items.
10855
10856         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10857         debug. Force selection of an item when an action occurred. Cope
10858         with null pending_items.
10859         (mswindows_progress_gauge_redisplay): better debug.
10860         * glyphs-x.c (x_tab_control_redisplay): ditto.
10861
10862         * redisplay.c (redisplay_frame): reset the frame cache if the
10863         frame is garbaged.
10864
10865         * window.c (Fset_window_configuration): potentially re-enable
10866         frame cache reset.
10867         (window_unmap_subwindows): need to finalize instances here since
10868         it is only used in mark_window_as_deleted.
10869
10870 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10871
10872         * nas.c (SndOpenDataForReading):
10873         nas.c (WaveOpenDataForReading):
10874         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10875         Somehow escaped from the 2000-08-14 patch.
10876
10877 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10878
10879         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10880         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10881
10882 2000-08-21  Andy Piper  <andy@xemacs.org>
10883
10884         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10885         window if it is not already displayed.
10886
10887         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10888         it is not already displayed.
10889
10890         * window.c (Fset_window_configuration): don't reset the frame
10891         cache.
10892
10893         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10894         instances from the frame cache if we are actually finalizing them.
10895         (reset_frame_subwindow_instance_cache): reset frame cache only
10896         after unmapping everything.
10897         (map_subwindow): set displayed flag after mapping.
10898
10899 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10900
10901         * data.c (indirect_function):
10902         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10903
10904         * eval.c (function_argcount):
10905         Use original function when signaling errors.
10906
10907 2000-08-18  Andy Piper  <andy@xemacs.org>
10908
10909         * frame.c (delete_frame_internal): use new
10910         free_frame_subwindow_instances name.
10911
10912         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10913         (add_tab_item): make return type correct.
10914         (mswindows_tab_control_instantiate): assert index of tab.
10915         (mswindows_tab_control_redisplay): Re-code to use
10916         gui_item_equal_sans_selected and gui_item_list_find_selected.
10917
10918         * glyphs-widget.c (tab_control_update): Correct comment.
10919
10920         * window.c (window_unmap_subwindows): use new
10921         unmap_subwindow_instance_cache_mapper.
10922         (window_unmap_subwindows_cache_mapper): deleted.
10923         (Fset_window_configuration): comparisons should now be with
10924         EQ. Preserve the subwindow instance cache across configuration
10925         changes.
10926         (allocate_window): ditto.
10927         (make_dummy_parent): ditto.
10928
10929         * glyphs.c (free_frame_subwindow_instances): rename from
10930         free_frame_subwindow_instance_cache. finalize all instances rather
10931         than just those in the display cache.
10932         (finalize_all_subwindow_instances): walk windows unmapping and
10933         finalizing subwindows.
10934         (unmap_subwindow_instance_cache_mapper): moved from
10935         window.c. Allow finalization as well as unmapping.
10936
10937         * gui.c (gui_item_list_find_selected): new function.
10938
10939         * gui.h (gui_item_list_find_selected): declare.
10940
10941         * glyphs-x.c (x_tab_control_redisplay): pick tab
10942         explicitly. Re-code to use gui_item_equal_sans_selected and
10943         gui_item_list_find_selected.
10944
10945         * glyphs-x.h: add lwlib-utils.h
10946
10947         * buffer.c (Frecord_buffer): undo previous change.
10948
10949 2000-08-09  Vin Shelton  <acs@xemacs.org>
10950
10951         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10952         possible.  Create temporary files more securely.  The patch was
10953         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10954         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10955         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10956         for details.
10957
10958 2000-08-07  Ben Wing  <ben@xemacs.org>
10959
10960         * getloadavg.c: remove duplicate (and windows-breaking)
10961         includes of fcntl.h and sys/file.h.
10962
10963         * nt.c: remove duplicate getloadavg() definition.
10964
10965         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10966         encodings.
10967
10968 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10969
10970         * eval.c (function_argcount): If function needs to be autoloaded
10971         actually use the loaded definition.
10972         GCPRO function.
10973
10974 2000-08-05  Ben Wing  <ben@xemacs.org>
10975
10976         * getloadavg.c: add prototype for getloadavg().  remove
10977         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10978         of the code).  remove duplicate header includes.
10979
10980         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10981
10982         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10983         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10984         useful load average.
10985
10986         * alloc.c (reinit_alloc_once_early): removed references to
10987         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10988         the lisp vars are the only things referencing the malloc_sbrk_*
10989         vars, and they were already if 0'd out.  these vars only exist
10990         in the older malloc.c, which is basically unused, and they're
10991         only for informational purposes.
10992
10993         * m\*.h: removed useless VIRT_ADDR_VARIES.
10994
10995         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10996
10997 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10998
10999         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11000         color if the image is a mono pixmap.
11001
11002 2000-07-30  Ben Wing  <ben@xemacs.org>
11003
11004         * Makefile.in.in (release):
11005         Remove stray @.
11006
11007         * buffer.c (directory_is_current_directory):
11008         * dired-msw.c (mswindows_get_files):
11009         * dired.c:
11010         * dired.c (Fdirectory_files):
11011         * dired.c (file_name_completion_stat):
11012         * dired.c (Ffile_attributes):
11013         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11014         preprocessor tricks, to avoid problems on some machines
11015         (e.g. SCO).
11016
11017         * callproc.c (egetenv): GC docs.
11018
11019         * console-msw.h:
11020         * console-msw.h (struct mswindows_dialog_id):
11021         * lrecord.h (lrecord_type):
11022         New object for use with MSW dialogs.
11023
11024         * console.h (struct console_methods):
11025         New enable/disable frame methods, for proper modal dialogs.
11026
11027         * device-msw.c (msprinter_default_printer): Fix to follow
11028         proper Mule conventions.
11029
11030         * device-msw.c:
11031         * device-msw.c (signal_open_printer_error):
11032         * device-msw.c (msprinter_init_device):
11033         * device-msw.c (ensure_not_printing):
11034         * device-msw.c (plist_get_margin):
11035         * device-msw.c (Fmsprinter_select_settings):
11036         * device-msw.c (finalize_devmode):
11037         * device-msw.c (Fmsprinter_settings_despecialize):
11038         * device-msw.c (signal_enum_priner_error):
11039         * extents.c (decode_extent):
11040         * extents.c (decode_map_extents_flags):
11041         * extents.c (decode_extent_at_flag):
11042         * extents.c (Fextent_at):
11043         * extents.c (Fextents_at):
11044         * extents.c (symbol_to_glyph_layout):
11045         [[[[2]]]] Use structured errors.
11046
11047         * dialog-msw.c:
11048         * dialog-msw.c (mswindows_is_dialog_msg):
11049         * dialog-msw.c (mark_mswindows_dialog_id):
11050         * dialog-msw.c (dialog_proc):
11051         * dialog-msw.c (handle_question_dialog_box):
11052         * dialog-msw.c (syms_of_dialog_mswindows):
11053         Define new object to clean up marking; use it as a dialog identifier.
11054         Call new delete-dialog-box-hook.
11055
11056         * dialog-x.c (dbox_selection_callback):
11057         * dialog-x.c (dbox_descriptor_to_widget_value):
11058         * dialog-x.c (x_make_dialog_box_internal):
11059         Call new delete-dialog-box-hook.
11060         Return an id.
11061
11062         * dialog.c:
11063         * dialog.c (syms_of_dialog):
11064         * dialog.c (vars_of_dialog):
11065         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11066
11067         * eval.c:
11068         * eval.c (signal_call_debugger):
11069         when noninteractive, output stack traces on the console instead
11070         of in a (never-seen) buffer.
11071
11072         * eval.c (signal_type_error):
11073         * eval.c (invalid_argument_2):
11074         * lisp.h:
11075         new funs for use w/structured errors.
11076
11077         * event-Xt.c:
11078         * event-Xt.c (x_to_emacs_keysym):
11079         * event-Xt.c (describe_event):
11080         * event-Xt.c (emacs_Xt_event_handler):
11081         * event-Xt.c (vars_of_event_Xt):
11082         * event-msw.c:
11083         * event-msw.c (mswindows_wnd_proc):
11084         * event-msw.c (vars_of_event_mswindows):
11085         rename {x,mswindows}-debug-events to debug-{}-events for
11086         consistency with other debug-foo variables.
11087
11088         * event-stream.c:
11089         document next-event more clearly.
11090
11091         * fileio.c (Ffile_name_directory):
11092         * fileio.c (Ffile_name_nondirectory):
11093         * fileio.c (Funhandled_file_name_directory):
11094         * fileio.c (file_name_as_directory):
11095         * fileio.c (Ffile_name_as_directory):
11096         * fileio.c (directory_file_name):
11097         * fileio.c (Fdirectory_file_name):
11098         * fileio.c (Fmake_temp_name):
11099         * fileio.c (Ffile_truename):
11100         * fileio.c (Fsubstitute_in_file_name):
11101         * fileio.c (expand_and_dir_to_file):
11102         * fileio.c (barf_or_query_if_file_exists):
11103         * fileio.c (check_executable):
11104         * fileio.c (Ffile_exists_p):
11105         * fileio.c (Ffile_writable_p):
11106         * fileio.c (Ffile_directory_p):
11107         * fileio.c (Ffile_regular_p):
11108         * fileio.c (Ffile_modes):
11109         * fileio.c (Ffile_newer_than_file_p):
11110         * fileio.c (Fverify_visited_file_modtime):
11111         * fileio.c (Fset_visited_file_modtime):
11112         * fileio.c (auto_save_1):
11113         (1). (2).
11114         fix up gcpro's.
11115
11116         * frame-msw.c:
11117         * frame-msw.c (mswindows_init_frame_1):
11118         * frame-msw.c (mswindows_enable_frame):
11119         * frame-msw.c (error_frame_unsizable):
11120         * frame-msw.c (msprinter_init_frame_1):
11121         * frame-msw.c (msprinter_init_frame_3):
11122         * frame-msw.c (console_type_create_frame_mswindows):
11123         (2).
11124         implement new enable/disable frame methods.
11125
11126         * frame-x.c:
11127         * frame-x.c (x_enable_frame):
11128         * frame-x.c (console_type_create_frame_x):
11129         implement new enable/disable frame methods.
11130
11131         * frame.c:
11132         * frame.c (Fdisable_frame):
11133         * frame.c (syms_of_frame):
11134         * frame.h (struct frame):
11135         implement new enable/disable frame methods/functions.
11136
11137         * general-slots.h:
11138         add initial-focus.
11139
11140         * glyphs-msw.c (mswindows_widget_instantiate):
11141         comment that initial-focus should be implemented.
11142
11143         * glyphs-widget.c:
11144         * glyphs-widget.c (check_valid_instantiator):
11145         * glyphs-widget.c (check_valid_orientation):
11146         * glyphs-widget.c (check_valid_tab_orientation):
11147         * glyphs-widget.c (check_valid_justification):
11148         * glyphs-widget.c (check_valid_border):
11149         * glyphs-widget.c (check_valid_callback):
11150         * glyphs-widget.c (check_valid_int_or_function):
11151         * glyphs-widget.c (check_valid_string_or_vector):
11152         * glyphs-widget.c (check_valid_item_list_1):
11153         * glyphs-widget.c (widget_validate):
11154         * glyphs-widget.c (combo_box_validate):
11155         * glyphs-widget.c (widget_instantiate):
11156         * glyphs-widget.c (syms_of_glyphs_widget):
11157         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11158         * glyphs-widget.c (image_instantiator_combo_box):
11159         * glyphs-widget.c (image_instantiator_scrollbar):
11160         * glyphs-widget.c (image_instantiator_tab_control):
11161         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11162         (2).
11163         support (unimplemented) keyword initial-focus.
11164         reindent long macros.
11165
11166         * glyphs-x.c (x_redisplay_widget):
11167         * glyphs-x.c (x_button_instantiate):
11168         * glyphs-x.c (x_button_redisplay):
11169         * glyphs-x.c (x_progress_gauge_instantiate):
11170         * glyphs-x.c (x_edit_field_instantiate):
11171         * glyphs-x.c (x_combo_box_instantiate):
11172         * glyphs-x.c (x_tab_control_instantiate):
11173         * glyphs-x.c (x_label_instantiate):
11174         * gui-x.c:
11175         * gui-x.c (button_item_to_widget_value):
11176         * gui-x.c (gui_items_to_widget_values_1):
11177         * gui-x.c (gui_item_children_to_widget_values):
11178         * gui-x.c (gui_items_to_widget_values):
11179         * gui-x.h:
11180         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11181         add new flag to gui-parsing routines to indicate whether
11182         accelerator specs should be supported.
11183
11184         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11185
11186         * glyphs.h (struct Lisp_Image_Instance):
11187         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11188         add initial-focus flag.
11189
11190         * gui.c:
11191         * gui.c (syms_of_gui):
11192         * gui.c (vars_of_gui):
11193         clean up menu-no-selection-hook.
11194
11195         * gui.h:
11196         support delete-dialog-box-hook.
11197
11198         * lread.c (Fload_internal):
11199         * lread.c (locate_file_in_directory_mapper):
11200         (1).
11201
11202         * lrecord.h:
11203         * lrecord.h (struct toolbar_button):
11204         * lrecord.h (syms_of_toolbar):
11205         document how to create a new object.
11206
11207         * menubar-msw.c (mswindows_char_is_accelerator):
11208         may be called on frames w/o menus.
11209
11210         * menubar.c (vars_of_menubar):
11211         clean up :filter docs.
11212
11213         * nt.c (readdir):
11214         * ntproc.c:
11215         (1).
11216
11217         * process-nt.c:
11218         * process-nt.c (validate_signal_number):
11219         * process-nt.c (signal_cannot_launch):
11220         * process-nt.c (nt_create_process):
11221         * process-nt.c (nt_send_process):
11222         * process-nt.c (nt_kill_child_process):
11223         * process-nt.c (nt_open_network_stream):
11224         * process-nt.c (syms_of_process_nt):
11225         (2).
11226         delete quote-handling.  call new lisp code that does it better.
11227
11228         * process-unix.c (connect_to_file_descriptor):
11229         * process-unix.c (allocate_pty):
11230         * process-unix.c (unix_send_process):
11231         * process-unix.c (unix_kill_child_process):
11232         * process-unix.c (unix_open_network_stream):
11233         * process-unix.c (unix_open_multicast_group):
11234         (1). (2).
11235
11236         * process.c:
11237         * process.c (Fstart_process_internal):
11238         (2).  need to canonicalize process path even if absolute.
11239
11240         * select-msw.c (symbol_to_ms_cf):
11241         * select-msw.c (ms_cf_to_symbol):
11242         * select-msw.c (cf_is_autofreed):
11243         * select-msw.c (mswindows_destroy_selection):
11244         * select.c:
11245         * select.c (syms_of_select):
11246         * select.h:
11247         support dibv5, fix bugs. (from Mike Alexander)
11248
11249         * select.c (Fget_selection_internal):
11250         * select.c (select_convert_out):
11251
11252         * sysdep.c:
11253         * sysdep.c (xemacs_stat):
11254         renamed.
11255
11256         * sysdep.c (mkdir):
11257         * sysdep.c (rmdir):
11258         but keep original stat() here because we provide encapsulation
11259         around these funs.
11260
11261         * sysfile.h:
11262         * sysfile.h (fstat):
11263         remove stat garbage.
11264
11265         * syswindows.h:
11266         fix X/MSW conflict.
11267         don't include tchar.h.  it's inappropriate because it makes
11268         compile-time distinctions when we want runtime distinctions.
11269         (we provide our own tchar replacements)
11270
11271         * toolbar.c:
11272         use default object printer for toolbar-button.
11273
11274         * unexcw.c:
11275         make sure we don't encapsulate.
11276
11277         * window.c (vars_of_window):
11278         emphasize that temp-buffer-show-hook is obsolete.
11279
11280 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11281
11282         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11283         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11284
11285         * events.c (Fevent_timestamp_lessp):
11286         Not 64-bit clean.  Use EMACS_INT, not int.
11287
11288 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11289
11290         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11291         unsigned int and changed the last enum to
11292         lrecord_type_last_built_in_type.
11293         (lrecord_implementations_table): changed prototype to know how
11294         long the array is supposed to be.
11295         (lrecord_type_count): new unsigned int to keep track of the
11296         current number of lisp lrecord types.
11297         (DEFINE_EXTERNAL_LRECORD):
11298         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11299         dynamic-modules to declare new lisp types. They are the same
11300         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11301         int for each new type, and increment lrecord_type_count by 1.
11302
11303         * alloc.c (lrecord_implementations_table): Changed to reference
11304         lrecord_type_last_built_in_type for the size of the array.
11305         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11306
11307 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11308
11309         * glyphs.h (check_valid_item_list): Renamed from
11310         check_valid_item_list_1.
11311
11312 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11313
11314         * select.c (Qselect_coerce): New.
11315         * select.c (Vselection_coercion_alist): New.
11316         * select.c (syms_of_select): Declare.
11317         * select.c (get-selection-internal): Use it.
11318         Use the new select-coerce functionality.
11319
11320         * select.c (select_coerce): New.
11321         * select.h (select_coerce): Declare.
11322         New function to coerce one type of data into another.
11323
11324 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11325
11326         * callproc.c (Fcall_process_internal):
11327         (Fcall_process_internal):
11328         * process-unix.c (unix_create_process):
11329         Save and restore the value of errno, so that error messages are accurate.
11330
11331 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11332
11333         * elhash.c (print_hash_table):
11334         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11335         Prettify docstrings and indentation.
11336
11337 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11338
11339         * window.c (Fwindow_pixel_edges): Subtract frame border and
11340         gutter size.
11341
11342 2000-07-31  Andy Piper  <andy@xemacs.org>
11343
11344         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11345         will acknowledge the change.
11346
11347         * glyphs.h: declare tab_control_order_only_changed.
11348
11349         * glyphs-x.c (x_tab_control_redisplay): use
11350         tab_control_order_only_changed.
11351
11352         * glyphs-widget.c (tab_control_order_only_changed): new function.
11353
11354         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11355         tab_control_order_only_changed.
11356
11357         * gui.c (gui_item_equal_sans_selected): new function.
11358         (gui_item_equal): use it.
11359
11360         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11361         :properties in favor of :items..
11362
11363         * glyphs-widget.c (check_valid_item_list): rename from
11364         check_valid_item_list_1.
11365         (check_valid_item_list_1): renamed.
11366         (combo_box_validate): deprecate :properties in favor of :items.
11367         (widget_instantiate): ditto.
11368         (tab_control_update): ditto.
11369         (image_instantiator_combo_box): ditto.
11370         (image_instantiator_tree_view): ditto.
11371         (image_instantiator_tab_control): ditto.
11372         (layout_post_instantiate): remove dead code.
11373
11374         * print.c (debug_print_no_newline): only write to debugger if in
11375         WIN32_NATIVE.
11376
11377         * elhash.c (Fmake_hash_table): update doc string.
11378
11379         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11380         messages whilst in GC. This at least stops XEmacs crashing but has
11381         the potential for wierd behaviour.
11382
11383 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11384
11385         * config.h.in:
11386         Make existence of s&m files optional.
11387
11388         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11389         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11390         * s/gnu.h: Remove HAVE_GETLOADAVG.
11391         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11392         * s/sol2.h: Remove HAVE_GETLOADAVG.
11393         * lisp.h: Remove getloadavg() declaration.
11394         * fns.c:
11395         Include <sys/loadavg.h> if available.
11396         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11397         * config.h.in:  Group together getloadavg()-related macros.
11398         Use only configure-time tests to detect getloadavg().
11399
11400 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11401
11402         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11403
11404 2000-07-25  Andy Piper  <andy@xemacs.org>
11405
11406         * syswindows.h: add tchar.h for native builds.
11407
11408         * frame.c (syms_of_frame): remove set-glyph-image.
11409
11410         * general-slots.h: add Qset_glyph_image.
11411
11412         * glyphs-widget.c (layout_update): add domain arg to
11413         set-glyph-image.
11414         (syms_of_glyphs_widget): remove set-glyph-image.
11415
11416 2000-07-23  Ben Wing  <ben@xemacs.org>
11417
11418         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11419         Vpopup_frame_list.
11420
11421 2000-07-22  Andy Piper  <andy@xemacs.org>
11422
11423         * symsinit.h: add syms_of_win32().
11424
11425         * gui-msw.c (syms_of_gui_mswindows): remove
11426         Fmswindows_shell_execute.
11427         (Fmswindows_shell_execute): moved to win32.c.
11428
11429         * emacs.c (main_1): add syms_of_win32 ().
11430
11431         * win32.c (init_potentially_nonexistent_functions): rewrite in
11432         compiler-friendly terms.
11433         (Fmswindows_shell_execute): move here from gui-msw.c.
11434         (syms_of_win32): new.
11435
11436         * device-msw.c (Fmswindows_printer_list): clean up args to
11437         EnumPrinters.
11438         Don't include tchar under cygwin or mingw.
11439         (msprinter_default_printer): make cygwin-friendly.
11440
11441 2000-07-21  Andy Piper  <andy@xemacs.org>
11442
11443         * glyphs-widget.c (image_instantiator_tree_view): use tab
11444         control's update function.
11445         (layout_property): new function. Retrieve items.
11446
11447         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11448         function. Re-populate the tree view from the pending items.
11449
11450         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11451         is designated the parent if the domain is an image instance. This
11452         is needed so that dirtiness can be cascade up the hierarchy and
11453         thus for layout children to be redisplayed correctly.
11454         (allocate_image_instance): rename glyph -> parent.
11455
11456         * redisplay.h: change redisplay_output_layout signature.
11457
11458         * redisplay-msw.c (mswindows_output_display_block): use domain
11459         arg.
11460
11461         * redisplay-x.c (x_output_display_block): use domain arg.
11462
11463 2000-07-10  Andy Piper  <andy@xemacs.org>
11464
11465         * window.c (Fset_window_configuration): add comment.
11466
11467         * redisplay-output.c (compare_runes):
11468         (redisplay_output_subwindow): redisplay rather than update subwindow.
11469         (redisplay_output_layout): ditto.
11470
11471         * redisplay-msw.c (mswindows_frame_output_end):
11472         (mswindows_frame_output_end): make defer window pos optional.
11473
11474         * lisp.h: add Flast.
11475
11476         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11477         normalize method. Change update method to be for changed
11478         instantiators. Add redisplay method. Change signature of layout
11479         method.
11480         (struct Lisp_Image_Instance): add instantiator.
11481         (IMAGE_INSTANCE_INSTANTIATOR): new.
11482         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11483         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11484         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11485
11486         * glyphs.c:
11487         (find_instantiator_differences): new function.
11488         (Fset_instantiator_property): new convenience function.
11489         (check_image_instance_structure): strictly check for vector
11490         instantiators.
11491         (normalize_image_instantiator): make non-static.
11492         (instantiate_image_instantiator): pass on dest_mask and use new
11493         signatures for image_instance_layout and friends.
11494         (mark_image_instance): mark the instantiator. Mark the subwindow
11495         face not the widget face.
11496         (image_instance_equal): add instantiator.
11497         (image_instance_hash): ditto.
11498         (allocate_image_instance): ditto.
11499         (Fset_image_instance_property): removed.
11500         (Fimage_instance_file_name): ditto.
11501         (Fcolorize_image_instance): ditto.
11502         (image_instance_layout): add offsets to be set.
11503         (update_image_instance): new function. update an image instance
11504         from its changed instantiator.
11505         (inherit_normalize): add dest_mask.
11506         (xbm_normalize): ditto.
11507         (xface_normalize): ditto.
11508         (xpm_normalize): ditto.
11509         (text_update): set_property -> update.
11510         (image_instantiate): use the glyph identity as a hash key, not the
11511         instantiator.
11512         (glyph_width): use new image_instance_layout signature.
11513         (glyph_ascent): ditto.
11514         (glyph_descent): ditto.
11515         (glyph_height): ditto.
11516         (glyph_query_geometry): ressurrect.
11517         (glyph_layout): ditto.
11518         (redisplay_subwindow): update -> redisplay.
11519         (syms_of_glyphs): add Fset_instantiator_property.
11520         (image_instantiator_format_create): set_property -> update.
11521
11522         * glyphs-x.c:
11523         (autodetect_normalize): add dest_maks to signature.
11524         (x_redisplay_subwindow): update -> redisplay.
11525         (x_redisplay_widget): ditto.
11526         (x_button_redisplay): ditto.
11527         (x_progress_gauge_redisplay): ditto.
11528         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11529         stacking order.
11530         (console_type_create_glyphs_x): update -> redisplay.
11531         (image_instantiator_format_create_glyphs_x): ditto.
11532
11533         * glyphs-widget.c:
11534         (check_valid_instantiator): disallow glyphs in the instantiator,
11535         they must now be vectors.
11536         (check_valid_instantiator_list): ditto.
11537         (glyph_instantiator_to_glyph): use internal symbol rather than
11538         intern.
11539         (widget_update): renamed from widget_set_property. Call cascaded
11540         update methods.
11541         (redisplay_widget): renamed from update_widget.
11542         (widget_layout): image_instance_layout now takes position as well
11543         as size.
11544         (widget_normalize): ditto.
11545         (widget_instantiate): ditto.
11546         (tab_control_query_geometry) ditto.:
11547         (tab_control_update): renamed from tab_control_set_property.
11548         (progress_gauge_update): set_property -> update.
11549         (layout_normalize): rewrite so that child instantiators are
11550         normalized also.
11551         (layout_update): new function. Create glyphs from the normalized
11552         children and cope with any other layout keywords. We do not
11553         instantiate children here that will be take care of by
11554         redisplay_output_layout.
11555         (layout_instantiate): call layout_update and not much else.
11556         (layout_post_instantiate): not sure whether this is needed
11557         anymore.
11558         (layout_query_geometry): query glyph geometry rather than
11559         image_instance geometry.
11560         (layout_layout): set offsets from pass in parameters. Use glyph
11561         geometry and layout functions rather than image instance ones.
11562         (native_layout_layout): ditto.
11563         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11564         (image_instantiator_widget): set_property -> update.
11565         (image_instantiator_buttons): ditto.
11566         (image_instantiator_progress_guage): ditto.
11567         (image_instantiator_tab_control): ditto.
11568         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11569         (image_instantiator_layout): add update method.
11570
11571         * glyphs-msw.c (bmp_normalize):
11572         (mswindows_resource_normalize): add dest_mask so that it can be
11573         proprogated by layout_normalize.
11574         (begin_defer_window_pos): make optional because it may not be the
11575         right thing to do and it introduces differences with X.
11576         (mswindows_unmap_subwindow): ditto.
11577         (mswindows_map_subwindow): ditto.
11578         (mswindows_redisplay_subwindow): renamed from
11579         mswindows_update_subwindow.
11580         (mswindows_redisplay_widget): ditto.
11581         (mswindows_button_redisplay): renamed from
11582         mswindows_button_update. Update is now what the instantiation
11583         function does for a changed instantiator.
11584         (mswindows_progress_gauge_instantiate): set the progress value
11585         here if appropriate.
11586         (mswindows_tab_control_redisplay): cope with re-ordering of the
11587         members of the tab widget by simply selecting the new top
11588         widget. This makes things appear ok if you click on a tab.
11589         (mswindows_combo_box_instantiate): image_instance_layout now takes
11590         position as well as size.
11591         (mswindows_progress_gauge_redisplay): renamed from
11592         mswindows_progress_gauge_update.
11593         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11594         (image_instantiator_format_create_glyphs_mswindows): ditto.
11595
11596         * glyphs-eimage.c (jpeg_normalize):
11597         (gif_normalize):
11598         (png_normalize):
11599         (tiff_normalize): add dest_mask so that it can be proprogated by
11600         layout_normalize.
11601
11602         * elhash.c:
11603         (print_hash_table):
11604         (hash_table_weakness_validate):
11605         (decode_hash_table_weakness):
11606         (Fhash_table_weakness):
11607         (Fhash_table_type):
11608         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11609
11610         * console.h (struct console_methods): move update_* to
11611         redisplay_*.
11612
11613 2000-07-20  Ben Wing  <ben@xemacs.org>
11614
11615         * *.[ch] (XSETOBJ): remove unused middle argument.
11616         lisp-disunion.h: correct wrap_object() to one argument.
11617
11618 2000-07-15  Ben Wing  <ben@xemacs.org>
11619
11620         * s/cygwin32.h:
11621         * s/cygwin32.h (CYGWIN_CONV_PATH):
11622         Add missing logb prototype for v1.1.
11623         Use post-b20 names and alias to pre-b20 names when pre-b20.
11624
11625         * s/windowsnt.h: [5].
11626
11627 2000-07-15  Ben Wing  <ben@xemacs.org>
11628
11629         * Makefile.in.in (x_objs):
11630         * Makefile.in.in (sheap_objs):
11631         * Makefile.in.in (objs):
11632         added win32.o, cosmetic cleanups.
11633
11634         * alloc.c (Fmake_byte_code):
11635         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11636         etc. macros which declare their own args now.
11637
11638         * alloc.c (syms_of_alloc):
11639         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11640
11641         * buffer.c:
11642         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11643
11644         * buffer.c (Fget_file_buffer):
11645         Fixed GCPRO problem.
11646
11647         * buffer.c (get_truename_buffer):
11648         Fixed comment about GC checking.
11649
11650         * buffer.c (syms_of_buffer):
11651         Undeclared those dedicated frame funs.
11652         [2].
11653
11654         * buffer.h:
11655         Define convenience macros for internal/external conversions.
11656         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11657         and Qenvironment_variable_encoding for cleaner code.
11658
11659         * bufslots.h:
11660         Remove dedicated-frame; in lisp.
11661
11662         * bytecode.c (funcall_compiled_function):
11663         [1].
11664
11665         * bytecode.c (syms_of_bytecode):
11666         [2].
11667
11668         * console-msw.c:
11669         * console-msw.c (mswindows_show_console): Rewrote.
11670
11671         * console-msw.c (Fmswindows_debugging_output): New.
11672         Sends to OutputDebugString (special MSWin debugger interface).
11673
11674         * console-msw.c (Fmswindows_message_box):
11675         Fixed stupid bugs so it works when called from kill-emacs.
11676
11677         * console-msw.c (syms_of_console_mswindows):
11678         Declare Fmswindows_debugging_output.
11679
11680         * console-msw.h:
11681         New MSWin prototypes.
11682
11683         * console-msw.h (struct mswindows_frame):
11684         New entry last-click-mods for improved button-modifier support.
11685
11686         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11687         New struct entry `popup' with corresponding accessor.
11688
11689         * console-x.c:
11690         * console-x.c (split_up_display_spec):
11691         * console-x.c (get_display_arg_connection):
11692         * console-x.c (x_semi_canonicalize_console_connection):
11693         * console-x.c (x_canonicalize_device_connection):
11694         [[[6]]]: Change char to more specific type.
11695         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11696
11697         * console-x.c (x_semi_canonicalize_console_connection):
11698         * console-x.c (x_canonicalize_device_connection):
11699         [[[9]]]: Fix up error signalling to use new structured error system.
11700
11701         * console-x.h:
11702         [[[4]]]: Define codesys aliases:
11703         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11704         Qx_color_name_encoding, Qx_display_name_encoding.
11705
11706         * console.h (struct console_methods):
11707         New method make_dialog_box_internal supersedes older
11708         popup_dialog_box method.
11709
11710         * data.c:
11711         Define many new errors, part of new structured errors.
11712
11713         * data.c (init_errors_once_early):
11714         * data.c (syms_of_data):
11715         [2].
11716
11717         * device-msw.c (mswindows_init_device):
11718         [[[5]]]: Cleanup to support NT 3.51.
11719
11720         * device-msw.c (decode_devmode): Cleanup.
11721
11722         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11723         * device-msw.c (mswindows_handle_print_dialog_box):
11724         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11725         * device-msw.c (syms_of_device_mswindows):
11726         Delete the dialog box primitives recently introduced by Kirill and
11727         instead interface to general dialog box interface.
11728
11729         * device-x.c:
11730         * device-x.c (compute_x_app_name):
11731         * device-x.c (x_init_device):
11732         * device-x.c (Fx_valid_keysym_name_p):
11733         * device-x.c (Fx_set_font_path):
11734         [6].
11735         [7].
11736
11737         * device.h (wrap_device): New.
11738         First of its kind; meant to replace XSETDEVICE.
11739
11740         * dialog-msw.c: Many file-dialog symbols.
11741
11742         * dialog-msw.c (mswindows_register_popup_frame): New.
11743         * dialog-msw.c (mswindows_is_dialog_msg): New.
11744         For supporting kbd traversal in dialog boxes.
11745
11746         * dialog-msw.c (dialog_proc):
11747         Support hitting ESC in dialogs.
11748
11749         * dialog-msw.c (struct):
11750         Common dialog box errors.
11751
11752         * dialog-msw.c (handle_file_dialog_box): New.
11753         Add file dialog code.
11754
11755         * dialog-msw.c (handle_question_dialog_box):
11756         Redo existing code to support new question dialog syntax.
11757
11758         * dialog-msw.c (console_type_create_dialog_mswindows):
11759         We support new dialog console method.
11760
11761         * dialog-msw.c (syms_of_dialog_mswindows):
11762         * dialog-msw.c (vars_of_dialog_mswindows):
11763         New file dialog symbols, vars.
11764
11765         * dialog-x.c:
11766         * dialog-x.c (maybe_run_dbox_text_callback):
11767         * dialog-x.c (dbox_descriptor_to_widget_value):
11768         * dialog-x.c (x_make_dialog_box_internal):
11769         * dialog-x.c (console_type_create_dialog_x):
11770         Mule-ize entire file.
11771         Redo to support question dialog syntax.
11772         [6].
11773
11774         * dialog.c:
11775         * dialog.c (Fmake_dialog_box_internal):
11776         * dialog.c (syms_of_dialog):
11777         Kill old popup-dialog-box, replace with new primitive.
11778         Just call device method or signal error.
11779
11780         * eldap.c (Fldap_open):
11781         * eldap.c (Fldap_search_basic):
11782         * eldap.c (Fldap_add):
11783         * eldap.c (Fldap_modify):
11784         [1].
11785         [7].
11786
11787         * emacs.c:
11788         * emacs.c (make_arg_list_1):
11789         * emacs.c (make_arg_list):
11790         Mule-ize call to dll_init().
11791         [6].
11792         [8].
11793
11794         * emacs.c (make_argc_argv):
11795         * emacs.c (free_argc_argv):
11796         * emacs.c (init_cmdargs):
11797         * emacs.c (main_1):
11798         * emacs.c (Fkill_emacs):
11799         * emacs.c (Fdump_emacs):
11800         Update comments about what can be used in syms_* etc.
11801         Call init_win32() when necessary.
11802         Fix up MS Win dialog box in kill-buffer to actually work right.
11803         [7].
11804
11805         * eval.c:
11806         * eval.c (For):
11807         * eval.c (Fand):
11808         * eval.c (Fprogn):
11809         * eval.c (Fprog1):
11810         * eval.c (Fprog2):
11811         * eval.c (FletX):
11812         * eval.c (Flet):
11813         * eval.c (condition_case_3):
11814         * eval.c (Feval):
11815         * eval.c (function_argcount):
11816         * eval.c (funcall_lambda):
11817         [1].
11818
11819         * eval.c (type_error): New.
11820         * eval.c (maybe_type_error): New.
11821         * eval.c (continuable_type_error): New.
11822         * eval.c (maybe_continuable_type_error): New.
11823         * eval.c (type_error_with_frob): New.
11824         * eval.c (maybe_type_error_with_frob): New.
11825         * eval.c (continuable_type_error_with_frob): New.
11826         * eval.c (maybe_continuable_type_error_with_frob): New.
11827         New functions for use with structured errors.
11828
11829         * event-Xt.c:
11830         * event-Xt.c (x_event_to_emacs_event):
11831         Buttons are now modifiers too.
11832
11833         * event-Xt.c (emacs_Xt_current_event_timestamp):
11834         Implement new event method.
11835         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11836
11837         * event-msw.c:
11838         * event-msw.c (ntpipe_shove_writer): [5].
11839         * event-msw.c (mswindows_enqueue_mouse_button_event):
11840         * event-msw.c (mswindows_drain_windows_queue):
11841         * event-msw.c (mswindows_wnd_proc): [7].
11842         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11843         * event-msw.c (mswindows_modifier_state):
11844         Throughout: support new button modifiers.
11845
11846         * event-msw.c (emacs_mswindows_current_event_timestamp):
11847         Implement new event method.
11848         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11849
11850         * event-stream.c:
11851         * event-stream.c (event_stream_current_event_timestamp): New.
11852         * event-stream.c (maybe_kbd_translate): New functionality.
11853         * event-stream.c (vars_of_event_stream):
11854         Document new kbd-translate-table functionality.
11855
11856         * event-stream.c (Fcurrent_event_timestamp): New.
11857         New primitive for use in fabricated events.
11858         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11859
11860         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11861
11862         * events.c:
11863         * events.c (Fmake_event):
11864         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11865         [1].
11866         [9].
11867
11868         * events.c (format_event_object): fix gcc warnings.
11869
11870         * events.c (Fevent_timestamp): Document new primitives.
11871
11872         * events.c (TIMESTAMP_HALFSPACE): New.
11873
11874         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11875         comparing timestamps correctly (half-space algorithm).
11876
11877         * events.c (Fevent_modifier_bits): Doc fix.
11878
11879         * events.c (Fevent_modifiers): Major doc addition.
11880         * events.c (event_x_y_pixel_internal): Typo fix.
11881         * events.c (syms_of_events): Declare new primitives.
11882
11883         * events.h:
11884         Update long comment for button modifiers, timestamps.
11885
11886         * events.h (struct event_stream):
11887         New current_event_timestamp method.
11888
11889         * extents.c:
11890         * extents.c (extent_in_region_p):
11891         * extents.c (decode_extent):
11892         * extents.c (Fset_extent_parent):
11893         * extents.c (decode_map_extents_flags):
11894         Fix gcc warnings.
11895         [9].
11896
11897         * extents.c (struct extent_at_arg):
11898         * extents.c (decode_extent_at_flag):
11899         * extents.c (extent_at_mapper):
11900         * extents.c (extent_at_bytind):
11901         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11902         * extents.c (Fextents_at): New primitive. [9].
11903         * extents.c (symbol_to_glyph_layout): [9].
11904         Support new primitive `extents-at'.
11905
11906
11907         * extents.c (get_text_property_bytind):
11908         extent_at_bytind has another arg.
11909         [9].
11910
11911         * extents.c (syms_of_extents): New primitive.
11912
11913         * file-coding.c (Fmake_coding_system): [1].
11914         * file-coding.c (subsidiary_coding_system): fix gcc warning
11915         * file-coding.c (syms_of_file_coding): [2].
11916
11917         * fileio.c (Fexpand_file_name):
11918         * fileio.c (Fsysnetunam):
11919         * fileio.c (Ffile_exists_p):
11920         * fileio.c (Ffile_executable_p):
11921         * fileio.c (Fverify_visited_file_modtime):
11922         Clean up GCPROing.
11923
11924         * fileio.c (syms_of_fileio): [2].
11925
11926         * filelock.c (lock_file_1):
11927         * filelock.c (current_lock_owner):
11928         * filelock.c (lock_if_free):
11929         * filelock.c (lock_file):
11930         * filelock.c (unlock_file):
11931         Clean up GCPROing.
11932
11933         * fns.c (concat): Fix gcc warning.
11934
11935         * fns.c (Fmember):
11936         * fns.c (Fold_member):
11937         * fns.c (Fmemq):
11938         * fns.c (Fold_memq):
11939         * fns.c (memq_no_quit):
11940         * fns.c (Fassoc):
11941         * fns.c (Fold_assoc):
11942         * fns.c (Fassq):
11943         * fns.c (Fold_assq):
11944         * fns.c (assq_no_quit):
11945         * fns.c (Frassoc):
11946         * fns.c (Fold_rassoc):
11947         * fns.c (Frassq):
11948         * fns.c (Fold_rassq):
11949         * fns.c (rassq_no_quit):
11950         * fns.c (Fdelete):
11951         * fns.c (Fold_delete):
11952         * fns.c (Fdelq):
11953         * fns.c (Fold_delq):
11954         * fns.c (delq_no_quit):
11955         * fns.c (Fremassoc):
11956         * fns.c (Fremassq):
11957         * fns.c (remassq_no_quit):
11958         * fns.c (Fremrassoc):
11959         * fns.c (Fremrassq):
11960         * fns.c (remrassq_no_quit):
11961         * fns.c (Freverse):
11962         * fns.c (mapcar1):
11963         [1].
11964
11965         * frame-msw.c (mswindows_init_frame_1):
11966         * frame-msw.c (mswindows_delete_frame):
11967         Register popups with dialog code so keyboard traversing works.
11968
11969         * frame-tty.c (tty_raise_frame_no_select): [1].
11970
11971         * frame-x.c:
11972         * frame-x.c (x_set_frame_text_value):
11973         * frame-x.c (x_set_frame_properties):
11974         * frame-x.c (x_create_widgets):
11975         [7].
11976
11977         * frame.c:
11978         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11979
11980         * frame.h (wrap_frame): New.
11981         Macro like wrap_device.
11982
11983         * general.c:
11984         * general.c (SYMBOL):
11985         * general.c (syms_of_general):
11986         Major reorg.  This is now just a wrapper and symbols themselves
11987         are listed in general-slots.h.
11988
11989         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11990         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11991
11992         * glyphs-msw.c (mswindows_native_layout_instantiate):
11993         Add DS_CONTROL so keyboard traversal will work.
11994
11995         * glyphs-widget.c:
11996         * glyphs-widget.c (syms_of_glyphs_widget):
11997         Move some symbols to general-slots.h.
11998
11999         * glyphs-x.c:
12000         * glyphs-x.c (xbm_instantiate_1):
12001         * glyphs-x.c (x_xbm_instantiate):
12002         * glyphs-x.c (x_xface_instantiate):
12003         * glyphs-x.c (autodetect_instantiate):
12004         * glyphs-x.c (cursor_font_instantiate):
12005         * glyphs-x.c (x_update_widget):
12006         * glyphs-x.c (x_widget_instantiate):
12007         * glyphs.c (bitmap_to_lisp_data):
12008         * glyphs.c (pixmap_to_lisp_data):
12009         [7].
12010
12011         * glyphs.c (syms_of_glyphs):
12012         [2].
12013
12014         * gui-x.c:
12015         * gui-x.c (print_widget_value):
12016         * gui-x.c (menu_separator_style_and_to_external):
12017         * gui-x.c (add_accel_and_to_external):
12018         * gui-x.c (button_item_to_widget_value):
12019         * gui-x.c (gui_items_to_widget_values_1):
12020         * gui-x.c (gui_items_to_widget_values):
12021         * gui-x.c (syms_of_gui_x):
12022         * gui-x.c (vars_of_gui_x):
12023         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12024         [9].
12025
12026         * gui-x.h:
12027         Muleize, prototype changes matching gui-x.c.
12028
12029         * gui.c:
12030         * gui.c (separator_string_p):
12031         * gui.c (gui_item_add_keyval_pair):
12032         * gui.c (make_gui_item_from_keywords_internal):
12033         * gui.c (signal_too_long_error):
12034         * gui.c (parse_gui_item_tree_item):
12035         * gui.c (syms_of_gui):
12036         * gui.c (vars_of_gui):
12037         * gui.h:
12038         menu-no-selection-hook moved here (used by MSWin).
12039         Move some symbols to general-slots.h.
12040         [6].
12041         [9].
12042
12043         * insdel.c (get_buffer_pos_char):
12044         * insdel.c (get_buffer_range_char):
12045         Add GC comments.
12046
12047         * keymap.c (keymap_lookup_directly):
12048         * keymap.c (keymap_store):
12049         * keymap.c (ensure_meta_prefix_char_keymapp):
12050         * keymap.c (describe_map):
12051         * keymap.h:
12052         Support new button modifiers.
12053
12054         * lisp-disunion.h (wrap_object):
12055         * lisp-disunion.h (XSETOBJ):
12056         Rename make_obj to wrap_object.
12057
12058         * lisp-union.h:
12059         * lisp-union.h (make_int):
12060         * lisp-union.h (make_char):
12061         Support wrap_object.
12062
12063         * lisp.h:
12064         * lisp.h (LIST_LOOP):
12065         * lisp.h (EXTERNAL_LIST_LOOP):
12066         * lisp.h (LIST_LOOP_2):
12067         * lisp.h (EXTERNAL_LIST_LOOP_1):
12068         * lisp.h (EXTERNAL_LIST_LOOP_2):
12069         * lisp.h (EXTERNAL_LIST_LOOP_3):
12070         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12071         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12072         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12073         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12074         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12075         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12076         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12077         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12078         * lisp.h (struct Lisp_Symbol):
12079         * lisp.h (maybe_continuable_error_with_frob):
12080         Fix up section comments.
12081         Add new types for char to indicate usage.
12082         Delete symbols auto-generated from general-slots.h.
12083         Add prototypes for structured error functions.
12084         Add long comments describing looping macros and change interface
12085         so that lvalues are automatically declared.
12086         Add NO_DECLARE macro in case callers want to declare lvalues
12087         themselves.
12088
12089         * lread.c (read_syntax_error):
12090         * lread.c (continuable_read_syntax_error):
12091         * lread.c (read_structure):
12092         * lread.c (sequence_reader):
12093         * lread.c (read_list_conser):
12094         * lread.c (read_compiled_function):
12095         Rename syntax_error and continuable_syntax_error to avoid clash
12096         with same-named structured error functions.
12097
12098         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12099         * menubar-msw.c (populate_menu_add_item):
12100         * menubar-msw.c (populate_or_checksum_helper):
12101         [5].
12102         [9].
12103
12104         * menubar-x.c:
12105         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12106         Mule-ize whole file.
12107
12108         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12109
12110         * mule-charset.c (Fmake_charset):
12111         * mule-wnnfns.c (Fwnn_set_param):
12112         [1].
12113
12114         * ntproc.c (create_child):
12115         * ntproc.c (Fwin32_set_current_locale):
12116         Add comments portending doom.
12117
12118         * objects-msw.c:
12119         * objects-msw.c (old_font_enum_callback_2):
12120         * objects-msw.c (font_enum_callback_1):
12121         * objects-msw.c (mswindows_enumerate_fonts):
12122         [5].
12123
12124         * objects-x.c:
12125         * objects-x.c (allocate_nearest_color):
12126         * objects-x.c (x_parse_nearest_color):
12127         * objects-x.c (x_initialize_color_instance):
12128         * objects-x.c (x_print_color_instance):
12129         * objects-x.c (x_finalize_color_instance):
12130         * objects-x.c (x_valid_color_name_p):
12131         * objects-x.c (x_initialize_font_instance):
12132         * objects-x.c (x_print_font_instance):
12133         * objects-x.c (valid_x_font_name_p):
12134         * objects-x.c (truename_via_FONT_prop):
12135         * objects-x.c (truename_via_random_props):
12136         * objects-x.c (truename_via_XListFonts):
12137         * objects-x.c (x_font_truename):
12138         * objects-x.c (x_font_instance_truename):
12139         * objects-x.c (x_font_instance_properties):
12140         * objects-x.c (x_list_fonts):
12141         * objects-x.c (x_find_charset_font):
12142         Mule-ize entire file.
12143         [7].
12144
12145         * objects-x.h:
12146         Mule-verify.
12147
12148         * print.c:
12149         * print.c (std_handle_out_external):
12150         * print.c (debug_print_no_newline):
12151         * print.c (syms_of_print):
12152         Output to all debugger kinds in debug-print.
12153         Fix console-output code under MSWin to actually work.
12154
12155         * process-nt.c (send_signal):
12156         * process-nt.c (nt_create_process):
12157         Use newer Unicode macros.
12158
12159         * process-unix.c (unix_create_process):
12160         * process-unix.c (unix_canonicalize_host_name):
12161         * process-unix.c (unix_open_network_stream):
12162         [7].
12163
12164         * scrollbar-x.c:
12165         Mule-verify.
12166
12167         * search.c (syms_of_search):
12168         [2].
12169
12170         * select-msw.c (mswindows_destroy_selection):
12171         Use LIST_LOOP_2.
12172
12173         * select-x.c (symbol_to_x_atom):
12174         [7].
12175
12176         * select.c (syms_of_select):
12177         [2].
12178
12179         * sound.c (Fplay_sound_file):
12180         [7].
12181
12182         * specifier.c:
12183         * specifier.c (decode_specifier_type):
12184         * specifier.c (Fvalid_specifier_locale_type_p):
12185         * specifier.c (check_valid_locale_or_locale_type):
12186         * specifier.c (decode_locale):
12187         * specifier.c (decode_locale_type):
12188         * specifier.c (decode_locale_list):
12189         * specifier.c (check_valid_domain):
12190         * specifier.c (decode_specifier_tag_set):
12191         * specifier.c (Fcanonicalize_tag_set):
12192         * specifier.c (Fdefine_specifier_tag):
12193         * specifier.c (Fspecifier_tag_predicate):
12194         * specifier.c (check_valid_inst_list):
12195         * specifier.c (check_valid_spec_list):
12196         * specifier.c (decode_how_to_add_specification):
12197         * specifier.c (check_modifiable_specifier):
12198         * specifier.c (specifier_add_spec):
12199         * specifier.c (boolean_validate):
12200         * specifier.c (display_table_validate):
12201         [9].
12202
12203         * specifier.c (syms_of_specifier):
12204         Move some symbols to general-slots.h.
12205         [2].
12206
12207         * symbols.c:
12208         * symbols.c (Fmapatoms):
12209         * symbols.c (Fapropos_internal):
12210         Add GCPROs.
12211
12212         * symbols.c (set_default_buffer_slot_variable):
12213         * symbols.c (set_default_console_slot_variable):
12214         [1].
12215
12216         * symbols.c (defsymbol_massage_name_1):
12217         * symbols.c (defkeyword_massage_name):
12218         * symbols.c (deferror_1):
12219         * symbols.c (deferror):
12220         * symbols.c (deferror_massage_name_and_message):
12221         * symeval.h:
12222         * symeval.h (DEFSYMBOL):
12223         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12224
12225         * symbols.c (syms_of_symbols):
12226         [2].
12227
12228         * symsinit.h:
12229         * symsinit.h (init_win32): New.
12230         Also new is syms_of_dialog_mswindows.
12231
12232         * syswindows.h:
12233         Add new Unicode macros, missing Cygwin wide-char functions,
12234         convenience conversion macros for Qmswindows_tstr, macros for
12235         encapsulating required MSWin <-> Cygwin filename conversions,
12236         prototype for dynamically-extracted (not in NT 3.51) functions.
12237
12238         * toolbar-x.c:
12239         Mule-verify.
12240
12241         * tooltalk.c (Fadd_tooltalk_message_arg):
12242         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12243         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12244         [7].
12245
12246         * tooltalk.c (syms_of_tooltalk):
12247         [2].
12248
12249         * unexnt.c:
12250         * unexnt.c (unexec):
12251         Fix up headers, declaration of unexec() to be more standard.
12252
12253 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12254
12255         * offix.h: Revert change to guard macros - they're used in offix.c!
12256
12257 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12258
12259         * lisp.h: Defsubred Fdelete.
12260
12261         * console-msw.h:  (msprinter_default_printer): Added.
12262
12263         * console-msw.c (msprinter_canonicalize_console_connection):
12264         (msprinter_canonicalize_device_connection): Added.
12265
12266         * device-msw.c (msprinter_default_printer):
12267         (Fmswingows_get_default_printer):
12268         (signal_enum_priner_error):
12269         (Fmswingows_printer_list): Added.
12270
12271 2000-07-19  Martin Buchholz <martin@xemacs.org>
12272
12273         * XEmacs 21.2.35 is released.
12274
12275 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12276
12277         * select-x.c (x_handle_selection_request):
12278         Text selected in xemacs and pasted into xterm failed to appear.
12279         Spelling fixes and cosmetic changes.
12280
12281 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12282
12283         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12284         XEmacs frame (fix for doubling chars in dialog boxes).
12285
12286 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12287
12288         * select.c (select_convert_in, select_convert_out):
12289         Don't call intern() every time.
12290
12291         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12292         * select.c (vars_of_select): Initialise them.
12293
12294 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12295
12296         * select.c (selection-coercible-types): New.
12297
12298         * select.c (own-selection-internal):
12299         * select.c (get-selection-internal):
12300         MULE bug fix - these should default to COMPOUND_TEXT and not
12301         STRING for MULE. I think.
12302
12303         * select.c (select_convert_out): Use selection-coercible-types
12304         to find types that we can attempt to perform coercions on.
12305
12306 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12307
12308         * mule-wnnfns.c:
12309         * mule-canna.c:
12310         Add coding: cookie to identify encoding.
12311
12312         * mule-canna.c (CANNA_mode_keys): make static.
12313         Use proper prototypes, even for functions of no arguments.
12314         Remove external prototype for Fding().
12315
12316         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12317
12318         * select.c (syms_of_select): Add missing DEFSUBR.
12319
12320 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12321
12322         * select.c (get_selection_internal, own_selection_internal):
12323         Make the type default to STRING, rather than placing a nil type
12324         into Vselection_alist.
12325
12326 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12327
12328         * gpmevent.c (tty_selection_exists_p):
12329         * gpmevent.c (tty_own_selection):
12330         Updated parameter lists.
12331
12332 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12333
12334         * select.h (selection-alist): Removed declaration.
12335
12336         * select.h (get_local_selection):
12337         * select.c (get_local_selection):
12338         Made static.
12339
12340         * select.h (convert_selection): Removed declaration.
12341         * select.c (convert_selection): Removed.
12342         This function belongs in Lisp.
12343
12344         * select.h (select_convert_in): Declare.
12345         * select.h (select_convert_out): Declare.
12346         * select.c (select_convert_in): New.
12347         * select.c (select_convert_out): New.
12348         New conversion functions for other files to call.
12349
12350         * select.h (select_notify_buffer_kill): Declare.
12351         * select.c (select_notify_buffer_kill): New.
12352         New functions that get called from kill-buffer.
12353
12354         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12355         X-specific lisp code.
12356
12357         * select.h: Declare some of the lisp-visible functions for
12358         external use.
12359
12360         * select.c (clean_local_selection_data): Removed. This was
12361         a disgusting function, and previously should have been in
12362         select-x.c in any case. The functionality is now provided
12363         in select-convert-from-integer (select.el).
12364
12365         * select.c (available-selection-types): Fixed stupidity where
12366         INTEGER and ATOM got added twice. Also add STRING when we see an
12367         extent.
12368
12369         * select.c (get-selection-internal): Removed symbol stripping. No
12370         longer causes conversion when data comes from the internal cache.
12371
12372         * select.c (syms_of_select): Added new functions.
12373
12374         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12375         error checking - previously this called abort!
12376
12377         * select-x.c (x_own_selection): Changed comment.
12378
12379         * select-x.c (x_handle_selection_request): Use select_convert_out.
12380         Don't mess with selection-alist; it's an internal variable of select.c.
12381
12382         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12383
12384         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12385         rather than messing with selection-alist.
12386
12387         * select-msw.c (mswindows_get_foreign_selection):
12388         Use TO_INTERNAL_FORMAT rather than hacking.
12389
12390 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12391
12392         * process-unix.c (unix_open_multicast_group):
12393         (unix_open_multicast_group): Remove useless casts.
12394
12395 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12396
12397         * sound.c (Fplay_sound): Fix `unused variable' warning.
12398
12399         * emacs.c (main): Use correct type for _environ on SCO5.
12400
12401 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12402
12403         * console.h (own_selection_method):
12404         * console.h (selection_exists_p_method):
12405         * console.h (available_selection_types_method): New.
12406         * console.h (register_selection_data_type_method): New.
12407         * console.h (selection_data_type_name): New.
12408
12409         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12410         function & alist to track GlobalAlloc()'d handles that need
12411         releasing when the clipboard data gets replaced or emptied.
12412
12413         * event-msw.c (mswindows_wnd_proc): Call it.
12414
12415         * lisp.h, general.c (Qappend): New symbol representing a
12416         `how-to-add' mode.
12417
12418         * select.c (own-selection-internal):
12419         * select.c (selection-exists-p):
12420         * select.c (available-selection-types): New.
12421         * select.c (register-selection-data-type): New.
12422         * select.c (selection-data-type-name): New.  New functions to deal
12423         with device-specific selection data formats.
12424         * select.c (selection-converter-out-alist): Renamed.
12425         * select.c (selection-converter-in-alist): New.
12426         * select.c (selection-appender-alist): New.  Added new alists.
12427         * select.c (syms_of_select, vars_of_select): Added new symbols &
12428         variables.
12429         * select.c (get_local_selection): Split.
12430         * select.c: Removed spurious type checking - selections may now be
12431         of any type, not just strings.
12432         * select.c (own-selection-internal):
12433
12434         * select.h, select.c (convert_selection): New. Created
12435         convert_selection() function based on get_local_selection().
12436         * select.h, select.c (QCF_*): New symbols representing mswindows
12437         clipboard formats.
12438         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12439         symbols representing `how-to-add' modes.
12440
12441         * select-msw.c (x_sym_p): New.
12442         * select-msw.c (symbol_to_ms_cf): New.
12443         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12444         symbols & clipboard formats. Can also handle string names.
12445         * select-msw.c (mswindows_own_selection):
12446         * select-msw.c (mswindows_selection_exists_p):
12447         Added `data-type' parameter. Use it.
12448         * select-msw.c (mswindows_available_selection_types): New.
12449         * select-msw.c (mswindows_register_selection_data_type): New.
12450         * select-msw.c (mswindows_selection_data_type_name): New.
12451         * select-msw.c (mswindows_own_selection):
12452         * select-msw.c (mswindows_get_foreign_selection):
12453         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12454         * select-msw.c (console_create_select_mswindows): Added new methods.
12455         * select-msw.c (mswindows_destroy_selection): New.
12456         * select-msw.c (Vhandle_alist): New list.
12457         * select-msw.c (mswindows_own_selection):
12458
12459         * select-x.c (x_own_selection):
12460         * select-x.c (x_selection_exists_p):
12461         * select-x.c: Added some comments about maybe using new
12462         functionality.
12463         * select-x.c (x_own_selection):
12464
12465         * specifier.c: Remove definition of Qappend (now in general.c)
12466         * specifier.c (syms_of_specifier): Remove Qappend.
12467
12468 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12469
12470         * config.h.in: Add socklen_t.
12471
12472         * s/decosf4-0.h: No special compiler flags needed or desired.
12473         In particular, undefine _BSD for DEC OSF 4.0.
12474
12475 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12476
12477         * redisplay-msw.c (msprinter_frame_output_end): Added.
12478         (console_type_create_redisplay_mswindows): Referred the above.
12479
12480         * frame.c (setup_frame_without_minibuffer): Do not create a
12481         default minibuffer frame on a printer device.
12482
12483         * frame-msw.c (apply_dc_geometry): Added.
12484         (msprinter_start_page):
12485         (msprinter_init_frame_3):
12486         (msprinter_eject_page): Use it.
12487
12488         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12489         and removed residual duplex and orientation properties.
12490
12491 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12492
12493         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12494
12495         * unexalpha.c: Remove system prototypes from C sources!
12496
12497 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12498
12499         * eval.c: Remove references to M-x edit-options in DEFUNs for
12500         `defvar' and `defconst'.
12501
12502 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12503
12504         * config.h.in: Remove SMART_INCLUDE hackery.
12505
12506         PostgreSQL hacking:
12507         * config.h.in: Don't use SMART_INCLUDE.
12508
12509         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12510         * inline.c: Simply #include "postgresql.h"
12511         * postgresql.c:
12512         - Don't use SMART_INCLUDE
12513         - Use simply "const".
12514         - Use standard doc string conventions.
12515         - Use correct type for result of PQstatus.
12516
12517 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12518
12519         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12520
12521         C++ compilation changes.
12522         * config.h.in (EXTERN_C): Define.
12523         * config.h.in (not): This is also a C++ keyword.
12524         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12525         * cm.c: Use EXTERN_C.
12526         * redisplay-tty.c: Use EXTERN_C.
12527         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12528
12529 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12530
12531         * general.c: Remove duplicate definition for Qfunction.
12532
12533 2000-07-08  Ben Wing  <ben@xemacs.org>
12534
12535         * device-msw.c (msprinter_init_device):
12536         * device-msw.c (sync_printer_with_devmode):
12537         * device-msw.c (handle_devmode_changes):
12538         * device-msw.c (print_dialog_worker):
12539         * device-msw.c (Fmsprinter_apply_settings):
12540         * device-msw.c (hash_devmode):
12541         * device-msw.c (Fmsprinter_settings_despecialize):
12542         use Qmswindows_tstr, not Qctext.
12543
12544         * vm-limit.c (check_memory_limits):
12545         avoid infinite loop printing warning messages.
12546
12547 2000-07-05  Craig Lanning  <lanning@scra.org>
12548
12549         * Makefile.in.in: Add support for including the Windows resources
12550         when building with the cygwin and mingw targets.
12551
12552         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12553         not set or not correct.
12554         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12555         (init_initial_directory): Don't try to use $PWD on the
12556         WIN32_NATIVE target.
12557
12558         * s\cygwin32.h:
12559         [[Add -mwindows to eliminate console window.]] not required --ben
12560         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12561         (MAIL_USE_POP): removed; now handled by configure.
12562
12563         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12564         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12565         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12566         (MAIL_USE_POP): removed; now handled by configure.
12567         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12568         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12569         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12570         constant string.
12571         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12572         up from <winsock.h> via systime.h.
12573         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12574         (getpagesize): from Dan Holmsand, added.
12575         Added #endif which was left dangling by Ben's mega patch; added
12576         comment to help prevent this in the future.
12577
12578         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12579
12580 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12581
12582         * console-msw.h (struct mswindows_device): Removed unnecessary
12583         cached device geometry values.
12584         Added update_tick and an accessor macro.
12585         (Lisp_Devmode): Added lrecord declaration.
12586         (struct msprinter_device): Contain devmode as a Lisp object.
12587         Added mswindows_get_selected_frame_hwnd();
12588
12589         * console.h (struct console_methods): Indentation nitpicking.
12590
12591         * device-msw.c (mswindows_init_device): Do not initialize geometry
12592         cache. Initialize update tick.
12593         (mswindows_device_system_metrics): Ask the device for its geometry.
12594         (global_free_2_maybe):
12595         (devmode_to_hglobal):
12596         (handle_printer_changes):
12597         (ensure_not_printing):
12598         (print_dialog_worker):
12599         (Fmsprinter_print_setup_dialog):
12600         (Fmsprinter_print_dialog):
12601         (plist_get_margin):
12602         (plist_set_margin):
12603         (Fmsprinter_page_setup_dialog): Added functions.
12604         (sync_printer_with_devmode):
12605         (handle_devmode_changes):
12606         (Fmsprinter_get_settings):
12607         (Fmsprinter_select_settings):
12608         (Fmsprinter_apply_settings):
12609         (allocate_devmode):
12610         (Fmsprinter_settings_copy):
12611         (Fmsprinter_settings_despecialize):
12612         (print_devmode):
12613         (finalize_devmode):
12614         (equal_devmode):
12615         (hash_devmode): Added functions
12616         (syms_of_device_mswindows): Init devmode lrecord class.
12617
12618         * device.h: Added an exfun for find-device.
12619
12620         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12621         geometry; although, recreate the device compatible DC.
12622
12623         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12624         (msprinter_init_frame_3):
12625         (msprinter_frame_property):
12626         (msprinter_internal_frame_property_p):
12627         (msprinter_frame_properties):
12628         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12629         print job properties (will move to device settings).
12630
12631         * lisp.h: Added symbols.
12632
12633         * general.c (syms_of_general): Declared them.
12634
12635         * hash.c (string_hash): Added.
12636
12637         * lrecord.h (lrecord_type): Added devmode lrecord type.
12638
12639 2000-07-02  Mike Sperber <mike@xemacs.org>
12640
12641         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12642         FreeBSD 4.0.
12643
12644 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12645
12646         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12647         integer.
12648
12649 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12650
12651         * data.c (Fstring_to_number): Don't recognize floating point if
12652         base is not 10.
12653
12654 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12655
12656         * glyphs-widget.c (tab_control_query_geometry):
12657         (widget_query_geometry):
12658         (button_query_geometry):
12659         * glyphs.c (text_query_geometry):
12660         Enforce type correctness.
12661
12662 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12663
12664         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12665         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12666
12667 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12668
12669         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12670         conflicts with gcc's fixincluded version of FOO.h.
12671
12672         * glyphs.h (image_instance_geometry): Remove trailing `,'
12673
12674 2000-06-08  Mike Alexander  <mta@arbortext.com>
12675
12676         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12677         (shove_thread): Don't write the same output twice
12678         (make_ntpipe_output_stream): Increase priority of shove thread
12679         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12680         chance to run
12681         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12682         it.
12683
12684 2000-06-12  Ben Wing  <ben@xemacs.org>
12685
12686         * s\mingw32.h (sigset):
12687         * s\windowsnt.h (sigset):
12688         rename msw_ to mswindows_ for consistency with general convention.
12689
12690 2000-06-12  Ben Wing  <ben@xemacs.org>
12691
12692         * console-msw.c:
12693         * console-msw.c (mswindows_get_console_hwnd):
12694         * console-msw.c (mswindows_ensure_console_allocated):
12695         * console-msw.c (mswindows_hide_console):
12696         * console-msw.c (mswindows_show_console):
12697         * console-msw.c (mswindows_ensure_console_buffered):
12698         * console-msw.c (mswindows_output_console_string):
12699         * console-msw.c (mswindows_windows9x_p):
12700         * console-msw.h:
12701         * device-msw.c (mswindows_get_workspace_coords):
12702         * device-msw.c (mswindows_device_system_metrics):
12703         * dialog-msw.c (mswindows_popup_dialog_box):
12704         * event-msw.c (mswindows_wnd_proc):
12705         * frame-msw.c (mswindows_size_frame_internal):
12706         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12707         * menubar-msw.c (displayable_menu_item):
12708         * menubar-msw.c (mswindows_char_is_accelerator):
12709         * nt.c:
12710         * nt.c (mswindows_sigset):
12711         * nt.c (mswindows_sigrelse):
12712         * nt.c (mswindows_sigpause):
12713         * nt.c (mswindows_raise):
12714         * nt.c (timer_proc):
12715         * ntproc.c:
12716         * ntproc.c (find_child_console):
12717         * ntproc.c (sys_kill):
12718         * print.c:
12719         * print.c (std_handle_out_external):
12720         * process-nt.c (find_child_console):
12721         * process-nt.c (send_signal_the_95_way):
12722         * process-nt.c (ensure_console_window_exists):
12723         * process-nt.c (nt_create_process):
12724         * syssignal.h:
12725         rename msw_ to mswindows_ for consistency with general convention.
12726
12727         * emacs.c:
12728         * dumper.c:
12729         include nt.h, not syswindows.h.
12730
12731         * nt.c (mswindows_fstat):
12732         * nt.c (mswindows_stat):
12733         prefix mswindows_ instead of attempting to directly override the
12734         library functions.  fix declarations.
12735
12736         * nt.h:
12737         include syswindows.h.  move some sysdep.h stuff here.
12738
12739         * ntheap.h:
12740         include syswindows.h, not <windows.h>.
12741
12742         * ntplay.c:
12743         clean up headers.
12744
12745         * sysdep.c:
12746         clean up headers.
12747
12748         * sysdep.c (sys_fstat):
12749         * sysdep.c (sys_stat):
12750         call mswindows versions when appropriate.
12751
12752         * sysdep.h:
12753         move mswin decls to nt.h.
12754
12755         * syswindows.h:
12756         add long comment describing appropriate use of the various windows
12757         headers.
12758
12759 2000-06-11  Ben Wing  <ben@xemacs.org>
12760
12761         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12762
12763 2000-06-10  Ben Wing  <ben@xemacs.org>
12764
12765         * Makefile.in.in (release):
12766         Correction to make sure xemacs.exe always dumped when correct.
12767
12768         * alloca.c:
12769         * balloon_help.c:
12770         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12771
12772         * buffer.c (set_buffer_internal):
12773         [[[[2]]]]: Remove HAVE_FEP code.
12774
12775         * buffer.c (init_initial_directory):
12776         [3].
12777
12778         * bytecode.c:
12779         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12780         individual files.
12781
12782         * callproc.c:
12783         * callproc.c (call_process_cleanup):
12784         * callproc.c (Fold_call_process_internal):
12785         * callproc.c (child_setup):
12786         * callproc.c (getenv_internal):
12787         * callproc.c (init_callproc):
12788         * callproc.c (vars_of_callproc):
12789         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12790         __CYGWIN32__ -> CYGWIN.
12791         DOS_NT -> WIN32_NATIVE.
12792         Remove MSDOS support/references, converting to WIN32_NATIVE
12793           where correct.
12794         __MINGW32__ -> MINGW.
12795         Fix windows.h includes.
12796         Remove bogus HAVE_NTGUI.
12797
12798         * config.h.in:
12799         [2].
12800
12801         * console-msw.c:
12802         mswindows_message_outputted added for use in allowing startup
12803         errors on the console to be seen.
12804
12805         * console-msw.c (msw_ensure_console_allocated):
12806         * console-msw.c (msw_output_console_string):
12807         * console-msw.c (DHEADER):
12808         * console-msw.c (DOPAQUE_DATA):
12809         * console-msw.c (DEVENT):
12810         * console-msw.c (DCONS):
12811         * console-msw.c (DCONSCDR):
12812         * console-msw.c (DSTRING):
12813         * console-msw.c (DVECTOR):
12814         * console-msw.c (DSYMBOL):
12815         * console-msw.c (DSYMNAME):
12816         Fix warnings.
12817
12818         * console-stream.c (stream_init_console):
12819         Fix text/binary problems.
12820
12821         * device-msw.c:
12822         * device-msw.c (mswindows_finish_init_device):
12823         * device-msw.c (mswindows_delete_device):
12824         [1].
12825
12826         * device.c (handle_asynch_device_change):
12827         [3].
12828
12829         * dgif_lib.c:
12830         * dgif_lib.c (DGifOpenFileName):
12831         * dgif_lib.c (DGifOpenFileHandle):
12832         * dgif_lib.c (DGifGetLine):
12833         * dgif_lib.c (DGifGetPixel):
12834         Added config.h/lisp.h, fix up includes.
12835         [1].
12836
12837         * dired-msw.c:
12838         [4].
12839
12840         * dired.c:
12841         * dired.c (file_name_completion):
12842         * dired.c (Ffile_attributes):
12843         * dired.c (syms_of_dired):
12844         [1].
12845
12846         * dumper.c:
12847         * dumper.c (pdump_file_unmap):
12848         * dumper.c (pdump_load):
12849         [1].
12850
12851         * editfns.c:
12852         * editfns.c (Ftemp_directory):
12853         * editfns.c (user_login_name):
12854         * editfns.c (Fuser_real_login_name):
12855         * editfns.c (get_home_directory):
12856         [1].
12857
12858         * elhash.c (finish_marking_weak_hash_tables):
12859         [[[[5]]]]: Fix GCC warnings.
12860
12861         * emacs.c:
12862         * emacs.c (mswindows_handle_hardware_exceptions):
12863         * emacs.c (make_arg_list_1):
12864         * emacs.c (main_1):
12865         * emacs.c (Fkill_emacs):
12866         * emacs.c (Fdump_emacs):
12867         [1].
12868         Fix problems with nested crashes, add long comment.
12869
12870         * event-Xt.c (init_event_Xt_late):
12871         [1].
12872
12873         * event-msw.c:
12874         * event-msw.c (mswindows_dde_callback):
12875         * event-msw.c (mswindows_handle_sticky_modifiers):
12876         * event-msw.c (mswindows_wnd_proc):
12877         [1].
12878         [5].
12879
12880         * events.c (character_to_event):
12881         [1].
12882
12883         * fileio.c:
12884         * fileio.c (Ffile_name_directory):
12885         * fileio.c (Ffile_name_nondirectory):
12886         * fileio.c (directory_file_name):
12887         * fileio.c (Fexpand_file_name):
12888         * fileio.c (Fsubstitute_in_file_name):
12889         * fileio.c (Ffile_name_absolute_p):
12890         * fileio.c (check_executable):
12891         * fileio.c (Ffile_readable_p):
12892         * fileio.c (Ffile_accessible_directory_p):
12893         * fileio.c (Ffile_modes):
12894         * fileio.c (Funix_sync):
12895         * fileio.c (vars_of_fileio):
12896         [1]. [4].
12897
12898         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12899
12900         Expand getdefdir defn.
12901         Fix bogus rename() comment.
12902
12903         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12904         to use standard XEmacs include files, e.g. sysfile.h, rather
12905         than system-specific includes.
12906
12907         * fns.c:
12908         * fns.c (Fsubseq):
12909         [5]. [6].
12910
12911         * frame.c (vars_of_frame):
12912         [1].
12913
12914         * getloadavg.c:
12915         * getloadavg.c (getloadavg):
12916         [1]. [6].
12917         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12918         (We don't use it elsewhere in the code; just add a comment.)
12919
12920         * gif_io.c:
12921         [6].
12922         Add config.h.
12923
12924         * glyphs-msw.c:
12925         * glyphs-msw.c (mswindows_resource_instantiate):
12926         [1].
12927
12928         * glyphs-x.c (x_native_layout_instantiate):
12929         [5].
12930
12931         * gui-msw.c (Fmswindows_shell_execute):
12932         [1].
12933
12934         * insdel.c:
12935         [4].
12936
12937         * lisp.h:
12938         [4]. [5].
12939
12940         * lread.c (locate_file_in_directory_mapper):
12941         [1].
12942
12943         * lstream.c:
12944         [4].
12945
12946         * mem-limits.h:
12947         * mem-limits.h (get_lim_data):
12948         [1].
12949
12950         * menubar-msw.c:
12951         [4].
12952
12953         * ndir.h:
12954         [1].
12955
12956         * nt.c:
12957         * nt.c (getwd):
12958         * nt.c (closedir):
12959         * nt.c (rva_to_section):
12960         * nt.c (mswindows_executable_type):
12961         [1]. [6].
12962         Fix closedir() defn.
12963
12964         * nt.h:
12965         [[[[8]]]]: *_OK defs moved to sysfile.h.
12966
12967         * ntproc.c:
12968         [6]. [7].
12969
12970         * objects-x.c:
12971         [4].
12972
12973         * print.c:
12974         * print.c (std_handle_out_external):
12975         [1]. [4].
12976
12977         * process-nt.c:
12978         * process-nt.c (nt_create_process):
12979         [6].
12980         try to fix process quoting somewhat.
12981
12982         * process-unix.c (unix_create_process):
12983         [1].
12984
12985         * process.c:
12986         * process.c (vars_of_process):
12987         Add Vnull_device.
12988
12989         * process.h:
12990         [1].
12991
12992         * realpath.c:
12993         * realpath.c (xrealpath):
12994         [1].
12995
12996         * redisplay-tty.c (init_tty_for_redisplay):
12997         [3].
12998
12999         * redisplay.c:
13000         [4]. [6].
13001
13002         * scrollbar-msw.c:
13003         [4].
13004
13005         * sheap.c:
13006         * sheap.c (more_static_core):
13007         * sheap.c (report_sheap_usage):
13008         [5]. [6].
13009
13010         * signal.c:
13011         * signal.c (alarm_signal):
13012         [1]. [6].
13013
13014         * sound.c:
13015         [6].
13016
13017         * strftime.c:
13018         * strftime.c (zone_name):
13019         [1]. [5].
13020
13021         * symsinit.h (init_sunpro):
13022         [1].
13023
13024         * syscommctrl.h:
13025         commctrl.h not in Cygwin b20.1.
13026
13027         * sysdep.c:
13028         * sysdep.c (endif):
13029         * sysdep.c (sys_subshell):
13030         * sysdep.c (init_baud_rate):
13031         * sysdep.c (emacs_get_tty):
13032         * sysdep.c (emacs_set_tty):
13033         * sysdep.c (tty_init_sys_modes_on_device):
13034         * sysdep.c (init_system_name):
13035         * sysdep.c (sys_open):
13036         * sysdep.c (interruptible_open):
13037         * sysdep.c (sys_fopen):
13038         * sysdep.c (sys_mkdir):
13039         * sysdep.c (sys_rename):
13040         * sysdep.c (get_process_times_1):
13041         [1]. [6].
13042
13043         * sysdep.h:
13044         [1].
13045
13046         * sysdir.h:
13047         * sysdir.h (DIRENTRY_NONEMPTY):
13048         [1]. [6].
13049
13050         * sysdll.c (dll_init):
13051         * sysdll.h:
13052         [1].
13053
13054         * sysfile.h:
13055         [1]. [6]. [8].
13056         added text/binary defs.
13057
13058         * sysfloat.h:
13059         [1].
13060
13061         * sysproc.h:
13062         * sysproc.h (EDESTADDRREQ):
13063         * sysproc.h (poll_fds_for_input):
13064         [1]. [6].
13065
13066         * syspwd.h:
13067         [6].
13068
13069         * syssignal.h:
13070         [1].
13071
13072         * systime.h:
13073         [1]. [6].
13074
13075         * systty.h:
13076         [1].
13077
13078         * syswindows.h:
13079         [1].
13080         Always define WIN32_LEAN_AND_MEAN.
13081
13082         * unexcw.c (unexec):
13083         [5].
13084
13085         * unexec.c:
13086         * unexec.c (copy_text_and_data):
13087         * unexec.c (adjust_lnnoptrs):
13088         [1].
13089
13090         * unexnt.c:
13091         * unexnt.c (_start):
13092         [1].
13093
13094 2000-06-07  Ben Wing  <ben@xemacs.org>
13095
13096         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13097         was used only as a model.  We've long since extracted any useful
13098         logic or code out of this. (I just did an exhaustive search.)
13099
13100         * s\msdos.h: Removed.
13101
13102         * s\windows95.h: Removed.
13103
13104 2000-06-10  Ben Wing  <ben@xemacs.org>
13105
13106         * s\cygwin32.h:
13107         [1]. [5].
13108         Don't use extern with fun defs.
13109
13110         * s\mingw32.h:
13111         [1]. [7].
13112         Remove nt\inc include.
13113         Remove getdisk, getdefdir. (The former is unused, the latter
13114         expanded in fileio.h.)
13115
13116         * s\windowsnt.h:
13117         * s\windowsnt.h (WIN32_NATIVE):
13118         * s\windowsnt.h (HAVE_STRCASECMP):
13119         [1]. [7].
13120         Add long comment about preprocessor changes.
13121         Remove getdisk, getdefdir. (The former is unused, the latter
13122         expanded in fileio.h.)
13123
13124 2000-06-10  Ben Wing  <ben@xemacs.org>
13125
13126         * m\arm.h:
13127         * m\delta.h:
13128         * m\intel386.h:
13129         * m\sequent.h:
13130         * m\template.h:
13131         * m\windowsnt.h:
13132         [1].
13133         Remove bogus/unused NO_SOCK_SIGIO.
13134
13135 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13136
13137         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13138         not an Emchar.
13139
13140 2000-06-04  Mike Sperber <mike@xemacs.org>
13141
13142         * casetab.c (set_case_table): For `set-standard-case-table',
13143         actually deposit the new case tables where the rest of XEmacs can
13144         see them.
13145
13146 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13147
13148         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13149
13150 2000-06-05  Ben Wing  <ben@xemacs.org>
13151
13152         * callproc.c (child_setup): Don't do close_load_descs() under
13153         MS Windows.  Put in a comment explaining why.
13154
13155 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13156
13157         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13158         Toolkit shell" which breaks `kill-compilation' on Windows NT
13159         native, retaining STDERR handling improvements.
13160
13161 2000-06-01  Andreas Jaeger  <aj@suse.de>
13162
13163         * s/s390.h: Support for S390, based on a patch by Martin
13164         Schwidefsky <schwidefsky@de.ibm.com>.
13165
13166 2000-05-30  Andy Piper  <andy@xemacs.org>
13167
13168         * window.c (allocate_window):
13169         (make_dummy_parent):
13170         (Fset_window_configuration): use new hashtable type.
13171
13172         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13173         (struct image_instantiator_methods):
13174         (struct Lisp_Image_Instance): make instance geometry signed.
13175
13176         * glyphs.c (instantiate_image_instantiator):
13177         (image_instance_query_geometry):
13178         (image_instance_layout):
13179         (image_instance_layout):
13180         (query_string_geometry):
13181         (text_query_geometry):
13182         (image_instantiate):
13183         (image_instantiate):
13184         (cache_subwindow_instance_in_frame_maybe):
13185         (subwindow_query_geometry): make instance geometry signed.
13186
13187         * glyphs-widget.c (widget_query_geometry):
13188         (widget_layout):
13189         (button_query_geometry):
13190         (tree_view_query_geometry):
13191         (tab_control_query_geometry):
13192         (layout_query_geometry):
13193         (layout_layout):
13194         (native_layout_layout): make instance geometry signed.
13195
13196 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13197
13198         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13199         constant.
13200
13201         * general.c (syms_of_general): Add Qfull_assoc symbol.
13202
13203         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13204         correctly.
13205         (decode_weak_list_type): Decode full-assoc type.
13206         (encode_weak_list_type): Encode full-assoc type.
13207         (Fmake_weak_list): Update doc string.
13208
13209 2000-05-30  Andy Piper  <andy@xemacs.org>
13210
13211         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13212
13213         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13214         (decode_hash_table_weakness): ditto.
13215         (Fhash_table_weakness): ditto.
13216         (Fhash_table_type): ditto.
13217         (finish_marking_weak_hash_tables): ditto.
13218         (hash_table_weakness_validate): ditto.
13219         (syms_of_elhash): ditto.
13220
13221 2000-05-28  Martin Buchholz <martin@xemacs.org>
13222
13223         * XEmacs 21.2.34 is released.
13224
13225 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13226
13227         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13228         start cache.
13229         (updating_line_start_cache): Gone.
13230         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13231         generic code to force a minimum of 1 line laid out in the
13232         CMOTION_DISP case.
13233
13234 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13235
13236         * glyphs.c (instantiate_image_instantiator): Check for initialized
13237         height & width no longer special cases IMAGE_NOTHING.
13238         (nothing_instantiate): Set height and width of instance.
13239
13240 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13241
13242         * unexelf.c (unexec): Search for ".data" section.
13243         Initialize new_data2_offset from old_data_index.
13244         Remove redundant check for ElfW.
13245
13246 2000-05-23  Andy Piper  <andy@xemacs.org>
13247
13248         * glyphs.c (get_image_instantiator_governing_domain): allow more
13249         specific domains as the governing domain rather than expecting an
13250         exact match. This fixes problems with layouts.
13251
13252 2000-05-22  Andy Piper  <andy@xemacs.org>
13253
13254         * redisplay-output.c (compare_runes): check for non-images
13255
13256         * glyphs.c (set_glyph_dirty_p): ditto.
13257         (update_glyph_cachel_data): ditto.
13258
13259         * glyphs-widget.c (layout_post_instantiate): ditto.
13260         (layout_post_instantiate): ditto.
13261
13262         * event-msw.c (mswindows_wnd_proc): warning removal.
13263
13264 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13265
13266         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13267
13268         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13269
13270         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13271
13272         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13273         (mswindows_executable_type): mingw32 now has enough headers for
13274         this to work.
13275
13276 2000-05-20  Andy Piper  <andy@xemacs.org>
13277
13278         * console-msw.c (mswindows_output_last_error): ; -> ,
13279
13280 2000-05-12  Andy Piper  <andy@xemacs.org>
13281
13282         * console-msw.c (FROB): compare ints with ints.
13283
13284 2000-05-11  Andy Piper  <andy@xemacs.org>
13285
13286         * glyphs-x.c (x_finalize_image_instance): make minimal build
13287         happy.
13288
13289 2000-05-20  Ben Wing  <ben@xemacs.org>
13290
13291         * event-Xt.c:
13292         * event-Xt.c (vars_of_event_Xt):
13293         move modifier-keys-are-sticky to event-stream.c.
13294
13295         * event-msw.c:
13296         * event-msw.c (mswindows_enqueue_mouse_button_event):
13297         * event-msw.c (key_needs_default_processing_p):
13298         * event-msw.c (XEMSW_LCONTROL):
13299         * event-msw.c (mswindows_handle_sticky_modifiers):
13300         * event-msw.c (FROB):
13301         * event-msw.c (clear_sticky_modifiers):
13302         * event-msw.c (output_modifier_keyboard_state):
13303         * event-msw.c (output_alt_keyboard_state):
13304         * event-msw.c (mswindows_wnd_proc):
13305         * event-msw.c (mswindows_modifier_state):
13306         * event-msw.c (emacs_mswindows_handle_magic_event):
13307         implement sticky modifiers.
13308
13309         * event-stream.c:
13310         * event-stream.c (vars_of_event_stream):
13311         move modifier-keys-are-sticky here.
13312
13313         * lisp.h:
13314         add CHECK_FUNCTION.
13315
13316         * rangetab.c:
13317         implement map-range-table.
13318
13319
13320 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13321
13322         * redisplay-tty.c (reset_tty_modes):
13323         (tty_redisplay_shutdown): Adjust argument type to
13324         tty_frame_output_end.
13325
13326 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13327
13328         * eval.c (Fbacktrace): Don't output a line with only right
13329         parenthesis.
13330
13331 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13332
13333         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13334         (Fpq_reset_poll): Ditto.
13335
13336 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13337
13338         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13339
13340 2000-05-16  Ben Wing  <ben@xemacs.org>
13341
13342         * buffer.c:
13343         * buffer.c (dfc_convert_to/from_internal_format):
13344         * buffer.c (reinit_vars_of_buffer):
13345         Fix conversion functions to allow reentrancy.
13346
13347         * console-msw.c:
13348         * console-msw.c (mswindows_output_last_error):
13349         New fun, generally useful -- output a human-readable
13350         version of GetLastError() on the console.
13351
13352         * console-msw.h:
13353         * console-msw.h (struct mswindows_frame):
13354         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13355
13356         * console-stream.c (stream_output_begin):
13357         * console-stream.c (stream_output_end):
13358         * console-stream.c (stream_output_vertical_divider):
13359         * console-stream.c (stream_clear_region):
13360         * console-stream.c (stream_flash):
13361         * console-stream.c (console_type_create_stream):
13362         Delete blank stream methods, not needed.
13363
13364         * console.h (struct console_methods):
13365         Split begin/end methods into window and frame.
13366
13367         * event-msw.c:
13368         * event-msw.c (mswindows_handle_paint):
13369         * event-msw.c (output_alt_keyboard_state):
13370         * event-msw.c (mswindows_wnd_proc):
13371         * event-msw.c (vars_of_event_mswindows):
13372         Comment about problems with ignored-expose.
13373         Define mswindows-debug-events; not really implemented.
13374
13375         * frame-msw.c (mswindows_init_frame_1):
13376         random cleanups.
13377
13378         * glyphs-msw.c:
13379         * glyphs-msw.c (begin_defer_window_pos):
13380         * glyphs-msw.c (mswindows_unmap_subwindow):
13381         * glyphs-msw.c (mswindows_map_subwindow):
13382         * glyphs-msw.c (mswindows_resize_subwindow):
13383         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13384
13385         * glyphs.c (make_image_instance_1):
13386         Fix crash.
13387
13388         * gutter.c (Fredisplay_gutter_area):
13389         Use new begin/end methods.
13390
13391         * lisp.h (Dynarr_new2):
13392         New creation fun.
13393
13394         * redisplay-msw.c:
13395         * redisplay-msw.c (mswindows_frame_output_begin):
13396         * redisplay-msw.c (mswindows_frame_output_end):
13397         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13398         New begin/end methods -- handle DeferWindowPos.
13399
13400         * redisplay-output.c (redisplay_move_cursor):
13401         * redisplay-output.c (redraw_cursor_in_window):
13402         * redisplay-output.c (redisplay_update_line):
13403         * redisplay-output.c (redisplay_output_window):
13404         New begin/end methods.
13405
13406         * redisplay-tty.c:
13407         * redisplay-tty.c (tty_frame_output_begin):
13408         * redisplay-tty.c (tty_frame_output_end):
13409         * redisplay-tty.c (console_type_create_redisplay_tty):
13410         New begin/end methods.
13411
13412         * redisplay-x.c:
13413         * redisplay-x.c (x_window_output_begin):
13414         * redisplay-x.c (x_window_output_end):
13415         * redisplay-x.c (console_type_create_redisplay_x):
13416         New begin/end methods.
13417
13418         * redisplay.c (redisplay_frame):
13419         * redisplay.c (Fredisplay_echo_area):
13420         New begin/end methods.
13421         use MAYBE_DEVMETH for clear_frame; it may not exist.
13422
13423         * window.h (WINDOW_XFRAME):
13424         WINDOW_XFOO macros -- get locale and decode struct pointer.
13425
13426
13427 2000-05-12  Ben Wing  <ben@xemacs.org>
13428
13429         * emacs.c:
13430         * emacs.c (ensure_no_quitting_from_now_on):
13431         * emacs.c (fatal_error_signal):
13432         * emacs.c (mswindows_handle_hardware_exceptions):
13433         * emacs.c (main):
13434         * emacs.c (Fkill_emacs):
13435         * emacs.c (shut_down_emacs):
13436         * emacs.c (assert_failed):
13437         various improvements in fatal error handling.
13438
13439         * eval.c:
13440         move preparing_for_armageddon to emacs.c.
13441
13442         * lisp.h:
13443         declare fatal_error_in_progress.
13444
13445         * print.c:
13446         * print.c (std_handle_out_external):
13447         * print.c (std_handle_out_va):
13448         * print.c (stderr_out):
13449         * print.c (stdout_out):
13450         use console under mswin when no standard output.
13451         don't do code conversion during fatal error.
13452
13453         * scrollbar.c (Fscrollbar_page_up):
13454         * scrollbar.c (Fscrollbar_page_down):
13455         fix missing else.  reindent.
13456
13457 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13458
13459         Emergency fix.
13460
13461         * glyphs.h (GLYPH_CACHEL_DESCENT):
13462         (GLYPH_CACHEL_DESCENT):
13463         (GLYPH_CACHEL_DESCENT):
13464         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13465         used in case these are inline functions.
13466         Use more absurd values to error check.
13467
13468         include window.h for error check functions.
13469
13470 2000-05-11  Ben Wing  <ben@xemacs.org>
13471
13472         * cmdloop.c (Freally_early_error_handler):
13473         Display message box under windows; otherwise, message will disappear
13474         before it can be viewed.
13475
13476         * console-msw.c:
13477         * console-msw.c (Fmswindows_message_box):
13478         * console-msw.c (FROB):
13479         * console-msw.c (syms_of_console_mswindows):
13480         Define new fun `mswindows-message-box'.
13481         #### I will merge this into `popup-dialog-box'; just give me
13482         a bit of time.
13483
13484         * general.c:
13485         * general.c (syms_of_general):
13486         Some new symbols used in `mswindows-message-box'.
13487
13488         * glyphs.c:
13489         * glyphs.c (Fset_image_instance_property):
13490         put warning in this fun.
13491
13492         * glyphs.h:
13493         * glyphs.h (GLYPH_CACHEL_WIDTH):
13494         * glyphs.h (GLYPH_CACHEL_ASCENT):
13495         * glyphs.h (GLYPH_CACHEL):
13496         * glyphs.h (GLYPH_CACHEL_GLYPH):
13497         define error-checking versions to try to catch a bug i've seen --
13498         redisplay gets in an infinite loop because the glyph width of the
13499         continuation glyph is 65535.
13500
13501         * lisp.h:
13502         Extern message-box stuff.
13503
13504         * window.c (allocate_window):
13505         * window.c (make_dummy_parent):
13506         * window.c (Fset_window_configuration):
13507         Use EQUAL not EQ for subwindow caches to make them work a bit
13508         better. (Something is still very broken.)
13509
13510
13511 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13512
13513         * glyphs.c (image_instantiate): Suppress gcc warnings.
13514         (Fmake_image_instance): Fix doc string.
13515         * specifier.c (Fmake_specifier): Ditto.
13516
13517 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13518
13519         * paths.h.in (PATH_LOCK): Removed.
13520         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13521         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13522
13523 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13524
13525         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13526         Document (featurep '(and xemacs 21.02)).
13527
13528 2000-05-09  Ben Wing  <ben@xemacs.org>
13529
13530         * buffer.c (complex_vars_of_buffer):
13531         update modeline-format doc.
13532
13533         * device.h:
13534         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13535
13536         * emacs.c:
13537         timeline of all released versions of Emacs, for use in creating
13538         authorship comments and in synching up.
13539
13540         * glyphs-widget.c (image_instantiator_buttons):
13541         * glyphs-widget.c (image_instantiator_edit_fields):
13542         * glyphs-widget.c (image_instantiator_combo_box):
13543         * glyphs-widget.c (image_instantiator_scrollbar):
13544         * glyphs-widget.c (image_instantiator_progress_guage):
13545         * glyphs-widget.c (image_instantiator_tree_view):
13546         * glyphs-widget.c (image_instantiator_tab_control):
13547         * glyphs-widget.c (image_instantiator_labels):
13548         * glyphs-widget.c (image_instantiator_layout):
13549         * glyphs-widget.c (image_instantiator_native_layout):
13550         rename decode_domain method to governing_domain.
13551
13552         * glyphs.c:
13553         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13554         * glyphs.c (add_entry_to_device_ii_format_list):
13555         make sure we don't put an entry more than once into the list.
13556         * glyphs.c (check_instance_cache_mapper):
13557         *************************************************************
13558         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13559         HAVE BEEN GETTING.
13560         *************************************************************
13561         * glyphs.c (get_image_instantiator_governing_domain):
13562         clean up, expand on new concept of governing domain.
13563         * glyphs.c (instantiate_image_instantiator):
13564         * glyphs.c (allocate_image_instance):
13565         use governing_domain instead of cache_domain in naming.
13566         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13567         * glyphs.c (make_image_instance_1):
13568         * glyphs.c (Fmake_image_instance):
13569         allow for any domain (not just device), and process the
13570         governing domain correctly.  very big doc fix.
13571         * glyphs.c (Fimage_instance_domain):
13572         new primitive, to retrieve the governing domain of an image instance.
13573         * glyphs.c (image_instantiate):
13574         use new governing_domain stuff.  this fixes a crash you could get
13575         by instantiating certain widget glyphs in frame locales. (should
13576         signal an error instead of crashing.)
13577         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13578         * glyphs.c (Fglyphp): clean up doc.
13579         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13580         * glyphs.c (syms_of_glyphs):
13581         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13582         * glyphs.c (image_instantiator_format_create): add some comments about
13583         bogus code.
13584         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13585         for current-display-table. (Apparently Hrjove implemented in 1998 a
13586         design I wrote up in 1996, but didn't update the doc string.)
13587
13588         * glyphs.h: clean up a doc string.
13589         * glyphs.h (governing_domain):
13590         * glyphs.h (struct image_instantiator_methods):
13591         changes for governing_domain stuff.
13592
13593         * gutter.c:
13594         * gutter.c (Fgutter_specifier_p):
13595         * gutter.c (Fgutter_size_specifier_p):
13596         * gutter.c (Fgutter_visible_specifier_p):
13597         * objects.c:
13598         * objects.c (Fcolor_specifier_p):
13599         * objects.c (Ffont_specifier_p):
13600         * objects.c (Fface_boolean_specifier_p):
13601         doc strings moved to make-*-specifier.
13602
13603         * redisplay.c (add_disp_table_entry_runes_1):
13604         * redisplay.c (generate_fstring_runes):
13605         * redisplay.c (screen):
13606         add random comments and doc strings.
13607
13608         * specifier.c:
13609         * specifier.c (Fmake_specifier):
13610         major overhaul of this doc string.
13611
13612         * specifier.c (Fvalid_specifier_domain_p):
13613         comment about the bogosity of image instances being domains.
13614         * specifier.c (decode_domain):
13615         now non-static, used in glyphs.c.
13616         * specifier.c (specifier_instance):
13617         comment about the bogosity of image instances being domains.
13618         * specifier.c (Fgeneric_specifier_p):
13619         move doc string to make-generic-specifier.
13620         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13621         rebackslashify.
13622
13623         * specifier.h:
13624         * specifier.h (DOMAIN_FRAME):
13625         * specifier.h (DOMAIN_LIVE_P):
13626         * specifier.h (DOMAIN_XDEVICE):
13627         rebackslashify.
13628         add comments about problems with these macros.
13629         prototype for decode_domain.
13630
13631         * toolbar.c:
13632         * toolbar.c (Ftoolbar_specifier_p):
13633         move doc string to `make-toolbar-specifier'.
13634
13635         * window.c (window_unmap_subwindows_cache_mapper):
13636         *************************************************************
13637         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13638         HAVE BEEN GETTING.
13639         *************************************************************
13640
13641 2000-05-09  Andy Piper  <andy@xemacs.org>
13642
13643         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13644
13645         * window.c (Fset_window_configuration): reset the frame subwindow
13646         cache and re-initialize the window subwindow caches.
13647
13648         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13649
13650 2000-05-09  Ben Wing  <ben@xemacs.org>
13651
13652         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13653         DWORD.
13654
13655 2000-04-26  Mike Woolley  <mike@bulsara.com>
13656
13657         * ntheap.c: Changed recreate_heap to limit the amount reserved
13658         for the heap to that which is actually available. Also now
13659         displays a message box (with some dignostics) in the event that
13660         it still can't start.
13661
13662 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13663
13664         * callproc.c (Fold_call_process_internal): GCPRO path
13665
13666 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13667
13668         Patch by Bill Perry.
13669
13670         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13671         back data instead of #ifdef.
13672         (Fscrollbar_page_down): ditto.
13673
13674 2000-05-07  Ben Wing  <ben@xemacs.org>
13675
13676         * buffer.h:
13677         Kludge for defining Qmswindows_tstr.
13678
13679         * nt.c:
13680         * nt.c (open_input_file):
13681         * nt.c (open_output_file):
13682         * nt.c (rva_to_section):
13683         * nt.c (mswindows_executable_type):
13684         Move all memory-mapped-file routines here (some were in unexnt.c,
13685         which is bad because they are used by process-nt.c, and unexnt
13686         won't be around when portable dumping).  Synched the above routines
13687         with FSF 20.6.
13688
13689         * nt.h:
13690         Removed ifdef'd out bogus code.
13691         Fixed some prototypes.
13692
13693         * nt.h (file_data):
13694         * nt.h (OFFSET_TO_RVA):
13695         * nt.h (RVA_TO_OFFSET):
13696         * nt.h (RVA_TO_PTR):
13697         Moved the memory-mapped-file structures, macros and prototypes
13698         here, to parallel nt.c.  ntheap.h should really be removed
13699         entirely, and it's a non-portable-dumper specific file.
13700
13701         * ntheap.h (round_to_next):
13702         Moved the memory-mapped-file structures, macros and prototypes
13703         to nt.h.
13704
13705         * ntproc.c (compare_env):
13706         Moved rva_to_section and mswindows_executable_type to nt.c.
13707         Moved compare_env to process-nt.c.
13708         ntproc.c will die, one day.
13709
13710         * ntproc.c (sys_spawnve):
13711         Account for win32_ -> mswindows_.
13712
13713         * process-nt.c:
13714         * process-nt.c (struct nt_process_data):
13715         * process-nt.c (ensure_console_window_exists):
13716         * process-nt.c (compare_env):
13717         * process-nt.c (nt_create_process):
13718         * process-nt.c (nt_kill_process_by_pid):
13719         * process-nt.c (syms_of_process_nt):
13720         * process-nt.c (vars_of_process_nt):
13721         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13722         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13723         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13724         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13725         Move compare_env here from ntproc.c.
13726
13727         * process.c (Fprocess_send_region):
13728         Takes an optional fourth argument, BUFFER, which should fix some
13729         problems with call-process.
13730
13731         * syscommctrl.h:
13732         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13733
13734         * syswindows.h:
13735         Move ICC_BAR_CLASSES to syscommctrl.h.
13736         Add preliminary macros for MSWindows/Mule.  More to come.
13737
13738         * unexnt.c:
13739         * unexnt.c (unexec):
13740         open_output_file moved to nt.c.
13741
13742
13743 2000-05-05  Andy Piper  <andy@xemacs.org>
13744
13745         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13746         instance from the frame cache also since GC may catch up too late
13747         to make frame deletion sane.
13748
13749 2000-05-04  Andy Piper  <andy@xemacs.org>
13750
13751         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13752         (x_finalize_image_instance): ungcpro on deletion.
13753
13754         * glyphs.c (image_instantiator_format_create): give pointers a
13755         query geometry method so that the geometry is at least set.
13756
13757         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13758         initialize layouts if using widgets.
13759
13760 2000-05-03  Andy Piper  <andy@xemacs.org>
13761
13762         * nt.c: remove bogus reference to sysmmsystem.h
13763
13764         * gui-x.c (popup_selection_callback): fix no selection abort.
13765
13766 2000-05-02  Andy Piper  <andy@xemacs.org>
13767
13768         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13769         (mswindows_widget_instantiate): ditto.
13770
13771         * glyphs-widget.c (initialize_widget_image_instance): initialize
13772         children correctly.
13773         (widget_instantiate): cope with children and items in the same
13774         instance.
13775
13776         * glyphs.c (mark_image_instance): cope with children as a first
13777         class member.
13778         (image_instance_equal): ditto.
13779         (image_instance_hash): ditto.
13780         (image_instance_changed): ditto.
13781
13782 2000-04-30  Andy Piper  <andy@xemacs.org>
13783
13784         * glyphs.c (subwindow_query_geometry): new function. Return some
13785         defaults.
13786         (subwindow_instantiate): don't assign dimensions if none have been
13787         given.
13788         (image_instantiator_format_create): add subwindow_query_geometry.
13789         (print_image_instance): cope with layouts as widgets.
13790
13791 2000-04-29  Andy Piper  <andy@xemacs.org>
13792
13793         * frame.c (delete_frame_internal): call
13794         free_frame_subwindow_instance_cache so that all subwindows are
13795         finalized before their parent.
13796         (mark_frame): remove subwindow_cachels.
13797         (Fmake_frame): remove subwindow_cachel manipulation.
13798         (allocate_frame_core): subwindow_instance_cache is a weak list.
13799         (delete_frame_internal): set subwindow_instance_cache to nil.
13800
13801         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13802         finalization safe.
13803         (mswindows_finalize_image_instance): use the device
13804         not the domain as the domain may have died already.
13805
13806         * glyphs-x.c (x_finalize_image_instance): ditto.
13807         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13808         HEIGHT.
13809
13810         * redisplay-output.c (redisplay_unmap_subwindows): update for
13811         subwindow instance cache as a weak list.
13812         (redisplay_unmap_subwindows_maybe): ditto.
13813         (redisplay_unmap_subwindows_except_us): ditto.
13814
13815         * glyphs.c (unmap_subwindow): error checking will check the domain
13816         so don't deal with it here. Don't use cachels anymore.
13817         (map_subwindow): ditto.
13818         (update_subwindow_cachel_data): remove old accessor names.
13819         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13820         (Fresize_subwindow): don't update cachel.
13821         (mark_subwindow_cachels):
13822         (update_subwindow_cachel_data):
13823         (add_subwindow_cachel):
13824         (get_subwindow_cachel_index):
13825         (update_subwindow_cachel):
13826         (reset_subwindow_cachels):
13827         (mark_subwindow_cachels_as_not_updated): deleted.
13828         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13829         subwindow instance to the frame cache.
13830         (find_matching_subwindow): update for subwindow instance cache as
13831         a weak list.
13832         (update_widget_instances): ditto.
13833         (image_instance_type_to_mask):inlined.
13834         (free_frame_subwindow_instance_cache): new function. finalize all
13835         subwindows that are instantiated.
13836
13837         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13838         of cachel information.
13839         (IMAGE_INSTANCE_DISPLAY_X):
13840         (IMAGE_INSTANCE_DISPLAY_Y):
13841         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13842         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13843         (XIMAGE_INSTANCE_DISPLAY_X):
13844         (XIMAGE_INSTANCE_DISPLAY_Y):
13845         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13846         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13847         remove subwindow_cachel structure and function references.
13848         (image_instance_type_to_mask): inline from glyphs.c
13849
13850         * redisplay.c (redisplay_frame): remove subwindow_cachel
13851         references.
13852
13853         * frame.h (struct frame): remove subwindow_cachels.
13854         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13855
13856         * frameslots.h: add subwindow_instance_cache.
13857
13858         * window.c (replace_window): check subwindow cache of replacement.
13859         (window_unmap_subwindows_cache_mapper):
13860         (window_unmap_subwindows): new functions. Unmap all subwindows
13861         cached on this window.
13862         (mark_window_as_deleted): unmap all subwindows.
13863
13864 2000-04-27  Andy Piper  <andy@xemacs.org>
13865
13866         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13867
13868         * glyphs-widget.c (widget_layout): return something.
13869         (layout_layout): return something. Fail if not initialized.
13870         (layout_query_geometry): ditto.
13871         (image_instantiator_native_layout): new function. Initialized the
13872         native layout type.
13873         (widget_instantiate): don't do layout stuff here.
13874
13875         * glyphs.c (instantiate_image_instantiator): reorded calling or
13876         instantiate and post_instantiate with layout in between.
13877         (image_instance_layout): be more selective about deciding whether
13878         the layout has been done or not.
13879
13880         * glyphs.h (struct image_instantiator_methods): return a value
13881         from layout_method.
13882
13883 2000-04-26  Andy Piper  <andy@xemacs.org>
13884
13885         * glyphs.c (allocate_image_instance): make initial width and
13886         height unspecified. Set initialized to 0.
13887
13888         * syscommctrl.h new file. Encapsulates commctrl.h.
13889
13890         * syswindows.h new file. Encapsulates windows.h.
13891
13892         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13893         * nt.c: ditto.
13894         * console-msw.h: ditto.
13895
13896         * redisplay-tty.c (tty_output_display_block): remove layout references.
13897
13898         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13899         window handle rather than just the frame.
13900
13901         * glyphs.c (mark_image_instance): remove layout references.
13902         (print_image_instance): ditto.
13903         (image_instance_equal): ditto.
13904         (image_instance_hash): ditto.
13905         (decode_image_instance_type): ditto.
13906         (encode_image_instance_type): ditto.
13907         (image_instantiate): ditto.
13908         (allocate_glyph): ditto.
13909         (Fimage_instance_height): ditto.
13910         (Fimage_instance_width): ditto.
13911         (update_subwindow): ditto.
13912
13913         * redisplay-x.c (x_output_display_block): recode for layouts as
13914         widgets.
13915
13916         * redisplay-output.c (redisplay_output_layout): recode for layouts
13917         as widgets.
13918         (compare_runes): remove layout references.
13919
13920         * redisplay-msw.c (mswindows_output_display_block): recode for
13921         layouts as widgets.
13922
13923         * glyphs-widget.c (image_instantiator_layout): remove
13924         layout_possible_dest_types.
13925         (layout_possible_dest_types): deleted.
13926
13927         * glyphs.h (image_instance_type): remove layout references.
13928         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13929         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13930         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13931
13932 2000-04-25  Andy Piper  <andy@xemacs.org>
13933
13934         * glyphs-widget.c (image_instantiator_buttons):
13935         (image_instantiator_edit_fields):
13936         (image_instantiator_combo_box):
13937         (image_instantiator_scrollbar):
13938         (image_instantiator_progress_guage):
13939         (image_instantiator_tree_view):
13940         (image_instantiator_tab_control):
13941         (image_instantiator_labels):
13942         (image_instantiator_layout): call default post_instantiate method.
13943         (widget_post_instantiate): new function. Simply lays out the
13944         widgets.
13945
13946         * glyphs.h (struct image_instantiator_methods): add
13947         post_instantiate method.
13948
13949         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13950         method calls.
13951
13952 2000-04-23  Andy Piper  <andy@xemacs.org>
13953
13954         * glyphs.h (struct image_instantiator_methods): add
13955         decode_domain_method.
13956         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13957         derived from the domain.
13958         (IMAGE_INSTANCE_FRAME): new accessor.
13959         (XIMAGE_INSTANCE_FRAME): ditto.
13960
13961         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13962         instead of _SUBWINDOW_FRAME.
13963         (finalize_image_instance): ditto.
13964         (Fimage_instance_foreground): ditto.
13965         (Fimage_instance_background): ditto.
13966         (image_instantiate): ditto.
13967         (update_subwindow_cachel): ditto.
13968         (update_subwindow): ditto.
13969         (unmap_subwindow): ditto.
13970         (map_subwindow): ditto
13971         (subwindow_instantiate): ditto.
13972         * glyphs-msw.c (mswindows_update_widget): ditto.
13973         (mswindows_progress_gauge_instantiate): ditto.
13974         (mswindows_tab_control_update): ditto.
13975         * glyphs-x.c (x_update_widget): ditto.
13976         (x_widget_instantiate): ditto.
13977         (x_tab_control_instantiate): ditto.
13978         (x_tab_control_update): ditto.
13979         * event-msw.c (mswindows_wnd_proc): ditto
13980
13981         * glyphs-widget.c (image_instantiator_layout): use
13982         subwindow_decode_domain.
13983         (image_instantiator_buttons): ditto.
13984         (image_instantiator_edit_fields): ditto.
13985         (image_instantiator_combo_box): ditto.
13986         (image_instantiator_scrollbar): ditto.
13987         (image_instantiator_progress_guage): ditto.
13988         (image_instantiator_tree_view): ditto.
13989         (image_instantiator_tab_control): ditto.
13990         (image_instantiator_labels): ditto.
13991         (image_instantiator_layout): ditto.
13992
13993         * glyphs.c: add instance error checking to many functions.
13994         (instantiate_image_instantiator): decode device from cache_domain.
13995         (image_instantiate): partially rewrite by using
13996         decode_image_instantiator_domain to determine what domain the
13997         instance needs to be cached in.
13998         (decode_image_instantiator_domain): new function. Determine what
13999         domain the image needs to be cached in.
14000         (check_window_subwindow_cache): new error checking function.
14001         (check_instance_cache_mapper): ditto.
14002         (check_image_instance_structure): ditto.
14003         (subwindow_decode_domain): new function. Encodes a window as a
14004         subwindow's cache domain.
14005         (image_instantiator_format_create): use it for text and
14006         subwindows.
14007
14008 2000-04-21  Andy Piper  <andy@xemacs.org>
14009
14010         * glyphs.c (image_instance_device): new function.
14011         (image_instance_frame): new function.
14012         (image_instance_window): new function.
14013         (image_instance_live_p): new function.
14014
14015         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14016         cache to nil.
14017
14018         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14019         (IMAGE_INSTANCE_DOMAIN): new accessor.
14020         (XIMAGE_INSTANCE_DOMAIN): ditto.
14021
14022         * glyphs-x.c (x_finalize_image_instance): device->domain.
14023
14024         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14025         (mswindows_finalize_image_instance): ditto.
14026
14027         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14028         (gif_instantiate): ditto.
14029         (png_instantiate): ditto.
14030         (tiff_instantiate): ditto.
14031
14032         * glyphs.c (instantiate_image_instantiator): use domain rather
14033         than device.
14034         (mark_image_instance): device -> domain.
14035         (print_image_instance): ditto.
14036         (finalize_image_instance): ditto.
14037         (image_instance_equal): ditto.
14038         (allocate_image_instance): ditto.
14039         (Fcolorize_image_instance): ditto.
14040         (query_string_geometry): ditto.
14041         (image_instantiate): ditto
14042         (query_string_font): ditto.
14043         (image_instantiate): ditto.
14044         (update_subwindow): ditto.
14045         (unmap_subwindow): ditto.
14046         (map_subwindow): ditto.
14047         (subwindow_instantiate): ditto.
14048
14049         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14050         (DOMAIN_FRAME): ditto.
14051         (DOMAIN_WINDOW): ditto.
14052         (DOMAIN_LIVE_P): ditto.
14053         (XDOMAIN_DEVICE): ditto.
14054         (XDOMAIN_FRAME): ditto.
14055         (XDOMAIN_WINDOW): ditto.
14056
14057         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14058         a valid specifier domain.
14059
14060 2000-04-19  Andy Piper  <andy@xemacs.org>
14061
14062         * glyphs-widget.c (syms_of_glyphs_widget): remove
14063         widget-callback-current-channel.
14064         (vars_of_glyphs_widget): ditto.
14065         * glyphs.h: ditto
14066
14067         * gui.c (get_gui_callback): revert to previous behaviour.
14068
14069 2000-04-18  Andy Piper  <andy@xemacs.org>
14070
14071         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14072         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14073         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14074
14075         * glyphs.c (image_instance_equal): add margin_width.
14076         (image_instance_hash): ditto.
14077
14078         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14079         (layout_query_geometry): ditto.
14080         (layout_layout): ditto.
14081         (syms_of_glyphs_widget): add margin-width.
14082         (image_instantiator_layout): allow margin-width.
14083
14084         * glyphs.c (update_widget_instances): make a normal function.
14085         (syms_of_glyphs): remove Qupdate_widget_instances.
14086         * glyphs.h: ditto.
14087
14088         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14089         so that we don't corrupt ideas about the last event or
14090         command. Remove widget-callback-current-channel fiddling.
14091         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14092
14093 2000-05-01  Martin Buchholz <martin@xemacs.org>
14094
14095         * XEmacs 21.2.33 is released.
14096
14097 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14098
14099         * make-src-depend: Allow dots in header file name.
14100
14101 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14102
14103         * mule-charset.h (struct charset_lookup): Add
14104         next_allocated_1_byte_leading_byte and
14105         next_allocated_2_byte_leading_byte.
14106         * mule-charset.c: Move above two variables so that those values
14107         will be dumped.
14108
14109 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14110
14111         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14112         when string length is zero.
14113         (find_charsets_in_emchar_string): Ditto.
14114
14115 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14116
14117         * lisp.h: extern Qdialog and Qmenubar.
14118
14119         * gui-x.c: added events.h.
14120                 also fixed typo which made the file uncompilable.
14121
14122         * general.c: Added Qmenubar and Qdialog
14123
14124 2000-04-28  Ben Wing  <ben@xemacs.org>
14125
14126         * frame-msw.c (mswindows_init_frame_1):
14127         * frame-msw.c (mswindows_mark_frame):
14128         * event-msw.c (mswindows_enqueue_dispatch_event):
14129         * console-msw.h:
14130         * console-msw.h (struct mswindows_frame):
14131         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14132         there are now three hash tables for callbacks.
14133         mswindows_enqueue_dispatch_event is no longer static.
14134
14135         * dialog-x.c (maybe_run_dbox_text_callback):
14136         * dialog-x.c (dbox_descriptor_to_widget_value):
14137         switch to new cons3 form for callbacks.
14138
14139         * glyphs-msw.c (mswindows_register_gui_item):
14140         * glyphs-msw.c (mswindows_widget_instantiate):
14141         * glyphs-msw.c (add_tree_item):
14142         * glyphs-msw.c (add_tab_item):
14143         new image instance parameter, so it can be passed to callback-ex.
14144         respect :callback-ex as well as :callback.
14145
14146         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14147         add :callback-ex.
14148
14149         * glyphs.c (print_image_instance):
14150         prettify, e.g. now prints widget type.
14151
14152         * gui-x.h:
14153         certain funs have new image instance parameter.
14154
14155         * gui.c:
14156         * gui.c (get_gui_callback):
14157         * gui.c (gui_item_add_keyval_pair):
14158         * gui.c (gui_item_init):
14159         * gui.c (gui_add_item_keywords_to_plist):
14160         * gui.c (mark_gui_item):
14161         * gui.c (gui_item_hash):
14162         * gui.c (gui_item_equal):
14163         * gui.c (copy_gui_item):
14164         * gui.c (syms_of_gui):
14165         recognize callback-ex in a number of places.
14166         also, fix the annoying "can't get out of yes-no dialog" bug.
14167
14168         * gui.h:
14169         * gui.h (struct Lisp_Gui_Item):
14170         recognize callback-ex in a number of places.
14171
14172         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14173         new parameter in button_item_to_widget_value.
14174
14175         * glyphs-x.c (x_update_widget):
14176         * glyphs-x.c (x_button_instantiate):
14177         * glyphs-x.c (x_button_update):
14178         * glyphs-x.c (x_progress_gauge_instantiate):
14179         * glyphs-x.c (x_edit_field_instantiate):
14180         * glyphs-x.c (x_combo_box_instantiate):
14181         * glyphs-x.c (x_tab_control_instantiate):
14182         * glyphs-x.c (x_label_instantiate):
14183         new image instance parameter in various places.
14184
14185         * event-Xt.c:
14186         * event-Xt.c (enqueue_Xt_dispatch_event):
14187         this fun gets exported.
14188
14189         * gui-msw.c:
14190         * gui-msw.c (mswindows_handle_gui_wm_command):
14191         handle both :callback and :callback-ex, and generate our own
14192         event because it's one of the callback-ex arguments.
14193
14194         * gui-x.c:
14195         * gui-x.c (popup_selection_callback):
14196         handle both :callback and :callback-ex, and generate our own
14197         event because it's one of the callback-ex arguments.
14198         * gui-x.c (button_item_to_widget_value):
14199         * gui-x.c (gui_items_to_widget_values_1):
14200         * gui-x.c (gui_item_children_to_widget_values):
14201         * gui-x.c (gui_items_to_widget_values):
14202         new image instance parameter in various places.
14203
14204         * fns.c (Freplace_list):
14205         fix small typo in doc string.
14206
14207         * lisp.h:
14208         declare enqueue_Xt_dispatch_event.
14209
14210 2000-04-28  Ben Wing  <ben@xemacs.org>
14211
14212         * buffer.c:
14213         * buffer.c (Frecord_buffer):
14214         * buffer.c (syms_of_buffer):
14215         delete record-buffer-hook.
14216
14217         * fns.c:
14218         * fns.c (Freplace_list):
14219         * fns.c (syms_of_fns):
14220         new primitive replace-list.
14221
14222         * frameslots.h:
14223         slot for old buffer-alist.
14224
14225         * lisp.h:
14226         exfun replace-list.
14227
14228         * redisplay.c:
14229         * redisplay.c (redisplay_frame):
14230         * redisplay.c (syms_of_redisplay):
14231         * redisplay.c (vars_of_redisplay):
14232         new hook buffer-list-changed-hook.
14233         call it.
14234
14235 2000-04-27  Ben Wing  <ben@xemacs.org>
14236
14237         * extents.h: extern in_modeline_generation.
14238
14239         * redisplay.c (generate_formatted_string_db): set
14240         in_modeline_generation.
14241
14242         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14243         flags if in modeline generation.  otherwise frame-modified-tick
14244         is ticked far too often.
14245         Declare in_modeline_generation.
14246
14247 2000-04-26  Ben Wing  <ben@xemacs.org>
14248
14249         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14250         option.
14251         (vars_of_emacs): add quick-build as an error-checking option.
14252         A bit kludgy, but there doesn't seem much point in creating
14253         a real var for this.
14254
14255         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14256
14257 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14258
14259         * redisplay.h (struct display_line): Add a new variable,
14260         line_continuation.
14261
14262         * redisplay.c (create_text_block): Set dl->line_continuation if
14263         the line continues.
14264         (create_string_text_block): Ditto.
14265         (regenerate_window_incrementally): Use line_continuation instead
14266         of searching continuation glyph.
14267         (add_margin_runes): Call add_glyph_rune.
14268         (add_glyph_rune): Handle margin glyph.
14269
14270 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14271
14272         * filelock.c (fill_in_lock_file_name):
14273         ANSIfy.
14274         Check for IS_ANY_SEP instead of '/'.
14275         (lock_file_1):
14276         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14277         Never check errno without first seeing that system call failed.
14278         (unlock_file): Add GCPRO.
14279         (Flock_buffer): Fix docstring.
14280         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14281
14282 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14283
14284         * sysdep.c (get_pty_max_bytes):
14285         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14286         strings longer than 252 bytes.
14287
14288         * md5.c: Unconditionally include ANSI header <limits.h>
14289
14290         * glyphs-x.c (convert_EImage_to_XImage):
14291         * lisp-union.h (union Lisp_Object):
14292         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14293
14294 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14295
14296         * filelock.c (current_lock_owner): Remove unused variable o, p.
14297
14298 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14299
14300         * callint.c: Remove multiply defined symbol Qlet
14301         (syms_of_callint): ditto.
14302
14303 2000-04-14  Andy Piper  <andy@xemacs.org>
14304
14305         * general.c (syms_of_general): add last-command, this-command, let
14306         and funcall.
14307
14308         * lisp.h: declare various symbols.
14309
14310         * glyphs.h: declare Qwidget_callback_current_channel;
14311
14312         * glyphs-widget.c (syms_of_glyphs_widget): add
14313         Qgui_callback_current_channel.
14314         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14315
14316         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14317         widget-callback-current-channel when invoking the interactive
14318         arg. Also bind last-command and next-command when invoking the
14319         widget updates.
14320         * gui-x.c (popup_selection_callback): ditto.
14321
14322         * gui.c (get_gui_callback): massage args so that we are always
14323         calling eval. This allows us to add our own variable bindings
14324         outside.
14325
14326         * glyphs-x.c (x_button_instantiate): use
14327         gui_items_to_widget_values since this is GC safe.
14328         (x_progress_gauge_instantiate): ditto.
14329         (x_edit_field_instantiate): ditto.
14330         (x_label_instantiate): ditto.
14331
14332         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14333         (emacs_Xt_event_widget_focus_out): new function
14334         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14335         focus.
14336         (emacs_Xt_event_add_widget_actions): new function. add focus
14337         functions as actions.
14338         (init_event_Xt_late): use it.
14339
14340 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14341
14342         * event-stream.c (Fdispatch_event): Doc fix.
14343
14344 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14345
14346         * postgresql.c: Remove all references to PQsetenv*.
14347
14348         * postgresql.h: Remove references to PGsetenvHandler object.
14349         * lrecord.h (lrecord_type): Ditto.
14350
14351 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14352
14353         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14354         real_heigh and real_width members, and accessor macros for these.
14355
14356         * glyphs-msw.c (init_image_instance_geometry): New function.
14357         (init_image_instance_from_dibitmap): Use it.
14358         (mswindows_resource_instantiate): Use it.
14359         (init_image_instance_from_xbm_inline): Use it.
14360         (mswindows_initialize_image_instance_mask): Use real bitmap
14361         geometry.
14362         (mswindows_create_resized_bitmap): Ditto.
14363         (mswindows_create_resized_mask): Ditto.
14364
14365         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14366         and bitmap to their surface size.
14367
14368 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14369
14370         * process-unix.c (unix_send_process): Guard against process MIA
14371         after Faccept_process_output.
14372
14373 2000-04-11  Ben Wing  <ben@xemacs.org>
14374
14375         * eval.c (unbind_to_hairy): fix brokenness introduced by
14376         nanosecond speed improvements.
14377
14378 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14379
14380         * sunplay.c (init_device): To play sounds correctly, the device
14381         apparently needs to be initialized at least once by XEmacs.  Make
14382         it so.
14383
14384 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14385
14386         * redisplay.c (add_margin_runes): Add text image glyph
14387           handling.
14388
14389 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14390
14391         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14392         gcc is newer than 2.5.
14393
14394 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14395
14396         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14397
14398         * fns.c (size_bit_vector):
14399         * alloc.c (size_vector):
14400         (make_vector_internal):
14401         (make_bit_vector_internal):
14402         (sweep_bit_vectors_1):
14403         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14404
14405 2000-04-06  Andy Piper  <andy@xemacs.org>
14406
14407         * gmalloc.c (malloc): undo previous change.
14408         (malloc): ditto.
14409         (free): ditto.
14410         (realloc): ditto.
14411
14412 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14413
14414         * line-number.c (buffer_line_number): Revert to former version.
14415
14416 2000-04-06  Andy Piper  <andy@xemacs.org>
14417
14418         * gmalloc.c (malloc): add error checking.
14419         (malloc): ditto.
14420         (free): ditto.
14421         (realloc): ditto.
14422
14423         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14424         button_item_to_widget_value arg.
14425
14426         * glyphs-x.c (x_button_instantiate): add extra
14427         button_item_to_widget_value arg.
14428         (x_progress_gauge_instantiate): ditto.
14429         (x_edit_field_instantiate): ditto.
14430         (x_label_instantiate): ditto.
14431
14432         * gui-x.c (gui_items_to_widget_values_1): add extra
14433         button_item_to_widget_value arg.
14434         (button_item_to_widget_value): add extra menu_item_p arg.
14435
14436         * gui-x.h: change signature of button_item_to_widget_value.
14437
14438         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14439         button_item_to_widget_value arg.
14440
14441 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14442
14443         * buffer.h (struct buffer): auto_save_modified should be long.
14444
14445 2000-04-05  Andy Piper  <andy@xemacs.org>
14446
14447         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14448         type.
14449         (button_query_geometry): give a little more room so that athena
14450         buttons fit.
14451
14452 2000-04-05  Andy Piper  <andy@xemacs.org>
14453
14454         * faces.c (complex_vars_of_faces): The widget face should inherit
14455         the font of the gui-element face.
14456
14457 2000-04-04  Andy Piper  <andy@xemacs.org>
14458
14459         * glyphs-x.c (x_button_update): new function. unconditionally
14460         update a button's state when the instance is dirty.
14461         (image_instantiator_format_create_glyphs_x): add x_button_update.
14462         (x_widget_instantiate): remove old resize cruft.
14463
14464 2000-04-02  Andy Piper  <andy@xemacs.org>
14465
14466         * frame.c (change_frame_size_1): The introduction of gutters means
14467         that we need to allow 0 as a potential frame dimension.
14468
14469 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14470
14471         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14472         image glyph if allow_cursor.
14473         (add_hscroll_rune): Don't allow cursor to border glyph.
14474         (create_text_block): Ditto.
14475
14476         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14477         text not in buffer.
14478         (redisplay_output_layout): Call ensure_face_cachel_complete for
14479         text image glyph.
14480
14481
14482 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14483
14484         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14485
14486         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14487         not in buffer
14488
14489         * redisplay-tty.c (tty_output_display_block): Delete the routine
14490         for text image glyph
14491         * redisplay-x.c (x_output_display_block): ditto
14492         * redisplay-msw.c (mswindows_output_display_block): ditto
14493
14494 2000-02-02  Mike Alexander  <mta@arbortext.com>
14495
14496         Note: Some of these were committed by accident as part of other
14497         patches.
14498
14499         * regex.c (regex_compile): Avoid compiler warnings.
14500
14501         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14502
14503         * nt.h: Declare term_ntproc correctly.
14504
14505         * nt.c: Remove incorrect declaration of get_home_directory which
14506         is declared correctly in lisp.h.
14507
14508         * keymap.c (get_keyelt): Avoid compiler warnings.
14509         (raw_lookup_key_mapper): Avoid compiler warnings.
14510
14511         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14512
14513         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14514
14515         * filemode.c (mode_string): Avoid compiler warnings.
14516
14517         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14518         avoid warning.
14519
14520         * events-mod.h: Undef some things that winuser.h defines differently.
14521
14522         * data.c (Faset): Avoid compiler warnings.
14523
14524         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14525
14526 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14527
14528         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14529         Fall through to simple beep on error.
14530         Replace "extern" by real header file.
14531
14532         * linuxplay.c: Use nativesound.h
14533         (play_sound_data): Return error code. Be less verbose on error.
14534
14535         * sunplay.c: Use nativesound.h
14536         (play_sound_data): Return error code. Be less verbose on error.
14537
14538         * ntplay.c: Use nativesound.h
14539         (play_sound_data): Return fake error code
14540
14541         * sgiplay.c: Use nativesound.h
14542         (play_sound_data): Return error code
14543
14544         * hpplay.c: Use nativesound.h, partially implement
14545         new error code. Break compilation until finished.
14546         (play_sound_data): error code.
14547
14548         * nativesound.h (play_sound_file):
14549           (play_sound_data): Prototype in new header.
14550
14551 2000-03-31  Andy Piper  <andy@xemacs.org>
14552
14553         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14554         for toggle and radio buttons.
14555         (image_instantiator_buttons): use it.
14556
14557 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14558
14559         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14560         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14561         found. Scrollbar event probably belonged to some old config.
14562
14563 2000-03-31  Andy Piper  <andy@xemacs.org>
14564
14565         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14566         than 1.
14567         (initialize_widget_image_instance): default layout to
14568         LAYOUT_HORIZONTAL rather than 0.
14569         (widget_instantiate): reverse the item list at the end rather than
14570         every iteration.
14571         (layout_layout): re-code for the border text at the front of the
14572         item list rather than at the end.
14573         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14574         provided by the user.
14575         (widget_query_geometry): comment.
14576
14577 2000-03-30  Andy Piper  <andy@xemacs.org>
14578
14579         * glyphs-widget.c (image_instantiator_layout): allow standard
14580         widget keywords in layouts.
14581
14582         * gutter.c (output_gutter): cope with nil gutter contents.
14583
14584         * frame.c (Fset_frame_properties): add gutter docs.
14585
14586 2000-03-29  Andy Piper  <andy@xemacs.org>
14587
14588         * toolbar-msw.c (TBSTYLE_FLAT): add.
14589         (mswindows_output_toolbar): minor fiddling.
14590
14591 2000-03-29  Andy Piper  <andy@xemacs.org>
14592
14593         * gutter.c (output_gutter): force gutter size recalculation if
14594         what we are trying to display won't fit.
14595         (update_gutter_geometry): new function. A per-gutter version of
14596         update_frame_gutter_geometry.
14597         (update_frame_gutter_geometry): use it.
14598         (redraw_exposed_gutter): add extra debugging output.
14599
14600 2000-03-28  Mike Alexander  <mta@arbortext.com>
14601
14602         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14603         (pdump_file_unmap): Implement it on Windows
14604         (pdump_file_get): Save alocated handles for pdump_file_unmap
14605
14606 2000-03-28  Andy Piper  <andy@xemacs.org>
14607
14608         * gui.c (get_gui_callback): treat Quit specially.
14609
14610 2000-03-27  Andy Piper  <andy@xemacs.org>
14611
14612         * glyphs.c (image_instantiate): be careful to check in the same
14613         way we assigned.
14614
14615 2000-03-27  Didier Verna  <didier@xemacs.org>
14616
14617         * config.h.in: define the proper SMART_INCLUDE macro.
14618         handle renaming of `foo_h_path' to `foo_h_file'.
14619
14620         * database.c: ditto.
14621
14622         * emacs.c: ditto.
14623
14624         * linuxplay.c: ditto.
14625
14626         * terminfo.c: ditto.
14627
14628         * tooltalk.h: ditto.
14629
14630 2000-03-27  Andy Piper  <andy@xemacs.org>
14631
14632         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14633         gets updated whenever the face might have changed.
14634
14635 2000-03-26  Mike Alexander  <mta@arbortext.com>
14636
14637         * dumper.c (pdump_resource_free): Fix the comment.
14638
14639 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14640
14641         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14642
14643 2000-03-22  Mike Alexander  <mta@arbortext.com>
14644
14645         * dumper.c: Include Windows headers on Windows
14646         (pdump_resource_free): Add a body to the function
14647         (pdump_load): exe_name -> exe_path and add some comments.
14648
14649 2000-03-25  Mike Alexander  <mta@arbortext.com>
14650
14651         * gui.c (copy_gui_item_tree): Return a value in all cases
14652
14653 2000-03-21  Didier Verna  <didier@xemacs.org>
14654
14655         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14656         lwlib/config.h.in.
14657         (SMART_INCLUDE): new macro.
14658         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14659         the proper location.
14660
14661         * postgresql.c: use it.
14662
14663         * inline.c: ditto.
14664
14665 2000-03-24  Andy Piper  <andy@xemacs.org>
14666
14667         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14668         do this.
14669
14670 2000-03-24  Andy Piper  <andy@xemacs.org>
14671
14672         * redisplay-output.c (compare_runes): use image_instance_changed
14673         to detect changes. Do not depend on glyphs_changed, only depend on
14674         dirtiness.
14675          (redisplay_output_layout): add debug messages.
14676         (compare_runes): ditto.
14677
14678         * glyphs.h: declare new functions.
14679         (struct Lisp_Image_Instance): remove percent and associated
14680         accessors.
14681
14682         * gui.h: declare new copying functions.
14683
14684         * gui.c (copy_gui_item_tree): new function.
14685         (copy_gui_item): new function.
14686         (gui_item_id_hash): revert to standard hash.
14687         (gui_item_hash): ditto.
14688         (gui_item_hash_internal): deleted.
14689         (mark_gui_item): mark value.
14690         (gui_item_add_keyval_pair): add value.
14691         (gui_item_init): ditto.
14692         (gui_add_item_keywords_to_plist): ditto.
14693         (gui_item_equal): ditto.
14694         (syms_of_gui): add Q_value.
14695
14696         * glyphs-x.c (x_progress_gauge_update): use pending items and
14697         value for setting the state.
14698         (x_update_widget): don't set items from pending here.
14699
14700         * glyphs-widget.c (update_widget): update items here.
14701         (progress_gauge_set_property): use items for storing value. Put
14702         new value in pending items.
14703
14704         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14705         items for new value. Convert percent -> value.
14706         (mswindows_tab_control_update): don't update items here.
14707
14708         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14709         (update_subwindow): ditto.
14710         (image_instance_changed): new function. Compare hash values and
14711         past and present widget items.
14712         (image_instantiate): We more careful about where we instantiate
14713         things.
14714         (image_instantiate): add error checking.
14715
14716         * gutter.c (syms_of_gutter): use -hook.
14717
14718 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14719
14720         * console-tty.c (Fset_console_tty_input_coding_system): Use
14721         Qkeyboard.
14722         (Fset_console_tty_output_coding_system): Use Qterminal.
14723         (tty_init_console): Use Qkeyboard and Qterminal.
14724
14725 2000-03-21  Ben Wing  <ben@xemacs.org>
14726
14727         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14728         From Mike Alexander <mta@arbortext.com>.
14729
14730 2000-03-21  Ben Wing  <ben@xemacs.org>
14731
14732         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14733         process brokenness.  Proper implementation to come.
14734         * callproc.c:
14735         Rename call-process-internal to old-call-process-internal.
14736         New impl. in process.el.
14737
14738 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14739
14740         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14741
14742 2000-03-20  Andy Piper  <andy@xemacs.org>
14743
14744         * glyphs.c (full_list_hash): make hashes of the same elements in
14745         different orders return different values.
14746
14747 2000-03-20  Martin Buchholz <martin@xemacs.org>
14748
14749         * XEmacs 21.2.32 is released.
14750
14751 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14752
14753         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14754         (DFC_MALLOC_USE_CONVERTED_DATA):
14755         Add aliasing-safe casts to allow use with char* or unsigned char*
14756         lvalues.
14757
14758         * eldap.c (Fldap_open):
14759         (Fldap_search_basic):
14760         (Fldap_add):
14761         (Fldap_modify):
14762         Make C++-compilable.
14763         Make sure GCPRO'ed variables are initialized.
14764         Use temp variables to avoid repeated calls to Flength.
14765
14766 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14767
14768         * sysfile.h:
14769         Make sure PATH_MAX is always defined.
14770         Include limits.h for PATH_MAX.
14771         Deprecate use of MAXPATHLEN.
14772
14773 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14774
14775         * emacs.c: Add reinit_vars_of_fileio.
14776         * symsinit.h: Add reinit_vars_of_fileio.
14777         * fileio.c (reinit_vars_of_fileio): New.
14778         * fileio.c (Fmake_temp_name):
14779         Initialize temp_name random number from microseconds to make
14780         collisions even less likely.  Initialize always at process startup
14781         time.  (make-temp-name) used to return the same file name twice in
14782         a row when PDUMP.
14783         Random stylistic fiddling.
14784         Comment fixes.
14785
14786 2000-03-20  Andy Piper  <andy@xemacs.org>
14787
14788         * glyphs.c (image_instantiate): allow text glyphs to be
14789         instantiated in the minibuffer window.
14790
14791 2000-03-19  Andy Piper  <andy@xemacs.org>
14792
14793         * glyphs.c (image_instance_hash): be careful about which items we
14794         hash on.
14795
14796         * glyphs-widget.c (tab_control_set_property): record into pending
14797         items rather than the actual items.
14798
14799         * glyphs-x.c (x_update_widget): use pending items to update with.
14800
14801         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14802         to update with.
14803
14804         * glyphs.c (mark_image_instance): mark pending items.
14805
14806         * window.c (Fset_window_configuration): record the buffer.
14807         (Fselect_window): totally revert previous change which breaks many
14808         things.
14809
14810 2000-03-18  Andy Piper  <andy@xemacs.org>
14811
14812         * glyphs-msw.c (mswindows_tab_control_update): force selected
14813         item.
14814
14815         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14816         window domain cache, otherwise we get inconsistencies at
14817         startup. There is something fishy at startup which can lead to the
14818         minibuffer being the selected window when the gutter content is
14819         instantiated.
14820
14821         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14822         gcpros.
14823         (parse_gui_item_tree_children): ditto.
14824         (parse_gui_item_tree_item): ditto.
14825
14826         * glyphs.c (Fupdate_widget_instances): return something.
14827
14828 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14829
14830         * window.c (Fselect_window): Undo 2000-03-17 change.
14831
14832 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14833
14834         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14835         against v7.0 libraries.  Insta-coredump city until the postgres
14836         folks fix it.
14837
14838 2000-03-17  Andy Piper  <andy@xemacs.org>
14839
14840         * faces.c (complex_vars_of_faces): don't give the widget face an
14841         inherited background pixmap.
14842
14843         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14844         selected item.
14845
14846         * event-stream.c (Fdispatch_non_command_events): return something.
14847
14848         * gutter.c (output_gutter): use widget face.
14849         (clear_gutter): ditto.
14850
14851         * NEWS: adjust again.
14852
14853         * window.c (Fselect_window): make sure this runs to completion to
14854         avoid oddities with Fset_window_configuration.
14855         (Fcurrent_window_configuration): in general do not save the
14856         minibuffer as the selected window.
14857
14858         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14859
14860 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14861
14862         * emacs.c (Frunning_temacs_p): Revert previous patch.
14863         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14864
14865 2000-03-16  Andy Piper  <andy@xemacs.org>
14866
14867         * glyphs-x.c (x_tab_control_update): if no widget values then
14868         return.
14869
14870         * NEWS: update for new features.
14871
14872         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14873         synthetic event to the native system.
14874         (reinit_vars_of_event_Xt): set force_event_pending to
14875         emacs_Xt_force_event_pending.
14876
14877         * events.h (struct event_stream): add force_event_pending.
14878
14879         * specifier.c (recompute_one_cached_specifier_in_window): add
14880         comment.
14881
14882         * redisplay.c (redisplay_frame): don't call
14883         update_frame_subwindows. Reset subwindow cachels when
14884         subwindows_changed, removing this was an optimization too far.
14885
14886         * redisplay-output.c (compare_runes): reorganize so that we catch
14887         glyph changes when we want them. Set optimize_output when this
14888         would help layouts.
14889         (redisplay_output_layout): remove frame_really_changed, use
14890         optimize_output instead.
14891
14892         * redisplay-msw.c (mswindows_output_display_block): reset
14893         optimize_output after outputting a glyph.
14894         * redisplay-x.c (x_output_display_block): ditto.
14895         * redisplay-tty.c (tty_output_display_block): ditto.
14896
14897         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14898         functions.
14899         (gutter_specs_changed): do specific gutter positions.
14900         (top_gutter_specs_changed): new function. Only update the
14901         specified gutter specs.
14902         (bottom_gutter_specs_changed): ditto.
14903         (left_gutter_specs_changed): ditto.
14904         (right_gutter_specs_changed): ditto.
14905
14906         * gui.c (gui_item_hash_internal): new function, does a real hash.
14907         (gui_item_id_hash): use it.
14908         (gui_item_hash): hash the eval'ed gui_item.
14909
14910         * gui-x.c (popup_selection_callback): send an eval event to call
14911         Fupdate_widget_instances.
14912
14913         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14914         to call Fupdate_widget_instances.
14915
14916         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14917         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14918
14919         * glyphs.c: (update_frame_subwindows): deleted.
14920         (Fupdate_widget_instances): new function for updating the dirty
14921         state of widgets that might have changed.
14922         (syms_of_glyphs): add Qupdate_widget_instances.
14923         (full_list_hash): hash a list completely.
14924         (image_instance_hash): use it for items and properties.
14925
14926         * frame-msw.c (mswindows_size_frame_internal): remove unused
14927         variable.
14928
14929         * faces.h (struct face_cachel): fix comment.
14930
14931         * event-stream.c (Fdispatch_non_command_events): new
14932         function. Process non-command events, forcing an event cycle
14933         beforehand.
14934         (syms_of_event_stream): declare.
14935         (event_stream_force_event_pending): new function. Force an event
14936         on the native event queue so that an event cycle will occur next
14937         time we check.
14938
14939         * event-msw.c:
14940         (struct ntpipe_shove_stream):
14941         (mswindows_enqueue_dispatch_event):
14942         (mswindows_dequeue_dispatch_event):
14943         (mswindows_cancel_dispatch_event):
14944         (mswindows_pump_outstanding_events):
14945         (mswindows_drain_windows_queue):
14946         (mswindows_handle_paint):
14947         (mswindows_wnd_proc):
14948         (mswindows_key_to_emacs_keysym):
14949         (get_process_input_waitable):
14950         (emacs_mswindows_delete_stream_pair): re-indent file.
14951         (mswindows_need_event): do not process further fds if the windows
14952         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14953         fixes the 100% cpu problem.
14954         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14955
14956 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14957
14958         * alloc.h: New.
14959         * dumper.h: New.
14960         * dumper.c: New.
14961
14962         * emacs.c: Moved dump file searching to dumper.c.
14963         (Frunning_temacs_p): Fixed.
14964
14965         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14966         last_lrecord_type_index_assigned.
14967
14968 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14969
14970         * symsinit.h: Added reinit parameter to init_console_stream
14971         declaration.
14972
14973         * lisp.h: Added file parameter to pdump_load declaration.
14974
14975         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14976         support.  Added dump file searching.
14977
14978         * config.h.in: Added EMACS_PROGNAME.
14979
14980         * console-stream.c (init_console_stream): Fix reinitialisation
14981         when running from temacs.
14982
14983         * alloc.c (pdump): Add id support.
14984         (pdump_load): Add file parameter and signature/id support.
14985
14986         * Makefile.in.in: Add full pdump support.
14987
14988 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14989
14990         * postgresql.c: Update documentation to reflect latest code
14991         status.
14992         (print_result): Show tuple counts in printed representation when
14993         appropriate.
14994         (Fpq_put_nbytes): MULE-ize.
14995         (Fpq_get_line_async): Ditto.
14996
14997 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14998
14999         * postgresql.c (Fpq_lo_import): Fix return value.
15000         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15001
15002 2000-03-13  Ben Wing  <ben@xemacs.org>
15003
15004         * alloc.c (pdump_load):
15005         Fix compile warning under mswin.
15006
15007 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15008
15009         * postgresql.c: Mule-ization, bug fixes.
15010         Use PG_CODING to encapsulate coding system name changes.
15011         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15012         (pg-coding-system): Create.
15013
15014         (Fpq_conn_defaults): Mule-ize.
15015         (Fpq_connectdb): Mule-ize & bug fix.
15016         (Fpq_connect_start): Mule-ize.
15017         (Fpq_set_client_encoding): Mule-ize.
15018         (Fpq_finish): Document `DEAD' connection status.
15019         (Fpq_clear): Ditto.
15020         (Fpq_pgconn): Mule-ize.
15021         (Fpq_exec): Mule-ize & bug fix.
15022         (Fpq_send_query): Ditto.
15023         (Fpq_get_result): Ditto.
15024         (Fpq_res_status): Mule-ize.
15025         (Fpq_result_error_message): Mule-ize.
15026         (Fpq_ntuples): fix comments.
15027         (Fpq_fname): Mule-ize.
15028         (Fpq_fnumber): Mule-ize.
15029         (Fpq_ftype): fix comments.
15030         (Fpq_get_value): Mule-ize.
15031         (Fpq_cmd_status): Ditto.
15032         (Fpq_cmd_tuples): Ditto.
15033         (Fpq_oid_value): Ditto.
15034         (Fpq_notifies): Ditto.
15035         (Fpq_lo_import): Ditto.
15036         (Fpq_lo_export): Ditto.
15037         (Fpq_get_line): Ditto.
15038         (Fpq_put_line): Mule-ize and bug fix.
15039         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15040
15041 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15042
15043         * postgresql.c (vars_of_postgresql): Mule-ize.
15044         (Fpq_conn_defaults): Ditto.
15045
15046 2000-03-12  Ben Wing  <ben@xemacs.org>
15047
15048         * alloc.c (Fmake_byte_code):
15049         * alloc.c (debug_string_purity_print):
15050         * alloc.c (pdump_backtrace):
15051         * alloc.c (pdump_get_indirect_count):
15052         * alloc.c (pdump_register_sub):
15053         * alloc.c (pdump_register_object):
15054         * alloc.c (pdump_register_struct):
15055         * alloc.c (pdump_dump_data):
15056         * alloc.c (pdump_reloc_one):
15057         Minor cleanups.
15058
15059         * console-msw.c:
15060         * console-msw.c (GetConsoleHwnd):
15061         * console-msw.c (msw_hide_console):
15062         * console-msw.c (msw_show_console):
15063         * console-msw.c (msw_ensure_console_buffered):
15064         * console-msw.c (msw_output_console_string):
15065         * console-msw.c (console_type_create_mswindows):
15066
15067         a) Added functions to manipulate the console window for use with
15068         shell support.
15069
15070         b) Added support for writing text to the console, which is now
15071         used under Windows when xemacs is not being run non-interactively,
15072         to write text that would otherwise be destined for stdout because
15073         under these circumstances, text written to stdout tends to
15074         disappear and not be seen.
15075
15076         * console-msw.h:
15077         * event-Xt.c:
15078         * event-Xt.c (x_event_to_emacs_event):
15079         * event-Xt.c (describe_event_window):
15080         * events-mod.h (XEMACS_MOD_CONTROL):
15081         * events.c:
15082         * events.c (Fmake_event):
15083         * events.c (character_to_event):
15084         * events.c (event_to_character):
15085         * events.c (format_event_object):
15086         * events.c (Fevent_modifiers):
15087         * events.h:
15088         * events.h (struct key_data):
15089         * events.h (struct button_data):
15090         * events.h (struct misc_user_data):
15091         * frame-x.c (Fcde_start_drag_internal):
15092         * frame-x.c (Foffix_start_drag_internal):
15093         * gpmevent.c (Freceive_gpm_event):
15094         * keymap.c:
15095         * keymap.c (bucky_sym_to_bucky_bit):
15096         * keymap.c (control_meta_superify):
15097         * keymap.c (make_key_description):
15098         * keymap.c (keymap_lookup_directly):
15099         * keymap.c (create_bucky_submap):
15100         * keymap.c (keymap_store):
15101         * keymap.c (define_key_check_and_coerce_keysym):
15102         * keymap.c (define_key_parser):
15103         * keymap.c (define_key_alternate_name):
15104         * keymap.c (Fdefine_key):
15105         * keymap.c (raw_lookup_key_mapper):
15106         * keymap.c (struct map_keymap_unsorted_closure):
15107         * keymap.c (map_keymap_unsorted_mapper):
15108         * keymap.c (map_keymap_sort_predicate):
15109         * keymap.c (map_keymap_sorted):
15110         * keymap.c (accessible_keymaps_mapper_1):
15111         * keymap.c (where_is_recursive_mapper):
15112         * keymap.c (describe_map_mapper):
15113         * keymap.c (describe_map_sort_predicate):
15114         * keymap.c (describe_map):
15115         * keymap.c (complex_vars_of_keymap):
15116         And a number of other files, the key modifier preprocessor
15117         constants that xemacs uses have names that conflict with constants
15118         defined under MS Windows for other purposes, so they were renamed
15119         to begin with the prefix XEMACS_. The variables that hold such
15120         modifiers were changed to consistently be of type int to fix
15121         various compile warnings.
15122
15123         * console.c (complex_vars_of_console):
15124         * device.c:
15125         * device-msw.c:
15126         * device-msw.c (mswindows_finish_init_device):
15127         * device-msw.c (msw_get_workspace_coords):
15128         * device-msw.c (mswindows_device_system_metrics):
15129         and various other files, added support for a new
15130         device property called offset-workspace which returns the position
15131         of the upper left corner of the workspace area and goes along with
15132         the existing size-workspace property.
15133
15134         * dialog-msw.c:
15135         * dialog-msw.c (push_bufbyte_string_as_unicode):
15136         * dialog-msw.c (mswindows_popup_dialog_box):
15137         Added support for XEmacs-style accelerator specifications in
15138         button text.  Note: I didn't add support for this under X Windows,
15139         and somebody needs to do this.
15140
15141         * dialog.c:
15142         * dialog.c (Fpopup_dialog_box):
15143         Documented the support for accelerators that was just mentioned.
15144
15145         editfns.c (get_home_directory): Changed behavior under Windows
15146         when HOME not defined; former behavior was irretrievably broken.
15147
15148         * emacs.c:
15149         * emacs.c (main_1):
15150         * emacs.c (main):
15151         * minibuf.c (clear_echo_area_internal):
15152         * minibuf.c (echo_area_append):
15153         * print.c:
15154         * print.c (std_handle_out_external):
15155         * print.c (std_handle_out_va):
15156         * print.c (fatal):
15157         * print.c (write_string_to_stdio_stream):
15158         * print.c (output_string):
15159         * print.c (debug_print):
15160         * print.c (debug_backtrace):
15161         * print.c (debug_short_backtrace):
15162         Cleaned up the code that prints text to stdout so that this can be
15163         changed to output into a console window instead under MS Windows,
15164         as described above.
15165
15166         * eval.c:
15167         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15168         * eval.c (internal_catch):
15169         * eval.c (unwind_to_catch):
15170         * eval.c (throw_or_bomb_out):
15171         * eval.c (condition_case_1):
15172         * eval.c (signal_1):
15173         * eval.c (check_error_state_sanity):
15174         * eval.c (call_with_suspended_errors_1):
15175         * eval.c (call_with_suspended_errors):
15176         * eval.c (reinit_vars_of_eval):
15177         Added code to catch throw loops and check for a pesky bug that may
15178         be gone now.
15179
15180         * event-msw.c:
15181         * event-msw.c (key_needs_default_processing_p):
15182         * event-msw.c (mswindows_wnd_proc):
15183         * event-msw.c (mswindows_modifier_state):
15184         * event-msw.c (emacs_mswindows_quit_p):
15185         * event-msw.c (vars_of_event_mswindows):
15186         a) Added support for using the alt key to select menu items as is
15187         standard under MS Windows.  This is controlled using the variable
15188         menu-accelerator-enabled, just like under X Windows.  There is an
15189         option on the options menu to turn this support on.  I really
15190         think that it should be on by default under Windows, but I'm not
15191         going to make this change yet.
15192
15193         b)  Added support for dynamic display size changes under Windows.
15194
15195         * event-stream.c:
15196         * event-stream.c (maybe_echo_keys):
15197         * event-stream.c (Fnext_event):
15198         * event-stream.c (command_builder_find_leaf):
15199         * event-stream.c (lookup_command_event):
15200         * event-stream.c (execute_command_event):
15201         * event-stream.c (pre_command_hook):
15202         * event-stream.c (post_command_hook):
15203         * event-stream.c (syms_of_event_stream):
15204         * event-stream.c (vars_of_event_stream):
15205         * event-stream.c (complex_vars_of_event_stream):
15206         * events.h (struct command_builder):
15207
15208         a) Tried to clean up a little bit the horribly written x-specific
15209         accelerator code that crept into this file.  I moved this code
15210         into menubar-x.c where it belongs. I also needed to move the
15211         command builder structure into the file events.h because it is
15212         accessed directly by this accelerator code.  What I didn't do, but
15213         which should be done at some point, is to properly abstract this
15214         code using device methods instead of the kludgy way that it
15215         currently hooks into the event code.
15216
15217         b) Added the lisp variables this-command-properties and
15218         last-command- properties, which should be used to synchronize two
15219         adjacent commands in preference to playing games with the variable
15220         this-command, which is typically what happens.
15221
15222         c) Added some slightly nasty code to hook into the lisp support
15223         for shifted- motion-key selection.  This is actually necessary for
15224         somewhat complicated reasons, which are described in
15225         simple.el. (NB: I think the proper thing would be to have the code
15226         that calls the pre and post command hooks also call out to generic
15227         lisp functions in simple.el, where all built-in stuff could be
15228         added.  I will think about this more.)
15229
15230         * event-unixoid.c (poll_fds_for_input):
15231         * lread.c (readchar):
15232         * redisplay-tty.c (tty_clear_frame):
15233         * redisplay-x.c (x_get_gc):
15234         * signal.c (interrupt_signal):
15235         And a whole bunch of other files: fixed up places that printed
15236         directly to stderr to instead call the function stderr_out so that
15237         the changes I made under Windows work correctly.
15238
15239         * filemode.c (mode_string):
15240         Warning fixes.
15241
15242         * frame-msw.c:
15243         * frame-msw.c (mswindows_size_frame_internal):
15244         Fixed the computation of frame size and position to keep the frame
15245         within the workspace area, rather than within the physical
15246         dimensions of the screen, so that the frame doesn't overlap window
15247         manager decorations, such as the start menu and toolbar, typically
15248         at the bottom of the screen.
15249
15250         * frame.c (vars_of_frame):
15251         Changed the default frame title format under MS Windows to consist
15252         of buffername-XEmacs, which is standard under MS Windows.  I think
15253         it might be a good idea to change this everywhere because I think
15254         it is superior to the current frame title format, but this is the
15255         kind of change that is likely to cause some people to get annoyed,
15256         so I'm not making it.
15257
15258         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15259
15260         * gui-msw.c (mswindows_handle_gui_wm_command):
15261         Fixed compile warnings.
15262
15263         * gui-x.c:
15264         * gui-x.c (strdup_and_add_accel):
15265         * gui-x.c (button_item_to_widget_value):
15266         * gui-x.h:
15267         Added code to automatically put an accelerator onto the beginning
15268         of menu items that don't have one as is now the standard, and is
15269         described more later.  Also fixed things so that the menu item
15270         name can be an evaluated expression, again a new standard.
15271
15272         * gui.c:
15273         * gui.c (gui_item_add_keyval_pair):
15274         * gui.c (make_gui_item_from_keywords_internal):
15275         * gui.c (gui_add_item_keywords_to_plist):
15276         * gui.c (gui_item_accelerator):
15277         * gui.c (gui_name_accelerator):
15278         * gui.c (gui_item_included_p):
15279         * gui.c (gui_item_display_flush_left):
15280         * gui.c (gui_item_display_flush_right):
15281         * gui.c (parse_gui_item_tree_item):
15282         * gui.c (parse_gui_item_tree_children):
15283         * gui.c (parse_gui_item_tree_list):
15284         Mule-ized.  Cleanup.  GCPRO addition.
15285
15286         * line-number.c (buffer_line_number):
15287         * lisp.h:
15288         * lisp.h (EMACS_INT_MAX):
15289         Added the manifest constant EMACS_INT_MIN corresponding to the
15290         existing constant EMACS_INT_MAX.  This is partially to fix compile
15291         warnings under Windows, and partly for cleanliness.
15292
15293         * menubar-msw.c:
15294         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15295         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15296         * menubar-msw.c (displayable_menu_item):
15297         * menubar-msw.c (populate_menu_add_item):
15298         * menubar-msw.c (populate_or_checksum_helper):
15299         * menubar-msw.c (populate_menu):
15300         * menubar-msw.c (update_frame_menubar_maybe):
15301         * menubar-msw.c (prune_menubar):
15302         * menubar-msw.c (msw_char_is_accelerator):
15303         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15304         * menubar-msw.c (mswindows_handle_wm_command):
15305         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15306         * menubar-msw.c (mswindows_handle_wm_initmenu):
15307         * menubar-msw.c (mswindows_update_frame_menubars):
15308         * menubar-msw.c (mswindows_free_frame_menubars):
15309         * menubar-msw.c (mswindows_popup_menu):
15310         Fixed a bug in handling accelerators where an extra character
15311         would be displayed in the menu item.  Also generalized the
15312         function displayable_menu_item because it is now used by the
15313         dialog box code as well.  And finally, added code in the functions
15314         that create the menubar to extract a list of accelerators for the
15315         top level menubar, which is used in the event code to determine
15316         whether a particular alt-key combination should be used to invoke
15317         a menu item, or should be passed through to access the standard
15318         XEmacs keymap binding for this key combination.
15319
15320         Much needed GCPROing.
15321
15322         * menubar-x.c:
15323         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15324         * menubar-x.c (menu_item_descriptor_to_widget_value):
15325         * menubar-x.c (restore_in_menu_callback):
15326         * menubar-x.c (x_popup_menu):
15327         * menubar-x.c (menu_move_up):
15328         * menubar-x.c (menu_move_down):
15329         * menubar-x.c (menu_move_left):
15330         * menubar-x.c (menu_move_right):
15331         * menubar-x.c (menu_select_item):
15332         * menubar-x.c (command_builder_operate_menu_accelerator):
15333         * menubar-x.c (menu_accelerator_junk_on_error):
15334         * menubar-x.c (command_builder_find_menu_accelerator):
15335         * menubar-x.c (Faccelerate_menu):
15336         * menubar.h:
15337         Moved a whole bunch of code here that was previously in
15338         event-stream.c as described above.  There is also code connected
15339         to the new standard of adding an accelerator to the beginning of
15340         menu items that don't have one as described above and below.
15341
15342         * menubar.c:
15343         * menubar.c (menu_parse_submenu_keywords):
15344         * menubar.c (Fmenu_find_real_submenu):
15345         * menubar.c (Fnormalize_menu_item_name):
15346         * menubar.c (syms_of_menubar):
15347         * menubar.c (vars_of_menubar):
15348         * menubar.c (complex_vars_of_menubar):
15349
15350         a) Cleaned up a bunch of documentation and improved it.
15351
15352         b) XEmacs now automatically adds an accelerator onto the beginning
15353         of any menu items that don't have one.  I did this because there
15354         will inevitably be some menu items on the main menubar that don't
15355         have accelerators on them because the package that adds that
15356         particular menu item hasn't yet been fixed up to have accelerators
15357         in them and it looked rather strange to have some items with and
15358         some items without accelerators, especially since even in items
15359         without accelerators, you can, at least under windows, still
15360         access the item through an accelerator corresponding to the first
15361         character in the item's name.  If people don't like this behavior,
15362         I can add a variable to turn it off optionally, but I'm not sure
15363         this is a good idea because we really do need to have accelerators
15364         on all of the menu items, and if a package doesn't like the
15365         accelerators being put on the first character, then it should put
15366         the accelerators where they belong.
15367
15368         c) I made a behavior change, which is that the descriptor that
15369         specifies the text of the menu item, which formerly was just a
15370         string, can now also be an evaluated expression.  This makes this
15371         descriptor parallel with all of the others, which could also be
15372         evaluated expressions.  This also obviates the need for the
15373         keyword :label, which was previously listed in the documentation
15374         as unimplemented, and which was for the same purpose.
15375
15376         d) GCPROing.
15377
15378         * ntproc.c:
15379         * ntproc.c (new_child):
15380         * ntproc.c (sys_spawnve):
15381         * ntproc.c (find_child_console):
15382         * ntproc.c (sys_kill):
15383         Fixed compile warnings.  By the way, this file should really go
15384         away entirely, and this will happen as soon as Kirill makes his
15385         final round of process cleanups, which affect the function
15386         call-process.
15387
15388         * process-nt.c:
15389         * process-nt.c (struct nt_process_data):
15390         * process-nt.c (find_process_from_pid):
15391         * process-nt.c (send_signal_the_nt_way):
15392         * process-nt.c (enable_child_signals):
15393         * process-nt.c (find_child_console):
15394         * process-nt.c (send_signal_the_95_way):
15395         * process-nt.c (nt_finalize_process_data):
15396         * process-nt.c (ensure_console_window_exists):
15397         * process-nt.c (nt_create_process):
15398         * process-nt.c (nt_kill_child_process):
15399         * process-nt.c (nt_kill_process_by_pid):
15400         * process-nt.c (nt_open_network_stream):
15401         * process-nt.c (vars_of_process_nt):
15402         Copied over code from Emacs 20.5 to correctly send signals to sub-
15403         processes under Windows 95.  Also added code to automatically
15404         create and hide console window when a sub-process is created under
15405         Windows 95, which obviates the need for the separate runemacs.exe
15406         executable, and finally implemented some variables that were
15407         implemented in Emacs 20.5, but previously not in XEmacs.  These
15408         include mswindows- start-process-share-console and
15409         mswindows-start-process-inherit-error-mode. (Both of these only
15410         apply to Windows 95.)
15411
15412         * regex.c (regex_compile): Fixed a compile warning.
15413
15414         * select-msw.c:
15415         * select-msw.c (mswindows_own_selection):
15416         * select-msw.c (mswindows_get_foreign_selection):
15417         * select-msw.c (mswindows_disown_selection):
15418         * select-msw.c (console_type_create_select_mswindows):
15419         * select-msw.c (syms_of_select_mswindows):
15420         Cleaned up the file and implemented the device method
15421         selection_exists_p, which had accidentally been left out.  Also
15422         removed four lisp functions that were remnants from before the
15423         time when the selection code was properly device abstracted.
15424         These functions are no longer needed because there are generic
15425         equivalents, and because they were added recently and don't exist
15426         in FSF Emacs, I don't think there's any problem with just deleting
15427         them.
15428
15429         * sysdep.c:
15430         * sysdep.c (sys_subshell):
15431         Fixed a compile warning, although in this case there's probably
15432         something wrong with this code, and it ought to be looked into
15433         more thoroughly by somebody who understands it.
15434
15435         * window.c:
15436         * window.c (Fwindow_text_area_height):
15437         * window.c (Fwindow_width):
15438         * window.c (Fwindow_full_width):
15439         * window.c (Fwindow_pixel_width):
15440         * window.c (debug_print_window):
15441         * window.c (syms_of_window):
15442         Added functions window-text-area-height and window-full-width,
15443         which are functions for returning various width and height
15444         characteristics of a window. (One of these functions is necessary
15445         for making the file dialog box work correctly, and the other one
15446         was added for completeness.)  Also added a table to the
15447         documentation for window-height which describes the entire scheme
15448         for accessing width and height characteristics of a window.
15449
15450 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15451
15452         * nt.c (fstat): Added a comment for another problem with
15453         non-encapsulated [f]stat(), reported by Adrian Aichner
15454         <aichner@ecf.teradyne.com>.
15455
15456 2000-03-11  Andy Piper  <andy@xemacs.org>
15457
15458         * window.c (make_dummy_parent): initialize subwindow instance
15459         cache.
15460         (Fset_window_configuration): zero extent_modiff.
15461
15462 2000-03-10  Andy Piper  <andy@xemacs.org>
15463
15464         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15465         more changes can be triggered.
15466         (Fredisplay_frame): ditto.
15467         (Fredraw_device): ditto.
15468         (Fredisplay_device): ditto.
15469         (redisplay_frame): make non-static.
15470         (redisplay_frame): call update_frame_gutter_geometry outside of
15471         display proper.
15472
15473         * gutter.h: declare update_frame_gutter_geometry.
15474
15475         * redisplay.h: declare redisplay_frame.
15476
15477         * gutter.c (update_frame_gutter_geometry): move geometry changes
15478         in update_frame_gutters here. Geometry changes can only occur
15479         outside of redisplay.
15480         (update_frame_gutters): remove geometry change code.
15481         (Fredisplay_gutter_area): make sure that we are in display when we
15482         update and that we have flushed any size changes.
15483
15484 2000-03-11  Andy Piper  <andy@xemacs.org>
15485
15486         * alloc.c (pdump_dump_data): remove i & count shadows.
15487
15488 2000-02-27  Mike Alexander  <mta@arbortext.com>
15489
15490         * sysdep.h: Declare pdump_read_file
15491
15492         * sysdep.c (pdump_read_file): New function
15493
15494         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15495         dump data
15496
15497 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15498
15499         * lrecord.h: add `lrecord_type_pgsetenv'.
15500
15501 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15502
15503         * symsinit.h: declare (vars|syms)_of* functions.
15504         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15505
15506 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15507
15508         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15509
15510         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15511         GCCs.
15512
15513         * emacs.c (main_1): Call postgres initialization code.
15514
15515         * postgresql.h: New file.  PostgreSQL RDBMS support.
15516         * postgresql.c: New file.
15517
15518 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15519
15520         * redisplay-output.c (redisplay_output_display_block): Disable
15521         redundant code.
15522
15523 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15524
15525         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15526         (Fcanna_henkan_next): Ditto.
15527         (Fcanna_bunsetu_henkou): Ditto.
15528         (Fcanna_henkan_kakutei): Ditto.
15529         (Fcanna_henkan_end): Ditto.
15530         (Fcanna_henkan_quit): Ditto.
15531         (Fcanna_henkan_next): Set retun value correctly.
15532         (c2mu): Use unsigned char instead of signed char.
15533
15534 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15535
15536         * emacs.c (main_1): Always call syms_of_gui.
15537         * inline.c: include gui.h
15538
15539 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15540
15541         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15542         converted to Lisp_Object.
15543         (Qtop_bottom): New variable.
15544         (syms_of_redisplay): Initialize it.
15545         * redisplay.h (Vvisible_bell): Ditto.
15546         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15547         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15548         only flash top and bottom.
15549
15550 2000-03-08  Andy Piper  <andy@xemacs.org>
15551
15552         * buffer.c (Frename_buffer): record new buffer name the right way.
15553
15554 2000-03-08  Andy Piper  <andy@xemacs.org>
15555
15556         * glyphs.c (update_subwindow): increase hash depth so that widget
15557         items get picked up properly.
15558
15559         * redisplay-output.c (compare_runes): increase hash depth so that
15560         widget items get picked up properly.
15561
15562 2000-03-08  Andy Piper  <andy@xemacs.org>
15563
15564         * gutter.c (output_gutter): add some debug.
15565
15566         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15567         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15568         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15569
15570         * redisplay-output.c (compare_runes): use display_hash to
15571         determine if glyphs really are not the same.
15572
15573         * glyphs.c (update_subwindow): check display_hash to see if
15574         anything really needs to be updated. If not then do
15575         nothing. Record the display_hash after updating.
15576         (image_instance_equal): compare the image_instance face also.
15577
15578 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15579
15580         * redisplay.h: Fix comment style.
15581
15582 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15583
15584         * consle-msw.h (struct mswindows_frame):
15585         Added new member paint_pending to indicate whether a WM_PAINT
15586         magic event has been queued for this frame.
15587
15588         * event-msw.c (mswindows_drain_windows_queue):
15589         Don't queue a WM_PAINT magic event if one is already queued.
15590         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15591
15592         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15593
15594 2000-03-07  Didier Verna  <didier@xemacs.org>
15595
15596         * dired.c: #include `regex.h' after `sysfile.h'.
15597
15598 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15599
15600         * sound.c (init_nas_sound): Fix compiler warning.
15601
15602         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15603         (FREE_STRUCT_P):
15604         (MARK_STRUCT_AS_FREE):
15605         (MARK_STRUCT_AS_NOT_FREE):
15606         Make `gcc -fstrict-aliasing' work properly.
15607
15608 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15609
15610         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15611         (mswindows_delete_device): Call CoUnnitialize().
15612
15613         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15614
15615 2000-02-25    <CraigL@DyCon.com>
15616
15617         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15618         <errno.h>.
15619
15620         * sysdep.c: This extern declaration for environ prevents MinGW
15621         from finding the variable in CRTDLL.DLL.
15622
15623         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15624         windows headers.
15625         (SHGFI_EXETYPE): ..
15626         (WM_MOUSEWHEEL): ..
15627         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15628         definitions.
15629         (MMRESULT): Removed, now defined in cygwin's windows headers.
15630         (TIMECAPS): ..
15631         (uid_t,gid_t,pid_t,ssize_t): ..
15632         (_timeb): Removed, MinGW defines both _timeb and timeb.
15633         (HAVE_H_ERRNO): Added.
15634         (HAVE_TZNAME): Added, configure is not detecting this.
15635
15636 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15637
15638         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15639         * syntax.c (syntax_match): Use it.
15640
15641         * cmds.c: Import auto-fill-chars from FSF Emacs.
15642         (Vauto_fill_chars): New variables.
15643         (internal_self_insert): Check Vauto_fill_chars.
15644         (vars_of_cmds):
15645         Declare auto-fill-chars as a Lisp variable and initialize it.
15646
15647 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15648
15649         * fileio.c (Fmake_symbolic_link):
15650         (Ffile_symlink_p):
15651         Run handlers even if local machine doesn't have symlinks.
15652
15653 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15654
15655         * event-msw.c (mswindows_drain_windows_queue):
15656         Don't generate paint magic events for non-XEmacs frames.
15657
15658 2000-03-05  Andy Piper  <andy@xemacs.org>
15659
15660         * redisplay.c (redisplay_frame): generate_displayable_area and
15661         friends assumes that we are not in GC, we therefore have to make
15662         sure that this doesn't happen.
15663
15664         * gutter.c (calculate_gutter_size): generate_displayable_area
15665         assumes that we are not in GC, we therefore have to make sure that
15666         this doesn't happen.
15667
15668 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15669
15670         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15671
15672 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15673
15674         * redisplay.c (regenerate_window): Make sure we set a sane value
15675         for end_pos even if we jump out of the loop.
15676         (regenerate_window): Answer Ben's question :-).
15677         (start_end_of_last_line): Add may_error argument.
15678         (start_of_last_line):
15679         (end_of_last_line): Pass may_error = 0.
15680         (end_of_last_line_may_error): New function.
15681         (pixel_to_glyph_translation): Use it, so we don't crash in
15682         event_to_glyph.
15683
15684 2000-03-04  Andy Piper  <andy@xemacs.org>
15685
15686         * window.h (struct window): add gutter_extent_modiff.
15687
15688         * window.c (allocate_window): zero out gutter_extent_modiff.
15689
15690         * redisplay.h: declare sync_display_line_structs.
15691
15692         * redisplay.c (add_glyph_rune): add a better comment.
15693
15694         * redisplay-output.c (sync_display_line_structs): made non-static.
15695         (compare_runes): remove unneccesary glyph cachel access.
15696
15697         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15698
15699         * gutter.c (output_gutter): don't output the gutter if extent
15700         changes only involve extents in buffers. use 4 sets of display
15701         lines.
15702         (gutter_extent_signal_changed_region_maybe): new function. Mark
15703         extents in gutters as changed.
15704         (update_frame_gutters): use 4 sets of display lines.
15705         (reset_gutter_display_lines): ditto.
15706         (free_frame_gutters): ditto.
15707         (redraw_exposed_gutter): force output of gutters.
15708
15709         * frame.h (struct frame): add 4 sets of gutter display lines.
15710
15711         * extents.c: (extent_changed_for_redisplay): signal changes to
15712         extents in strings in the gutter as well as extents in buffers.
15713
15714 2000-03-02  Andy Piper  <andy@xemacs.org>
15715
15716         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15717
15718         * frame.c (Fmake_frame): make sure the gutters get initialized
15719         after the frame is visible.
15720         (set_frame_selected_window): re-arrange compilation macros a
15721         little.
15722         (change_frame_size_1): mark gutters changed.
15723
15724         * device.c (Fset_device_class): mark gutters changed.
15725
15726 2000-03-01  Andy Piper  <andy@xemacs.org>
15727
15728         * window.c (window_top_frame_gutter_height): deleted.
15729         (window_bottom_frame_gutter_height): ditto.
15730         (window_left_frame_gutter_height): ditto.
15731         (window_right_frame_gutter_height): ditto.
15732         (window_top_gutter_height): don't use them.
15733         (window_bottom_gutter_height): ditto.
15734         (window_left_gutter_width): ditto.
15735         (window_right_gutter_width): ditto.
15736         (Fsplit_window): ditto.
15737         (Fwindow_pixel_edges): don't use border dimensions here.
15738
15739         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15740         (update_scrollbar_instance): ditto.
15741
15742         * redisplay.c (generate_modeline): don't take gutters into account.
15743         (generate_modeline): ditto.
15744         (redisplay_frame): small gutter display optimization.
15745
15746         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15747
15748         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15749         gutters into account.
15750
15751         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15752         for window position and type.
15753
15754         * gutter.c (get_gutter_coords): fix for frame gutters.
15755         (update_frame_gutters): update frame geometry if the gutters have
15756         changed.
15757         (init_frame_gutters): record current gutter geometries.
15758
15759         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15760         var.
15761         (mswindows_widget_instantiate): ditto.
15762
15763         * frame.h (struct frame): add current_gutter_bounds.
15764
15765         * frame.c (change_frame_size_1): position window and minibuffer
15766         appropriately taking into account the frame gutters.
15767
15768         * frame-x.c: (x_initialize_frame_size): take into account the
15769         frame gutters.
15770
15771 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15772
15773         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15774
15775 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15776
15777         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15778
15779 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15780
15781         * file-coding.c (reset_decoding_stream): Clear previous
15782         detection state when autodetect.
15783
15784 2000-02-29  Didier Verna  <didier@xemacs.org>
15785
15786         * extents.c (set_extent_glyph_1): don't require extents to be
15787         attached.
15788
15789 2000-02-27  Andy Piper  <andy@xemacs.org>
15790
15791         * gutter.c (Fset_default_gutter_position): don't default left and
15792         right gutter visibility to t.
15793         (Fset_default_gutter_position): run
15794         default-gutter-position-changed-hook.
15795         (syms_of_gutter): add default-gutter-position-changed-hook.
15796
15797 2000-02-26  Andy Piper  <andy@xemacs.org>
15798
15799         * specifier.c (Fmake_specifier): add gutter references.
15800
15801         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15802
15803         * lisp.h: declare Fvalid_plist_p.
15804
15805         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15806         as changed.
15807         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15808         well as its visibility so that it gets reconstructed.
15809         (construct_window_gutter_spec): new function. Construct a string
15810         to be displayed in the gutter from a plist of strings. Take care
15811         to only use elements that are declared as visible.
15812         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15813         WINDOW_GUTTER.
15814         (gutter_validate): allow plists of strings in the specifier.
15815         (gutter_specs_changed): construct the real_gutter from the gutter
15816         specs using construct_window_gutter_spec.
15817         (gutter_visible_validate): gutter-visible is a new specifier type.
15818         (Fgutter_visible_specifier_p): new function for the new specifier.
15819         (syms_of_gutter): declare gutter-visible and
15820         Fgutter_visible_specifier_p.
15821         (specifier_type_create_gutter): intitalize new gutter-visible
15822         specifier.
15823         (reinit_specifier_type_create_gutter): ditto.
15824         (specifier_vars_of_gutter): use new specifier type for gutter
15825         visibility.
15826         (init_frame_gutters): construct real_gutter correctly.
15827         (Fgutter_specifier_p): beef up documentation.
15828         (Fgutter_size_specifier_p): ditto.
15829
15830         * winslots.h: add real_gutter slots.
15831
15832 2000-02-25  Andy Piper  <andy@xemacs.org>
15833
15834         * device-msw.c: Be kind to older cygwin versions. From Raymond
15835         Toy <toy@rtp.ericsson.se>.
15836
15837         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15838         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15839
15840 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15841
15842         * elhash.c (MARK_OBJ): Practice macro hygiene.
15843
15844 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15845
15846         * miscplay.c: s/__inline__/inline/g;
15847         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15848         (get_device_compdc): INLINE ==> static inline
15849         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15850         find -name '*.h' | \
15851         xargs global-replace \
15852         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15853
15854 2000-02-25  Andy Piper  <andy@xemacs.org>
15855
15856         * window.c (window_top_frame_gutter_height): new function.
15857         (window_top_window_gutter_height): ditto.
15858         (window_top_gutter_height): use them.
15859         (window_bottom_frame_gutter_height): new function.
15860         (window_bottom_window_gutter_height): ditto.
15861         (window_bottom_gutter_height): use them.
15862         (window_left_window_gutter_width): new function.
15863         (window_left_frame_gutter_width): ditto.
15864         (window_left_gutter_width): use them.
15865         (window_right_window_gutter_width): new function.
15866         (window_right_frame_gutter_width): ditto.
15867         (window_right_gutter_width): use them.
15868         (window_pixel_height): new function. calulate window pixel height
15869         with frame gutter involvement.
15870         (Fsplit_window): calculate new sizes taking frame gutters into
15871         account.
15872         (window_char_height_to_pixel_height): don't include frame gutters.
15873         (window_char_height): use window_pixel_height.
15874         (window_pixheight): rename from window_pixel_height.
15875         (change_window_height): use it.
15876         (window_pixel_height_to_char_height): don't include frame gutters.
15877         (window_char_width_to_pixel_width): ditto.
15878
15879 2000-02-25  Andy Piper  <andy@xemacs.org>
15880
15881         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15882         if it is.
15883
15884 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15885
15886         * alloc.c (staticpro):
15887         (staticpro_nodump):
15888         (dumpstruct):
15889         (dumpopaque):
15890         (pdump_wire):
15891         (pdump_wire_list):
15892         (compact_string_chars):
15893         (pdump_dump_wired):
15894         Convert:  if (foo) abort();  ==>  assert (! foo);
15895
15896         * eldap.c (Fldap_search_basic):
15897         (Fldap_add):
15898         (Fldap_modify):
15899         (Fldap_delete):
15900         Fix compiler warnings, and possible crashes if (random) return
15901         value were to be used.
15902
15903 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15904
15905         * device-msw.c: Workaround ResetDC failure.
15906
15907         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15908         applying a devmode.
15909
15910         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15911         (mswindows_text_width): Do not start printer page.
15912
15913         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15914
15915         * glyphs-msw.c: Added image methods to msprinter console and
15916         msprinter-specific image instantiation.
15917
15918 2000-02-20  Mike Alexander  <mta@arbortext.com>
15919
15920         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15921         to avoid crashes when selection-sets-clipboard is on
15922         (mswindows_own_selection): ditto
15923
15924 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15925
15926         * glyphs-msw.c:
15927         * redisplay-msw.c (get_frame_dc):
15928         (get_frame_compdc):
15929         * console-msw.h:
15930         * device-msw.c (mswindows_init_device):
15931         (mswindows_delete_device):
15932         (msprinter_init_device):
15933         (msprinter_delete_device):
15934         * frame-msw.c (mswindows_init_frame_1):
15935         (mswindows_delete_frame):
15936         (msprinter_init_frame_3):
15937         (msprinter_delete_frame): Move compatible DC to device object from
15938         frame object, for both mswindows and msprinter. Only one at a time
15939         is needed, it is a real waste to have one per frame!
15940
15941 2000-02-23  Andy Piper  <andy@xemacs.org>
15942
15943         * glyphs.c: add dynamic width and height elements.
15944         (image_instance_equal): ditto.
15945
15946         * glyphs-widget.c (widget_query_geometry): calculate width and
15947         height dynamically if required.
15948         (initialize_widget_image_instance): initialize dynamic dimensions.
15949         (widget_instantiate): pick-up dynamic dimensions.
15950
15951         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15952         dynamic determination. Add appropriate macros.
15953
15954         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15955         dimensions safe.
15956         (WINDOW_GUTTER_SIZE): ditto.
15957         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15958
15959         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15960         inline.
15961         (get_frame_dc): ditto.
15962
15963         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15964         here.
15965
15966 2000-02-23  Martin Buchholz <martin@xemacs.org>
15967
15968         * XEmacs 21.2.31 is released.
15969
15970 2000-02-22  Ben Wing <ben@xemacs.org>
15971
15972         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15973
15974 2000-02-22  Andy Piper  <andy@xemacs.org>
15975
15976         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15977
15978 2000-02-21  Mike Sperber <mike@xemacs.org>
15979
15980         * .dbxrc:
15981         * .gdbinit:
15982         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15983         variables.
15984
15985 2000-02-21  Mike Sperber <mike@xemacs.org>
15986
15987         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15988
15989 2000-02-21  Martin Buchholz <martin@xemacs.org>
15990
15991         * XEmacs 21.2.30 is released.
15992
15993 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15994
15995         Performance hacking.
15996         * *.c (syms_of_*):
15997         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15998         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15999         * emacs.c (main_1):
16000         * lisp.h (DEFUN):
16001         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16002         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16003         * symeval.h (DEFVAR_SYMVAL_FWD):
16004         * symbols.c (guts_of_unbound_marker):
16005         Make all c_readonly objects also lisp_readonly and marked for life.
16006         * lrecord.h (struct lrecord_implementation):
16007         Document flags better.
16008         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16009         * lrecord.h (DECLARE_LRECORD):
16010         * lrecord.h (XSETRECORD):
16011         * lrecord.h (RECORDP):
16012         * lrecord.h (RECORD_TYPEP):
16013         * lrecord.h (RECORD_MARKER): New.
16014         * lrecord.h (error_check_*):
16015         * lrecord.h (CONCHECK_NONRECORD):
16016         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16017         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16018         * lrecord.h (set_lheader_implementation):
16019         * lrecord.h (enum lrecord_type): New.
16020         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16021         * alloc.c (disksave_object_finalization_1):
16022         * alloc.c (mark_object):
16023         * alloc.c (lrecord_type_index):
16024         * alloc.c (tick_lcrecord_stats):
16025         * alloc.c (Fgarbage_collect):
16026         * alloc.c (init_alloc_once_early):
16027         * alloc.c (pdump_load):
16028         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16029         * alloc.c (lrecord_type_index): Delete.
16030         Make lisp object type indexes be constant.
16031           Makes (byte-compile) 5% faster.
16032         Put all marker functions into their own array.
16033           Makes (garbage-collect) 5% faster.
16034         Optimize SYMBOL_VALUE_MAGIC_P.
16035           Makes (byte-compile) 2-3% faster.
16036         * config.h.in (gc_checking_assert): New.
16037         * alloc.c: Use gc_checking_assert().
16038         * .dbxrc: Make compatible with new object type implementation.
16039         * .gdbinit: Make compatible with new object type implementation.
16040         * alloc.c: Delete all symbols defined only for debugging, such as
16041         Lisp_Type_Vector and lrecord_charset.
16042
16043 2000-02-21  Andy Piper  <andy@xemacs.org>
16044
16045         * gui-msw.c (Fmswindows_shell_execute): fix file location
16046         problems.
16047
16048         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16049         unshowing so that set_window_buffer doesn't undo
16050         kill_buffer_hook's hard work.
16051
16052         * glyphs-widget.c (tab_control_query_geometry): don't count the
16053         first item when calculating geometry.
16054
16055         * glyphs.c (map_subwindow): remove redundant code.
16056         (update_frame_subwindows): be more circumspect about when to
16057         update subwindows.
16058
16059         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16060         when items haven't changed. Update faces if faces have changed as
16061         well as just the widget face.
16062         (x_tab_control_update): Update faces if faces have changed as well
16063         as just the widget face.
16064
16065 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16066
16067         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16068         registration.
16069         (build_syscolor_string): Use mswindows_color_to_string to try to
16070         get a named color.
16071         (mswindows_device_system_metrics): Reverse the foreground and
16072         background colors so that they match the documentation.
16073
16074         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16075         they match the default Windows palette.
16076         (mswindows_color_to_string): New function.
16077
16078 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16079
16080         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16081
16082 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16083
16084         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16085         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16086
16087         * symbols.c (init_symbols_once_early): Removed obsolete
16088         DATA_SEG_BITS related kludge.
16089         (defvar_magic): Ditto.
16090
16091         * malloc.c: Removed obsolete DATA_SEG_BITS
16092         * ralloc.c: Ditto.
16093         * mem-limits.h: Ditto.
16094
16095         * Makefile.in.in: Removed obsolete HAVE_SHM
16096         * emacs.c: Ditto.
16097
16098 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16099
16100         *  device-msw.c (mswindows_delete_device): Free DDE string
16101         handles.
16102
16103 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16104
16105         * keymap.c (get_keyelt):
16106         * unexnt.c (unexec):
16107         * vm-limit.c (memory_warnings):
16108         * ntheap.c (recreate_heap):
16109         * ntheap.h (UNINIT_PTR):
16110         * select-msw.c (Fmswindows_get_clipboard):
16111         (Fmswindows_set_clipboard):
16112         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16113         * objects-msw.c:
16114         * menubar-msw.c (displayable_menu_item):
16115         * glyphs-msw.c:
16116         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16117         * sysdep.c (sys_subshell):
16118         * process-nt.c (nt_create_process):
16119         * nt.c (normalize_filename):
16120         (dostounix_filename):
16121         (unixtodos_filename):
16122         * ntproc.c (win32_executable_type):
16123         * ntplay.c (play_sound_data_1):
16124         (play_sound_file):
16125         * editfns.c (get_home_directory):
16126         * event-msw.c (struct winsock_stream):
16127         (mswindows_dde_callback):
16128         * device-msw.c (msprinter_init_device):
16129         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16130
16131         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16132         mswindows_clear_toolbar were swapped!
16133
16134         * objects-msw.c:(colormap_t):
16135         (fontmap_t):
16136         * emacs.c (struct standard_args): Fixed const jumble.
16137
16138         * glyphs-widget.c (update_widget): Fixed comparison notation.
16139
16140         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16141
16142         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16143         __declspec(noreturn) syntax.
16144
16145 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16146
16147         * eldap.c (Fldap_open):
16148         (Fldap_search_basic):
16149         (Fldap_add):
16150         (Fldap_modify):
16151         Use new coding system conversion macros.
16152
16153 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16154
16155         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16156
16157 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16158
16159         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16160         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16161
16162         * eldap.c (Qadd, Qreplace): New constant symbols
16163         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16164         interruptions by XEmacs signals
16165         Remove unnecessary calls to slow_down_interrupts and
16166         speed_up_interrupts
16167         (Fldap_search_basic): Renamed from Fldap_search_internal
16168         Added new optional parameter VERBOSE that triggers the
16169         display of progress messages
16170         Remove unnecessary calls to slow_down_interrupts and
16171         speed_up_interrupts
16172         LDAP result code analysis rewritten
16173         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16174         (syms_of_eldap): Define the new symbols and functions
16175
16176
16177 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16178
16179         * realpath.c: Determine PATH_MAX maximally portably.
16180
16181         * insdel.c (bytecount_to_charcount): Optimize.
16182         The function used to be optimized for entirely ASCII sequences.
16183         Now it is optimized for successive characters from the same
16184         charset.  This also wins big for _mostly_ ASCII sequences.
16185
16186         * fileio.c (Ffile_truename): convert return from realpath() using
16187         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16188         - Rewrite GCPROing slightly.
16189
16190         * sysdep.c (sys_open): Do filename conversion, like all other
16191         sys_* functions.  Fixes bug:
16192         (let ((file-name-coding-system 'iso-8859-2))
16193            (write-region x y latin2-name))
16194         ==> writes filename using internal encoding.
16195
16196 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16197
16198         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16199         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16200         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16201         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16202         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16203         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16204         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16205         (CONST_IF_NOT_DEBUG): Delete.
16206         * alloc.c (this_one_is_unmarkable): Delete.
16207         (mark_object): Don't check for this_one_is_unmarkable. Use the
16208         c_readonly flag instead.
16209         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16210
16211 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16212
16213         * event-msw.c (mswindows_drain_windows_queue):
16214         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16215         away redundant repaint events.
16216
16217 2000-02-17  Andy Piper  <andy@xemacs.org>
16218
16219         * redisplay.h: declare mark_redisplay_structs.
16220
16221         * redisplay.c (redisplay_window):
16222         (redisplay_frame): don't check subwindows_state_changed.
16223         (mark_redisplay): mark gutters here.
16224
16225         * glyphs.c: (instantiate_image_instantiator): always layout if we
16226         haven't done so already.
16227         (allocate_image_instance): don't mark as dirty.
16228         (update_subwindow): bind inhibit_quit.
16229
16230         * gutter.c (mark_gutters): new function.
16231
16232         * glyphs-x.c (x_update_widget): Always resize to get round a
16233         widget bug.
16234
16235         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16236         breaking absolutely everything.
16237
16238         * gutter.h: declare mark_gutters.
16239
16240 2000-02-16  Martin Buchholz <martin@xemacs.org>
16241
16242         * XEmacs 21.2.29 is released.
16243
16244 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16245
16246         * fns.c (size_bit_vector): Fix computation of the size.
16247
16248 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16249
16250         * *.[ch]: Change CONST to const globally.
16251         find -name '*.[ch]' | \
16252         xargs global-replace \
16253         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16254         - Remove vestigial references to CONST_IS_LOSING
16255
16256 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16257
16258         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16259         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16260         events instead of dispatching them directly.
16261         (mswindows_handle_paint): New function to do repainting.
16262         (mswindows_wnd_proc):
16263         (emacs_mswindows_handle_magic_event): Call above function.
16264
16265 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16266
16267         * objects-msw.c (mswindows_create_font_variant): Return the new
16268         font handle.
16269         (initialize_font_instance): Get font metrics from the underlined
16270         variant of the font to cope with the case where the underlined
16271         font has a bigger descent.
16272
16273 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16274
16275         * gui.c (gui_item_accelerator): Return the first underlined
16276         character in item name.
16277
16278 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16279
16280         * lisp.h: Added Qprinter.
16281
16282         * general.c (syms_of_general): Initialized it.
16283
16284         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16285         (get_frame_dc):
16286         (get_frame_compdc): Made inline.
16287
16288         * console.h (struct console_methods): Added eject_page method.
16289
16290         * frame.h: Added FRAME_DISPLAY_P and friends.
16291         Aligned backslahes in many macros in more readable fashion.
16292         Added page_number to struct frame, and an accessor macro
16293         for it.
16294
16295         * defice.h: Added DEVICE_DISPLAY_P and friends.
16296
16297         * device.c (Fdevice_printer_p): Used these.
16298
16299         * frame.c (allocate_frame_core): Initialize page number.
16300         (Fprint_job_page_number):
16301         (Fprint_job_eject_page): Implemented.
16302
16303         * frame-msw.c (msprinter_eject_page): Added method.
16304         (msprinter_start_page): Added.
16305
16306         * window.c (Fwindow_truncated_p): Fixed docstring.
16307         (Fwindow_last_line_visible_height): Implemented.
16308
16309 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16310
16311         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16312
16313 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16314
16315         * syntax.c (scan_words): Always advance at least one character.
16316
16317 2000-02-13  Andy Piper  <andy@xemacs.org>
16318
16319         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16320         to make sure the glyph is in the cachels.
16321
16322         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16323         global image instance flag.
16324         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16325         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16326
16327         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16328         (Fset_image_instance_property): mark layout as changed.
16329         (invalidate_glyph_geometry_maybe): mark layout as changed.
16330         (glyph_width): use new NEEDS_LAYOUT macro.
16331         (glyph_ascent): ditto.
16332         (glyph_descent): ditto.
16333         (glyph_height): ditto.
16334         (image_instance_layout): mark layout as clean after laying out.
16335         (update_subwindow): don't mark layout as clean here.
16336
16337         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16338         should no longer be needed.
16339
16340         * glyphs-x.c (x_update_widget): sanitize asserts.
16341         (x_finalize_image_instance): sanitize assignment to widgets.
16342
16343         * glyphs-widget.c (widget_instantiate): don't need to clear the
16344         layout flag here.
16345
16346 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16347
16348         * sysdep.c (getcwd): Use standard prototype.
16349         * sysdep.h (getcwd): Use standard prototype.
16350
16351         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16352         (sequence, start, end).
16353         Remove redundant type checking.
16354         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16355         view of `caller-protects') to avoid a crash where the real fix was
16356         found elsewhere.
16357
16358 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16359
16360         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16361
16362         * s/sol2.h: Remove feature macro initialization.
16363
16364         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16365         (vector_hash): New.  Code from internal_hash.
16366         * lrecord.h:
16367         Fix up allocation subsystem comments.
16368
16369         * config.h.in: Add __EXTENSIONS__ for Solaris.
16370
16371         * systime.h (EMACS_GETTIMEOFDAY): New.
16372         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16373         Remove Solaris-specific code.
16374         Use void* for the (ignored) second arg for gettimeofday().
16375
16376         * elhash.c (hash_table_hash): Implement it, finally.
16377         * elhash.c:  Use hashcode_t.
16378
16379         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16380         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16381
16382         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16383         * fns.c (size_bit_vector):
16384         * alloc.c (size_vector):
16385         (make_vector_internal):
16386         (make_bit_vector_internal):
16387         (sweep_bit_vectors_1):
16388         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16389
16390 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16391
16392         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16393         Include strings.h to avoid warnings for bzero and strcasecmp.
16394
16395 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16396
16397         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16398         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16399
16400         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16401         sequence.
16402
16403 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16404
16405         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16406         use a value field instead.
16407         (symbol_value_forward_forward): Use value field.
16408         (DEFVAR_SYMVAL_FWD): Use value field.
16409         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16410         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16411         (DEFVAR_CONST_INT): Ditto.
16412         (DEFVAR_BOOL): Ditto.
16413         (DEFVAR_CONST_BOOL): Ditto.
16414         (DEFVAR_INT_MAGIC): Ditto.
16415         (DEFVAR_BOOL_MAGIC): Ditto.
16416
16417         * symbols.c (guts_of_unbound_marker): Use value field.
16418         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16419         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16420
16421         * lisp.h: Declare dumpopaque and noninteractive1.
16422
16423         * alloc.c (dumpopaque): Added.
16424         (pdump_dump_opaquevec): Added.
16425         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16426         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16427         noninteractive.
16428
16429 2000-02-10  Andy Piper  <andy@xemacs.org>
16430
16431         * glyphs.c (image_instance_layout): if the size changes, mark it
16432         as such.
16433
16434         * redisplay-output.c (redisplay_output_layout): Update the
16435         subwindow here.
16436         (redisplay_output_subwindow): ditto.
16437
16438         * glyphs.c (update_subwindow): make sure we reset flags for
16439         layouts as well as everything else.
16440
16441         * glyphs-widget.c (layout_layout): don't need to set the instances
16442         dimensions here.
16443
16444 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16445
16446         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16447         not HAVE_DLOPEN, which is a lower-level thing.
16448
16449         * .cvsignore: Ignore gmon.out
16450
16451 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16452
16453         * .cvsignore: Ignore portable dumper xemacs.dmp file
16454
16455 2000-02-09  Andy Piper  <andy@xemacs.org>
16456
16457         * redisplay-output.c (redisplay_output_layout): be more clever
16458         about when we output based on the changed flags.
16459
16460         * glyphs.h (struct image_instantiator_methods): add update_method.
16461         (struct Lisp_Image_Instance): add changed flags. Declare new
16462         macros for manipulating them.
16463
16464         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16465         (image_instance_parent_glyph): find an image_instance's parent
16466         glyph or image_instance.
16467         (image_instance_layout): mark the size as changed.
16468         (set_image_instance_dirty_p): new function. mark an image
16469         instance, plus all of its parents, as dirty.
16470         (Fset_image_instance_property): use it.
16471         (Fglyph_animated_timeout_handler): use it.
16472         (update_subwindow): call update_widget and device methods for
16473         update_subwindow. Mark all changed flags as clean.
16474         (Fresize_subwindow): mark size as changed.
16475
16476         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16477         failures.
16478         (x_update_subwindow): only resize subwindows here.
16479         (x_update_widget): new function. Update all changed properties of
16480         a widget.
16481         (x_resize_subwindow): deleted.
16482         (x_widget_set_property): deleted.
16483         (x_progress_gauge_set_property): deleted.
16484         (x_progress_gauge_update): new function. Implement recorded
16485         changes.
16486         (x_tab_control_update): ditto.
16487         (x_tab_control_set_property): deleted.
16488         (console_type_create_glyphs_x): declare new functions.
16489         (image_instantiator_format_create_glyphs_x): ditto.
16490
16491         * glyphs-widget.c (widget_set_property): mark text changed.
16492         (update_widget): new function. Update properties of a widget.
16493         (widget_instantiate): for layouts make sure we set their
16494         children's parent correctly.
16495         (tab_control_set_property): new function. Record changes that will
16496         take place under redisplay's control.
16497         (progress_gauge_set_property): ditto.
16498         (image_instantiator_progress_guage): declare new functions.
16499         (image_instantiator_tab_control): ditto.
16500
16501         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16502         now.
16503         (mswindows_update_widget): new function. Update all properties on
16504         a widget that have changed.
16505         (mswindows_button_update): new function. Update a button's set
16506         state.
16507         (mswindows_tab_control_update): new function. Update the items in
16508         a tab.
16509         (mswindows_tab_control_set_property): deleted.
16510         (mswindows_progress_gauge_update): new function. Update the
16511         progress gauge's progress.
16512         (mswindows_widget_set_property): deleted. This is all done
16513         asynchronously now.
16514         (mswindows_progress_gauge_set_property): ditto.
16515         (console_type_create_glyphs_mswindows): declare new methods.
16516         (image_instantiator_format_create_glyphs_mswindows): ditto.
16517
16518         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16519         (msprinter_set_frame_properties): ditto.
16520
16521         * console.h (struct console_methods): Add update_widget_method.
16522
16523 2000-02-09  Andy Piper  <andy@xemacs.org>
16524
16525         * gui-msw.c (Fmswindows_shell_execute): Make
16526         mswindows-shell-execute industrial strength.
16527
16528 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16529
16530         * lrecord.h: Make macro argument `props' match member function `plist'.
16531         * fns.c (Fget):
16532         * fns.c (Fput):
16533         * fns.c (Fremprop):
16534         * fns.c (Fobject_plist):
16535         * alloc.c:
16536         * symbols.c:
16537         Object property list frobbing cleanup.
16538         - Allow any lisp object (compared with `eq'), not just symbols, as
16539           keys in object plists.
16540         - Move symbol plist frobbing into symbols.c, where it belongs.
16541         - Move string plist frobbing into alloc.c, where it belongs.
16542         - Everything's an lrecord now, so no need to test for symbolp, etc.
16543         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16544
16545         * extents.c: Reorder code to remove declarations.
16546
16547         * frame.h (store_in_alist): Remove useless declaration.
16548
16549 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16550
16551         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16552         * config.h.in: Add HAVE_XCONVERTCASE.
16553
16554 2000-02-07  Andy Piper  <andy@xemacs.org>
16555
16556         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16557         it breaks many things.
16558
16559 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16560
16561         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16562         actually can start a common comment type.
16563         * src/syntax.h (SYNTAX_END_P): ditto for end.
16564
16565 2000-02-07  Martin Buchholz <martin@xemacs.org>
16566
16567         * XEmacs 21.2.28 is released.
16568
16569 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16570
16571         * event-Xt.c (x_keysym_to_character): New.
16572         (maybe_define_x_key_as_self_inserting_character): New.
16573         (x_has_keysym): New.
16574         Auto-define all keys on the keyboard as self-insert-key.
16575
16576 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16577
16578         * menubar.c (vars_of_menubar): A small code simplification.
16579
16580         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16581
16582         * ExternalShell.c:
16583         * ExternalClient.c:
16584         * EmacsShell-sub.c:
16585         * EmacsManager.c:
16586         * EmacsFrame.c:
16587         Use consistent style for specifying X resources.
16588
16589         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16590         This makes (dontusethis-set-symbol-value-handler) actually usable.
16591
16592         * lrecord.h (lrecord_decription_type):
16593         * alloc.c (pdump_register_sub):
16594         (pdump_dump_data):
16595         (pdump_reloc_one):
16596         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16597         Comply with XEmacs coding style.
16598         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16599         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16600
16601         * keymap.c (Faccessible_keymaps):
16602         Make (accessible-keymaps map "\C-h") do the Right Thing.
16603         Make (accessible-keymaps map []) do the Right Thing.
16604         Make (accessible-keymaps map "") do the Right Thing.
16605         (check_keymap_definition_loop): New function.
16606         (keymap_store_internal): Keep luser from shooting self in foot,
16607           via (define-key ctl-x-4-map "p" global-map).
16608         Remove fullness slot from struct Lisp_Keymap, since hash tables
16609         are now reliable.
16610         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16611
16612 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16613
16614         * redisplay.c (init_redisplay): Fix small memory leak.
16615         * elhash.h:
16616         * elhash.c (pdump_reorganize_hash_table):
16617         Rename from reorganize_hash_table. Change prototype.
16618         Reuse the original memory for hentries.  Save 100k.
16619         * alloc.c (PDUMP_READ): new macro.
16620         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16621         * alloc.c: No need to #ifndef before #undef.
16622
16623         * print.c: Allow debug_print() to print readably by modifying
16624         debug_print_readably.  Use consistent variable names.
16625
16626         * .dbxrc: Try to get things to work even if stopped in a function
16627         without source available by explicitly specifying source files.
16628 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16629
16630         * unexnt.c (_start): Removed bogus code which caused loading heap
16631         from differrent executable file.
16632         Removed bogus assignment to _fmode, which caused inconsistencies.
16633
16634 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16635
16636         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16637         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16638         Do not preliminary `#define signal sigset'.
16639
16640         * systime.h: Do not prototype environ on windows nt and cygwin,
16641         this conflicts with system header.
16642
16643         * syssignal.h: Use correct define for WINDOWSNT
16644
16645         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16646         with system header.
16647
16648         * sysdep.c (near start of file): Fixed commentary and rearranged
16649         ifdefs in readable order.
16650         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16651         (start_of_text):
16652         (end_of_text):
16653         (end_of_data): Do not compile in if using PDUMP.
16654
16655         * symsinit.h: Prototyped vars_of_nt().
16656
16657         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16658         (find_child_console): Use it.
16659         (sys_kill): Use it.
16660
16661         * ntheap.h: Do not extern os_subtype.
16662
16663         * ntheap.c (cache_system_info): Do not cache unneeded:
16664         nt_major_version, nt_minor_version and os_subtype.
16665         (recreate_heap): Do not compile in when PDUMPing.
16666
16667         * nt.c (geteuid and friends): Use the new varibale
16668         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16669         (init_user_info): Removed the above mentioned hackery.
16670         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16671         stat has been fixed in the C runtime.
16672         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16673
16674         * file-coding.c (struct file_coding_dump): Do not define
16675         ucs_to_mule_table in the struct if not MULE.
16676         (struct struct lrecord_description fcd_description_1): Do not dump
16677         the above.
16678
16679         * emacs.c (main_1): Call vars_of_nt().
16680         (right before Fdump_emacs_data): Don't need lastfile if using both
16681         portabe dumper and system malloc.
16682
16683         * alloc.c (Fmemory_limit): Conditionalized out.
16684         (pdump): Use OPEN_BINARY for the portable dump file.
16685         (pdump_load): Ditto.
16686
16687 2000-02-02  Mike Alexander  <mta@arbortext.com>
16688
16689         * nt.c (convert_time): Set tm_isdst before calling mktime and
16690         avoid calling it at all if the compiler supports 64 bit integers.
16691         Also initialize utc_base_ft before using it.
16692
16693 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16694
16695         * frame.c (change_frame_size_1): Take f->internal_border_width
16696         into consideration when calculating the width of the frame.
16697
16698 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16699
16700         * window.c (frame_min_height):
16701         (frame_size_valid_p):
16702         (frame_pixsize_valid_p): Added.
16703         (check_frame_size): Generalized.
16704
16705         * window.h: Prototyped the above.
16706
16707         * lisp.h:
16708         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16709         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16710         Deleted Vwin32_* and Vbinary_process_* unused variables.
16711
16712         * device-msw.c (msprinter_init_device): Do not get printer font
16713         list; Added DEVMODE functions.
16714
16715         * frame-msw.c: Added lots of printer code.
16716
16717         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16718         general.c.
16719
16720         * console-msw.h: Added more msprinter device private slots.
16721
16722 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16723
16724         * event-msw.c (key_needs_default_processing_p): Added.
16725         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16726
16727 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16728
16729         * glyphs.c (image_instance_layout): Mark image instance as clean
16730         after layout.
16731         (glyph_dirty_p): Removed redundant function.
16732         (invalidate_glyph_geometry_maybe): Added.
16733         (update_glyph_cachel_data): Call it.
16734
16735         * glyphs.h: Prototyped it.
16736
16737         * redisplay.c (add_glyph_rune): Call it.
16738         (redisplay_window): Reset glyphs cachels when frame faces have
16739         changed, thus forcing recomputation of built-in border glyphs.
16740
16741 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16742
16743         * Makefile.in.in: Make portable dumper and purify play well together.
16744         Add imperfect, but better than nothing, support for pdump.
16745         Remove xemacs.dmp when temacs is re-generated.
16746         Don't ignore errors when dumping xemacs.
16747
16748         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16749
16750 2000-01-28  Andy Piper  <andy@xemacs.org>
16751
16752         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16753         (setup_normal_frame): ditto.
16754         (setup_frame_without_minibuffer): ditto.
16755         (setup_minibuffer_frame): ditto.
16756         (delete_frame_internal): ditto.
16757         (Fmake_frame_invisible): ditto.
16758         (Ficonify_frame): ditto.
16759
16760         * window.h: change Fset_window_buffer signature.
16761
16762         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16763         (Fset_window_buffer): allow recording of buffer if the window is
16764         the selected window.
16765         (window_loop): Use new Fset_window signature.
16766
16767 2000-01-23  Daniel Pittman  <daniel@danann.net>
16768
16769         * config.h.in: Added template for `HAVE_ATHENA_3D'
16770
16771 2000-01-29  Andy Piper  <andy@xemacs.org>
16772
16773         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16774
16775         * gutter.c (output_gutter): Don't output if the window isn't live.
16776
16777 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16778
16779         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16780         of 01/12/00: Moved SetFocus back here where it belongs.
16781
16782 2000-01-23  Andy Piper  <andy@xemacs.org>
16783
16784         * s/cygwin32.h: declare printer things.
16785
16786 2000-01-26  Andy Piper  <andy@xemacs.org>
16787
16788         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16789         Alexander.
16790
16791 2000-01-24  Andy Piper  <andy@xemacs.org>
16792
16793         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16794         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16795
16796         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16797
16798         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16799
16800         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16801
16802         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16803         (mswindows_output_display_block): Avoid local shadows.
16804
16805         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16806         (mswindows_enqueue_mouse_button_event): ditto.
16807         (mswindows_handle_gui_wm_command): remove declaration.
16808
16809         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16810         warnings.
16811
16812         * console-msw.h: Avoid shadows.
16813         (mswindows_get_toolbar_button_text):
16814         (emacs_mswindows_create_stream_pair):
16815         (emacs_mswindows_delete_stream_pair):
16816         (mswindows_handle_toolbar_wm_command): declare.
16817
16818         * device-msw.c (build_syscolor_string): Avoid shadows.
16819
16820 2000-01-23  Andy Piper  <andy@xemacs.org>
16821
16822         * glyphs-widget.c (widget_instantiate): reverse the items for
16823         layouts so that children are in the expected order.
16824
16825 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16826
16827         * ralloc.c: safe_bcopy ==> memmove
16828         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16829         * s/msdos.h: Remove BCOPY macros.
16830         * insdel.c (gap_right): Remove BCOPY conditional code.
16831         * insdel.c (gap_left): Remove BCOPY conditional code.
16832         XEmacs demands a working ANSI C compiler - hence memmove.
16833
16834         * regex.c (regex_compile): Remove accidental use of trigraphs.
16835
16836 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16837
16838         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16839         event timestamp.
16840
16841 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16842
16843         * event-msw.c (mswindows_drain_windows_queue): Added the
16844         parameter.
16845         (mswindows_need_event): Commented the call to
16846         mswindows_drain_windows_queue().
16847         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16848         only.
16849
16850         * console-msw.h: Moved a few function prototypes here from
16851         event-msw.c.
16852
16853         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16854         parameter from unsigned short to unsigned long.
16855         (Fmswindows_shell_execute): Added return value.
16856
16857 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16858
16859         * sysdep.c (init_system_name):
16860           process-unix.c (unix_canonicalized_host_name):
16861         Don't call freeaddrinfo() if getaddrinfo() fails.
16862
16863         * process-unix.c (unix_open_unix_network_stream):
16864         Moved the code to get a port # into address loop.
16865
16866 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16867
16868         * buffer.c (reinit_vars_of_buffer):
16869         The right place to initialize conversion_in_dynarr and
16870         conversion_out_dynarr.
16871
16872         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16873
16874         * process-unix.c (unix_canonicalize_host_name): Muleize.
16875         (unix_open_network_stream): Muleize.
16876
16877         * buffer.h: Fix up prototypes for ralloc.c functions.
16878
16879 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16880         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16881         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16882                 instead of gethostbyname()
16883         * process-unix.c: In unix_canonicalize_host_name() and
16884                 unix_open_network_stream(), add code to use getaddrinfo()
16885                 instead of gethostbyname().
16886
16887 2000-01-27  Daniel Pittman <daniel@danann.net>
16888
16889         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16890         libs when built with flat Athena.
16891
16892 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16893
16894         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16895         Use coding standards for function prototypes.
16896
16897 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16898
16899         * dialog-msw.c (push_lisp_string_as_unicode):
16900         * doc.c (unparesseuxify_doc_string):
16901         * dired.c (Fuser_name_completion_1):
16902         * dired.c (Fuser_name_all_completions):
16903         * dired.c (free_user_cache):
16904         * dired.c (user_name_completion):
16905         * console-x.c (get_display_arg_connection):
16906         * minibuf.c (clear_echo_area_internal):
16907         * minibuf.c (echo_area_append):
16908         * eldap.c (Fldap_open):
16909         * eldap.c (Fldap_search_internal):
16910         * frame-x.c (x_set_frame_text_value):
16911         * frame-x.c (x_set_frame_properties):
16912         * frame-x.c (x_create_widgets):
16913         * redisplay-tty.c (term_get_fkeys_1):
16914         * objects-x.c (x_parse_nearest_color):
16915         * objects-x.c (x_valid_color_name_p):
16916         * objects-x.c (x_initialize_font_instance):
16917         * objects-x.c (x_list_fonts):
16918         * objects-x.c (x_find_charset_font):
16919         * tooltalk.c (Fadd_tooltalk_message_arg):
16920         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16921         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16922         * process-unix.c (unix_create_process):
16923         * ntproc.c (sys_spawnve):
16924         * sound.c (Fplay_sound_file):
16925         * sound.c (Fplay_sound):
16926         * buffer.c (init_initial_directory):
16927         * buffer.c (init_buffer):
16928         * editfns.c (init_editfns):
16929         * editfns.c (Ftemp_directory):
16930         * editfns.c (Fuser_full_name):
16931         * editfns.c (uncache_home_directory):
16932         * editfns.c (get_home_directory):
16933         * editfns.c (Fuser_home_directory):
16934         * editfns.c (Fformat_time_string):
16935         * editfns.c (Fcurrent_time_string):
16936         * gui-x.c (button_item_to_widget_value):
16937         * database.c (Fopen_database):
16938         * event-Xt.c (x_to_emacs_keysym):
16939         * event-Xt.c (x_event_to_emacs_event):
16940         * event-Xt.c (describe_event_window):
16941         * event-msw.c (mswindows_wnd_proc):
16942         * glyphs-eimage.c (jpeg_instantiate):
16943         * glyphs-eimage.c (gif_instantiate):
16944         * glyphs-eimage.c (png_instantiate):
16945         * glyphs-eimage.c (tiff_instantiate):
16946         * glyphs-x.c (xbm_instantiate_1):
16947         * glyphs-x.c (x_xbm_instantiate):
16948         * glyphs-x.c (x_xface_instantiate):
16949         * glyphs-x.c (autodetect_instantiate):
16950         * glyphs-x.c (cursor_font_instantiate):
16951         * glyphs-x.c (x_widget_instantiate):
16952         * glyphs-x.c (x_widget_set_property):
16953         * glyphs-x.c (x_widget_property):
16954         * glyphs-x.c (BUILD_GLYPH_INST):
16955         * print.c (write_string_to_stdio_stream):
16956         * print.c (output_string):
16957         * print.c (Falternate_debugging_output):
16958         * print.c (Fexternal_debugging_output):
16959         * glyphs-msw.c (extract_xpm_color_names):
16960         * glyphs-msw.c (mswindows_xpm_instantiate):
16961         * glyphs-msw.c (bmp_instantiate):
16962         * glyphs-msw.c (resource_name_to_resource):
16963         * glyphs-msw.c (mswindows_resource_instantiate):
16964         * glyphs-msw.c (xbm_instantiate_1):
16965         * glyphs-msw.c (mswindows_xbm_instantiate):
16966         * glyphs-msw.c (mswindows_xface_instantiate):
16967         * glyphs-msw.c (mswindows_widget_instantiate):
16968         * glyphs-msw.c (add_tree_item):
16969         * glyphs-msw.c (add_tab_item):
16970         * glyphs-msw.c (mswindows_combo_box_instantiate):
16971         * glyphs-msw.c (mswindows_widget_property):
16972         * glyphs-msw.c (mswindows_combo_box_property):
16973         * glyphs-msw.c (mswindows_widget_set_property):
16974         * console.c (stuff_buffered_input):
16975         * objects-msw.c (mswindows_initialize_color_instance):
16976         * objects-msw.c (mswindows_valid_color_name_p):
16977         * objects-msw.c (mswindows_list_fonts):
16978         * objects-msw.c (mswindows_font_instance_truename):
16979         * bytecode.c (optimize_compiled_function):
16980         * select-x.c (symbol_to_x_atom):
16981         * select-x.c (x_atom_to_symbol):
16982         * select-x.c (hack_motif_clipboard_selection):
16983         * select-x.c (selection_data_to_lisp_data):
16984         * select-x.c (lisp_data_to_selection_data):
16985         * select-x.c (Fx_get_cutbuffer_internal):
16986         * select-x.c (Fx_store_cutbuffer_internal):
16987         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16988         * buffer.h (TO_INTERNAL_FORMAT): New function.
16989         * emacs.c (make_arg_list_1):
16990         * emacs.c (make_argc_argv):
16991         * emacs.c (main_1):
16992         * emacs.c (Fdump_emacs):
16993         * emacs.c (split_string_by_emchar_1):
16994         * file-coding.h:
16995         * lisp.h:
16996         * lstream.h:
16997         * symsinit.h:
16998         * device-x.c (x_init_device):
16999         * device-x.c (Fx_valid_keysym_name_p):
17000         * device-x.c (Fx_get_font_path):
17001         * device-x.c (Fx_set_font_path):
17002         * glyphs.c (bitmap_to_lisp_data):
17003         * glyphs.c (pixmap_to_lisp_data):
17004         * alloc.c (make_ext_string): Use coding system arguments.  Update
17005         all callers.
17006         * alloc.c (build_string):
17007         * callproc.c (child_setup):
17008         * callproc.c (init_callproc):
17009         * fileio.c (lisp_strerror):
17010         * fileio.c (directory_file_name):
17011         * fileio.c (Fexpand_file_name):
17012         * fileio.c (Ffile_truename):
17013         * fileio.c (Fsysnetunam):
17014         * fileio.c (Fdo_auto_save):
17015         * sysdep.c (sys_readdir):
17016         * tests.c: New file.  Allow adding C tests.
17017         Replace GET_* macros with a more comprehensible and flexible
17018         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17019         Modify all calls.
17020         Any coding system can be used to do format conversion.
17021         Eliminate enum external_data_format.
17022         Eliminate convert_to_external_format.
17023         Eliminate convert_to_internal_format.
17024         Make sure file-name, keyboard, terminal, and ctext are always
17025         defined as coding systems or aliases.  Make
17026         file-name-coding-system, terminal-coding-system, and
17027         keyboard-coding-system magical variables that are equivalent to
17028         defining the corresponding coding system aliases.
17029
17030         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17031         * file-coding.c (Fcoding_system_alias_p): New function.
17032         * file-coding.c (Fcoding_system_aliasee): New function.
17033         * file-coding.c (append_suffix_to_symbol): New function.
17034         * file-coding.c (dangling_coding_system_alias_p): New function.
17035         * file-coding.c (Ffind_coding_system):
17036         * file-coding.c (Fcopy_coding_system):
17037         * file-coding.c (encode_coding_no_conversion):
17038         * file-coding.c (syms_of_file_coding):
17039         * file-coding.c (vars_of_file_coding):
17040         Rewrite coding system alias code.
17041         Allow nested aliases, like symbolic links.
17042         Allow redefinition of coding system aliases.
17043         Prevent existence of dangling coding system aliases.
17044
17045         * dired.c (Fuser_name_completion_1):
17046         * dired.c (Fuser_name_all_completions):
17047         A crash would happen if user did QUIT in the middle of building
17048         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17049
17050         * lisp.h:
17051         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17052
17053         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17054         an unsigned char *.  Update all callers.
17055
17056 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17057
17058         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17059
17060 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17061
17062         * elhash.c (hentry_description): Use more portable definition.
17063         (resize_hash_table): Initialize new hentries using
17064         xnew_array_and_zero, thereby simplifying the code.
17065
17066         * mule-charset.c (make_charset): Make sure entire object is
17067         initialized, to avoid Purify warnings.
17068
17069         * alloc.c (resize_string): Fix unlikely crash with big strings.
17070
17071 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17072
17073         * realpath.c (xrealpath):
17074         Don't call getwd().
17075
17076 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17077
17078         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17079
17080 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17081
17082         * unexelfsgi.c (unexec): Change the way we decide which segment
17083         should be extended.
17084
17085         Assumption that .bss section should be outside the PT_LOADable
17086         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17087         it's present) is inside the 'data' segment. This would fail the
17088         test which was used to find a segment to grow and cover new
17089         heap. Instead of this assumption, I created another one - on IRIX
17090         the segment to grow should start below .bss and it's address
17091         should extent above the end of .bss. Once this segment is
17092         identified, it's grown to accommodate the new heap and new
17093         zero-length .bss section is added at the end of .data2.
17094
17095 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17096
17097         * eval.c (Feval): Wrong number of arguments should use original
17098         function, not the indirect_function version of it.
17099
17100 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17101
17102         * glyphs-x.c (x_button_instantiate): Don't add image if
17103         it is not a pixmap.
17104         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17105         is relative.
17106
17107 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17108
17109         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17110         declaration.
17111         (DEFVAR_INT_MAGIC): Ditto.
17112         (DEFVAR_BOOL_MAGIC): Ditto.
17113         * glyphs.h: Reindent backslash.
17114
17115 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17116
17117         * glyphs-widget.c (layout_query_geometry):
17118         (layout_layout): Use correct types for gheight, gwidth.
17119
17120 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17121
17122         * EmacsManager.c (QueryGeometry): Purified.
17123
17124 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17125
17126         * alloc.c (make_float): Make sure entire object is initialized, to
17127         avoid Purify warnings.
17128         (pdump_register_sub): Remove useless assignment.
17129         (pdump): Use xmalloc, not malloc.
17130         (pdump_load): Use xmalloc, not malloc.
17131
17132 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17133
17134         * callproc.c:
17135         * dired-msw.c:
17136         * fileio.c:
17137         * process-nt.c:
17138         * redisplay-msw.c:
17139         * sysdep.c: Removed redundant #include <windows.h>
17140
17141 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17142
17143         * frame.c (delete_frame_internal): Do not delete device when its
17144         implementation so declares.
17145         (delete_frame_internal): Set device selected frame to nil when
17146         last frame goes away.
17147
17148         * device-msw.c (msprinter_device_system_metrics): Implemented.
17149         (mswindows_device_system_metrics): Added 'device-dpi property.
17150
17151         * device.c: (Fdevice_printer_p): Added.
17152         Added 'offset-workspace device metric.
17153
17154         * console.h (device_metrics): Declared DM_offset_workspace.
17155
17156 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17157
17158         * fileio.c (Ffile_truename): Remove pointless and confusing
17159         initialization of elen.
17160
17161         * glyphs-widget.c: Compiler warning fixes.
17162
17163 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17164
17165         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17166         instead of a Lisp_Object as argument to make it consistent with
17167         the other LIVE_P macros.
17168         (CHECK_LIVE_PROCESS): New macro.
17169
17170         * process.c: Declare Qprocess_live_p.
17171         (Fprocess_live_p): New function.
17172         (create_process): Use PROCESS_LIVE_P.
17173         (read_process_output): Ditto.
17174         (set_process_filter): Ditto.
17175         (Fdelete_process): Ditto.
17176         (kill_buffer_processes): Ditto
17177         (process_send_signal): Use CHECK_LIVE_PROCESS.
17178         (Fprocess_input_coding_system): Check whether process is still
17179         alive (fix PR#1061).
17180         (Fprocess_output_coding_system): Ditto.
17181         (Fprocess_coding_system): Ditto.
17182         (Fset_process_input_coding_system): Ditto.
17183         (Fset_process_output_coding_system): Ditto.
17184
17185 2000-01-23  Andy Piper  <andy@xemacs.org>
17186
17187         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17188         layout and widget.
17189
17190         * glyphs.c (mark_image_instance): take into account changed
17191         image_instance format.
17192         (image_instance_equal): ditto.
17193         (image_instance_hash): ditto.
17194
17195         * glyphs-widget.c (widget_instantiate): Incorporate layout
17196         instantiation here. Delay layout of the layout until later.
17197         (layout_instantiate): deleted.
17198         (layout_query_geometry): new function. get the geometry of a
17199         layout.
17200         (layout_layout): layout a layout dynamically.
17201         (image_instantiator_widget): New function - splitting up
17202         image_instantiator_format_create_glyphs_widget for netwinder
17203         compilation.
17204         (image_instantiator_buttons):
17205         (image_instantiator_edit_fields):
17206         (image_instantiator_combo_box):
17207         (image_instantiator_scrollbar):
17208         (image_instantiator_progress_guage):
17209         (image_instantiator_tree_view):
17210         (image_instantiator_tab_control):
17211         (image_instantiator_labels):
17212         (image_instantiator_layout): ditto.
17213         (image_instantiator_format_create_glyphs_widget): Call preceding
17214         functions.
17215
17216 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17217
17218         * process.c (Fset_process_coding_system):
17219         * device-x.c (Fx_keysym_hash_table):
17220         Docstring fixes.
17221
17222         * lstream.c (Lstream_write): Return documented value, not 0.
17223
17224         * fileio.c (directory_file_name):
17225         (Fsubstitute_in_file_name):
17226         (Fsubstitute_insert_file_contents_internal):
17227         (Fwrite_region_internal):
17228         * emacs.c:
17229         * sysdep.c:
17230         * getloadavg.c:
17231         * systty.h:
17232         Remove vestigial APOLLO-conditional code.
17233
17234 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17235
17236         * getpagesize.h: Add guard macros.
17237         * libsst.h: Add guard macros.
17238         * libst.h: Add guard macros.
17239         * line-number.h: Add guard macros.
17240         * ndir.h: Add guard macros.
17241         * sysfloat.h: Add guard macros.
17242         * sysfile.h: Add guard macros.
17243         * sysproc.h: Add guard macros.
17244         * syswait.h: Add guard macros.
17245         * xintrinsic.h: Add guard macros.
17246         * xintrinsicp.h: Add guard macros.
17247         * xmmanager.h: Add guard macros.
17248         * xmmanagerp.h: Add guard macros.
17249         * xmprimitive.h: Add guard macros.
17250         * xmu.h: Add guard macros.
17251         * gpmevent.h: Add copyright statement. Add guard macros.
17252         * miscplay.h: Add guard macros.
17253         * *.h: Use consistent C-standards-approved guard macro names.
17254
17255         * opaque.c (make_opaque): Switch parameter order.
17256         * opaque.h (make_opaque): Switch parameter order.
17257         Update all callers.
17258         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17259
17260         * config.h.in (type_checking_assert): Added.
17261         (bufpos_checking_assert): Added.
17262
17263 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17264
17265         * alloc.c: Harmless pdump changes.
17266         - Use countof().
17267         - spell alignment correctly.
17268         * sysdep.c: Use countof()
17269
17270 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17271
17272         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17273         initially_selected_for_input() console method, default to 0.
17274         (semi_canonicalize_console_connection): Try to delegate to
17275         canonicalize_console_connection if no such console method.
17276         (canonicalize_console_connection): Vice versa.
17277         (print_console): Do not print nil connection.
17278
17279         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17280         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17281         (XDEVIMPF_FRAMELESS_OK): Added.
17282         (CONSOLE_INHERITS_METHOD): Added.
17283
17284         * console-msw.c (mswindows_canonicalize_console_connection):
17285         Added.
17286         (mswindows_canonicalize_device_connection): Added.
17287
17288         * console-msw.h (struct msprinter_device): Added this struct and
17289         accessor macros.
17290         (mswindows_device): Made fontlist a lisp object.
17291
17292         * device.c (semi_canonicalize_device_connection):  Try to delegate
17293         to canonicalize_device_connection if no such console method.
17294         (canonicalize_device_connection): Vice versa.
17295         (print_device): Do not print nil connection.
17296
17297         * device-msw.c (mswindows_init_device): Call InitCommonControls
17298         when have widgets.
17299         (mswindows_delete_device): Removed fontlist deallocation.
17300         (mswindows_mark_device): Added.
17301
17302         * events.c (event_equal): Added abort() at unreached code.
17303         (event_hash): Ditto.
17304
17305         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17306         fallback tags of Windows devices.
17307
17308         * general.c (syms_of_general): Initialized Qmsprinter.
17309
17310         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17311         of fallback tags of Windows devices.
17312
17313         * lisp.h: Declared Qmsprinter.
17314
17315         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17316         of strings.
17317         (mswindows_list_fonts): Ditto.
17318         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17319         that it can be used by both mswindows and msprinter devices.
17320         (initialize_font_instance): Added.
17321         (mswindows_initialize_font_instance): Use it.
17322         (msprinter_initialize_font_instance): Added.
17323
17324         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17325         and implementation flags check.
17326         (redisplay_without_hooks): Changed the call to the above.
17327         (Fredraw_device): Ditto.
17328         (Fredisplay_device): Ditto.
17329
17330         * redisplay-msw.c (get_frame_dc): Implemented.
17331         (get_frame_compdc): Implemented.
17332         (many functions): Use the two functions above to get device
17333         contexts, ether for a window or a printer.
17334
17335 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17336
17337         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17338         initialization here.
17339         (init_symbols_once_early): Call it.
17340         * emacs.c (main_1): Call it.
17341         * symsinit.h: Declare it.
17342
17343 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17344
17345         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17346         Lisp_Object.
17347         (pdump_backtrace): Ditto.
17348         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17349         (pdump_get_entry): Abort if trying to register a null pointer.
17350         (pdump_dump_data): Cleanup types when relocating.
17351         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17352         (pdump_dump_rtables): Remove bad casts.
17353         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17354         Lisp_Object instead of a EMACS_INT for the hashtable
17355         reorganization.
17356
17357 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17358
17359         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17360
17361         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17362
17363         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17364
17365         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17366
17367 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17368
17369         * faces.h (FACE_STRIKETHRU_P): Added.
17370
17371         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17372         of font variants.
17373
17374         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17375         (mswindows_set_dc_font): New function, aware of font variants,
17376         separated from mswindows_update_dc.
17377
17378         * objects-msw.h (struct mswindows_font_instance_data): Added
17379         definition.
17380
17381         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17382         cached fonts and the data structure.
17383         (mswindows_initialize_font_instance): Added creation of font data
17384         structure.
17385         (mswindows_print_font_instance): Print at least something.
17386         (mswindows_create_font_variant): Implemented.
17387         (mswindows_get_hfont): Implemented.
17388
17389 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17390
17391         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17392         prototyping problem with msvc.
17393
17394         * emacs.c (main_1): added syms_of_gui_mswindows() call
17395
17396         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17397         syms_of_gui_mswindows() function
17398
17399         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17400
17401 2000-01-18  Martin Buchholz <martin@xemacs.org>
17402
17403         * XEmacs 21.2.27 is released.
17404
17405 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17406
17407         * glyphs-eimage.c (struct tiff_error_struct):
17408         (tiff_error_func):
17409         (tiff_warning_func):
17410         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17411
17412         * unexmips.c:
17413         * unexhp9k3.c:
17414         * unexfreebsd.c:
17415         * unexec.c: Remove vestigial Lucid C code.
17416         * unexalpha.c:
17417         * unexaix.c:
17418         * termcap.c:
17419         * libsst.c: Ansify.
17420         Remove declarations of errno and strerror().
17421
17422         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17423
17424         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17425
17426 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17427
17428         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17429         Optimize.
17430
17431 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17432
17433         * md5.c:
17434         * file-coding.c:
17435         * file-coding.h:
17436         Change enum eol_type to eol_type_t.
17437
17438 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17439
17440         * gui.c (get_gui_callback): Check cons before accessing car.
17441
17442 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17443
17444         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17445         (XSETSPECIFIER_TYPE): Ditto.
17446
17447 2000-01-17  Didier Verna  <didier@xemacs.org>
17448
17449         * redisplay.c (generate_fstring_runes): compute string size in
17450         characters, not bytes.
17451
17452 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17453
17454         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17455
17456 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17457
17458         * print.c (print_error_message): Call print_prepare().
17459
17460 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17461
17462         * .dbxrc: Renamed from dbxrc.
17463
17464         * events.c (event_to_character):
17465         Use `assert (foo)' instead of `if (!foo) abort()'
17466
17467         * .gdbinit (xtype): Add documentation.
17468         * .gdbinit (check-temacs): New function.
17469         * .gdbinit (check-xemacs): New function.
17470         * dbxrc (check-xemacs): New function.
17471         * dbxrc (check-xemacs): New function.
17472
17473 2000-01-14  Andy Piper  <andy@xemacs.org>
17474
17475         * glyphs-widget.c (widget_query_geometry): Make sure that we
17476         calculate default dimensions correctly.
17477
17478 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17479
17480         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17481
17482         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17483         pdump_wire'd variable.
17484
17485         * emacs.c: (main_1): Conditionalized calls to
17486         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17487
17488 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17489
17490         * window.c (Fset_window_configuration):
17491         * sysdep.c (_start):
17492         * input-method-motif.c (res):
17493         * event-Xt.c (Xt_process_to_emacs_event):
17494         Simple compiler warning fixes.
17495
17496         * bytecode.c (funcall_compiled_function): Use the original
17497         function symbol on the backtrace list in preference to the
17498         compiled_function object in error messages.
17499
17500 2000-01-13  Andy Piper  <andy@xemacs.org>
17501
17502         * glyphs-x.c (update_widget_face): Make sure we update the widget
17503         background as well as foreground.
17504
17505 2000-01-13  Andy Piper  <andy@xemacs.org>
17506
17507         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17508         fields to subwindow.
17509         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17510         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17511         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17512         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17513
17514         * glyphs-widget.c (check_valid_tab_orientation): new function.
17515         (initialize_widget_image_instance): zero orientation and
17516         justification.
17517         (widget_instantiate): pick up orientation.
17518         (tab_control_query_geometry): return appropriate values for
17519         vertical tabs.
17520
17521         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17522         appropriate creation flags for left, right and bottom tabs.
17523
17524         * s/cygwin32.h: add tab definitions.
17525
17526 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17527
17528         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17529         frame upon hiding a subwindow.
17530         (mswindows_button_instantiate): Changed the push button style to
17531         BS_PUSHBUTTON.
17532         (mswindows_button_instantiate): Removed button BS_NOTIFY
17533         style.
17534         (mswindows_button_instantiate): Removed redundant check for
17535         a disabled gui item.
17536         (mswindows_button_instantiate): Made use of WS_TABSTOP
17537         consistent: "operable" controls (edit, button, tree, scroll) have
17538         this style, "display-only" ones (static, progress gauge) do
17539         not. This style is currently ignored by XEmacs though. Also,
17540         removed the WS_EX_CONTROLPARENT style - it is not for children,
17541         it is for their parents!
17542         (mswindows_edit_field_instantiate): Ditto.
17543         (mswindows_progress_gauge_instantiate): Ditto.
17544         (mswindows_tree_view_instantiate): Ditto.
17545         (mswindows_tab_control_instantiate): Ditto.
17546         (mswindows_scrollbar_instantiate): Ditto.
17547         (mswindows_combo_box_instantiate): Ditto.
17548         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17549         style to the "clip" window.
17550         (mswindows_button_instantiate): Removed compilation warning by
17551         equally typing terms of the ?: operator.
17552
17553 2000-01-12  Didier Verna  <didier@xemacs.org>
17554
17555         * redisplay.c (generate_fstring_runes): new parameter holding the
17556         last modeline-format extent.
17557         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17558         extent, fill the glyph block with it.
17559         (generate_fstring_runes): handle these parameters.
17560         (generate_formatted_string_db): ditto.
17561
17562         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17563         glyphs'extents in the modeline.
17564
17565 1999-01-11  Mike Woolley  <mike@bulsara.com>
17566
17567         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17568         256Mb, as a workaround for the non-starting problem many people
17569         have experienced.
17570
17571 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17572
17573         * console-tty.c (Fset_console_tty_output_coding_system):
17574         Force redrawing tty frame.
17575
17576 2000-01-10  Didier Verna  <didier@xemacs.org>
17577
17578         * redisplay.c (generate_fstring_runes): fix size computation bug.
17579
17580 2000-01-09  William M. Perry <wmperry@aventail.com>
17581
17582         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17583
17584 2000-01-09  Andy Piper  <andy@xemacs.org>
17585
17586         * glyphs-msw.c: index -> i to avoid shadows.
17587         (xbm_create_bitmap_from_data): make static.
17588         (check_valid_string_or_int): deleted.
17589         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17590
17591         * glyphs-x.c (x_update_subwindow): remove unused args.
17592
17593         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17594         back pointer - this is done in allocate_image_instance.
17595         (query_string_font): return Qnil to make the compiler happy.
17596         (unmap_subwindow): set to ~0 to make the compiler happy.
17597         (glyph_query_geometry): comment out until used.
17598         (glyph_layout): ditto.
17599
17600 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17601
17602         * insdel.c (signal_after_change): Remove extraneous unbind_to().