update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_compat_of): Deleted.
4         (put_char_composition): Return `<-FOO' for compatibility mapping
5         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
6         of `symbol_name (XSYMBOL(...))'.
7         (Fput_char_attribute): Convert char-specs in value of
8         `{<-|->}font[^*]*' to characters and put reverse links.
9         (Fsave_char_attribute_table): Don't refer Q_compat_of.
10         (syms_of_chartab): Delete builtin symbol `<-compat'.
11
12 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * chartab.c (Q_circled_of): New variable.
15         (put_char_composition): Return `<-circled' instead of
16         `=decomposition' for compatibility mapping to single character
17         tagged `circle'.
18         (Fput_char_attribute): Convert char-specs in value of
19         `{<-|->}circled[^*]*' to characters and put reverse links.
20         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
21         for `<-circled'.
22         (syms_of_chartab): Add new symbol `<-circled'.
23
24 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * chartab.c (Qto_decomposition_at_circled): New variable.
27         (put_char_composition): Return `=>decomposition@circled' instead
28         of `=decomposition' for compatibility decomposition mapping tagged
29         `circle'.
30         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
31
32 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * chartab.c (Q_subscript_of): New variable.
35         (put_char_composition): Return `<-subscript' instead of
36         `=decomposition' for compatibility mapping to single character
37         tagged `sub'.
38         (Fput_char_attribute): Convert char-specs in value of
39         `{<-|->}subscript[^*]*' to characters and put reverse links.
40         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
41         for `<-subscript'.
42         (syms_of_chartab): Add new symbol `<-subscript'.
43
44 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * chartab.c (Q_superscript_of): New variable.
47         (put_char_composition): Return `<-superscript' instead of
48         `=decomposition' for compatibility mapping to single character
49         tagged `super'.
50         (Fput_char_attribute): Convert char-specs in value of
51         `{<-|->}superscript[^*]*' to characters and put reverse links.
52         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
53         for `<-superscript'.
54         (syms_of_chartab): Add new symbol `<-superscript'.
55
56 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (Qto_decomposition_at_compat): Deleted.
59         (Qto_decomposition_at_superscript): New variable.
60         (put_char_composition): Use `=>decomposition@superscript' instead
61         of `=decomposition' for compatibility decomposition mapping tagged
62         `super'.
63         (Fput_char_attribute): Fix condition about `put_char_composition'.
64         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
65         add news symbol `=>decomposition@superscript'.
66
67 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
70         for compatibility decomposition mapping tagged FOO.
71         (Fput_char_attribute): Modify for `put_char_composition'.
72
73 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * chartab.c (Qto_decomposition_at_compat): New variable.
76         (Q_compat_of): Renamed from `Q_compatibility_of'.
77         (put_char_composition): Rename `Q_compatibility_of' to
78         `Q_compat_of'; return `=>decomposition@compat' for compatibility
79         decomposition mapping.
80         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
81         `Q_compat_of'.
82         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
83         `<-compatibility' to `<-compat'.
84
85 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * chartab.c (Q_compatibility_of): New variable.
88         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
89         object is proved to be a cons cell; return `<-compatibility' if
90         the first element of argument `value' is `compat'.
91         (Fput_char_attribute): Eliminate the first value if
92         `put_char_composition' returns `<-compatibility'.
93         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
94         for `<-compatibility'.
95         (syms_of_chartab): Add new symbol `<-compatibility'.
96
97 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * chartab.c (Q_canonical): New variable.
100         (put_char_composition): Return a feature name: return
101         `->canonical' if argument `value' specifies single character.
102         (Fput_char_attribute): Use `put_char_composition' to determine
103         feature name for `=decomposition' or `->denotational'.
104         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
105         for `->canonical'.
106         (syms_of_chartab): Add new symbol `->canonical'.
107
108 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * chartab.c (Qmap_decomposition): New variable.
111         (Fput_char_attribute): Convert `->decomposition' to
112         `=decomposition'.
113         (syms_of_chartab): Add new symbol `=decomposition'.
114
115 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c (Fget_range_char_table): Fix serious problem when
118         `range' is nil.
119
120 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * chartab.c (char_table_get_db): Use `read_from_c_string'.
123
124 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * lread.c (read_from_c_string): New function.
127
128         * lisp.h (read_from_c_string): New prototype.
129
130 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * chartab.c (Fput_char_attribute): Convert char-specs in value of
133         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
134         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
135         for `{<-|->}Oracle-Bones[^*]*'.
136
137 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
140         (Kizu).
141
142 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
143
144         * text-coding.c (Qccs_priority_list): New variable in XEmacs
145         CHISE.
146         (Fmake_coding_system): Support new property `ccs-priority-list' in
147         XEmacs CHISE.
148         (Fcoding_system_property): Likewise.
149         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
150         Vdefault_coded_charset_priority_list in XEmacs CHISE.
151         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
152         XEmacs CHISE.
153         (complex_vars_of_file_coding): Define new coding-system-property
154         `ccs-priority-list' in XEmacs CHISE.
155
156         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
157
158 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
161         changed to normal function.
162         (encode_char_2): Likewise.
163
164         * mule-charset.c (decoding_table_put_char): Copied from
165         char-ucs.h; changed to normal function.
166         (encode_char_2): Likewise.
167
168 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
171         New extern.
172         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
173         (encode_char_2_search_children): New inline function.
174         (encode_char_2): Refer
175         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
176         and use `encode_char_2_search_children'.
177
178 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * mule-charset.c
181         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
182         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
183         (vars_of_mule_charset): Add new variable
184         `display-coded-charset-priority-use-inheritance' and
185         `display-coded-charset-priority-use-hierarchy-order'.
186
187 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
188
189         * char-ucs.h (Q_subsumptive): New extern.
190         (Q_denotational): Likewise.
191         (encode_char_2): Search children specified by `->subsumptive' and
192         `->denotational'.
193
194 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * mule-charset.c (complex_vars_of_mule_charset): Modify the
197         X-registry of `ucs-bmp'.
198
199 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * chartab.c (char-variants): Refer `->subsumptive',
202         `->denotational' and `->identical' as same as `->ucs-unified'.
203
204 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (Fput_char_attribute): Convert char-specs in value of
207         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
208         links.
209
210 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * text-coding.c: Add EXFUN for `Fregexp_quote'.
213         (decode_add_er_char): Fix problem about infinite loop when a CCS
214         specified in `coded-charset-entity-reference-alist' is not
215         existed.
216
217 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * mule-charset.c (syms_of_mule_charset): Rename
220         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
221
222 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * fns.c (simplify_char_spec): Don't allocate new character-object
225         if specified char_spec does not have any CCS-features.
226
227         * chartab.h: Add EXFUN for Fdefine_char.
228
229         * chartab.c: Delete EXFUN for Fdefine_char.
230
231 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * fns.c (simplify_char_spec): Use Fdefine_char instead of
234         Ffind_char for char-spec.
235
236 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * lisp-disunion.h (XCHARVAL): Fix condition about
239         SIZEOF_EMACS_INT.
240
241 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
244         <int> for `code'.
245         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
246         point; use <Emchar> instead of <int> for character-id.
247
248 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
251         (make_char): Likewise.
252         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
253         environment.
254         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
255         instead of <int> as the type of return value; use <Lisp_Object>
256         instead of <Emchar> as the type of argument.
257         (XCHARVAL[macro version]): Cast the result into <Emchar>.
258
259         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
260         syntaxcode> instead of <int>.
261
262 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * chartab.c (put_char_composition): Use DECODE_CHAR to get
265         character corresponding with UCS code point.
266         (Fput_char_attribute): Likewise.
267
268         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
269         character in the UCS decoding-table if the char-id is not equal to
270         the UCS code point.
271
272 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
273
274         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
275         for aliases; write `description'; write
276         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
277         not 0.
278
279 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * chartab.c (Fsave_char_attribute_table): Don't use
282         `save_charset_properties'.
283
284         * mule-charset.c (Fsave_charset_properties): Renamed from
285         `save_charset_properties' and changed to Lisp function again;
286         write property `type' as `CCS'; write properties `final-byte' and
287         `mother' if they exists.
288         (syms_of_mule_charset): Revive builtin function
289         `save-charset-properties' when HAVE_LIBCHISE is defined.
290
291 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
294         instead of Vexec_directory.
295         (char_attribute_system_db_file): Likewise.
296
297 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * chartab.c (Fsave_char_attribute_table): Use
300         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
301         defined.
302
303         * mule-charset.c (save_charset_properties): Renamed from
304         `Fsave_charset_properties'; changed to non-Lisp function.
305         (syms_of_mule_charset): Abolish builtin function
306         `save-charset-properties'.
307
308 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * mule-charset.c (Fsave_charset_properties): New function when
311         HAVE_LIBCHISE is defined.
312         (syms_of_mule_charset): Add new builtin function
313         `save-charset-properties' when HAVE_LIBCHISE is defined.
314
315 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * chartab.c (Fput_char_attribute): Convert char-specs in value of
318         `{<-|->}ancient[^*]*' to characters and put reverse links.
319         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
320         for `{<-|->}ancient[^*]*'.
321
322 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * chartab.c (Fput_char_attribute): Convert char-specs in value of
325         `{<-|->}original[^*]*' to characters and put reverse links.
326         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
327         for `{<-|->}original[^*]*'.
328
329 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
332
333 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * mule-charset.c (Qsystem_char_id): New variable.
336
337         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
338         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
339
340 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * chartab.c (Fput_char_attribute): When processing a reference of
343         a character, put into the end of the reversed reference of each
344         target character.
345
346 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * chartab.c (Q_same): Deleted.
349         (Q_same_of): Deleted.
350         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
351         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
352         for `{<-|->}same'.
353         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
354
355 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.c (Q_vulgar): Deleted.
358         (Q_vulgar_of): Deleted.
359         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
360         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
361         for `{<-|->}vulgar'.
362         (syms_of_chartab): Don't define `{<-|->}vulgar'.
363
364 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * chartab.c (Fput_char_attribute): Convert char-specs in value of
367         `{<-|->}wrong[^*]*' to characters and put reverse links.
368         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
369         for `{<-|->}wrong[^*]*'.
370
371 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Q_vulgar): New variable.
374         (Q_vulgar_of): New variable.
375         (Fput_char_attribute): Convert char-specs in value of
376         `{->|<-}vulgar' to characters and put reverse links.
377         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
378         for `{->|<-}vulgar'.
379         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
380
381 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * text-coding.c (decode_add_er_char): Must to quote prefix string
384         as regexp.
385
386 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
387
388         * mule-charset.c (put_char_ccs_code_point): Store characters of
389         =ucs whose code_points >= 0xF0000.
390
391 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
394         CHISE.
395         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
396         CHISE.
397         (complex_vars_of_mule_charset): Add new coded-charset
398         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
399         builtin characters over 0xEFFFF.
400
401         * chartab.c (syms_of_chartab): Don't define symbol
402         `system-char-id' in every case.
403
404         * char-ucs.h (Qsystem_char_id): New extern variable.
405         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
406
407 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
408
409         * text-coding.c (char_encode_utf8): Try to use entity-references
410         for U-000F0000 ...  U-0010FFFF.
411
412 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
413
414         * text-coding.c (ER_BUF_SIZE): New macro.
415         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
416         `er_buf'.
417         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
418         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
419
420 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * chartab.c (find_char_feature_in_family): New function.
423         (Fchar_feature): Use `find_char_feature_in_family' with
424         `->identical', `<-subsumptive' and `<-denotational'.
425
426 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
427
428         * text-coding.c (char_encode_as_entity_reference): Allow prefix
429         within 8 characters; fix infinite loop.
430
431 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * chartab.c (Q_same): New variable.
434         (Q_same_of): New variable.
435         (Fput_char_attribute): Convert char-specs in value of
436         `{->|<-}same' to characters and put reverse links.
437         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
438         for `{->|<-}same'.
439         (syms_of_chartab): Add new symbols `{->|<-}same'.
440
441 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (Q_component): New variable.
444         (Q_component_of): Likewise.
445         (Fput_char_attribute): Convert char-specs in value of
446         `{->|<-}ideographic-component-forms' to characters and put reverse
447         links.
448         (syms_of_chartab): Add new symbols
449         `{->|<-}ideographic-component-forms'.
450
451 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
452
453         * chartab.c (Q_identical): New variable.
454         (Q_identical_from): New variable.
455         (Fchar_feature): Regard `->identical' as a feature to find
456         ancestors.
457         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
458         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
459         for `{->|<-}identical'.
460         (syms_of_chartab): Add new symbols `{->|<-}identical'.
461
462 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
463
464         * char-ucs.h (encode_char_2): New inline function.
465         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
466
467 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * chartab.c (Fput_char_attribute): Convert char-specs to
470         characters in value of `ideographic-structure'.
471         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
472         for `{<-|->}simplified(@...)'.
473         (Fdefine_char): Try to use predefined character's id.
474
475 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * fns.c (simplify_char_spec): Try to convert builtin chars to
478         defined chars.
479
480 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c (Fput_char_attribute): Convert char-specs in value of
483         `<-simplified[^*]*' to characters and put reverse links.
484
485 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * chartab.c (Q_subsumptive): Renamed from Q_unified.
488         (Q_subsumptive_from): Renamed from Q_unified_from.
489         (Fchar_feature): Use `Q_subsumptive_from' instead of
490         `Q_unified_from'.
491         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
492         `Q_unified'.
493         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
494         `<-unified' to `<-subsumptive'.
495
496 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
499         inheritance itself; fix typo; stop recursive search if cyclic
500         inheritance is found.
501
502 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * chartab.c (Q_denotational): New variable.
505         (Q_denotational_from): New variable.
506         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
507         (put_char_attribute): New function.
508         (Fput_char_attribute): Use `put_char_attribute'; regard
509         `->denotational' and `<-denotational' as same as `->unified' and
510         `<-unified'.
511         (syms_of_chartab): Add new symbols `->denotational' and
512         `<-denotational'.
513
514 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
517         `Fget_char_attribute'.
518         (Fchar_variants): Likewise.
519         (get_char_table): Likewise.
520         (Fchar_feature): New function.
521         (put_char_composition): Use `Fchar_feature' instead of
522         `Fget_char_attribute'.
523         (Fput_char_attribute): Likewise; don't put the target character
524         into its `->unified' value.
525         (syms_of_chartab): Add new builtin function `char-feature'.
526
527 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
530         `Fget_char_attribute'.
531         (char_encode_utf8): Likewise.
532
533         * chartab.h: Add an EXFUN for `Fchar_feature'.
534
535 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
536
537         * chartab.c (Vnext_defined_char_id): New variable.
538         (Fput_char_attribute): Accept characters in `->unified'.
539         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
540         new characters which are not related with builtin char-id ranges.
541         (vars_of_chartab): Add new variable `next-defined-char-id'.
542
543 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * chartab.c (Q_unified): New variable.
546         (Q_unified_from): New variable.
547         (Fput_char_attribute): Add code for `->unified'.
548         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
549         XEmacs CHISE.
550
551 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * mule-charset.c (decode_ccs_conversion): New function.
554         (decode_defined_char): Use `decode_ccs_conversion'.
555         (decode_builtin_char): Likewise.
556
557 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * char-ucs.h: Change some charset-ids of private coded-charsets.
560
561 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
564         (char_encode_as_entity_reference): Likewise.
565         (decode_coding_big5): Modify for `decode_defined_char' and
566         `DECODE_CHAR'.
567         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
568         avoid compiler warning.
569         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
570
571         * mule-charset.c (decode_defined_char): Add new argument
572         `without_inheritance'.
573         (Fdecode_char): Add new optional argument `without_inheritance'.
574         (Fdecode_builtin_char): Modify for `Fdecode_char'.
575
576         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
577         (simplify_char_spec): Likewise.
578
579         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
580         setting.
581
582         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
583         (map_char_table): Likewise.
584         (Fdefine_char): Use `Fdecode_char' without inheritance.
585         (Ffind_char): Modify for `Fdecode_char'.
586
587         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
588
589         * char-ucs.h (decode_defined_char): Add new argument
590         `without_inheritance'.
591         (DECODE_CHAR): Likewise.
592         (MAKE_CHAR): Modify for `DECODE_CHAR'.
593
594 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * chartab.c (Vchise_system_db_directory): New variable.
597         (vars_of_chartab): Add new variable `chise-system-db-directory'.
598
599 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * chartab.c: EXFUN `Fmount_char_attribute_table'.
602         (print_chartab_range): Don't define when `UTF2000' is defined.
603         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
604         `CHISE_DS_open'.
605
606 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
609         and optional argument `rehash' is specified, call
610         `open_chise_data_source_maybe' before
611         `chise_ds_foreach_char_feature_name' is called.
612
613 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * chartab.c (char_attribute_list_reset_map_func): New function
616         when HAVE_LIBCHISE is defined.
617         (Fchar_attribute_list): Add new optional argument `rehash' when
618         HAVE_LIBCHISE is defined.
619         (open_chise_data_source_maybe): Use "chise-db" instead of
620         "char-db".
621         (char_attribute_system_db_file): Likewise.
622         (Fload_char_attribute_table): Use
623         `chise_feature_foreach_char_with_value' instead of
624         `chise_char_feature_value_iterate'.
625
626 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * chartab.c (Vchise_db_directory): New variable.
629         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
630
631 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
634         instead of HAVE_CHISE to specify using with libchise.
635
636         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
637
638         * chartab.h: Don't use HAVE_CHISE_CLIENT.
639
640         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
641         defined or HAVE_LIBCHISE_LIBCHISE is defined.
642         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
643         is defined.
644         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
645         HAVE_CHISE to specify using with libchise.
646         (syms_of_chartab): Don't define symbol `system-char-id' when
647         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
648
649 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
652         specify CHISE DB support.
653         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
654         of `char_attribute_system_db_file' to check feature DB file.
655
656         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
657         HAVE_CHISE_CLIENT to specify CHISE DB support.
658
659         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
660         specify CHISE DB support.
661         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
662         not defined.
663         (Freset_char_attribute_table): Use `chise_feature_setup_db'
664         instead of `char_attribute_system_db_file' to check feature DB
665         file.
666
667 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
670         `HAVE_CHISE_CLIENT'.
671
672 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
675         (Fsave_charset_mapping_table): Don't use
676         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
677
678         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
679         (HAVE_LIBCHISE): New macro.
680
681         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
682
683         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
684         (Fsave_char_attribute_table): Don't use
685         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
686
687 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
690         defined.
691         (save_uint16_byte_table): Likewise.
692         (save_byte_table): Likewise.
693         (char_table_get_db): Use `chise_ds_load_char_feature_value'
694         instead of `chise_char_load_feature_value'.
695         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
696
697 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
698
699         * chartab.h (struct Lisp_Char_Table): Delete member
700         `feature_table' if CHISE is defined.
701
702         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
703         (Fcopy_char_table): Likewise.
704         (char_table_open_db_maybe): Likewise.
705         (char_table_close_db_maybe): Likewise.
706         (char_table_get_db): Likewise.
707         (Fmount_char_attribute_table): Likewise.
708         (Fload_char_attribute_table): Likewise.
709
710 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * mule-charset.c (load_char_decoding_entry_maybe): Use
713         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
714         `chise_ccs_decode'.
715
716 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
717
718         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
719         instead of `chise_open_data_source'.
720         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
721         `chise_ds_close'.
722
723 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
724
725         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
726         instead of `chise_ds_open_feature_table'.
727         (char_table_close_db_maybe): Don't use `chise_ft_close'.
728
729 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
730
731         * mule-charset.c (Fsave_charset_mapping_table): Use
732         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
733         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
734         `chise_ccs_sync' instead of `chise_ccst_close'.
735         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
736
737         * chartab.c (open_chise_data_source_maybe): Modify for
738         `chise_open_data_source'.
739         (char_table_open_db_maybe): Modify for
740         `chise_ds_open_feature_table'.
741
742 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
743
744         * mule-charset.c (load_char_decoding_entry_maybe): Use
745         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
746         `chise_ccst_close'.
747
748 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
749
750         * mule-charset.c (Fsave_charset_mapping_table): Use
751         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
752         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
753         `chise_dt_put_char' and `chise_dt_close'.
754         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
755         `chise_ccs_decode' and `chise_ccst_close' instead of
756         `chise_ds_open_decoding_table', `chise_dt_get_char' and
757         `chise_dt_close'.
758
759         * chartab.c (char_table_get_db): Use
760         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
761         (load_char_attribute_table_map_func): Modify for
762         `chise_char_feature_value_iterate'.
763         (Fload_char_attribute_table): Use
764         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
765
766 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
769
770 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
771
772         * chartab.c (put_char_table): Modify for inherited coded-charsets
773         in XEmacs CHISE.
774
775 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
776
777         * chartab.c (Fput_char_table_map_function): Fixed.
778         (word_boundary_p): Don't check charset in XEmacs CHISE.
779
780 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
781
782         * mule-charset.c (Fsave_charset_mapping_table): Use
783         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
784         instead of `chise_open_decoding_table'; refer
785         `default_chise_data_source'; use `chise_dt_close' instead of
786         `chise_close_decoding_table'.
787         (load_char_decoding_entry_maybe): Likewise.
788
789         * chartab.c (default_chise_data_source): New variable when `CHISE'
790         is defined.
791         (Fcopy_char_table): `ct->ds' is deleted.
792         (open_chise_data_source_maybe): New function.
793         (Fclose_char_data_source): New function.
794         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
795         use `chise_ds_open_feature_table' instead of
796         `chise_open_feature_table'.
797         (char_table_close_db_maybe): Use `chise_ft_close' instead of
798         `chise_close_feature_table'; `cit->ds' is deleted.
799         (syms_of_chartab): Add new builtin function
800         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
801
802         * chartab.h (default_chise_data_source): New extern variable.
803         (open_chise_data_source_maybe): New prototype.
804         (struct Lisp_Char_Table): Delete `ds'.
805
806 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
809         `CHISE' is defined.
810
811 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
812
813         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
814         not defined; add code for non-libchise setting.
815         (char_table_close_db_maybe): Likewise.
816         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
817         defined.
818         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
819         even if `CHISE' is not defined.
820         (Freset_char_attribute_table): Likewise.
821         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
822         `char_table_close_db_maybe' even if `CHISE' is not defined; use
823         `char_table_get_db'.
824         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
825         `char_table_close_db_maybe' even if `CHISE' is not defined.
826
827 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
828
829         * chartab.c (char_table_open_db_maybe): New function.
830         (char_table_close_db_maybe): New function.
831         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
832         (Freset_char_attribute_table): Likewise.
833         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
834         `char_table_close_db_maybe'.
835         (Fload_char_attribute_table): Likewise.
836
837 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
838
839         * chartab.c: Don't include <chise.h> because it is included in
840         chartab.h.
841         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
842         defined.
843         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
844         `CHISE' is defined.
845         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
846         `CHISE' is defined.
847         (Fclose_char_attribute_table): Close `ct->feature_table' and
848         `ct->ds' when `CHISE' is defined.
849         (Freset_char_attribute_table): Likewise.
850         (load_char_attribute_maybe): Use `cit->ds' and
851         `cit->feature_table' when `CHISE' is defined.
852         (Fload_char_attribute_table): Likewise.
853
854         * chartab.h: Include <chise.h> when `CHISE' is defined.
855         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
856         when `CHISE' is defined.
857
858 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
859
860         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
861         is defined.
862         (char_table_description): Likewise.
863         (Fmake_char_table): Likewise.
864         (Fcopy_char_table): Likewise.
865         (Fmount_char_attribute_table): Likewise.
866         (Fclose_char_attribute_table): Likewise.
867         (Freset_char_attribute_table): Likewise.
868         (load_char_attribute_maybe): Likewise.
869         (Fload_char_attribute_table): Likewise.
870
871         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
872         defined.
873
874 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * chartab.c (load_char_attribute_table_map_func): New function
877         when CHISE is defined.
878         (Qload_char_attribute_table_map_function): Don't define when CHISE
879         is defined.
880         (Fload_char_attribute_table_map_function): Likewise.
881         (Fload_char_attribute_table): Use libchise when `CHISE' is
882         defined.
883         (syms_of_chartab): Don't define
884         `load-char-attribute-table-map-function' when CHISE is defined.
885
886 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
887
888         * chartab.c: Include <chise.h> when `CHISE' is defined.
889         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
890
891 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * mule-charset.c (charset_code_point): Fix problem when searching
894         in mother CCS fails with `defined_only' mode.
895
896 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
897
898         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
899         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
900         (put_char_composition): Likewise.
901         (Fput_char_attribute): Likewise.
902         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
903
904 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
905
906         * chartab.c (Q_ucs): Deleted.
907         (Fput_char_attribute): Don't refer `->ucs'.
908         (Fdefine_char): Likewise.
909         (Ffind_char): Likewise.
910         (syms_of_chartab): Delete `->ucs'.
911
912 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
913
914         * mule-charset.c (Qmap_cns11643_2): Renamed from
915         `Qchinese_cns11643_2'.
916         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
917         `chinese-cns11643-2'.
918         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
919         `=cns11643-2'.
920
921 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
922
923         * mule-charset.c (Qmap_cns11643_1): Renamed from
924         `Qchinese_cns11643_1'.
925         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
926         `chinese-cns11643-1'.
927         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
928         `=cns11643-1'.
929
930 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
931
932         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
933         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
934         `chinese-gb12345'.
935         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
936         `=gb12345'.
937
938 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
939
940         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
941         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
942         `chinese-gb2312'.
943         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
944         `=gb2312'.
945
946 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
947
948         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
949         (syms_of_mule_charset): Add new symbol `=big5' instead of
950         `chinese-big5'.
951         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
952
953 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
956         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
957         `korean-ksc5601'.
958         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
959         `=ks-x1001'.
960
961 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * mule-charset.c (Qmap_jis_x0212): Renamed from
964         `Qjapanese_jisx0212'.
965         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
966         `japanese-jisx0212'.
967         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
968         `=jis-x0212'.
969
970 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
971
972         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
973         `Qjapanese_jisx0208'.
974         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
975         of `japanese-jisx0208'.
976         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
977         `=jis-x0208-1983'.
978
979 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
980
981         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
982         `Qjapanese_jisx0208_1978'.
983         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
984         of `japanese-jisx0208-1978'.
985         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
986         `=jis-x0208-1978'.
987
988 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
989
990         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
991         only for XEmacs CHISE.
992
993 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
994
995         * char-ucs.h: Compact non-ISO-IR charset-ids.
996         (LEADING_BYTE_UCS): Changed to -177.
997         (LEADING_BYTE_CONTROL_1): Changed to -77.
998         (LEADING_BYTE_UCS_BMP): Changed to -176.
999         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1000
1001 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1002
1003         * mule-charset.c (Qiso_ir): New variable.
1004         (Fmake_charset): Recognise new property `iso-ir'.
1005         (syms_of_mule_charset): Add new symbol `iso-ir'.
1006
1007 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1008
1009         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1010         n to -n; charset-id of non ISO-IR sets are changed to positive
1011         numbers.
1012
1013 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1014
1015         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1016         for &MCS-XXXXXXXX; values.
1017
1018 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1019
1020         * mule.c (Vxemacs_chise_version): Renamed from
1021         `Vutf_2000_version'.
1022         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1023         `utf-2000-version' as an alias for `xemacs-chise-version'.
1024
1025 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1028         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1029         defined.
1030
1031         * config.h.in (CHISE): New macro.
1032
1033 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1034
1035         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1036         of `ucs'.
1037         (Qmap_ucs): New variable.
1038         (syms_of_mule_charset): Add new symbol `=ucs'.
1039         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1040
1041         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1042         (simplify_char_spec): Likewise.
1043
1044         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1045
1046         * char-ucs.h (Qmap_ucs): New extern variable.
1047
1048 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1049
1050         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1051         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1052         don't define it when UTF2000 is not defined.
1053         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1054         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1055         when UTF2000 is not defined.
1056         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1057         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1058
1059 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1062
1063         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1064         (Qucs_gb): Deleted.
1065         (syms_of_mule_charset): Delete `ucs-gb'.
1066         (complex_vars_of_mule_charset): Likewise.
1067
1068 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1069
1070         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1071
1072         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1073         (Qucs_cns): Deleted.
1074         (syms_of_mule_charset): Delete `ucs-cns'.
1075         (complex_vars_of_mule_charset): Likewise.
1076
1077 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1080
1081         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1082         (Qucs_jis): Deleted.
1083         (syms_of_mule_charset): Delete `ucs-jis'.
1084         (complex_vars_of_mule_charset): Likewise.
1085
1086 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1087
1088         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1089
1090         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1091         (Qucs_ks): Deleted.
1092         (syms_of_mule_charset): Delete `ucs-ks'.
1093         (complex_vars_of_mule_charset): Likewise.
1094
1095 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1098         (Qideograph_daikanwa_2): Deleted.
1099         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1100         (complex_vars_of_mule_charset): Likewise.
1101
1102         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1103         (LEADING_BYTE_DAIKANWA_1): Deleted.
1104         (LEADING_BYTE_DAIKANWA_2): Deleted.
1105         (MIN_CHAR_DAIKANWA): Deleted.
1106         (MAX_CHAR_DAIKANWA): Deleted.
1107
1108 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1109
1110         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1111         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1112         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1113
1114         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1115         (Vcharset_ideograph_daikanwa): Deleted.
1116         (Qideograph_hanziku_{1..12}): Deleted.
1117         (Qideograph_daikanwa): Deleted.
1118         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1119         Vcharset_ideograph_daikanwa.
1120         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1121         `ideograph-hanziku-{1..12}'.
1122         (complex_vars_of_mule_charset): Likewise.
1123
1124 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1127
1128         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1129         (Qideograph_gt_pj_{1..11}): Deleted.
1130         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1131         (complex_vars_of_mule_charset): Likewise.
1132
1133 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1136         (Vcharset_ideograph_gt): Deleted.
1137         (Qucs_big5): Deleted.
1138         (Qideograph_gt): Deleted.
1139         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1140         `ideograph-gt'.
1141         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1142         and `ideograph-gt'.
1143
1144         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1145         (LEADING_BYTE_GT): Deleted.
1146         (MIN_CHAR_GT): Deleted.
1147         (MAX_CHAR_GT): Deleted.
1148
1149 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1150
1151         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1152
1153 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1156         (save_uint16_byte_table): Likewise.
1157         (save_byte_table): Likewise; convert values by it.
1158         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1159         for `ideographic-structure'.
1160         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1161         as the filter for `ideographic-structure'.
1162
1163 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1164
1165         * chartab.c (put_char_composition): New function.
1166         (Fput_char_attribute): Use `put_char_composition'; use
1167         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1168
1169         * fns.c (simplify_char_spec): New function.
1170         (char_ref_simplify_spec): New function.
1171         (Fchar_refs_simplify_char_specs): New function.
1172         (syms_of_fns): Add new builtin function
1173         `char-refs-simplify-char-specs'.
1174
1175 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1178         (Qideograph_cbeta): Deleted.
1179         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1180         (complex_vars_of_mule_charset): Likewise.
1181
1182         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1183         (MIN_CHAR_CBETA): Comment out.
1184         (MAX_CHAR_CBETA): Likewise.
1185
1186 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1187
1188         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1189         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1190         CHISE client feature.
1191
1192 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1193
1194         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1195
1196 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1197
1198         * mule-charset.c (charset_lookup_description_1): Use
1199         `NUM_LEADING_BYTES' in UTF-2000.
1200
1201 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1202
1203         * char-ucs.h (GC_CHARSETP): Deleted.
1204
1205 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * char-ucs.h (MAX_CHAR_GT): Updated.
1208
1209 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1210
1211         * text-coding.c: Sync with XEmacs 21.4.10.
1212
1213 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * mule-charset.c (Vcharset_china3_jef): Deleted.
1216         (Qchina3_jef): Deleted.
1217         (syms_of_mule_charset): Don't define `china3-jef'.
1218         (complex_vars_of_mule_charset): Likewise.
1219
1220         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1221         (MIN_CHAR_CHINA3_JEF): Comment out.
1222         (MAX_CHAR_CHINA3_JEF): Comment out.
1223
1224 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1225
1226         * mule-charset.c (Vcharset_ucs_gb): New variable.
1227         (Qucs_gb): New variable.
1228         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1229         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1230
1231         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1232
1233 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * mule-charset.c (charset_code_point): if a coded-charset has a
1236         final-byte, don't inherit the builtin range of the mother CCS.
1237
1238 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1239
1240         * mule-charset.c (charset_code_point): Fix problem about
1241         inheritance.
1242
1243 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1244
1245         * mule-charset.c (decode_builtin_char): Reorganized.
1246
1247 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * text-coding.c (char_encode_as_entity_reference): Modify for
1250         `charset_code_point'.
1251         (char_encode_shift_jis): Likewise.
1252         (char_encode_big5): Likewise.
1253         (char_encode_utf8): Likewise.
1254         (char_encode_iso2022): Likewise.
1255
1256         * mule-charset.c (charset_code_point): Add new argument
1257         `defined_only'.
1258         (Fencode_char): Add new optional argument `defined_only'.
1259
1260         * chartab.c (put_char_table): Modify for `charset_code_point'.
1261
1262         * char-ucs.h (charset_code_point): Add new argument
1263         `defined_only'.
1264         (encode_char_1): Modify for `charset_code_point'.
1265
1266 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1269         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1270
1271 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1274         (Qjis_x0208): Likewise.
1275         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1276         XCHARSET_FINAL(charset).
1277         (charset_code_point): Modify condition for final-byte based
1278         builtin-chars.
1279         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1280         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1281         in UTF-2000; specify `=jis-x0208' as the mother of
1282         `japanese-jisx0208-1978', `japanese-jisx0208' and
1283         `japanese-jisx0208-1990' in UTF-2000.
1284
1285 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1288
1289 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1290
1291         * text-coding.c (decode_coding_utf16): Support UTF-16.
1292         (char_encode_utf16): Fixed.
1293
1294 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * text-coding.c (Qutf16): New variable in MULE.
1297         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1298         (Fcoding_system_type): Add `utf-16' in MULE.
1299         (struct detection_state): Add a structure for utf16 in MULE.
1300         (detect_coding_type): Setup st->utf16.mask in MULE.
1301         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1302         MULE.
1303         (reset_encoding_stream): Use `char_encode_utf16' and
1304         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1305         (detect_coding_utf16): New function [incomplete].
1306         (decode_coding_utf16): New function [support only UCS-2].
1307         (char_encode_utf16): New function.
1308         (char_finish_utf16): New function.
1309         (syms_of_file_coding): Add new symbol `utf-16'; setup
1310         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1311
1312         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1313         UTF-2000.
1314         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1315         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1316
1317 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1318
1319         * chartab.c (put_char_table): When a charset is specified as a
1320         range in UTF-2000, don't support builtin characters.
1321
1322 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1323
1324         * mule-charset.c (decode_defined_char): Don't refer external
1325         database if Qunbound or Qnil are found.
1326         (Fsave_charset_mapping_table): Don't define it if
1327         HAVE_CHISE_CLIENT is not defined.
1328         (Freset_charset_mapping_table): New function.
1329         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1330         found in external database.
1331         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1332         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1333         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1334
1335 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1336
1337         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1338         not.
1339
1340 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1341
1342         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1343         Q_lowercase, Q_uppercase in UTF-2000.
1344
1345         * chartab.c (get_char_table): Add special code for the standard
1346         case table to use character attribute `->downcase' and
1347         `->uppercase' for case operations in UTF-2000.
1348
1349         * casetab.c (Qflippedcase): New variable in UTF-2000.
1350         (Q_lowercase): Likewise.
1351         (Q_uppercase): Likewise.
1352         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1353         and `->uppercase' in UTF-2000.
1354         (complex_vars_of_casetab): Assign attribute name `downcase' to
1355         downcase and CANON table of Vstandard_case_table in UTF-2000;
1356         assign attribute name `flippedcase' to upcase and EQV table of
1357         Vstandard_case_table in UTF-2000.
1358
1359 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1360
1361         * text-coding.c (decode_add_er_char): Support isolated-chars.
1362         (char_encode_as_entity_reference): Likewise.
1363
1364 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1365
1366         * emacs.c (Vutf_2000_lisp_directory): New variable.
1367         (Vconfigure_utf_2000_lisp_directory): Likewise.
1368         (complex_vars_of_emacs): Add new variable
1369         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1370
1371 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1372
1373         * char-ucs.h (DECODE_CHAR): Delete special code for
1374         `chinese-big5-1' and `chinese-big5-2'.
1375
1376         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1377         (Qbig5_2): Likewise.
1378         (decode_defined_char): Support CONVERSION_BIG5_1 and
1379         CONVERSION_BIG5_2.
1380         (decode_builtin_char): Likewise.
1381         (charset_code_point): Likewise.
1382         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1383         'conversion in UTF-2000.
1384         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1385         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1386         `chinese-big5-2' as children of `chinese-big5'.
1387
1388         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1389         (CONVERSION_BIG5_2): New macro.
1390
1391 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1392
1393         * text-coding.c (char_encode_big5): Support entity-reference.
1394
1395 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1396
1397         * text-coding.c (char_encode_as_entity_reference): New function.
1398         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1399
1400 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1401
1402         * text-coding.c (decode_coding_big5): Support entity-reference
1403         decoding feature.
1404
1405 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * text-coding.c (allocate_coding_system): Initialize initial
1408         charsets for CODESYS_UTF8.
1409         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1410         charset-g2 for CODESYS_UTF8.
1411         (decode_coding_utf8): Use charset-g0.
1412         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1413         to force variants to map to UCS.
1414
1415 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1416
1417         * text-coding.c (Qutf_8_mcs): New variable.
1418         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1419         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1420         instead of `utf-8' in UTF-2000.
1421
1422 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1425         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1426         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1427         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1428         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1429         CONVERSION_96x96x96x96 are introduced.
1430         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1431         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1432         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1433
1434         * char-ucs.h (CONVERSION_94): New macro.
1435         (CONVERSION_96): New macro.
1436         (CONVERSION_94x94): New macro.
1437         (CONVERSION_96x96): New macro.
1438         (CONVERSION_94x94x94): New macro.
1439         (CONVERSION_96x96x96): New macro.
1440         (CONVERSION_94x94x94x60): New macro.
1441         (CONVERSION_94x94x94x94): New macro.
1442         (CONVERSION_96x96x96x96): New macro.
1443
1444 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * chartab.c (Vcharacter_variant_table): Deleted.
1447         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1448         of `Vcharacter_variant_table'.
1449         (Fput_char_attribute): Likewise.
1450         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1451         (complex_vars_of_chartab): Likewise.
1452
1453 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1456
1457         * fns.c (Qideographic_structure): New variable.
1458         (Qkeyword_char): New variable.
1459         (ids_format_unit): New function.
1460         (Fideographic_structure_to_ids): New function.
1461         (syms_of_fns): Add new symbols `ideographic-structure' and
1462         `:char'; add new builtin function `ideographic-structure-to-ids'.
1463
1464         * data.c (Fchar_ref_p): New function.
1465         (syms_of_data): Add new builtin function `char-ref-p'.
1466
1467         * chartab.h: Add an EXFUN for `Ffind_char'.
1468
1469 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1470
1471         * text-coding.c (Vcharacter_composition_table): Deleted.
1472         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1473         in every UTF-2000.
1474
1475         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1476         UTF-2000.
1477         (Vcharacter_composition_table): Deleted.
1478         (Fget_composite_char): Use the implementation for external-DB
1479         support in every UTF-2000.
1480         (Fput_char_attribute): Likewise.
1481         (char_attribute_system_db_file): Don't define if external-DB
1482         feature is not available.
1483         (Fsave_char_attribute_table): Likewise.
1484         (Fmount_char_attribute_table): Likewise.
1485         (Fclose_char_attribute_table): Likewise.
1486         (Freset_char_attribute_table): Likewise.
1487         (Fload_char_attribute_table): Likewise.
1488         (syms_of_chartab): Don't define `save-char-attribute-table',
1489         `mount-char-attribute-table', `reset-char-attribute-table',
1490         `close-char-attribute-table' and `load-char-attribute-table' if
1491         external-DB feature is not available.
1492         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1493
1494 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1495
1496         * text-coding.c (Qcomposition): Add extern if external-DB feature
1497         is supported.
1498         (Vcharacter_composition_table): Don't add extern if external-DB
1499         feature is supported.
1500         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1501         character composition rule if external-DB feature is supported.
1502
1503         * chartab.c (Vcharacter_composition_table): Don't define if
1504         external-DB feature is supported.
1505         (Qcomposition): New variable.
1506         (Fget_composite_char): New implementation for external-DB support.
1507         (Fput_char_attribute): Use `composition' property of each
1508         character instead of `Vcharacter_composition_table' to store
1509         character-composition rules if external-DB feature is supported.
1510         (syms_of_chartab): Add new symbol `composition'.
1511         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1512         external-DB feature is supported.
1513
1514 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1515
1516         * chartab.c (Vchar_db_stingy_mode): New variable.
1517         (load_char_attribute_maybe): Close database if
1518         Vchar_db_stingy_mode is not NIL.
1519         (Fload_char_attribute_table_map_function): Use
1520         `get_char_id_table_0' instead of `get_char_id_table'.
1521         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1522
1523         * chartab.h (get_char_id_table_0): New inline function.
1524         (get_char_id_table): Use `get_char_id_table_0'.
1525
1526 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1527
1528         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1529         and `COMPOSE_ADD_CHAR'.
1530         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1531
1532 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1533
1534         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1535         instead of `DECODE_ADD_UCS_CHAR'.
1536         (COMPOSE_ADD_CHAR): Likewise.
1537
1538 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1539
1540         * text-coding.c (decode_flush_er_chars): New inline function.
1541         (decode_add_er_char): New function.
1542         (decode_coding_utf8): Use `decode_flush_er_chars' and
1543         `decode_add_er_char'.
1544
1545 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1546
1547         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1548         done before `decode_output_utf8_partial_char'.
1549
1550         * mule-charset.c (complex_vars_of_mule_charset): Specify
1551         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1552         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1553
1554 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1555
1556         * mule-charset.c (decode_defined_char): New function; search
1557         mother.
1558         (decode_builtin_char): Don't search mother if
1559         XCHARSET_MAX_CODE(charset) == 0.
1560         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1561         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1562         (Fdecode_char): Use `decode_defined_char' instead of
1563         `DECODE_DEFINED_CHAR'.
1564         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1565         mother of `Vcharset_ucs_jis'.
1566
1567         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1568         instead of `DECODE_DEFINED_CHAR'.
1569
1570         * char-ucs.h (decode_defined_char): Renamed from
1571         `DECODE_DEFINED_CHAR'; changed to normal function.
1572         (DECODE_CHAR): Use `decode_defined_char' instead of
1573         `DECODE_DEFINED_CHAR'.
1574
1575         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1576
1577 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1580
1581         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1582         variable.
1583         (Quse_entity_reference): New variable.
1584         (Qd): New variable.
1585         (Qx): New variable.
1586         (QX): New variable.
1587         (coding_system_description): Add description for
1588         `ccs_priority_list'.
1589         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1590         (allocate_coding_system): Initialize `ccs_priority_list' in
1591         UTF-2000.
1592         (Fmake_coding_system): Add description about
1593         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1594         (codesys).
1595         (Fcoding_system_property): Accept `disable-composition' and
1596         `use-entity-reference' in UTF-2000.
1597         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1598         in UTF-2000.
1599         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1600         (decode_coding_utf8): Decode entity-reference if
1601         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1602         (char_encode_utf8): Encode non-Unicode characters as
1603         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1604         (str->codesys).
1605         (syms_of_file_coding): Add new symbols `use-entity-reference',
1606         `d', `x', `X'.
1607         (vars_of_file_coding): Add new variable
1608         `coded-charset-entity-reference-alist'.
1609         (complex_vars_of_file_coding): Declare `disable-composition' and
1610         `use-entity-reference' to be coding-system-properties in UTF-2000.
1611
1612         * file-coding.h (struct Lisp_Coding_System): Add new member
1613         `use_entity_reference' and `ccs_priority_list'.
1614         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1615         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1616         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1617
1618 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1619
1620         * chartab.c (save_uint8_byte_table): Don't clear the table.
1621         (save_uint16_byte_table): Likewise.
1622         (save_byte_table): Likewise.
1623         (Fmount_char_attribute_table): New function.
1624         (syms_of_chartab): Add new builtin function
1625         `mount-char-attribute-table'.
1626
1627 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1630         "w+" mode.
1631         (load_char_decoding_entry_maybe): Open database as read-only mode.
1632
1633         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1634         open database as "w+" mode.
1635         (load_char_attribute_maybe): Open database as read-only mode.
1636         (Fload_char_attribute_table): Likewise.
1637
1638 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1641         (char_table_description): Delete member `db_file'.
1642         (Fmake_char_table): Don't refer `ct->db_file'.
1643         (Fcopy_char_table): Likewise.
1644         (Fsave_char_attribute_table): Likewise.
1645         (Fclose_char_attribute_table): Likewise.
1646         (Freset_char_attribute_table): Likewise.
1647         (load_char_attribute_maybe): Likewise.
1648         (Fload_char_attribute_table): Likewise.
1649
1650         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1651
1652 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1653
1654         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1655         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1656         `ct->db' is living.
1657         (load_char_attribute_maybe): Likewise.
1658         (Fload_char_attribute_table): Likewise.
1659
1660 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1661
1662         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1663         `ct->db_file' unconditionally.
1664
1665 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1666
1667         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1668         UTF-2000.
1669         (char_table_description): Add description for `db_file' and `db'
1670         in UTF-2000.
1671         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1672         UTF-2000.
1673         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1674         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1675         (Fclose_char_attribute_table): New function.
1676         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1677         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1678         and `cit->db'.
1679         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1680         (syms_of_chartab): Add new builtin function
1681         `Fclose_char_attribute_table'.
1682
1683 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1684
1685         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1686         `db' in UTF-2000.
1687         (load_char_attribute_maybe): Change interface.
1688         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1689
1690 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1691
1692         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1693
1694 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1695
1696         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1697         instead of `DECODE_CHAR' for mother; don't use special code for
1698         chinese-big5 to use code space of chinese-big5-1 and
1699         chinese-big5-2.
1700         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1701         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1702
1703         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1704         (MAX_CHAR_BIG5_CDP): Revival.
1705
1706 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1707
1708         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1709         the XLFD registry-encoding name of `chinese-big5'.
1710
1711 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1712
1713         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1714         (Qchinese_big5_cdp): Deleted.
1715         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1716         (complex_vars_of_mule_charset): Delete coded-charset
1717         `chinese-big5-cdp'.
1718
1719         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1720         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1721         `CHARSET_ID_OFFSET - n' for private CCS.
1722         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1723         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1724         of `MIN_LEADING_BYTE'.
1725         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1726         `(CHARSET_ID_OFFSET - 97)'.
1727         (MIN_CHAR_BIG5_CDP): Deleted.
1728         (MAX_CHAR_BIG5_CDP): Deleted.
1729
1730 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1733
1734 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1735
1736         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1737         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1738         chartab.c].
1739
1740         * chartab.c (Vutf_2000_version): Moved to mule.c.
1741         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1742
1743 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1744
1745         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1746         when HAVE_CHISE_CLIENT is not defined.
1747
1748         * mule.c (vars_of_mule): Provide feature `chise' when
1749         HAVE_CHISE_CLIENT is defined.
1750
1751 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1752
1753         * config.h.in (UTF2000): Add comment.
1754         (HAVE_CHISE_CLIENT): New macro.
1755
1756 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1757
1758         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1759         CONSP.
1760         (Fput_char_attribute): Likewise.
1761         (char_attribute_system_db_file): Encode file-name of attribute.
1762         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1763         the initial value.
1764
1765 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1766
1767         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1768         (Fsave_charset_mapping_table): Use
1769         `char_attribute_system_db_file'.
1770         (load_char_decoding_entry_maybe): Likewise.
1771
1772         * chartab.h (Qsystem_char_id): New external variable.
1773         (char_attribute_system_db_file): New prototype.
1774
1775         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1776         (char_attribute_system_db_file): New function.
1777         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1778         (Freset_char_attribute_table): Likewise.
1779         (load_char_attribute_maybe): Likewise.
1780         (Fload_char_attribute_table): Likewise.
1781         (syms_of_chartab): Add new symbol `system-char-id'.
1782
1783 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1784
1785         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1786         `XCHARSET_GRAPHIC(ccs)'.
1787
1788 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1791
1792 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * chartab.c (Q_ucs_variants): New variable.
1795         (syms_of_chartab): Add new symbol `->ucs-variants'.
1796         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1797         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1798         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1799
1800         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1801
1802         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1803         `HAVE_DATABASE' is defined.
1804         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1805         `HAVE_DATABASE' is defined.
1806
1807 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1808
1809         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1810         attribute-table.
1811         (Freset_char_attribute_table): New function.
1812         (syms_of_chartab): Add new builtin function
1813         `reset-char-attribute-table'.
1814
1815 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1816
1817         * chartab.c (load_char_attribute_maybe): Don't make directories.
1818
1819 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1820
1821         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1822
1823         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1824         for decoding-table.
1825
1826 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1827
1828         * mule-charset.c (Fsave_charset_mapping_table): Use
1829         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1830
1831         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1832         instead of `XCHARSET_CHARS'.
1833
1834 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1835
1836         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1837         (XCHARSET_BYTE_SIZE): Likewise.
1838
1839         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1840         mule-charset.c].
1841         (XCHARSET_BYTE_SIZE): Likewise.
1842
1843 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1844
1845         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1846         data-directory to store database.
1847         (Fsave_char_attribute_table): Likewise.
1848         (load_char_attribute_maybe): Likewise.
1849         (Fload_char_attribute_table): Likewise.
1850
1851 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1852
1853         * mule-charset.c (Fsave_charset_mapping_table): New function.
1854         (syms_of_mule_charset): Add new builtin function
1855         `save-charset-mapping-table'.
1856
1857 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1858
1859         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1860         (get_ccs_octet_table): New inline function.
1861         (put_ccs_octet_table): Likewise.
1862         (decoding_table_put_char): Use `get_ccs_octet_table' and
1863         `put_ccs_octet_table'.
1864         (decoding_table_remove_char): Use `decoding_table_put_char'.
1865         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1866
1867         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1868         into encoding_table.
1869         (make_charset): Use Qunbound instead Qnil as initial value of
1870         decoding_table.
1871
1872 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1873
1874         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1875         element is Qunloaded.
1876         (map_over_uint16_byte_table): Likewise.
1877         (map_over_byte_table): Likewise.
1878         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1879         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1880         database support, load encoding-table of the specified
1881         coded-charset if it is not loaded yet.
1882         (save_uint8_byte_table): New function of UTF-2000 with external
1883         database support.
1884         (save_uint16_byte_table): Likewise.
1885         (save_byte_table): Likewise.
1886         (Fput_char_attribute): Don't store value into external database
1887         even if the external database feature is supported in UTF-2000;
1888         set `attribute' as name of char-table if the external database
1889         feature is supported.
1890         (Fsave_char_attribute_table): New function in UTF-2000.
1891         (syms_of_chartab): Add new builtin function
1892         `save-char-attribute-table' in UTF-2000.
1893
1894 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1895
1896         * chartab.c (char_attribute_table_to_put): New variable in
1897         UTF-2000.
1898         (Qput_char_table_map_function): Likewise.
1899         (value_to_put): Likewise.
1900         (Fput_char_table_map_function): New function in UTF-2000.
1901         (put_char_table): Use `Fmap_char_attribute' for
1902         CHARTAB_RANGE_CHARSET in UTF-2000.
1903         (Fput_char_attribute): Store symbol instead of string in
1904         `XCHAR_TABLE_NAME (table)'.
1905         (load_char_attribute_maybe): Likewise.
1906         (syms_of_chartab): Add new symbol/function
1907         `put-char-table-map-function'.
1908
1909 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1910
1911         * database.h: Add new EXFUN for `Fmap_database'.
1912
1913         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1914         (syms_of_database): Likewise.
1915
1916         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1917         UTF-2000.
1918         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1919         (XCHAR_TABLE_UNLOADED): Likewise.
1920
1921         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1922         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1923         HAVE_DATABASE is defined.
1924         (char_attribute_table_to_load): New variable of UTF-2000 with
1925         external database support.
1926         (Qload_char_attribute_table_map_function): Likewise.
1927         (Fload_char_attribute_table_map_function): New function of
1928         UTF-2000 with external database support.
1929         (Fload_char_attribute_table): New function of UTF-2000.
1930         (Fmap_char_attribute): Call Fload_char_attribute_table if
1931         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1932         (syms_of_chartab): Add new symbol and function
1933         `load-char-attribute-table-map-function' in UTF-2000 with external
1934         database support; add new function `load-char-attribute-table' in
1935         UTF-2000.
1936
1937 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1938
1939         * chartab.h (load_char_attribute_maybe): New prototype for
1940         UTF-2000 with DATABASE support.
1941         (get_char_id_table): Use `load_char_attribute_maybe' if
1942         HAVE_DATABASE is defined.
1943
1944         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1945         with DATABASE support.
1946
1947 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * chartab.c (Fput_char_attribute): Use S-expression as key of
1950         external database.
1951
1952         * chartab.h (get_char_id_table): Use S-expression as key of
1953         external database.
1954
1955 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1956
1957         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1958         if an element is not loaded, load the corresponding attributes
1959         from an external database.
1960         (map_over_uint16_byte_table): Likewise.
1961         (map_over_byte_table): Likewise.
1962         (map_char_table): Modify for `map_over_uint8_byte_table',
1963         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1964         element is not loaded, load the corresponding attributes from an
1965         external database.
1966         (Fput_char_attribute): Change initial values to Qunloaded.
1967
1968         * chartab.h (get_char_id_table): If a character attribute is not
1969         loaded and the attribute value is not found in an external
1970         database, store Qunbound as the attribute value.
1971
1972 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1973
1974         * chartab.c (BT_UINT8_unloaded): New macro.
1975         (UINT8_VALUE_P): Accept Qunloaded.
1976         (UINT8_ENCODE): Likewise.
1977         (UINT8_DECODE): Likewise.
1978         (BT_UINT16_unloaded): New macro.
1979         (UINT16_VALUE_P): Accept Qunloaded.
1980         (UINT16_ENCODE): Likewise.
1981         (UINT16_DECODE): Likewise.
1982         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1983         BT_UINT16_unloaded.
1984         (mark_char_table): Mark `ct->name' in UTF-2000.
1985         (char_table_description): Add `name' in UTF-2000.
1986         (Fmake_char_table): Initialize `ct->name'.
1987         (Fcopy_char_table): Copy `ct->name'.
1988         (Fput_char_attribute): Store value into an external database if
1989         HAVE_DATABASE is defined.
1990
1991         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1992         UTF-2000.
1993         (CHAR_TABLE_NAME): New macro in UTF-2000.
1994         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1995         (get_char_id_table): Try to read an external database if Qunloaded
1996         is stored in a table.
1997
1998         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1999         Qunloaded.
2000
2001 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2002
2003         * database.h: Add EXFUN definitions for Fopen_database,
2004         Fput_database, Fget_database and Fclose_database.
2005
2006         * data.c (Qunloaded): New variable in UTF-2000.
2007
2008         * lisp.h (Qunloaded): New variable in UTF-2000.
2009
2010 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * mule-charset.c (put_char_ccs_code_point): Modify for
2013         `decoding_table_remove_char' and `decoding_table_put_char'.
2014         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2015
2016         * char-ucs.h (decoding_table_remove_char): Change arguments to
2017         hide decoding_table vector.
2018         (decoding_table_put_char): Likewise.
2019
2020 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2021
2022         * mule-charset.c (decoding_table_remove_char): Moved to
2023         char-ucs.h.
2024         (decoding_table_put_char): Likewise.
2025
2026         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2027         from mule-charset.c].
2028         (decoding_table_remove_char): New inline function [moved from
2029         mule-charset.c].
2030         (decoding_table_put_char): Likewise.
2031
2032 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2033
2034         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2035         extension.
2036
2037 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2038
2039         * mule-charset.c (decode_builtin_char): Support mother charsets.
2040
2041 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2042
2043         * mule-charset.c (Q94x94x60): New variable.
2044         (charset_code_point): Support conversion `94x94x60'.
2045         (Fmake_charset): Likewise.
2046         (syms_of_mule_charset): Add new symbol `94x94x60'.
2047
2048         * char-ucs.h (CONVERSION_94x94x60): New macro.
2049
2050 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2051
2052         * mule-charset.c (charset_code_point): Unify code about
2053         `code-offset'.
2054
2055 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2056
2057         * mule-charset.c (charset_code_point): Merge code about builtin
2058         characters into code about mother charsets; don't use
2059         `range_charset_code_point'.
2060         (range_charset_code_point): Deleted.
2061
2062 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2063
2064         * mule-charset.c (Qcode_offset): New variable.
2065         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2066         `max-code'; accept new property `code-offset'.
2067         (syms_of_mule_charset): Add new symbol `code-offset'.
2068
2069 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (range_charset_code_point): Fixed.
2072
2073 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2074
2075         * mule-charset.c (decode_builtin_char): Change semantics of
2076         code-offset of coded-charset.
2077         (charset_code_point): Likewise.
2078         (range_charset_code_point): Likewise.
2079         (complex_vars_of_mule_charset): Modify for the change.
2080
2081 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2082
2083         * mule-charset.c (Fencode_char): Reverse arguments.
2084
2085         * mule-charset.c (charset_code_point): Fixed.
2086
2087 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * mule-charset.c (Vcharset_mojikyo): Deleted.
2090         (Vcharset_mojikyo_2022_1): Deleted.
2091         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2092         (Qmin_code): New variable in UTF-2000.
2093         (Qmax_code): Likewise.
2094         (Qmother): Likewise.
2095         (Qconversion): Likewise.
2096         (Q94x60): Likewise.
2097         (Qmojikyo): Deleted.
2098         (Qmojikyo_2022_1): Deleted.
2099         (Qmojikyo_pj_{1..22}): Deleted.
2100         (mark_charset): Mark `cs->mother'.
2101         (charset_description): Add description for `mother'.
2102         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2103         new arguments `mother' and `conversion'; use
2104         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2105         (charset_code_point): Moved from char-ucs.h; support `mother'
2106         charset feature.
2107         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2108         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2109         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2110         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2111         allow 2 as the value of `graphic' in UTF-2000; add new properties
2112         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2113         require `final' in UTF-2000; modify for `make_charset'.
2114         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2115         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2116         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2117         (Fencode_char): New function.
2118         (syms_of_mule_charset): Add new builtin function `encode-char' in
2119         UTF-2000; add new symbols `min-code', `max-code', `mother',
2120         `conversion' and `94x60'; delete symbols `mojikyo',
2121         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2122         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2123         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2124         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2125
2126         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2127         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2128
2129         * char-ucs.h (Vcharset_mojikyo): Deleted.
2130         (Vcharset_mojikyo_2022_1): Deleted.
2131         (LEADING_BYTE_MOJIKYO): Deleted.
2132         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2133         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2134         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2135         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2136         add new member `mother'; add new member `conversion'.
2137         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2138         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2139         (CHARSET_MOTHER): New macro.
2140         (CHARSET_CONVERSION): New macro.
2141         (CONVERSION_IDENTICAL): New macro.
2142         (CONVERSION_94x60): New macro.
2143         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2144         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2145         (XCHARSET_MOTHER): New macro.
2146         (XCHARSET_CONVERSION): New macro.
2147         (MIN_CHAR_MOJIKYO): Deleted.
2148         (MAX_CHAR_MOJIKYO): Deleted.
2149         (DECODE_MOJIKYO_2022): Deleted.
2150         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2151         (charset_code_point): Changed to non-inline function.
2152         (encode_char_1): Use `charset_code_point'.
2153         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2154
2155 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2156
2157         * lread.c (read_compiled_function): Fix prototype.
2158         (read_vector): Likewise.
2159
2160 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2161
2162         * lrecord.h (struct lrecord_header): Delete `older'.
2163         (set_lheader_implementation): Delete code for `older'.
2164         (set_lheader_older_implementation): Deleted.
2165         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2166         (OLDER_RECORD_P): Deleted.
2167         (OLDER_RECORD_HEADER_P): Deleted.
2168         (alloc_older_lcrecord): Deleted.
2169         (alloc_older_lcrecord_type): Deleted.
2170
2171         * alloc.c (all_older_lcrecords): Deleted.
2172         (alloc_older_lcrecord): Deleted.
2173         (disksave_object_finalization_1): Delete code for older objects.
2174         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2175         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2176
2177 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2178
2179         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2180         instead of `make_older_vector'.
2181         (put_char_ccs_code_point): Likewise.
2182         (mark_charset): Mark `cs->decoding_table'.
2183         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2184
2185         * lisp.h (make_older_vector): Deleted.
2186         (make_vector_newer): Deleted.
2187
2188         * config.h.in (HAVE_GGC): Deleted.
2189
2190         * alloc.c (make_older_vector): Deleted.
2191         (make_vector_newer_1): Deleted.
2192         (make_vector_newer): Deleted.
2193
2194 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2195
2196         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2197         (Qideograph_daikanwa_2): New variable.
2198         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2199         (complex_vars_of_mule_charset): Add new coded-charset
2200         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2201         `LEADING_BYTE_DAIKANWA'.
2202
2203         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2204         (LEADING_BYTE_DAIKANWA_1): New macro.
2205         (LEADING_BYTE_DAIKANWA_2): New macro.
2206         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2207
2208 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * mule-charset.c (complex_vars_of_mule_charset): Change
2211         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2212         the second revised version.
2213
2214 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2215
2216         * mule-charset.c (Vcharset_ucs_smp): New variable.
2217         (Vcharset_ucs_sip): New variable.
2218         (Qucs_smp): New variable.
2219         (Qucs_sip): New variable.
2220         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2221         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2222         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2223         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2224         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2225         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2226
2227         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2228         (LEADING_BYTE_UCS_SIP): New macro.
2229         (MIN_CHAR_SMP): New macro.
2230         (MAX_CHAR_SMP): New macro.
2231         (MIN_CHAR_SIP): New macro.
2232         (MAX_CHAR_SIP): New macro.
2233
2234 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2235
2236         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2237         utf-2000.
2238
2239 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2240
2241         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2242         value; don't store value into `encoding_table' of `Lisp_Charset'.
2243         (mark_charset): `encoding_table' was deleted.
2244         (charset_description): Likewise.
2245         (make_charset): Likewise.
2246         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2247         `put_char_ccs_code_point'.
2248
2249         * chartab.h (Fput_char_attribute): New EXFUN.
2250
2251         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2252         is unified with normal symbol space.
2253         (Fget_char_attribute): Likewise.
2254         (Fput_char_attribute): Likewise; behavior of
2255         `put_char_ccs_code_point' is changed.
2256
2257         * char-ucs.h: Include "elhash.h".
2258         (Vchar_attribute_hash_table): New external variable.
2259         (struct Lisp_Charset): Delete `encoding_table'.
2260         (CHARSET_ENCODING_TABLE): New implementation; refer
2261         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2262         `Lisp_Charset'.
2263
2264 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2265
2266         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2267         (cs) == 0.
2268
2269 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2270
2271         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2272         `chinese-big5'.
2273
2274 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2275
2276         * chartab.c (uint8_byte_table_description): New constant.
2277         (uint8-byte-table): Use `uint8_byte_table_description'.
2278         (uint16_byte_table_description): New constant.
2279         (uint16-byte-table): Use `uint16_byte_table_description'.
2280
2281 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2284         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2285
2286 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * mule-charset.c (Vcharset_ucs_ks): New variable.
2289         (Qucs_ks): New variable.
2290         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2291         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2292
2293         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2294
2295 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2296
2297         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2298         (Fdecode_char): Likewise.
2299
2300         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2301         chartab.h.
2302         (Fdefine_char): Modify for Fdecode_char.
2303         (Ffind_char): Likewise.
2304
2305         * mule-charset.c (Fdecode_char): Add new optional argument
2306         `defined-only'.
2307         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2308
2309 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2310
2311         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2312         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2313         (allocate_coding_system): Initialize initial-charsets of
2314         CODESYS_BIG5 in XEmacs UTF-2000.
2315         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2316         CODESYS_BIG5 in XEmacs UTF-2000.
2317         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2318         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2319
2320         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2321         variables.
2322         (Qideograph_hanziku_{1 .. 12}): Likewise.
2323         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2324         .. 12}'.
2325         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2326         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2327         `ideograph-hanziku-{1 .. 12}'.
2328
2329         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2330         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2331         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2332         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2333         (DECODE_DEFINED_CHAR): New inline function.
2334         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2335
2336 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2337
2338         * mule-charset.c (Vcharset_china3_jef): Renamed from
2339         `Vcharset_japanese_jef_china3'.
2340         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2341         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2342         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2343         (syms_of_mule_charset): Rename `china3-jef' from
2344         `japanese-jef-china3'.
2345         (complex_vars_of_mule_charset): Likewise; rename
2346         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2347
2348         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2349         `LEADING_BYTE_JEF_CHINA3'.
2350         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2351         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2352
2353 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * mule-charset.c (encode_builtin_char_1): Comment out special code
2356         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2357
2358         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2359         (MAX_CHAR_MOJIKYO_0): Comment out.
2360         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2361         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2362         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2363         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2364
2365 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2368         (Qideograph_cbeta): New variable.
2369         (encode_builtin_char_1): Comment out special code for
2370         coded-charset `mojikyo' and `japanese-jef-china3'.
2371         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2372         (complex_vars_of_mule_charset): Add new coded-charset
2373         `ideograph-cbeta'.
2374
2375         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2376         (MIN_CHAR_CBETA): New macro.
2377         (MAX_CHAR_CBETA): New macro.
2378
2379 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2380
2381         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2382         (LEADING_BYTE_JEF_CHINA3): New macro.
2383         (MIN_CHAR_JEF_CHINA3): New macro.
2384         (MAX_CHAR_JEF_CHINA3): Likewise.
2385         (DECODE_CHAR): Fixed.
2386
2387 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2388
2389         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2390         (Qjapanese_jef_china3): New variable.
2391         (encode_builtin_char_1): Support `japanese-jef-china3'.
2392         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2393         (complex_vars_of_mule_charset): Add new coded-charset
2394         `japanese-jef-china3'.
2395
2396 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2397
2398         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2399         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2400         94^4, 96^3, 96^4, 128^n and 256^n set.
2401         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2402         (map_char_table): Likewise.
2403
2404 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2405
2406         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2407         UTF-2000.
2408
2409 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2410
2411         * chartab.h (get_char_id_table): New inline function.
2412
2413         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2414         function.
2415
2416 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2417
2418         * chartab.h (decode_char_table_range): New prototype in XEmacs
2419         UTF-2000.
2420         (put_char_id_table): New inline function in XEmacs UTF-2000.
2421
2422         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2423         function.
2424         (decode_char_table_range): Delete static declaration in XEmacs
2425         UTF-2000.
2426
2427 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2428
2429         * chartab.c (put_char_id_table): Use `put_char_table'.
2430
2431 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2434         (map_over_uint16_byte_table): Likewise.
2435         (map_over_byte_table): Likewise.
2436         (map_char_table): Modify for `map_over_uint8_byte_table',
2437         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2438         UTF-2000.
2439
2440 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2441
2442         * chartab.c (struct map_char_table_for_charset_arg): New
2443         structure.
2444         (map_char_table_for_charset_fun): New function.
2445         (map_char_table): Use `map_char_table' for encoding_table of
2446         `range->charset'.
2447
2448 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * chartab.c (map_char_table): Check a character is found in
2451         range->charset instead of non default value is defined in
2452         char-table when range is CHARTAB_RANGE_ROW.
2453
2454 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2455
2456         * chartab.c (map_char_id_table): Deleted.
2457         (Fmap_char_attribute): Use `map_char_table' instead of
2458         `map_char_id_table'.
2459
2460 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2461
2462         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2463         UTF-2000.
2464         (update_syntax_table): Deleted in XEmacs UTF-2000.
2465
2466         * syntax.c (find_defun_start): Use `syntax_table' instead of
2467         `mirror_syntax_table' in XEmacs UTF-2000.
2468         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2469         UTF-2000.
2470         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2471         XEmacs UTF-2000.
2472         (Fmatching_paren): Likewise.
2473         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2474         in XEmacs UTF-2000.
2475         (find_start_of_comment): Likewise.
2476         (find_end_of_comment): Likewise.
2477         (Fforward_comment): Likewise.
2478         (scan_lists): Likewise.
2479         (char_quoted): Likewise.
2480         (Fbackward_prefix_chars): Likewise.
2481         (scan_sexps_forward): Likewise.
2482         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2483         (update_syntax_table): Likewise.
2484
2485         * search.c (skip_chars): Use `syntax_table' instead of
2486         `mirror_syntax_table' in XEmacs UTF-2000.
2487         (wordify): Likewise.
2488         (Freplace_match): Likewise.
2489
2490         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2491         `mirror_syntax_table' in XEmacs UTF-2000.
2492         (WORDCHAR_P_UNSAFE): Likewise.
2493         (re_match_2_internal): Likewise.
2494
2495         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2496         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2497
2498         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2499         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2500
2501         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2502         XEmacs UTF-2000.
2503
2504         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2505         UTF-2000.
2506         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2507         (char_table_description): Delete `mirror_table' in XEmacs
2508         UTF-2000.
2509         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2510         UTF-2000.
2511         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2512         (Fcopy_char_table): Likewise.
2513         (put_char_table): Don't call `update_syntax_table' in XEmacs
2514         UTF-2000.
2515
2516         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2517         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2518         (casify_region_internal): Likewise.
2519
2520         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2521
2522         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2523         `mirror_syntax_table' in XEmacs UTF-2000.
2524
2525         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2526         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2527         (Fexpand_abbrev): Likewise.
2528
2529 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2530
2531         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2532
2533 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2534
2535         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2536         (map_over_uint16_byte_table): Likewise.
2537         (map_over_byte_table): Likewise.
2538         (get_char_id_table): Refer `cit->default_value'.
2539         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2540         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2541         of character-id ranges.
2542         (mark_char_table): Mark `ct->default_value'.
2543         (char_table_description): Add `default_value'.
2544         (fill_char_table): Use `default_value'.
2545         (decode_char_table_range): Decode `nil' as
2546         `CHARTAB_RANGE_DEFAULT'.
2547         (get_char_id_table): Refer `cit->default_value'.
2548         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2549         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2550         temporary hack; check value of char-table is bound or not.
2551         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2552
2553         * chartab.h (struct Lisp_Char_Table): Add new member
2554         `default_value' in XEmacs UTF-2000.
2555         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2556         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2557         UTF-2000.
2558
2559 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2560
2561         * chartab.h (Lisp_Char_ID_Table): Deleted.
2562
2563         * chartab.c (char_table_description): Fix typo.
2564         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2565         `Lisp_Char_ID_Table'.
2566
2567 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2568
2569         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2570         `CHAR_ID_TABLE_P'.
2571
2572         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2573         `CHAR_ID_TABLE_P'.
2574
2575         * chartab.h (XCHAR_ID_TABLE): Deleted.
2576         (XSETCHAR_ID_TABLE): Deleted.
2577         (CHAR_ID_TABLE_P): Deleted.
2578
2579         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2580         `CHAR_ID_TABLE_P'.
2581         (Fget_composite_char): Likewise.
2582         (put_char_table): Likewise.
2583         (add_char_attribute_alist_mapper): Fixed.
2584         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2585         `CHAR_ID_TABLE_P'.
2586         (Fget_char_attribute): Likewise.
2587         (Fget_char_attribute): Likewise.
2588         (Fmap_char_attribute): Likewise.
2589
2590         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2591         `CHAR_ID_TABLE_P'.
2592         (encode_char_1): Likewise.
2593
2594 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2597         `XCHAR_ID_TABLE'.
2598
2599         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2600         instead of `XCHAR_ID_TABLE'.
2601         (remove_char_ccs): Likewise.
2602
2603         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2604         `XCHAR_ID_TABLE'.
2605         (Fget_composite_char): Likewise.
2606         (Fchar_variants): Likewise.
2607         (put_char_table): Likewise.
2608         (add_char_attribute_alist_mapper): Likewise.
2609         (Fchar_attribute_alist): Likewise.
2610         (Fget_char_attribute): Likewise.
2611         (Fput_char_attribute): Likewise.
2612         (Fmap_char_attribute): Likewise.
2613         (Fmap_char_attribute): Likewise.
2614
2615         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2616         `XCHAR_ID_TABLE'.
2617         (encode_char_1): Likewise.
2618
2619 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2620
2621         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2622         `Lisp_Char_ID_Table'.
2623         (mark_char_id_table): Deleted.
2624         (print_char_id_table): Likewise.
2625         (char_id_table_equal): Likewise.
2626         (char_id_table_hash): Likewise.
2627         (char_id_table_description): Likewise.
2628         (char_id_table): Likewise.
2629         (make_char_id_table): Use `Fmake_char_table' and
2630         `fill_char_table'.
2631         (get_char_id_table): Use `Lisp_Char_Table' instead of
2632         `Lisp_Char_ID_Table'.
2633         (put_char_id_table): Likewise.
2634         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2635         `XCHAR_ID_TABLE'.
2636         (Fremove_char_attribute): Likewise.
2637         (syms_of_chartab): Don't define type `char-id-table'.
2638
2639         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2640         (char_id_table): Likewise.
2641         (GC_CHAR_ID_TABLE_P): Likewise.
2642         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2643         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2644         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2645         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2646         (get_char_id_table): Use `Lisp_Char_Table' instead of
2647         `Lisp_Char_ID_Table'.
2648         (put_char_id_table_0): Likewise.
2649         (put_char_id_table): Likewise.
2650
2651 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2652
2653         * chartab.h: Lisp_Byte_Table related codes are moved from
2654         chartab.h.
2655
2656         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2657
2658 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2659
2660         * chartab.h: Don't include "chartab.h".
2661         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2662         (Lisp_Char_ID_Table): Likewise.
2663         (char_id_table): Likewise.
2664         (XCHAR_ID_TABLE): Likewise.
2665         (XSETCHAR_ID_TABLE): Likewise.
2666         (CHAR_ID_TABLE_P): Likewise.
2667         (GC_CHAR_ID_TABLE_P): Likewise.
2668         (get_char_id_table): Likewise.
2669
2670         * char-ucs.h: Include "chartab.h".
2671         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2672         (Lisp_Char_ID_Table): Likewise.
2673         (char_id_table): Likewise.
2674         (XCHAR_ID_TABLE): Likewise.
2675         (XSETCHAR_ID_TABLE): Likewise.
2676         (CHAR_ID_TABLE_P): Likewise.
2677         (GC_CHAR_ID_TABLE_P): Likewise.
2678         (get_char_id_table): Likewise.
2679
2680 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2681
2682         * chartab.c (copy_uint8_byte_table): New function.
2683         (copy_uint16_byte_table): New function.
2684         (copy_byte_table): New function.
2685         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2686         characters to call.
2687         (map_over_uint16_byte_table): Likewise.
2688         (map_over_byte_table): Likewise.
2689         (get_byte_table): Move prototype to chartab.h.
2690         (put_byte_table): Likewise.
2691         (put_char_id_table_0): Moved to chartab.h.
2692         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2693         (char_table_entry_equal): Likewise.
2694         (char_table_entry_hash): Likewise.
2695         (char_table_entry_description): Likewise.
2696         (char_table_entry): Likewise.
2697         (make_char_table_entry): Likewise.
2698         (copy_char_table_entry): Likewise.
2699         (get_non_ascii_char_table_value): Likewise.
2700         (map_over_charset_ascii): Likewise.
2701         (map_over_charset_control_1): Likewise.
2702         (map_over_charset_row): Likewise.
2703         (map_over_other_charset): Likewise.
2704         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2705         (print_char_table): Likewise.
2706         (char_table_equal): Likewise.
2707         (char_table_hash): Likewise.
2708         (char_table_description): Likewise.
2709         (fill_char_table): Likewise.
2710         (Fcopy_char_table): Likewise.
2711         (get_char_table): Likewise.
2712         (Fget_range_char_table): Likewise.
2713         (put_char_table): Likewise.
2714         (map_char_table): Likewise.
2715         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2716         UTF-2000.
2717
2718 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2719
2720         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2721         `Vauto_fill_chars' in XEmacs UTF-2000.
2722
2723         * chartab.h (get_byte_table): New prototype [moved from
2724         chartab.c].
2725         (put_byte_table): Likewise [moved from chartab.c].
2726         (put_char_id_table_0): New inline function [moved from chartab.c].
2727         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2728         (Lisp_Char_Table_Entry): Likewise.
2729         (char_table_entry): Likewise.
2730         (XCHAR_TABLE_ENTRY): Likewise.
2731         (XSETCHAR_TABLE_ENTRY): Likewise.
2732         (CHAR_TABLE_ENTRYP): Likewise.
2733         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2734         (NUM_ASCII_CHARS): Likewise.
2735         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2736         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2737
2738 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2739
2740         * chartab.c (get_char_id_table): Change interface.
2741         (put_char_id_table_0): New function.
2742         (put_char_id_table): Change interface; new implementation.
2743         (Fget_composite_char): Modify for interface change of
2744         `get_char_id_table'.
2745         (Fchar_variants): Likewise.
2746         (add_char_attribute_alist_mapper): Likewise.
2747         (Fchar_attribute_alist): Likewise.
2748         (Fget_char_attribute): Likewise.
2749         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2750         as same as character as the first argument like `put-char-table';
2751         modify for interface change of `put_char_id_table'.
2752         (Fremove_char_attribute): Modify for interface change of
2753         `put_char_id_table'.
2754
2755 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * text-coding.c: Sync up with XEmacs 21.2.41.
2758         (COMPOSE_ADD_CHAR): Modify for interface change of
2759         `get_char_id_table'.
2760
2761         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2762         change of `put_char_id_table'.
2763         (remove_char_ccs): Likewise.
2764
2765         * chartab.h (put_char_id_table): Change interface.
2766
2767         * char-ucs.h (get_char_id_table): Change interface.
2768         (charset_code_point): Modify for interface change of
2769         `get_char_id_table'.
2770         (encode_char_1): Likewise.
2771
2772 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2773
2774         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2775         argument `ccs'.
2776         (map_over_uint16_byte_table): Likewise.
2777         (map_over_byte_table): Likewise.
2778         (map_char_id_table): Add new argument `range' like
2779         `map_char_table'.
2780         (Fmap_char_attribute): Add new argument `range' like
2781         `Fmap_char_table'.
2782
2783 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2784
2785         * chartab.c (map_over_uint8_byte_table): Change interface of
2786         mapping function to use struct chartab_range instead of Emchar.
2787         (map_over_uint16_byte_table): Likewise.
2788         (map_over_byte_table): Likewise.
2789         (map_char_id_table): Likewise.
2790         (struct slow_map_char_id_table_arg): Deleted.
2791         (slow_map_char_id_table_fun): Deleted.
2792         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2793         function `slow_map_char_table_fun' instead of struct
2794         `slow_map_char_id_table_arg' and function
2795         `slow_map_char_id_table_fun'.
2796
2797 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2798
2799         * mule-charset.c: Move char-it-table related codes to chartab.c.
2800         (Vutf_2000_version): Moved to chartab.c.
2801         (Fdefine_char): Likewise.
2802         (Ffind_char): Likewise.
2803         (syms_of_mule_charset): Move types `uint8-byte-table',
2804         `uint16-byte-table', `byte-table' and `char-id-table' to
2805         chartab.c; move functions `char_attribute_list,
2806         `find_char_attribute_table, `char_attribute_alist,
2807         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2808         `map_char_attribute, `define_char, `find_char, `char_variants and
2809         `get_composite_char to chartab.c; move symbols `=>ucs',
2810         `->decomposition', `compat', `isolated', `initial', `medial',
2811         `final', `vertical', `noBreak', `fraction', `super', `sub',
2812         `circle', `square', `wide', `narrow', `small' and `font' to
2813         chartab.c.
2814         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2815         setting codes for `Vcharacter_composition_table' and
2816         `Vcharacter_variant_table' to chartab.c.
2817         (complex_vars_of_mule_charset): Move setting code for
2818         `Vchar_attribute_hash_table' to chartab.c.
2819
2820         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2821         (make_char_id_table): New prototype.
2822         (put_char_id_table): Likewise.
2823         (Fget_char_attribute): Likewise.
2824
2825         * chartab.c: Move char-id-table related code from mule-charset.c.
2826         (Vutf_2000_version): Moved from mule-charset.c.
2827
2828         * char-ucs.h (Qucs): New external variable.
2829         (put_char_ccs_code_point): New prototype.
2830         (remove_char_ccs): Likewise.
2831
2832 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2833
2834         * mule-charset.c (Vcharset_ucs_jis): New variable.
2835         (Qucs_jis): Likewise.
2836         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2837         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2838
2839         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2840
2841 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * mule-charset.c (map_over_uint8_byte_table): New function.
2844         (map_over_uint16_byte_table): Likewise.
2845         (map_over_byte_table): Likewise.
2846         (map_char_id_table): Likewise.
2847         (slow_map_char_id_table_fun): Likewise.
2848         (Fmap_char_attribute): Likewise.
2849         (syms_of_mule_charset): Add new function `map-char-attribute'.
2850
2851 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2854         (syms_of_mule_charset): Add new function `find-char'.
2855
2856 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2857
2858         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2859         XEmacs UTF-2000.
2860         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2861         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2862         XEmacs UTF-2000.
2863         (complex_vars_of_mule_charset): Add new coded-charset
2864         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2865         `ideograph-gt-pj-*'.
2866
2867         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2868
2869 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2870
2871         * mule-charset.c (encode_builtin_char_1): Purge codes about
2872         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2873         {MIN|MAX}_CHAR_HEBREW.
2874         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2875         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2876
2877         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2878         (MAX_CHAR_GREEK): Purged.
2879         (MIN_CHAR_CYRILLIC): Purged.
2880         (MAX_CHAR_CYRILLIC): Purged.
2881         (MIN_CHAR_HEBREW): Commented out.
2882         (MAX_CHAR_HEBREW): Likewise.
2883
2884 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2885
2886         * mule-charset.c (Qto_ucs): New variable.
2887         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2888         (Fdefine_char): Likewise.
2889         (syms_of_mule_charset): Add new symbol `=>ucs'.
2890
2891 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2892
2893         * mule-charset.c (Fdecode_char): Fixed.
2894
2895 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2896
2897         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2898         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2899         "tcvn5712-1".
2900
2901 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2902
2903         * mule-charset.c (Vcharset_ucs_big5): New variable.
2904         (Qucs_big5): Likewise.
2905         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2906         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2907
2908         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2909
2910 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2911
2912         * mule-charset.c (decode_builtin_char): Check Big5 code range
2913         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2914
2915 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2918         (Qchinese_gb12345): Likewise.
2919         (Fdecode_builtin_char): Fixed.
2920         (syms_of_mule_charset): Add `chinese-gb12345'.
2921         (complex_vars_of_mule_charset): Add coded-charset
2922         `chinese-gb12345'.
2923
2924         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2925         (LEADING_BYTE_CHINESE_GB12345): New macro.
2926
2927 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2928
2929         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2930         and `latin-viscii-upper' for `latin-viscii'.
2931
2932 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2933
2934         * mule-charset.c (Fdecode_builtin_char): Comment out
2935         regularization code for ISO-IR GR representation.
2936
2937 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2938
2939         * mule-charset.c (decode_builtin_char): New function; renamed from
2940         `make_builtin_char'; return -1 instead of signal.
2941         (Fdecode_builtin_char): Use `decode_builtin_char'.
2942
2943         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2944         `make_builtin_char'.
2945         (DECODE_CHAR): Use `decode_builtin_char' instead of
2946         `make_builtin_char'; use mapping table of `chinese-big5' for
2947         `chinese-big5-{1,2}'.
2948
2949 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * text-coding.c (char_encode_big5): New function.
2952         (char_finish_big5): Likewise.
2953         (reset_encoding_stream): Use `char_encode_big5' and
2954         `char_finish_big5' for CODESYS_BIG5.
2955         (mule_encode): Don't use `encode_coding_big5'.
2956         (encode_coding_big5): Deleted.
2957
2958 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2959
2960         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2961         0x81- in XEmacs UTF-2000.
2962         (detect_coding_big5): Likewise.
2963
2964 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2965
2966         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2967         generate character-id if the CCS property does not have
2968         corresponding predefined character.
2969         (make_builtin_char): Return -1 if corresponding predefined
2970         character is not found.
2971         (Fdecode_char): Return nil if corresponding character is not
2972         found.
2973         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2974         don't map to builtin ucs space.
2975
2976 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2977
2978         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2979         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2980
2981 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2982
2983         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2984         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2985         (Qideograph_gt): Likewise.
2986         (Qideograph_gt_pj_{1..11}): Likewise.
2987         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2988         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2989         `ideograph-gt-pj-11'.
2990         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2991         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2992         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2993
2994         * char-ucs.h (LEADING_BYTE_GT): New macro.
2995         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2996         (MIN_CHAR_GT): Likewise.
2997         (MAX_CHAR_GT): Likewise.
2998
2999 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3000
3001         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3002         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3003
3004         * doprnt.c (unsigned_int_converters): Add `c'.
3005         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3006
3007         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3008         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3009         `MIN_CHAR_MOJIKYO'.
3010         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3011         (MAX_CHAR_MOJIKYO_0): New macro.
3012         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3013
3014 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3015
3016         * mule-charset.c (Fdefine_char): Delete cemented out code.
3017         (encode_builtin_char_1): Modify for new allocation of builtin
3018         Mojikyo characters.
3019
3020         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3021
3022 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3023
3024         * mule-charset.c (Vcharset_ucs_cns): New variable.
3025         (Qucs_cns): New variable.
3026         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3027         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3028
3029 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3030
3031         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3032
3033 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3034
3035         * search.c (search_buffer): Make `charset_base_code' as
3036         character-id >> 6 to eliminate the corresponding last byte in
3037         UTF-8 representation [I'm not sure it is right thing].
3038         (boyer_moore): Likewise.
3039
3040 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3041
3042         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3043         representation in MULE.
3044
3045 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3046
3047         * text-coding.c (Fmake_coding_system): Use
3048         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3049         `EXTERNAL_PROPERTY_LIST_LOOP'.
3050
3051 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3052
3053         * text-coding.c (decode_output_utf8_partial_char): New function.
3054         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3055
3056 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3057
3058         * text-coding.c (decode_coding_utf8): Output original byte
3059         sequence if it is broken; change order of conditions.
3060
3061         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3062         of conditions.
3063
3064         * mb-multibyte.h (BYTE_ASCII_P):
3065         Use bit ops for char-signedness safety.
3066         (BYTE_C0_P): Use bit ops for char-signedness safety.
3067         (BYTE_C1_P): Use bit ops for char-signedness safety.
3068
3069         * character.h: (XCHAR_OR_CHAR_INT):
3070         Always use inline function.
3071         Remove redundant type checking assert() - XINT will abort quite
3072         nicely.
3073
3074 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3075
3076         * text-coding.c: (Fencode_shift_jis_char):
3077         (Fencode_big5_char):
3078         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3079         Replace 0 with '\0' when working with bytes.
3080         Replace initial "(" with "\(" in docstrings.
3081
3082         (Fmake_coding_system):
3083         When type is ccl and value is vector, register it with a proper
3084         symbol.  And checks whether the given ccl program is valid.
3085         (mule_decode): When calling ccl_driver, if src indicates
3086         NULL pointer, set an empty string instead.
3087         (mule_encode): Likewise.
3088
3089         (detect_eol_type):
3090         (detect_coding_sjis):
3091         (decode_coding_sjis):
3092         (detect_coding_big5):
3093         (decode_coding_big5):
3094         (detect_coding_ucs4):
3095         (decode_coding_ucs4):
3096         (detect_coding_utf8):
3097         (decode_coding_utf8):
3098         (detect_coding_iso2022):
3099         (decode_coding_iso2022):
3100         (decode_coding_no_conversion):
3101         (mule_decode):
3102         Make all detecting and decoding functions take an Extbyte * arg.
3103         (text_encode_generic):
3104         (encode_coding_big5):
3105         (encode_coding_no_conversion):
3106         (mule_encode):
3107         Make all encoding functions take a Bufbyte * arg.
3108         Use size_t instead of unsigned int for memory sizes.
3109         Only cast to unsigned char whenever dereferencing Extbyte *.
3110
3111         (struct lrecord_description fcd_description_1): Use countof.
3112         (complex_vars_of_file_coding):
3113         Use countof instead of sizeof.
3114         Use CHECK_NATNUM instead of CHECK_INT.
3115
3116 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3117
3118         * mule-charset.c (Fget_char_attribute): Add new optional argument
3119         `default-value'.
3120         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3121         (remove_char_ccs): Likewise.
3122
3123 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3124
3125         * text-coding.c (char_encode_shift_jis): New implementation in
3126         UTF-2000.
3127         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3128         ...)'.
3129
3130         * mule-charset.c (Vcharset_chinese_big5): New variable in
3131         UTF-2000.
3132         (Qchinese_big5): New variable in UTF-2000.
3133         (BIG5_SAME_ROW): New macro in UTF-2000.
3134         (make_builtin_char): Use builtin characters of
3135         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3136         characters of `Vcharset_chinese_big5'.
3137         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3138         (complex_vars_of_mule_charset): Add new coded-charset
3139         `chinese-big5' in UTF-2000.
3140
3141         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3142         (Vcharset_chinese_big5): New external variable declaration.
3143         (Vcharset_japanese_jisx0208_1990): Likewise.
3144
3145 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3146
3147         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3148         function.
3149         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3150
3151 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3154         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3155         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3156         `mojikyo-pj-*'.
3157
3158 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3159
3160         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3161
3162 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3163
3164         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3165         to 0.17.
3166
3167 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3168
3169         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3170         for `CHARSET_BY_ATTRIBUTES'.
3171         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3172         `CHARSET_BY_ATTRIBUTES'.
3173
3174         * text-coding.c (struct decoding_stream): Rename member `CH' to
3175         `CPOS'.
3176         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3177         (decode_coding_sjis): Likewise.
3178         (decode_coding_big5): Likewise.
3179         (decode_coding_ucs4): Likewise.
3180         (decode_coding_utf8): Likewise.
3181         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3182         `CHARSET_BY_ATTRIBUTES'.
3183         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3184         `str->counter'; decode 3, 4 bytes sets.
3185         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3186         sets.
3187         (decode_coding_no_conversion): Use `str->cpos' instead of
3188         `str->ch'.
3189
3190         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3191         (Qmojikyo_2022_1): New variable.
3192         (make_charset): Don't use `CHARSET_TYPE_*'.
3193         (range_charset_code_point): Support coded-charset
3194         `mojikyo-2022-1'.
3195         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3196         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3197         `CHARSET_BY_ATTRIBUTES'.
3198         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3199         `CHARSET_BY_ATTRIBUTES'.
3200         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3201         (complex_vars_of_mule_charset): Add new coded-charset
3202         `mojikyo-2022-1'.
3203
3204         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3205         interface; changed to inline function.
3206
3207         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3208         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3209         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3210         (CHARSET_TYPE_94): Deleted.
3211         (CHARSET_TYPE_94X94): Deleted.
3212         (CHARSET_TYPE_96): Deleted.
3213         (CHARSET_TYPE_96X96): Deleted.
3214         (CHARSET_TYPE_128): Deleted.
3215         (CHARSET_TYPE_128X128): Deleted.
3216         (CHARSET_TYPE_256): Deleted.
3217         (CHARSET_TYPE_256X256): Deleted.
3218         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3219         to inline function.
3220         (DECODE_MOJIKYO_2022): New inline function.
3221         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3222         `Vcharset_mojikyo_2022_1'.
3223
3224 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3227         instead of `EQ'.
3228         (put_byte_table): Likewise.
3229         (char_id_table_equal): Use `get_byte_table' [new implementation].
3230
3231 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3232
3233         * mule-charset.c: Include <limits.h> in UTF-2000.
3234         (BT_UINT8_MIN): New macro in UTF-2000.
3235         (BT_UINT8_MAX): New macro in UTF-2000.
3236         (BT_UINT8_t): New macro in UTF-2000.
3237         (BT_UINT8_nil): New macro in UTF-2000.
3238         (BT_UINT8_unbound): New macro in UTF-2000.
3239         (INT_UINT8_P): New inline function in UTF-2000.
3240         (UINT8_VALUE_P): New inline function in UTF-2000.
3241         (UINT8_ENCODE): New inline function in UTF-2000.
3242         (UINT8_DECODE): New inline function in UTF-2000.
3243         (mark_uint8_byte_table): New function in UTF-2000.
3244         (print_uint8_byte_table): New function in UTF-2000.
3245         (uint8_byte_table_equal): New function in UTF-2000.
3246         (uint8_byte_table_hash): New function in UTF-2000.
3247         (make_uint8_byte_table): New function in UTF-2000.
3248         (uint8_byte_table_same_value_p): New function in UTF-2000.
3249         (BT_UINT16_MIN): New macro in UTF-2000.
3250         (BT_UINT16_MAX): New macro in UTF-2000.
3251         (BT_UINT16_t): New macro in UTF-2000.
3252         (BT_UINT16_nil): New macro in UTF-2000.
3253         (BT_UINT16_unbound): New macro in UTF-2000.
3254         (INT_UINT16_P): New inline function in UTF-2000.
3255         (UINT16_VALUE_P): New inline function in UTF-2000.
3256         (UINT16_ENCODE): New inline function in UTF-2000.
3257         (UINT16_DECODE): New inline function in UTF-2000.
3258         (UINT8_TO_UINT16): New inline function in UTF-2000.
3259         (mark_uint16_byte_table): New function in UTF-2000.
3260         (print_uint16_byte_table): New function in UTF-2000.
3261         (uint16_byte_table_equal): New function in UTF-2000.
3262         (uint16_byte_table_hash): New function in UTF-2000.
3263         (make_uint16_byte_table): New function in UTF-2000.
3264         (uint16_byte_table_same_value_p): New function in UTF-2000.
3265         (print_byte_table): New function in UTF-2000.
3266         (byte-table): Use `print_byte_table' as printer.
3267         (make_byte_table): Delete second argument `older'.
3268         (byte_table_same_value_p): New function in UTF-2000.
3269         (copy_byte_table): Deleted.
3270         (get_byte_table): New function in UTF-2000.
3271         (put_byte_table): New function in UTF-2000.
3272         (print_char_id_table): New function in UTF-2000.
3273         (char-id-table): Use `print_char_id_table' as printer.
3274         (make_char_id_table): Delete second argument `older'.
3275         (get_char_id_table): Use `get_byte_table [new implementation].
3276         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3277         implementation].
3278         (Ffind_char_attribute_table): New function in UTF-2000.
3279         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3280         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3281         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3282         (syms_of_mule_charset): Add new function
3283         `find-char-attribute-table' in UTF-2000.
3284
3285         * lrecord.h (enum lrecord_type): Add
3286         `lrecord_type_uint16_byte_table' and
3287         `lrecord_type_uint8_byte_table'.
3288
3289         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3290         (Lisp_Uint8_Byte_Table): New type.
3291         (XUINT8_BYTE_TABLE): New macro.
3292         (XSETUINT8_BYTE_TABLE): New macro.
3293         (UINT8_BYTE_TABLE_P): New macro.
3294         (GC_UINT8_BYTE_TABLE_P): New macro.
3295         (struct Lisp_Uint16_Byte_Table): New structure.
3296         (Lisp_Uint16_Byte_Table): New type.
3297         (XUINT16_BYTE_TABLE): New macro.
3298         (XSETUINT16_BYTE_TABLE): New macro.
3299         (UINT16_BYTE_TABLE_P): New macro.
3300         (GC_UINT16_BYTE_TABLE_P): New macro.
3301
3302 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3305         (Vcharacter_ideographic_strokes_table): Deleted.
3306         (Vcharacter_total_strokes_table): Deleted.
3307         (Vcharacter_morohashi_daikanwa_table): Deleted.
3308         (Vcharacter_decomposition_table): Deleted.
3309         (Qname): Deleted because it is duplicated.
3310         (Qideographic_radical): Deleted.
3311         (Qideographic_strokes): Deleted.
3312         (Qtotal_strokes): Deleted.
3313         (Qmorohashi_daikanwa): Deleted.
3314         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3315         `ideographic-radical', `ideographic-strokes', `total-strokes',
3316         `morohashi-daikanwa' and `->decomposition'.
3317         (Fget_char_attribute): Likewise.
3318         (Fput_char_attribute): Likewise; use `make-vector' instead of
3319         `make_older_vector' for `->decomposition' value.
3320         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3321         `ideograph-daikanwa'.
3322         (syms_of_mule_charset): Delete builtin symbols `name',
3323         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3324         `morohashi-daikanwa'.
3325         (vars_of_mule_charset): Don't setup
3326         `Vcharacter_ideographic_radical_table',
3327         `Vcharacter_ideographic_strokes_table',
3328         `Vcharacter_total_strokes_table',
3329         `Vcharacter_morohashi_daikanwa_table' and
3330         `Vcharacter_decomposition_table'.
3331
3332 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3333
3334         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3335         `make_older_vector', `make_vector_newer_1' and
3336         `make_vector_newer'.
3337
3338         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3339         `make_older_vector' and `make_vector_newer'.
3340
3341         * config.h.in (HAVE_GGC): New macro.
3342
3343 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (struct char_attribute_list_closure): New
3346         structure in UTF-2000.
3347         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3348         (Fchar_attribute_list): Likewise.
3349         (Fset_charset_mapping_table): Use `make_vector_newer'.
3350         (Fdecode_builtin_char): New function in UTF-2000.
3351         (syms_of_mule_charset): Add new function `char-attribute-list' and
3352         `decode-builtin-char' in UTF-2000.
3353
3354         * lisp.h (make_vector_newer): New prototype.
3355
3356         * alloc.c (make_vector_newer_1): New function.
3357         (make_vector_newer): New function.
3358
3359 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3360
3361         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3362         50100)'.
3363
3364 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3365
3366         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3367         (Vcharacter_attribute_table): Deleted.
3368         (Vcharacter_name_table): Deleted.
3369         (put_char_attribute): Deleted.
3370         (remove_char_attribute): Deleted.
3371         (struct char_attribute_alist_closure): New structure.
3372         (add_char_attribute_alist_mapper): New function.
3373         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3374         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3375         (Fget_char_attribute): Likewise.
3376         (Fput_char_attribute): Likewise.
3377         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3378         of `remove_char_attribute'.
3379         (Fdefine_char): Return character.
3380         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3381         and `Vcharacter_name_table'.
3382         (complex_vars_of_mule_charset): Likewise
3383         `Vchar_attribute_hash_table'.
3384
3385 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3386
3387         * character.h (CHARC_CHARSET): New macro.
3388         (CHARC_CHARSET_ID): New macro.
3389         (CHARC_CODE_POINT): New macro.
3390         (CHARC_COLUMNS): New macro.
3391         (CHARC_TO_CHAR): New inline function.
3392         (CHARC_EQ): New inline function.
3393         (CHARC_ASCII_EQ): New inline function.
3394         (CHARC_IS_SPACE): New inline function.
3395         (ASCII_TO_CHARC): New inline function.
3396
3397         * char-ucs.h (encode_char_2): Deleted.
3398         (ENCODE_CHAR): Use `encode_char_1' again.
3399         (breakup_char_1): Likewise.
3400         (CHAR_TO_CHARC): New inline function.
3401
3402         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3403
3404 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3405
3406         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3407         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3408         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3409         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3410         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3411         `CHARC_IS_SPACE'.
3412         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3413
3414         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3415         `CHARC_CODE_POINT'.
3416         (x_output_display_block): Use `CHARC_CHARSET' and
3417         `CHARC_ASCII_EQ'.
3418
3419         * redisplay-tty.c (tty_output_display_block): Use
3420         `CHARC_ASCII_EQ'.
3421         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3422
3423         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3424
3425         * insdel.c (find_charsets_in_charc_string): Use
3426         `CHARC_CHARSET_ID'.
3427         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3428         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3429         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3430         (convert_charc_string_into_malloced_string): Likewise.
3431
3432 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3433
3434         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3435         instead of <Emchar_dynarr *> for buf; use
3436         `convert_bufbyte_string_into_charc_dynarr' instead of
3437         `convert_bufbyte_string_into_emchar_dynarr'; use
3438         `find_charsets_in_charc_string' instead of
3439         `find_charsets_in_emchar_string'.
3440
3441         * redisplay.h:
3442         - Include "character.h".
3443         (struct rune): New member `cglyph'; delete member `chr'.
3444
3445         * redisplay.c (redisplay_text_width_charc_string): New function;
3446         delete `redisplay_text_width_emchar_string'.
3447         (rtw_charc_dynarr): New variable; renamed from
3448         `rtw_emchar_dynarr'.
3449         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3450         `rtw_emchar_dynarr'; use
3451         `convert_bufbyte_string_into_charc_dynarr' instead of
3452         `convert_bufbyte_string_into_emchar_dynarr'; use
3453         `redisplay_text_width_charc_string' instead of
3454         `redisplay_text_width_emchar_string'.
3455         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3456         instead of `rtw_emchar_dynarr'; use
3457         `convert_bufbyte_string_into_charc_dynarr' instead of
3458         `convert_bufbyte_string_into_emchar_dynarr'.
3459         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3460         `redisplay_text_width_charc_string' instead of
3461         `redisplay_text_width_emchar_string'.
3462         (create_text_block): Modify for <struct rune> change.
3463         (generate_formatted_string_db): Likewise.
3464         (create_string_text_block): Likewise.
3465         (pixel_to_glyph_translation): Likewise.
3466
3467         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3468         instead of <const Emchar *>.
3469         (x_text_width): Likewise.
3470         (x_output_display_block): Use <Charc_dynarr *> instead
3471         <Emchar_dynarr *>; modify for <structure rune> change.
3472         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3473         *>.
3474
3475         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3476         <const Emchar *>; use `charc_string_displayed_columns' instead of
3477         `emchar_string_displayed_columns'.
3478         (tty_output_display_block): Use <Charc_dynarr *> instead of
3479         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3480         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3481         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3482         `tty_output_emchar_dynarr_dynarr'.
3483         (tty_output_charc_dynarr): New function; delete
3484         `tty_output_charc_dynarr'.
3485
3486         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3487         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3488         <Emchar_dynarr *> for buf; use
3489         `convert_bufbyte_string_into_charc_dynarr' instead of
3490         `convert_bufbyte_string_into_emchar_dynarr'.
3491
3492         * frame.c (title_string_charc_dynarr): New variable; renamed from
3493         `title_string_emchar_dynarr'.
3494         (generate_title_string): Use `title_string_charc_dynarr' instead
3495         of `title_string_emchar_dynarr'; use
3496         `convert_charc_string_into_malloced_string' instead of
3497         `convert_emchar_string_into_malloced_string'.
3498         (init_frame): Use `title_string_charc_dynarr' instead of
3499         `title_string_emchar_dynarr'.
3500
3501         * console.h:
3502         - Include "character.h".
3503         (struct console_methods): Use <const Charc *> instead of <const
3504         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3505         <Emchar_dynarr *> in output_string_method.
3506
3507         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3508         <Emchar_dynarr *>.
3509
3510         * console-stream.c (stream_text_width): Use <const Charc *>
3511         instead of <const Emchar *>.
3512
3513         * character.h (Charc_dynarr): New type.
3514
3515         * char-ucs.h (structure Charc): New structure; define new type
3516         `Charc'.
3517
3518         * char-lb.h (DECODE_CHAR): New inline function.
3519         (encode_char_1): New inline function.
3520         (ENCODE_CHAR): New macro.
3521         (structure Charc): New structure; define new type `Charc'.
3522
3523         * char-1byte.h (Vcharset_control_1): New macro.
3524         (Vcharset_latin_iso8859_1): New macro.
3525         (DECODE_CHAR): New inline function.
3526         (encode_char_1): New inline function.
3527         (ENCODE_CHAR): New macro.
3528         (structure Charc): New structure; define new type `Charc'.
3529
3530         * insdel.c (find_charsets_in_charc_string): New function; delete
3531         `find_charsets_in_emchar_string'.
3532         (charc_string_displayed_columns): New function; delete
3533         `emchar_string_displayed_columns'.
3534         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3535         `convert_bufbyte_string_into_emchar_dynarr'.
3536         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3537         `convert_charc_string_into_bufbyte_dynarr'.
3538         (convert_charc_string_into_malloced_string): New function; delete
3539         `convert_charc_string_into_malloced_string'.
3540
3541         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3542         `find_charsets_in_emchar_string'.
3543         (charc_string_displayed_columns): New prototype; delete
3544         `emchar_string_displayed_columns'.
3545         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3546         `convert_charc_string_into_bufbyte_dynarr'.
3547         (convert_charc_string_into_malloced_string): New prototype; delete
3548         `convert_charc_string_into_malloced_string'.
3549
3550 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3551
3552         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3553
3554 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3555
3556         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3557
3558         * char-ucs.h: Use <short> for <Charset_ID>.
3559
3560         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3561         <Charset_ID>.
3562
3563 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3564
3565         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3566         to 0.16.
3567
3568 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3569
3570         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3571         variable.
3572         (Qmorohashi_daikanwa): New variable.
3573         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3574         for `morohashi-daikanwa' attribute.
3575         (Fget_char_attribute): Likewise.
3576         (Fput_char_attribute): Likewise.
3577         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3578         has the same value of `ideograph-daikanwa'.
3579         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3580         (vars_of_mule_charset): Setup
3581         `Vcharacter_morohashi_daikanwa_table'.
3582
3583 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3584
3585         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3586         attributes.
3587         (add_charset_to_list_mapper): Add `key' instead of
3588         `XCHARSET_NAME (value)' to return aliases.
3589
3590 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3591
3592         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3593         variable.
3594         (Vcharacter_ideographic_strokes_table): New variable.
3595         (Qideographic_radical): New variable.
3596         (Qideographic_strokes): New variable.
3597         (Fchar_attribute_alist): Use
3598         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3599         attribute; use `Vcharacter_ideographic_strokes_table' for
3600         `ideographic-strokes' attribute.
3601         (Fget_char_attribute): Likewise.
3602         (Fput_char_attribute): Likewise.
3603         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3604         `ideographic-strokes'.
3605         (vars_of_mule_charset): Setup
3606         `Vcharacter_ideographic_radical_table' and
3607         `Vcharacter_ideographic_strokes_table'.
3608
3609 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3610
3611         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3612         (Qtotal_strokes): New variable.
3613         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3614         `total-strokes' attribute.
3615         (Fget_char_attribute): Likewise.
3616         (Fput_char_attribute): Likewise.
3617         (syms_of_mule_charset): Add new symbol `total-strokes'.
3618         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3619
3620 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3621
3622         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3623         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3624         are found.
3625         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3626         `->decomposition' attribute.
3627         (Fput_char_attribute): Likewise.
3628         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3629
3630 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3631
3632         * mule-charset.c (decoding_table_check_elements): New function.
3633         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3634
3635 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3636
3637         * mule-charset.c (Fset_charset_mapping_table): Use
3638         `put_char_ccs_code_point'.
3639
3640 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3641
3642         * mule-charset.c (decoding_table_put_char): New inline function.
3643         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3644
3645 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3646
3647         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3648         (XCHARSET_BYTE_SIZE): New macro.
3649         (decoding_table_remove_char): New inline function.
3650         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3651         `decoding_table_remove_char'.
3652         (remove_char_ccs): Use `decoding_table_remove_char'.
3653         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3654
3655 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3656
3657         * mule-charset.c (Vcharacter_name_table): New variable.
3658         (Qname): New variable.
3659         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3660         attribute.
3661         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3662         `Vcharacter_name_table' for `name' attribute.
3663         (Fremove_char_attribute): Use function `remove_char_ccs'.
3664         (put_char_ccs_code_point): New function.
3665         (remove_char_ccs): New function.
3666         (syms_of_mule_charset): Add new symbol `name'.
3667         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3668
3669 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3670
3671         * mule-charset.c (make_byte_table): Add new argument `older'.
3672         (make_char_id_table): Likewise.
3673         (copy_char_id_table): Comment out because it is not used.
3674         (put_char_id_table): Modify for `make_byte_table'.
3675         (Fput_char_attribute): Make encoding_table as older object;
3676         inherit older bit of `Vcharacter_composition_table'.
3677         (mark_charset): Don't mark `cs->encoding_table'.
3678         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3679         normal object; make `Vcharacter_composition_table' as an older
3680         object; delete staticpro for `Vcharacter_composition_table'; make
3681         `Vcharacter_variant_table' as a normal object.
3682
3683         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3684         (mark_object): Don't check older object in UTF-2000.
3685
3686         * lrecord.h (struct lrecord_header): Add new member `older' in
3687         UTF-2000.
3688         (set_lheader_implementation): Setup `SLI_header->older' in
3689         UTF-2000.
3690         (set_lheader_older_implementation): New macro in UTF-2000.
3691         (OLDER_RECORD_P): New macro in UTF-2000.
3692         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3693         (alloc_older_lcrecord): New prototype in UTF-2000.
3694         (alloc_older_lcrecord_type): New macro in UTF-2000.
3695
3696 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3697
3698         * mule-charset.c (byte_table_description): Use
3699         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3700         (char_id_table_description): Delete bogus `, 1'.
3701         (Fget_char_attribute): Refer encoding_table of each coded-charset
3702         to get value of coded-charset attribute of a character.
3703         (Fput_char_attribute): Use `make_older_vector' instead of
3704         `make_vector'; use encoding_table of each coded-charset to store
3705         value of coded-charset attribute of a character.
3706         (Fremove_char_attribute): Use encoding_table of each coded-charset
3707         to store value of coded-charset attribute of a character.
3708         (mark_charset): Mark `cs->encoding_table'; don't mark
3709         `cs->decoding_table'.
3710         (charset_description): Add description of new member
3711         `encoding_table'.
3712         (make_charset): Initialize `encoding_table'.
3713
3714         * char-ucs.h (struct Lisp_Charset): Add new member
3715         `encoding_table'.
3716         (CHARSET_ENCODING_TABLE): New macro.
3717         (XCHARSET_ENCODING_TABLE): New macro.
3718         (charset_code_point): New implementation.
3719         (encode_char_1): Likewise.
3720
3721         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3722         (disksave_object_finalization_1): Call finalizers of
3723         `all_older_lcrecords' in UTF-2000.
3724         (make_older_vector): New function in UTF-2000.
3725         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3726         UTF-2000.
3727
3728         * lisp.h (make_older_vector): New prototype in UTF-2000.
3729
3730 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3731
3732         * lrecord.h (enum lrecord_type): Rename
3733         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3734
3735         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3736         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3737         `get_char_code_table'.
3738
3739         * mule-charset.c (mark_char_id_table): Renamed from
3740         `mark_char_code_table'.
3741         (char_id_table_equal): Renamed from `char_code_table_equal'.
3742         (char_id_table_hash): Renamed from `char_code_table_hash'.
3743         (make_char_id_table): Renamed from `make_char_code_table'.
3744         (copy_char_id_table): Renamed from `copy_char_code_table'.
3745         (get_char_id_table): Renamed from `get_char_code_table'.
3746         (put_char_id_table): Renamed from `put_char_code_table'.
3747         (to_char_id): Renamed from `to_char_code'.
3748
3749         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3750         `Lisp_Char_Code_Table'.
3751         (char_id_table): Renamed from `char_code_table'.
3752         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3753         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3754         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3755         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3756         (get_char_id_table): Renamed from `get_char_code_table'.
3757
3758 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3759
3760         * lrecord.h (enum lrecord_type): Rename
3761         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3762
3763         * mule-charset.c (mark_byte_table): Renamed from
3764         `mark_char_byte_table'.
3765         (byte_table_equal): Renamed from `char_byte_table_equal'.
3766         (byte_table_hash): Renamed from `byte_table_hash'.
3767         (make_byte_table): Renamed from `make_byte_table'.
3768         (copy_byte_table): Renamed from `copy_char_byte_table'.
3769
3770         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3771         `Lisp_Char_Byte_Table'.
3772         (byte_table): Renamed from `char_byte_table'.
3773         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3774         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3775         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3776         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3777
3778 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3779
3780         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3781         (dfc_convert_to_internal_format): Likewise.
3782         
3783         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3784         * text-coding.c (Fcoding_system_alias_p): New function.
3785         * text-coding.c (Fcoding_system_aliasee): New function.
3786         * text-coding.c (append_suffix_to_symbol): New function.
3787         * text-coding.c (dangling_coding_system_alias_p): New function.
3788         * text-coding.c (Ffind_coding_system):
3789         * text-coding.c (Fcopy_coding_system):
3790         * text-coding.c (encode_coding_no_conversion):
3791         * text-coding.c (syms_of_file_coding):
3792         * text-coding.c (vars_of_file_coding):
3793         Rewrite coding system alias code.
3794         Allow nested aliases, like symbolic links.
3795         Allow redefinition of coding system aliases.
3796         Prevent existence of dangling coding system aliases.
3797         Eliminate convert_to_external_format.
3798         Eliminate convert_to_internal_format.
3799         
3800         * text-coding.c: Change enum eol_type to eol_type_t.
3801
3802 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3803
3804         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3805         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3806
3807         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3808         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3809
3810 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3811
3812         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3813         `ideograph-daikanwa'.
3814
3815         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3816         (Vcharset_ucs_bmp): Likewise.
3817         (Vcharset_mojikyo): Add new extern variable definition.
3818         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3819         (Vcharset_latin_iso8859_3): Likewise.
3820         (Vcharset_latin_iso8859_4): Likewise.
3821         (Vcharset_latin_iso8859_9): Likewise.
3822         (Vcharset_latin_viscii_lower): Likewise.
3823         (Vcharset_latin_viscii_upper): Likewise.
3824         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3825         `mojikyo' code-point is used to decode.
3826         (encode_char_2): New function [to convert `mojikyo' code-point to
3827         Mojikyo font encoding].
3828         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3829         (breakup_char_1): Likewise.
3830         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3831
3832 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3833
3834         * text-coding.c (Fmake_coding_system): Add document about
3835         `disable-composition' property.
3836
3837 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3838
3839         * text-coding.c (Qdisable_composition): New variable; delete
3840         `Qcomposite'.
3841         (Fmake_coding_system): Add new property `disable-composite';
3842         delete property `composite'.
3843         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3844         instead of `!CODING_SYSTEM_COMPOSITE'.
3845         (syms_of_file_coding): Add new symbol `disable-composition';
3846         delete symbol `composite'.
3847
3848         * file-coding.h (struct Lisp_Coding_System): Add
3849         `disable_composition'; delete `enable_composition'.
3850         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3851         `CODING_SYSTEM_COMPOSITE'.
3852         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3853         `XCODING_SYSTEM_COMPOSITE'.
3854
3855 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3856
3857         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3858         to 0.15.
3859
3860 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3861
3862         * text-coding.c (Qcomposite): New variable.
3863         (Fmake_coding_system): Add new property `composite'.
3864         (struct decoding_stream): Add `combined_char_count',
3865         `combined_chars' and `combining_table' in UTF-2000.
3866         (COMPOSE_FLUSH_CHARS): New macro.
3867         (COMPOSE_ADD_CHAR): New macro.
3868         (reset_decoding_stream): Reset `str->combined_char_count' and
3869         `str->combining_table' in UTF-2000.
3870         (decode_coding_iso2022): Modify for character-decomposition.
3871         (syms_of_file_coding): Add new symbol `composite'.
3872
3873 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3874
3875         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3876         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3877         of `Vcharacter_composition_table' if `->decomposition' property
3878         has only 1 element.
3879         (Qlatin_tcvn5712): New variable.
3880         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3881         (complex_vars_of_mule_charset): Add new coded-charset
3882         `latin-tcvn5712'.
3883
3884         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3885
3886 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3887
3888         * file-coding.h (struct Lisp_Coding_System): Add
3889         `enable_composition'.
3890         (CODING_SYSTEM_COMPOSITE): New macro.
3891         (XCODING_SYSTEM_COMPOSITE): New macro.
3892
3893 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3894
3895         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3896
3897 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3898
3899         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3900         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3901
3902 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3903
3904         * mule-charset.c (Vcharset_mojikyo): New variable.
3905         (Fdefine_char): Don't use coded-charset which does not have
3906         non-builtin character range to allocate character-id.
3907         (Qmojikyo): New variable.
3908         (syms_of_mule_charset): Add new symbol `mojikyo'.
3909         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3910
3911         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3912         (LEADING_BYTE_MOJIKYO): New macro.
3913         (MIN_CHAR_MOJIKYO): New macro.
3914         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3915         (MAX_CHAR_MOJIKYO): New macro.
3916
3917 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3918
3919         * mule-charset.c (remove_char_attribute): Fixed.
3920
3921 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3922
3923         * mule-charset.c (remove_char_attribute): New function.
3924         (Fremove_char_attribute): New function.
3925         (encode_builtin_char_1): Comment out builtin-support for
3926         greek-iso8859-7 and cyrillic-iso8859-5.
3927         (Fdecode_char): Check `code' is an integer.
3928         (syms_of_mule_charset): Add `remove-char-attribute'.
3929         (MIN_CHAR_GREEK): Deleted.
3930         (MAX_CHAR_GREEK): Likewise.
3931         (MIN_CHAR_CYRILLIC): Likewise.
3932         (MAX_CHAR_CYRILLIC): Likewise.
3933         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3934         MAX_CHAR_GREEK for `greek-iso8859-7'.
3935
3936         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3937         (MAX_CHAR_GREEK): Likewise.
3938         (MIN_CHAR_CYRILLIC): Likewise.
3939         (MAX_CHAR_CYRILLIC): Likewise.
3940
3941 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3942
3943         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3944         format is used without `ucs' property.
3945         (Fdecode_char): Fix problem with GR representation.
3946         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3947         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3948
3949 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3950
3951         * mule-charset.c (make_builtin_char): New function.
3952         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3953         (Fset_charset_mapping_table): Modify for new representation of
3954         code-point.
3955         (Fdecode_char): New function.
3956         (syms_of_mule_charset): Add new builtin function `decode-char' in
3957         UTF-2000.
3958
3959         * char-ucs.h (make_builtin_char): New prototype.
3960         (DECODE_CHAR): New inline function.
3961         (MAKE_CHAR): Use `DECODE_CHAR'.
3962
3963 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3964
3965         * text-coding.c (parse_charset_conversion_specs): Use
3966         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3967         `XCHARSET_TYPE'.
3968         (iso2022_designate): Likewise.
3969
3970         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3971         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3972
3973         * mule-charset.c (Vcharset_ucs): New variable.
3974         (print_charset): Change design; use `CHARSET_CHARS' and
3975         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3976         (make_charset): Change signature to specify `chars' and
3977         `dimension' instead of `type'.
3978         (range_charset_code_point): Modify for 256^n-set.
3979         (encode_builtin_char_1): Encode as `ucs' in default.
3980         (Fmake_charset): Modify for `make_charset'.
3981         (Fmake_reverse_direction_charset): Likewise.
3982         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3983         UTF-2000.
3984         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3985         for `make_charset'.
3986
3987         * char-ucs.h (Vcharset_ucs): New variable.
3988         (LEADING_BYTE_UCS): New macro.
3989         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3990         and `chars' to `unsigned short' from `unsigned int'.
3991         (CHARSET_TYPE): Deleted.
3992         (XCHARSET_TYPE): Deleted.
3993
3994 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3995
3996         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3997
3998         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3999         (ENCODE_CHAR): New macro.
4000
4001 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4002
4003         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4004         to 0.14 (Kawachi-Katakami).
4005
4006 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4007
4008         * text-coding.c (char_encode_shift_jis): Modify for
4009         `charset_code_point'.
4010         (char_encode_iso2022): Likewise.
4011
4012         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4013         (integer) instead of list of <Lisp_Object>s (integers) as the
4014         format of code-point of a coded-charset.
4015         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4016         (encode_builtin_char_1): New function; delete
4017         `split_builtin_char'.
4018         (charset_code_point): Return <int> instead of <Lisp_Object>.
4019         (Fsplit_char): Don't use `SPLIT_CHAR'.
4020
4021         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4022         prototype for `split_builtin_char'.
4023         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4024         (charset_code_point): Likewise.
4025         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4026         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4027
4028 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4029
4030         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4031         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4032
4033 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4034
4035         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4036
4037         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4038         (MAX_CHAR_OBS_94x94): Deleted.
4039
4040 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4041
4042         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4043
4044         * char-ucs.h (MAX_CHAR_BMP): New macro.
4045
4046 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4047
4048         * text-coding.c: Sync with r21-2-24.
4049
4050 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * file-coding.c: Modify for UTF-2000.
4053
4054 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4055
4056         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4057         to 0.13 (Takaida).
4058
4059 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4060
4061         * mule-charset.c (split_builtin_char): Delete builtin support for
4062         `katakana-jisx0201'.
4063         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4064         BMP area in builtin representation.
4065
4066         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4067         `Vcharset_katakana_jisx0201'.
4068
4069 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4070
4071         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4072         (Qisolated): New variable.
4073         (Qinitial): New variable.
4074         (Qmedial): New variable.
4075         (Qfinal): New variable.
4076         (Qvertical): New variable.
4077         (Qsmall): New variable.
4078         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4079         `Qvertical' and `Qsmall'.
4080         (Qmojikyo_pj_[1 .. 21]): New variable.
4081         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4082         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4083         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4084         .. 21]'.
4085
4086 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4087
4088         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4089         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4090         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4091
4092 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4093
4094         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4095         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4096         BMP.
4097         (Qjapanese_jisx0208_1990): New variable.
4098         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4099         (complex_vars_of_mule_charset): Add new coded-charset
4100         `japanese-jisx0208-1990'.
4101
4102         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4103         (MIN_CHAR_JIS_X0208_1990): New macro.
4104         (MAX_CHAR_JIS_X0208_1990): New macro.
4105
4106 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4107
4108         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4109         coded-charset is not found.
4110
4111 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4112
4113         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4114         (Fdefine_char): Use `Fmake_char'.
4115
4116 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4117
4118         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4119         (Vcharset_hiragana_jisx0208): Deleted.
4120         (Vcharset_katakana_jisx0208): Deleted.
4121         (Qideograph_daikanwa): New variable.
4122         (Qhiragana_jisx0208): Deleted.
4123         (Qkatakana_jisx0208): Deleted.
4124         (split_builtin_char): Split `ideograph-daikanwa'.
4125         (Fsplit_char): New implementation for UTF-2000.
4126         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4127         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4128         (complex_vars_of_mule_charset): Add new coded-charset
4129         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4130         `katakana-jisx0208'.
4131
4132         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4133         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4134         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4135         (MIN_CHAR_DAIKANWA): New macro.
4136         (MAX_CHAR_DAIKANWA): New macro.
4137
4138 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4139
4140         * data.c (Fstring_to_number): Don't recognize floating point if
4141         base is not 10.
4142
4143 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4144
4145         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4146
4147 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4148
4149         * mule-charset.c (Qsquare): New variable.
4150         (to_char_code): Add `Qsquare'.
4151         (syms_of_mule_charset): Add new symbol `square'.
4152
4153 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4154
4155         * mule-charset.c (Qcircle): New variable.
4156         (to_char_code): Add `Qcircle'.
4157         (syms_of_mule_charset): Add new symbol `circle'.
4158
4159 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4160
4161         * mule-charset.c (Qfont): New variable.
4162         (to_char_code): Add `Qfont'.
4163         (syms_of_mule_charset): Add new symbol `font'.
4164
4165 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4166
4167         * mule-charset.c (Qsub): New variable.
4168         (to_char_code): Add `Qsub'.
4169         (syms_of_mule_charset): Add new symbol `sub'.
4170
4171 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4172
4173         * mule-charset.c (Fput_char_attribute): Convert each element of
4174         VALUE to GL position if ATTRIBUTE is a GR-set,
4175
4176 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4177
4178         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4179         coded-charset is a GR-set.
4180
4181 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4182
4183         * mule-charset.c (Fput_char_attribute): Check each element of
4184         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4185
4186 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4187
4188         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4189         UTF-2000.
4190         (Qethiopic_ucs): New variable in UTF-2000.
4191         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4192         (complex_vars_of_mule_charset): Add new coded-charset
4193         `ethiopic-ucs' in UTF-2000.
4194
4195         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4196         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4197         9)'.
4198         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4199         10)'.
4200         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4201
4202 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4203
4204         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4205         `ascii'.
4206
4207 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4208
4209         * mule-charset.c (Vcharacter_variant_table): New variable.
4210         (Q_ucs): New variable.
4211         (Fchar_variants): New function.
4212         (Fput_char_attribute): Register `->ucs' value to
4213         `Vcharacter_variant_table'.
4214         (syms_of_mule_charset): Add new function `char-variants' and new
4215         symbol `->ucs'.
4216         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4217
4218 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4219
4220         * mule-charset.c (get_char_code_table): Allow negative character
4221         code.
4222         (put_char_code_table): Likewise.
4223         (Vcharacter_composition_table): New variable.
4224         (Q_decomposition): New variable.
4225         (Qwide): New variable.
4226         (Qnarrow): New variable.
4227         (Qcompat): New variable.
4228         (QnoBreak): New variable.
4229         (Qsuper): New variable.
4230         (Qfraction): New variable.
4231         (to_char_code): New function.
4232         (Fget_composite_char): New function.
4233         (Fput_char_attribute): Register `->decomposition' value to
4234         `Vcharacter_composition_table'.
4235         (syms_of_mule_charset): Add new function `get-composite-char', new
4236         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4237         `super' and `fraction'.
4238         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4239
4240 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4241
4242         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4243         character; copy the return value.
4244
4245 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4246
4247         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4248
4249         * mule-charset.c (range_charset_code_point): Must use make_int.
4250         (split_builtin_char): New function.
4251
4252 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4253
4254         * mule-charset.c (char_byte_table): Change name from
4255         "char-code-table" to "char-byte-table".
4256         (mark_char_code_table): New function.
4257         (char_code_table_equal): New function.
4258         (char_code_table_hash): New function.
4259         (char_code_table_description): New constant.
4260         (char_code_table): New type.
4261         (make_char_code_table): New function.
4262         (copy_char_code_table): New function.
4263         (get_char_code_table): Modify for `char_code_table' type.
4264         (put_char_code_table): Likewise.
4265         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4266         (Kashiwara).
4267
4268         * char-ucs.h (char_code_table): New type.
4269         (XCHAR_CODE_TABLE): New macro.
4270         (XSETCHAR_CODE_TABLE): New macro.
4271         (CHAR_CODE_TABLE_P): New macro.
4272         (GC_CHAR_CODE_TABLE_P): New macro.
4273         (struct Lisp_Char_Code_Table): New structure.
4274
4275 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4276
4277         * mule-charset.c (Fmake_charset): Setup byte_offset for
4278         {94|96}^n-set.
4279
4280 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4281
4282         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4283         character.
4284
4285 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4286
4287         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4288         is found.
4289
4290 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4291
4292         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4293         charset, it is regarded as a charset.
4294         (put_char_attribute): New function in UTF-2000.
4295         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4296         charset, mapping-table of the charset is modified.
4297         (Fdefine_char): New function in UTF-2000.
4298         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4299         `Fput_char_attribute'.
4300         (syms_of_mule_charset): Add new function `define-char' and new
4301         symbol `ucs' in UTF-2000.
4302         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4303
4304 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4305
4306         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4307         non-UTF-2000 configuration.
4308
4309 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4310
4311         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4312         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4313
4314         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4315         deleted.
4316         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4317         (Fset_charset_mapping_table): Likewise.
4318
4319         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4320         (CHARSET_ENCODING_TABLE): Delete.
4321         (XCHARSET_ENCODING_TABLE): Delete.
4322         (charset_code_point): New interface.
4323
4324 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4325
4326         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4327         instead of `charset_get_byte1' and `charset_get_byte2'.
4328
4329         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4330         (charset_get_byte2): Deleted.
4331
4332 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4333
4334         * char-ucs.h (SPLIT_CHAR): New inline function.
4335         (breakup_char_1): Use `SPLIT_CHAR'.
4336
4337         * mule-charset.c (range_charset_code_point): New function.
4338         (charset_code_point): New function.
4339
4340         * char-ucs.h (range_charset_code_point): New interface.
4341         (breakup_char_1): Use `range_charset_code_point'.
4342
4343 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4344
4345         * mule-charset.c (Fmake_charset): Delete unused local variable
4346         `code_offset'.
4347
4348         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4349         (breakup_char_1): Find a charset and code-point in
4350         `Vcharacter_attribute_table'.
4351
4352 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4353
4354         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4355         to 0.10 (Yao).
4356
4357 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4358
4359         * mule-charset.c (Vcharacter_attribute_table): New variable.
4360         (Fchar_attribute_alist): New function.
4361         (Fget_char_attribute): New function.
4362         (Fput_char_attribute): New function.
4363         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4364         too.
4365         (syms_of_mule_charset): Add new function `char-attribute-alist',
4366         `get-char-attribute' and `put-char-attribute'.
4367         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4368
4369 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4370
4371         * mule-charset.c (Fmake_charset): Just use
4372         `get_unallocated_leading_byte'.
4373
4374         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4375         sets; don't use final-byte based number for private sets.
4376
4377 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4378
4379         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4380         integer.
4381
4382 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4383
4384         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4385         to 0.9.
4386
4387 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4388
4389         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4390         of `CHAR_LEADING_BYTE' in UTF-2000.
4391
4392         * insdel.c (find_charsets_in_bufbyte_string): Use
4393         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4394         (find_charsets_in_emchar_string): Likewise.
4395
4396         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4397         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4398
4399         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4400         (CHAR_CHARSET_ID): New macro.
4401
4402 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4403
4404         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4405         charset-id - MIN_LEADING_BYTE.
4406         (put_char_table): Likewise.
4407
4408 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4409
4410         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4411         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4412         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4413         (CHARSET_ID_OFFSET): New macro.
4414         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4415         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4416         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4417         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4418         4).
4419         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4420         5).
4421         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4422         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4423         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4424         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4425         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4426
4427 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4428
4429         * mule-charset.c (next_allocated_leading_byte): New variable in
4430         UTF-2000.
4431         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4432         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4433         (get_unallocated_leading_byte): Simply use
4434         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4435         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4436         UTF-2000.
4437
4438         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4439         (MAX_LEADING_BYTE_PRIVATE): New macro.
4440         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4441         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4442
4443 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4444
4445         * mule-charset.c (Fmake_charset): Allocate final-byte based
4446         charset-id for 94-set, 96-set and 94x94-set.
4447
4448 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4449
4450         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4451         ambiguous `else'.
4452         (Fmake_charset): Likewise.
4453         (complex_vars_of_mule_charset): Modify the font registry of
4454         `ucs-bmp' not to match `Ethiopic-Unicode'.
4455
4456 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4457
4458         * mule-charset.c (complex_vars_of_mule_charset): Add font
4459         registory of `ucs-bmp'.
4460
4461 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4462
4463         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4464         coded-charsets in `default-coded-charset-priority-list' when
4465         breaking up a character.
4466
4467         * mule-charset.c (Vcharset_latin_viscii): New variable.
4468         (Qlatin_viscii): New variable.
4469         (make_charset): Don't use `decoding_table'.
4470         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4471         byte_offset.
4472         (Fset_charset_mapping_table): New implementation.
4473         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4474         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4475         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4476         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4477         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4478         charset `latin_viscii'.
4479
4480         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4481         (CHARSET_TYPE_94X94): Change to 1 from 2.
4482         (CHARSET_TYPE_96): Change to 2 from 1.
4483         (CHARSET_TYPE_128): New macro.
4484         (CHARSET_TYPE_128X128): Change to 5 from 4.
4485         (CHARSET_TYPE_256): New macro.
4486         (CHARSET_TYPE_256X256): Change to 7 from 5.
4487         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4488
4489 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4490
4491         * text-coding.c (char_encode_shift_jis): Refer
4492         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4493         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4494
4495         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4496         (char_byte_table_equal): New function in UTF-2000.
4497         (char_byte_table_hash): New function in UTF-2000.
4498         (char_byte_table_description): New constant in UTF-2000.
4499         (char_byte_table): New type in UTF-2000.
4500         (make_char_byte_table): New function in UTF-2000.
4501         (copy_char_byte_table): New function in UTF-2000.
4502         (make_char_code_table): New macro in UTF-2000.
4503         (get_char_code_table): New function in UTF-2000.
4504         (put_char_code_table): New function in UTF-2000.
4505         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4506         (charset_description): Add setting in UTF-2000.
4507         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4508         `CHARSET_TO_BYTE1_TABLE(cs)'.
4509         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4510         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4511         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4512         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4513         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4514         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4515         `CHARSET_TO_BYTE2_TABLE(cs)'.
4516
4517         * char-ucs.h (char_byte_table): New type.
4518         (XCHAR_BYTE_TABLE): New macro.
4519         (XSETCHAR_BYTE_TABLE): New macro.
4520         (CHAR_BYTE_TABLE_P): New macro.
4521         (GC_CHAR_BYTE_TABLE_P): New macro.
4522         (struct Lisp_Char_Byte_Table): New structure.
4523         (get_char_code_table): New interface.
4524         (Emchar_to_byte_table): Deleted.
4525         (get_byte_from_character_table): Deleted.
4526         (struct Lisp_Charset): Add `encoding_table'; delete
4527         `to_byte1_table' and `to_byte2_table'.
4528         (CHARSET_ENCODING_TABLE): New macro.
4529         (CHARSET_TO_BYTE1_TABLE): Deleted.
4530         (CHARSET_TO_BYTE2_TABLE): Deleted.
4531         (XCHARSET_ENCODING_TABLE): New macro.
4532         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4533         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4534
4535 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4536
4537         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4538         `vietnamese-viscii-*'.
4539
4540 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4541
4542         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4543         (Qvietnamese_viscii_upper): New variable.
4544         (Fdefine_charset_alias): New function.
4545         (syms_of_mule_charset): Add new function `define-charset-alias'.
4546         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4547         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4548         `latin-viscii-*'.
4549
4550 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4551
4552         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4553         (MAX_CHAR_OBS_94x94): New macro.
4554         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4555         for 94x94 sets.
4556
4557         * mule-charset.c (put_byte_from_character_table): Change unit size
4558         from 128 to 256.
4559         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4560         not defined.
4561         (Fmake_reverse_direction_charset): Modify dummy argument of
4562         `make_charset' for non-UTF-2000 environment.
4563
4564 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4565
4566         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4567
4568         * mule-charset.c (destroy_byte_from_character_table): New macro.
4569         (latin_jisx0201_to_ucs): Deleted.
4570         (latin_iso8859_2_to_ucs): Deleted.
4571         (latin_iso8859_3_to_ucs): Deleted.
4572         (latin_iso8859_4_to_ucs): Deleted.
4573         (latin_iso8859_9_to_ucs): Deleted.
4574         (latin_viscii_lower_to_ucs): Deleted.
4575         (latin_viscii_upper_to_ucs): Deleted.
4576         (mark_charset): Mark `cs->decoding_table'.
4577         (Fcharset_mapping_table): Fix DOC-string.
4578         (Fset_charset_mapping_table): New function.
4579         (syms_of_mule_charset): Add nwe function
4580         `set-charset-mapping-table'.
4581         (complex_vars_of_mule_charset): Don't setup and use
4582         `latin_*_to_ucs'.
4583
4584 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4585
4586         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4587         charset.
4588
4589 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4590
4591         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4592         (Vcharset_katakana_jisx0208): New variable.
4593         (Qhiragana_jisx0208): New variable.
4594         (Qkatakana_jisx0208): New variable.
4595         (make_charset): Add new argument `byte_offset'.
4596         (charset_get_byte1): Modify for new coded-charset definition; use
4597         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4598         `XCHARSET_BYTE_OFFSET'.
4599         (Fmake_charset): Modify for `make_charset'.
4600         (Fmake_reverse_direction_charset): Likewise.
4601         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4602         `katakana-jisx0208'.
4603         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4604         `.'  in font registry of charset `katakana-jisx0201',
4605         `latin-jisx0201', `vietnamese-viscii-lower' and
4606         `vietnamese-viscii-upper'; modify DOC-string of charset
4607         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4608         registry of charset `japanese-jisx0208' not to use font for JIS
4609         X0208:1990; add new charset `hiragana-jisx0208' and
4610         `katakana-jisx0208'.
4611
4612         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4613         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4614         (struct Lisp_Charset): Add `byte_offset'.
4615         (CHARSET_BYTE_OFFSET): New macro.
4616         (XCHARSET_UCS_MIN): New macro.
4617         (XCHARSET_UCS_MAX): New macro.
4618         (XCHARSET_CODE_OFFSET): New macro.
4619         (XCHARSET_BYTE_OFFSET): New macro.
4620         (MIN_CHAR_HIRAGANA): New macro.
4621         (MAX_CHAR_HIRAGANA): New macro.
4622         (MIN_CHAR_KATAKANA): New macro.
4623         (MAX_CHAR_KATAKANA): New macro.
4624         (MAKE_CHAR): Modify for new coded-charset definition; use
4625         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4626         `XCHARSET_BYTE_OFFSET'.
4627
4628 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * mule-charset.c (CHAR96): Deleted.
4631         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4632         <Lisp_Object>.
4633         (latin_iso8859_2_to_ucs): Likewise.
4634         (latin_iso8859_3_to_ucs): Likewise.
4635         (latin_iso8859_4_to_ucs): Likewise.
4636         (latin_iso8859_9_to_ucs): Likewise.
4637         (latin_viscii_lower_to_ucs): Likewise.
4638         (latin_viscii_upper_to_ucs): Likewise.
4639         (latin_tcvn5712_to_ucs): Commented out.
4640         (make_charset): Change type of argument `decoding_table' from
4641         <Emchar*> to <Lisp_Object> [vector of characters].
4642         (Fmake_charset): Modify for `make_charset'.
4643         (Fmake_reverse_direction_charset): Likewise.
4644         (Fcharset_mapping_table): New function in UTF-2000.
4645         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4646         UTF-2000.
4647         (complex_vars_of_mule_charset): Modify for type change of
4648         `*_to_ucs'; modify for `make_charset'.
4649
4650         * char-ucs.h (struct Lisp_Charset): Change type of
4651         `decoding_table' from <Emchar*> to <Lisp_Object>.
4652         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4653
4654 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4655
4656         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4657         error with non-UTF-2000-Mule.
4658
4659 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4660
4661         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4662         in lisp again].
4663         (Vcharset_chinese_cns11643_4): Likewise.
4664         (Vcharset_chinese_cns11643_5): Likewise.
4665         (Vcharset_chinese_cns11643_6): Likewise.
4666         (Vcharset_chinese_cns11643_7): Likewise.
4667         (Qchinese_cns11643_3): Likewise.
4668         (Qchinese_cns11643_4): Likewise.
4669         (Qchinese_cns11643_5): Likewise.
4670         (Qchinese_cns11643_6): Likewise.
4671         (Qchinese_cns11643_7): Likewise.
4672         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4673         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4674         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4675         (complex_vars_of_mule_charset): Likewise.
4676
4677 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4678
4679         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4680         96-set.
4681         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4682         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4683
4684 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4685
4686         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4687         0xFF60.
4688         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4689         (breakup_char_1): Likewise.
4690
4691         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4692         one of them includes the specified character.
4693
4694 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4695
4696         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4697
4698 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4699
4700         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4701
4702 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4703
4704         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4705         definition for non-UTF-2000 Mule.
4706         (latin_iso8859_3_to_ucs): Likewise.
4707         (latin_iso8859_4_to_ucs): Likewise.
4708         (latin_iso8859_9_to_ucs): Likewise.
4709         (latin_jisx0201_to_ucs): Likewise.
4710         (MIN_CHAR_THAI): Likewise.
4711         (MAX_CHAR_THAI): Likewise.
4712         (MIN_CHAR_GREEK): Likewise.
4713         (MAX_CHAR_GREEK): Likewise.
4714         (MIN_CHAR_HEBREW): Likewise.
4715         (MAX_CHAR_HEBREW): Likewise.
4716         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4717         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4718         (MIN_CHAR_CYRILLIC): Likewise.
4719         (MAX_CHAR_CYRILLIC): Likewise.
4720
4721 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4722
4723         * char-ucs.h (breakup_char_1): Use
4724         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4725         thai-tis620 and katakana-jisx0201 area.
4726
4727 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4728
4729         * char-ucs.h (breakup_char_1): Use
4730         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4731         area.
4732
4733         * text-coding.c (reset_encoding_stream): Fixed.
4734         (char_encode_ucs4): Delete `& 255'.
4735
4736         * char-ucs.h (breakup_char_1): Use
4737         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4738
4739 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4740
4741         * file-coding.c (Fmake_coding_system): Don't set up
4742         `codesys->fixed.size'.
4743         (encode_coding_no_conversion): Don't refer
4744         `str->codesys->fixed.size'.
4745
4746 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4747
4748         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4749         (latin_a_char_to_byte1): Deleted.
4750         (latin_a_char_to_byte2): Deleted.
4751
4752 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4753
4754         * mule-charset.c (make_charset): Add new argument `ucs_min',
4755         `ucs_max' and `code_offset'.
4756         (charset_get_byte1): New implementation [delete specific charset
4757         depended implementations].
4758         (Fmake_charset): Modify for `make_charset'.
4759         (Fmake_reverse_direction_charset): Likewise.
4760         (complex_vars_of_mule_charset): Likewise.
4761
4762         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4763         `code_offset'.
4764         (CHARSET_UCS_MIN): New macro.
4765         (CHARSET_UCS_MAX): New macro.
4766         (CHARSET_CODE_OFFSET): New macro.
4767         (MAKE_CHAR): Delete charset depended definitions [except
4768         katakana-jisx0201].
4769
4770 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4771
4772         * char-ucs.h (breakup_char_1): Use
4773         `Vdefault_coded_charset_priority_list' for C0-Controls,
4774         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4775
4776 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4777
4778         * char-ucs.h (charset_get_byte1): New function.
4779         (XCHARSET_GET_BYTE1): Deleted.
4780         (charset_get_byte2): New function.
4781         (XCHARSET_GET_BYTE2): Deleted.
4782         (Vdefault_coded_charset_priority_list): New external variable.
4783         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4784         `Vdefault_preferred_coded_charset_list'.
4785
4786         * mule-charset.c (charset_get_byte1): New function.
4787         (charset_get_byte2): New function.
4788         (Vdefault_coded_charset_priority_list): New variable.
4789         (vars_of_mule_charset): Add new variable
4790         `default-coded-charset-priority-list'.
4791
4792 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4793
4794         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4795         (XCHARSET_GET_BYTE2): New inline function.
4796         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4797         `XCHARSET_GET_BYTE2'.
4798
4799 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4800
4801         * mule-charset.c (make_charset): Initialize
4802         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4803         NULL if table is not defined.
4804
4805 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4806
4807         * text-coding.c (char_encode_shift_jis): Use
4808         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4809         `ucs_to_latin_jisx0201'.
4810
4811         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4812         (ucs_to_latin_iso8859_2): Deleted.
4813         (ucs_to_latin_iso8859_3): Deleted.
4814         (ucs_to_latin_iso8859_4): Deleted.
4815         (ucs_to_latin_iso8859_9): Deleted.
4816         (ucs_to_latin_viscii_lower): Deleted.
4817         (ucs_to_latin_viscii_upper): Deleted.
4818         (ucs_to_latin_tcvn5712): Deleted.
4819         (make_charset): Add new argument `decoding_table'; set up
4820         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4821         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4822         `decoding_table' is defined in UTF-2000.
4823         (Fmake_charset): Modify for `make_charset'.
4824         (Fmake_reverse_direction_charset): Likewise.
4825         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4826         and `GENERATE_96_SET'.
4827
4828         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4829         (ucs_to_latin_jisx0201): Deleted.
4830         (latin_iso8859_2_to_ucs): Deleted.
4831         (ucs_to_latin_iso8859_2): Deleted.
4832         (latin_iso8859_3_to_ucs): Deleted.
4833         (ucs_to_latin_iso8859_3): Deleted.
4834         (latin_iso8859_4_to_ucs): Deleted.
4835         (ucs_to_latin_iso8859_4): Deleted.
4836         (latin_iso8859_9_to_ucs): Deleted.
4837         (ucs_to_latin_iso8859_9): Deleted.
4838         (latin_viscii_lower_to_ucs): Deleted.
4839         (ucs_to_latin_viscii_lower): Deleted.
4840         (latin_viscii_upper_to_ucs): Deleted.
4841         (ucs_to_latin_viscii_upper): Deleted.
4842         (struct Lisp_Charset): Renamed `encoding_table' to
4843         `to_byte1_table'; add `to_byte2_table'.
4844         (CHARSET_DECODING_TABLE): New macro.
4845         (CHARSET_TO_BYTE1_TABLE): New macro.
4846         (CHARSET_TO_BYTE2_TABLE): New macro.
4847         (XCHARSET_DECODING_TABLE): New macro.
4848         (XCHARSET_TO_BYTE1_TABLE): New macro.
4849         (XCHARSET_TO_BYTE2_TABLE): New macro.
4850         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4851         tables.
4852         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4853         don't use `ucs_to_*' tables.
4854
4855 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4856
4857         * text-coding.c (Fmake_coding_system): Don't set up
4858         `codesys->fixed.size'.
4859         (encode_coding_no_conversion): Use `if' instead of `switch'.
4860
4861         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4862
4863 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4864
4865         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4866         (Fmake_charset): Modify for `make_charset'.
4867         (Fmake_reverse_direction_charset): Likewise.
4868         (complex_vars_of_mule_charset): Likewise.
4869
4870 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4871
4872         * text-coding.c (char_encode_shift_jis): Use table
4873         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4874
4875 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4876
4877         * text-coding.c (text_encode_generic): Use `if' instead of
4878         `switch'.
4879         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4880         decode JIS-Latin.
4881
4882 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4883
4884         * text-coding.c (encode_coding_sjis): Deleted.
4885         (char_encode_shift_jis): New function.
4886         (char_finish_shift_jis): New function.
4887         (reset_encoding_stream): Set up `encode_char' and `finish' for
4888         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4889         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4890         (char_encode_utf8): Treat `eol_type'.
4891
4892 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4893
4894         * file-coding.c (decode_coding_iso2022): Use
4895         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4896
4897 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4898
4899         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4900         to 0.7 (Hirano).
4901
4902 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4903
4904         * char-lb.h (CHAR_COLUMNS): New macro.
4905
4906 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4907
4908         * text-coding.c (char_encode_ucs4): New function.
4909         (char_finish_ucs4): New function.
4910         (encode_coding_ucs4): Deleted.
4911         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4912         (text_encode_generic): Delete local variable `charset' and `half'.
4913         (ucs_to_mule_table): Deleted.
4914         (mule_to_ucs_table): Deleted.
4915         (Fset_ucs_char): Deleted.
4916         (ucs_to_char): Deleted.
4917         (Fucs_char): Deleted.
4918         (Fset_char_ucs): Deleted.
4919         (Fchar_ucs): Deleted.
4920         (decode_ucs4): Deleted.
4921         (mule_char_to_ucs4): Deleted.
4922         (encode_ucs4): Deleted.
4923         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4924         (decode_coding_utf8): Likewise.
4925         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4926         (char_encode_iso2022): Fixed.
4927         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4928         `Fset_char_ucs' and `Fchar_ucs'.
4929         (complex_vars_of_file_coding): Don't initialize
4930         `ucs_to_mule_table'.
4931
4932         * objects-tty.c (tty_initialize_font_instance): Don't use
4933         `XCHARSET_COLUMNS'.
4934
4935         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4936         UTF-2000.
4937
4938         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4939         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4940
4941         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4942         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4943         (emchar_string_displayed_columns): Likewise.
4944
4945         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4946         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4947         (string_column_at_point): Likewise.
4948         (Fmove_to_column): Likewise.
4949
4950         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4951         `encoding_table' and `decoding_table'.
4952         (CHARSET_REP_BYTES): Deleted.
4953         (XCHARSET_REP_BYTES): Deleted.
4954         (XCHARSET_COLUMNS): Deleted.
4955         (CHAR_COLUMNS): New macro.
4956         (lookup_composite_char): Deleted unconditionally.
4957         (composite_char_string): Likewise.
4958
4959 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4960
4961         * char-ucs.h (Emchar_to_byte_table): New type.
4962         (get_byte_from_character_table): New function interface.
4963         (Vcharset_latin_jisx0201): New variable.
4964         (latin_jisx0201_to_ucs): New variable.
4965         (ucs_to_latin_jisx0201): New variable.
4966         (Vcharset_latin_iso8859_2): New variable.
4967         (latin_iso8859_2_to_ucs): New variable.
4968         (ucs_to_latin_iso8859_2): New variable.
4969         (Vcharset_latin_iso8859_3): New variable.
4970         (latin_iso8859_3_to_ucs): New variable.
4971         (ucs_to_latin_iso8859_3): New variable.
4972         (Vcharset_latin_iso8859_4): New variable.
4973         (latin_iso8859_4_to_ucs): New variable.
4974         (ucs_to_latin_iso8859_4): New variable.
4975         (Vcharset_latin_iso8859_9): New variable.
4976         (latin_iso8859_9_to_ucs): New variable.
4977         (ucs_to_latin_iso8859_9): New variable.
4978         (Vcharset_latin_viscii_lower): New variable.
4979         (latin_viscii_lower_to_ucs): New variable.
4980         (ucs_to_latin_viscii_lower): New variable.
4981         (Vcharset_latin_viscii_upper): New variable.
4982         (latin_viscii_upper_to_ucs): New variable.
4983         (ucs_to_latin_viscii_upper): New variable.
4984         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4985         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4986         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4987         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4988         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4989         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4990         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4991         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4992         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4993         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4994
4995         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4996         (Vcharset_latin_viscii_upper): New variable.
4997         (make_byte_from_character_table): New function.
4998         (put_byte_from_character_table): New function.
4999         (get_byte_from_character_table): New function.
5000         (CHAR96): New macro.
5001         (ucs_to_latin_jisx0201): New variable.
5002         (latin_jisx0201_to_ucs): New variable.
5003         (ucs_to_latin_iso8859_2): New variable.
5004         (latin_iso8859_2_to_ucs): New variable.
5005         (ucs_to_latin_iso8859_3): New variable.
5006         (latin_iso8859_3_to_ucs): New variable.
5007         (ucs_to_latin_iso8859_4): New variable.
5008         (latin_iso8859_4_to_ucs): New variable.
5009         (ucs_to_latin_iso8859_9): New variable.
5010         (latin_iso8859_9_to_ucs): New variable.
5011         (ucs_to_latin_viscii_lower): New variable.
5012         (latin_viscii_lower_to_ucs): New variable.
5013         (ucs_to_latin_viscii_upper): New variable.
5014         (latin_viscii_upper_to_ucs): New variable.
5015         (ucs_to_latin_tcvn5712): New variable.
5016         (latin_tcvn5712_to_ucs): New variable.
5017         (Qlatin_viscii_lower): New variable.
5018         (Qlatin_viscii_upper): New variable.
5019         (syms_of_mule_charset): Set up new symbol
5020         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5021         (complex_vars_of_mule_charset): Set up new charset
5022         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5023         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5024         `ucs_to_<CHARSET>' tables.
5025
5026 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5027
5028         * text-coding.c: New file.
5029
5030 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5031
5032         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5033
5034         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5035         (MAKE_CHAR): Modify for `ucs-bmp'.
5036         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5037         non-MULE characters of BMP.
5038
5039 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5040
5041         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5042         to 0.6.
5043
5044 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5045
5046         * lstream.h:
5047         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5048         - Include character.h for `CHAR_ASCII_P'.
5049
5050         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5051
5052         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5053         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5054
5055         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5056         (BYTE_C0_P): Likewise.
5057         (BYTE_C1_P): Likewise.
5058         (Lstream_get_emchar_1): Likewise.
5059         (Lstream_fput_emchar): Likewise.
5060         (Lstream_funget_emchar): Likewise.
5061         (copy_internal_to_external): Likewise.
5062         (copy_external_to_internal): Likewise.
5063
5064         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5065         (BYTE_C0_P): Likewise.
5066         (BYTE_C1_P): Likewise.
5067         (Lstream_get_emchar_1): Likewise.
5068         (Lstream_fput_emchar): Likewise.
5069         (Lstream_funget_emchar): Likewise.
5070         (copy_internal_to_external): Likewise.
5071         (copy_external_to_internal): Likewise.
5072
5073         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5074         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5075
5076         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5077         (BYTE_ASCII_P): Moved to mb-1byte.h.
5078
5079 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5080
5081         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5082
5083         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5084         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5085         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5086         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5087         (VALIDATE_CHARPTR_FORWARD): Likewise.
5088         (simple_charptr_emchar): Moved to mb-multibyte.h.
5089         (simple_set_charptr_emchar): Likewise.
5090         (simple_charptr_copy_char): Likewise.
5091         (non_ascii_charptr_emchar): Likewise.
5092         (non_ascii_set_charptr_emchar): Likewise.
5093         (non_ascii_charptr_copy_char): Likewise.
5094         (charptr_emchar): Moved to mb-*byte.h.
5095         (set_charptr_emchar): Likewise.
5096         (charptr_copy_char): Likewise.
5097
5098         * mb-1byte.h, mb-multibyte.h: New files.
5099
5100 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5101
5102         * mb-utf-8.h (MULTIBYTE): New macro.
5103         (MAX_EMCHAR_LEN): Moved from buffer.h.
5104         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5105
5106         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5107
5108         * mb-lb.h, multibyte.h: New files.
5109
5110         * char-1byte.h (Charset_ID): Moved from buffer.h.
5111         (MIN_LEADING_BYTE): Likewise.
5112         (LEADING_BYTE_ASCII): Likewise.
5113         (NUM_LEADING_BYTES): Likewise.
5114         (CHARSETP): Likewise.
5115         (CHARSET_BY_LEADING_BYTE): Likewise.
5116         (XCHARSET_LEADING_BYTE): Likewise.
5117         (XCHARSET_GRAPHIC): Likewise.
5118         (XCHARSET_COLUMNS): Likewise.
5119         (XCHARSET_DIMENSION): Likewise.
5120         (CHAR_CHARSET): Likewise.
5121         (CHAR_LEADING_BYTE): Likewise.
5122         (BREAKUP_CHAR): Likewise.
5123         (Vcharset_ascii): Likewise.
5124
5125         * buffer.h: Include multibyte.h unconditionally.
5126         (VALID_CHARPTR_P): Moved to multibyte.h.
5127         (ASSERT_VALID_CHARPTR): Likewise.
5128         (REAL_INC_CHARPTR): Likewise.
5129         (REAL_INC_CHARBYTIND): Likewise.
5130         (REAL_DEC_CHARPTR): Likewise.
5131         (INC_CHARPTR): Likewise.
5132         (INC_CHARBYTIND): Likewise.
5133         (DEC_CHARPTR): Likewise.
5134         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5135         (VALIDATE_CHARPTR_FORWARD): Likewise.
5136         (charptr_n_addr): Likewise.
5137         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5138         (simple_charptr_emchar): Moved to multibyte.h.
5139         (simple_set_charptr_emchar): Likewise.
5140         (simple_charptr_copy_char): Likewise.
5141         (non_ascii_charptr_emchar): Likewise.
5142         (non_ascii_set_charptr_emchar): Likewise.
5143         (non_ascii_charptr_copy_char): Likewise.
5144         (charptr_emchar): Likewise.
5145         (set_charptr_emchar): Likewise.
5146         (charptr_copy_char): Likewise.
5147         (charptr_emchar_n): Likewise.
5148         (Charset_ID): Moved to char-1byte.h.
5149         (Vcharset_ascii): Likewise.
5150         (CHAR_CHARSET): Likewise.
5151         (CHAR_LEADING_BYTE): Likewise.
5152         (LEADING_BYTE_ASCII): Likewise.
5153         (NUM_LEADING_BYTES): Likewise.
5154         (MIN_LEADING_BYTE): Likewise.
5155         (CHARSETP): Likewise.
5156         (CHARSET_BY_LEADING_BYTE): Likewise.
5157         (XCHARSET_LEADING_BYTE): Likewise.
5158         (XCHARSET_GRAPHIC): Likewise.
5159         (XCHARSET_COLUMNS): Likewise.
5160         (XCHARSET_DIMENSION): Likewise.
5161         (BREAKUP_CHAR): Likewise.
5162
5163 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5164
5165         * character.h: Add document about interface for characters.
5166
5167         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5168         (MAKE_CHAR): Delete comment about
5169         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5170         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5171         (BREAKUP_CHAR): Modify name of arguments.
5172         (CHAR_CHARSET): Modify name of argument.
5173
5174         * buffer.h: Delete document about Emchar accessors.
5175
5176 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5177
5178         * character.h (CHAR_INTP): Moved from buffer.h
5179         (CHAR_OR_CHAR_INTP): Likewise.
5180         (XCHAR_OR_CHAR_INT): Likewise.
5181         (CHECK_CHAR_COERCE_INT): Likewise.
5182
5183         * buffer.h (CHAR_INTP): Moved to character.h
5184         (CHAR_OR_CHAR_INTP): Likewise.
5185         (XCHAR_OR_CHAR_INT): Likewise.
5186         (CHECK_CHAR_COERCE_INT): Likewise.
5187
5188 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5189
5190         * character.h:
5191         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5192         - Include char-1byte.h, char-lb.h or char-ucs.h.
5193
5194         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5195
5196         * buffer.h: Include character unconditionally.
5197         (valid_char_p): Moved to char-*.h.
5198         (non_ascii_valid_char_p): Moved to char-lb.h.
5199
5200         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5201
5202 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5203
5204         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5205         in UTF-2000 because it is not ported yet and not to use
5206         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5207         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5208         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5209
5210         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5211         (CHAR_ASCII_P): Moved from character.h.
5212
5213         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5214         (CHAR_ASCII_P): Likewise.
5215         (CHAR_FIELD1_MASK): Deleted.
5216         (CHAR_FIELD2_MASK): Deleted.
5217         (CHAR_FIELD3_MASK): Deleted.
5218         (MAX_CHAR_BASIC_LATIN): New macro.
5219         (CHAR_FIELD1): Deleted.
5220         (CHAR_FIELD2_INTERNAL): Deleted.
5221         (CHAR_FIELD3_INTERNAL): Deleted.
5222         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5223         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5224         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5225         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5226         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5227         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5228         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5229         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5230         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5231         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5232         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5233         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5234         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5235         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5236         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5237         (MIN_CHAR_COMPOSITION): Deleted.
5238         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5239         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5240
5241 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5242
5243         * buffer.h: Include mb-utf-8.h in UTF-2000.
5244
5245         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5246
5247         * mb-utf-8.h: New file.
5248
5249 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5250
5251         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5252         instead of `int'.
5253
5254         * mule-charset.h, buffer.h (Charset_ID): New type.
5255
5256 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5257
5258         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5259         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5260         instead of `MULE_CHAR_PRIVATE_OFFSET',
5261         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5262         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5263         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5264
5265         * character.h (Vcharset_japanese_jisx0212): New variable
5266         definition.
5267
5268 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5269
5270         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5271         (charset_by_attributes): Delete array about direction.
5272         (latin_a_char_to_charset): New variable in UTF-2000.
5273         (latin_a_char_to_byte1): New variable in UTF-2000.
5274         (latin_a_char_to_byte2): New variable in UTF-2000.
5275         (Qucs_bmp): New variable.
5276         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5277         `Bufbyte'.
5278         (next_allocated_2_byte_leading_byte): Likewise.
5279         (non_ascii_set_charptr_emchar): Likewise.
5280         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5281         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5282         `charset_by_attributes'.
5283         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5284         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5285         and `CHARSET_BY_LEADING_BYTE'.
5286         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5287         `utf-2000-version' to `vars_of_mule_charset'.
5288         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5289         define `leading-code-private-11' in UTF-2000; move setting of
5290         `utf-2000-version' from `syms_of_mule_charset'.
5291         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5292         UTF-2000.
5293
5294         * character.h (Charset_ID): New type.
5295         (LEADING_BYTE_UCS_BMP): New macro.
5296         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5297         (CHARSET_ID_OFFSET_94): New macro.
5298         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5299         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5300         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5301         final-byte.
5302         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5303         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5304         (CHARSET_ID_OFFSET_96): New macro.
5305         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5306         CHARSET_ID_OFFSET_96 and final-byte.
5307         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5308         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5309         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5310         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5311         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5312         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5313         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5314         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5315         (LEADING_BYTE_THAI_TIS620): Likewise.
5316         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5317         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5318         (CHARSET_ID_OFFSET_94x94): New macro.
5319         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5320         CHARSET_ID_OFFSET_94x94 and final-byte.
5321         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5322         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5323         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5324         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5325         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5326         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5327         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5328         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5329         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5330         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5331         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5332         (CHARSET_TYPE_128X128): New macro.
5333         (CHARSET_TYPE_256X256): New macro.
5334         (XCHARSET_PRIVATE_P): Delete unconditionally.
5335         (charset_by_attributes): Delete array about direction.
5336         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5337         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5338         (MIN_CHAR_94): New macro.
5339         (MAX_CHAR_94): New macro.
5340         (MIN_CHAR_96): New macro.
5341         (MAX_CHAR_96): New macro.
5342         (MIN_CHAR_94x94): New macro.
5343         (MAX_CHAR_94x94): New macro.
5344         (MIN_CHAR_96x96): New macro.
5345         (MAX_CHAR_96x96): New macro.
5346         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5347         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5348         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5349         - 32)'.
5350         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5351         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5352         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5353         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5354         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5355         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5356         `XCHARSET_LEADING_BYTE' to make code-point.
5357         (latin_a_char_to_charset): New variable.
5358         (latin_a_char_to_byte1): New variable.
5359         (latin_a_char_to_byte2): New variable.
5360         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5361         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5362         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5363
5364         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5365         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5366         (find_charsets_in_emchar_string): Likewise.
5367         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5368
5369         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5370         `int'.
5371         (decode_coding_iso2022): Likewise.
5372
5373         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5374         of `unsigned char'.
5375
5376         * redisplay.c (redisplay_text_width_emchar_string): Use
5377         `Charset_ID' instead of `unsigned char'.
5378         (redisplay_frame_text_width_string): Likewise.
5379
5380         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5381         `unsigned char'.
5382
5383         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5384         instead of `unsigned char'.
5385         (face_cachel_charset_font_metric_info): Likewise.
5386
5387         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5388         (get_non_ascii_char_table_value): Likewise.
5389         (get_char_table): Likewise.
5390         (put_char_table): Likewise.
5391         (map_over_other_charset): Likewise.
5392         (map_char_table): Likewise.
5393
5394         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5395         instead of `unsigned char'.
5396
5397 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5398
5399         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5400         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5401
5402         * mule-charset.c (leading_code_private_11): Don't define in
5403         UTF-2000.
5404
5405         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5406         in UTF-2000 because it is not ported yet and not to use
5407         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5408
5409 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5410
5411         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5412
5413 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5414
5415         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5416         in UTF-2000.
5417
5418         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5419         of unsigned char to store leading-byte.
5420
5421         * chartab.c (get_non_ascii_char_table_value): Don't use
5422         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5423
5424         * file-coding.c (encode_coding_big5): Delete bogus implementation
5425         in UTF2000.
5426
5427         * character.h (LEADING_BYTE_*): Delete definition for
5428         non-UTF-2000.
5429         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5430         (LEADING_BYTE_PREFIX_P): Deleted.
5431         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5432         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5433         (BUFBYTE_LEADING_BYTE_P): Deleted.
5434         (CHARSET_PRIVATE_P): Deleted unconditionally.
5435         (rep_bytes_by_first_byte): Deleted unconditionally.
5436         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5437         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5438         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5439         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5440         (CHAR_FIELD2): Deleted.
5441         (CHAR_FIELD3): Deleted.
5442         (MAKE_CHAR): Delete definition for non-UTF-2000.
5443         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5444         (breakup_char_1): New implementation.
5445         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5446         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5447
5448 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5449
5450         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5451         condition.
5452
5453 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5454
5455         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5456         (CHARSET_PRIVATE_P): Likewise.
5457         (XCHARSET_PRIVATE_P): Likewise.
5458         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5459
5460         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5461         UTF2000.
5462         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5463
5464 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5465
5466         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5467         (NUM_LEADING_BYTES): Changed from 128 to 256.
5468         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5469         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5470         UTF2000.
5471         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5472
5473         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5474         UTF2000.
5475         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5476         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5477         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5478         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5479         (Qchinese_cns11643_3): New variable in UTF2000.
5480         (Qchinese_cns11643_4): New variable in UTF2000.
5481         (Qchinese_cns11643_5): New variable in UTF2000.
5482         (Qchinese_cns11643_6): New variable in UTF2000.
5483         (Qchinese_cns11643_7): New variable in UTF2000.
5484         (syms_of_mule_charset): Define `chinese-cns11643-3',
5485         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5486         and `chinese-cns11643-7' in UTF2000.
5487         (vars_of_mule_charset): Initialize
5488         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5489         + 1 in UTF2000.
5490         (complex_vars_of_mule_charset): Setup charset
5491         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5492         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5493
5494 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5495
5496         * mule-charset.c: Move setting for `leading-code-private-11' from
5497         `syms_of_mule_charset' to `vars_of_mule_charset'.
5498
5499 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5500
5501         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5502         and `NUM_LEADING_BYTES' in assert.
5503
5504 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5505
5506         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5507         instead of 128.
5508         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5509         `NUM_LEADING_BYTES' instead of 128.
5510
5511 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5512
5513         * mule-charset.h (charset_by_leading_byte): Use
5514         `NUM_LEADING_BYTES' instead of 128.
5515         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5516
5517         * mule-charset.c (charset_by_leading_byte): Use
5518         `NUM_LEADING_BYTES' instead of 128.
5519         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5520
5521         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5522         128.
5523
5524 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5525
5526         * mule-charset.c (syms_of_mule_charset): Update to
5527         0.4 (Shin-Imamiya).
5528
5529 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5530
5531         * file-coding.c (encode_coding_sjis): New implementation for
5532         UTF2000.  (decode_coding_sjis): Ditto.
5533
5534 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5535
5536         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5537         Don't define in UTF2000.
5538
5539         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5540         defined.
5541
5542         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5543         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5544         MULE.
5545
5546 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5547
5548         * config.h.in (CHAR_IS_UCS4): New macro.
5549
5550         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5551         conventional MULE representation.
5552         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5553
5554         * mule-charset.h: Reverted to original.
5555
5556         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5557         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5558         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5559
5560         * character.h: New file.
5561
5562         * file-coding.c (Fmake_coding_system): Set 1 to
5563         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5564         defined.
5565         (encode_coding_no_conversion): New implementation for UTF2000.
5566
5567         * file-coding.h (struct Lisp_Coding_System): Add new member
5568         `fixed.size'.
5569
5570 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5571
5572         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5573         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5574         (encode_coding_iso2022): New implementation for UTF2000.
5575
5576 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5577
5578         * mule-canna.c (c2mu): New implementation for UTF2000.
5579         (m2c): Likewise.
5580
5581 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5582
5583         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5584
5585 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5586
5587         * file-coding.c (reset_encoding_stream): Set 0 to
5588         `str->iso2022.current_char_boundary' in UTF2000.
5589         (encode_utf8): Don't define in UTF2000.
5590         (encode_coding_utf8): New implementation for UTF-8 representation
5591         of UTF2000.
5592         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5593
5594 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5595
5596         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5597
5598         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5599         UTF2000.
5600         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5601
5602         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5603
5604         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5605         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5606         as UTF-8 in UTF2000.
5607         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5608         (non_ascii_valid_char_p): Don't define in UTF2000.
5609         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5610         (Lstream_get_emchar_1): Likewise.
5611         (utf-2000-version): New variable in UTF2000.
5612
5613         * lread.c (read_escape): Add new reader `u'.
5614
5615         * insdel.c (three_to_one_table): Don't define in UTF2000.
5616         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5617         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5618         UTF2000.
5619         (bytind_to_bufpos_func): Likewise.
5620         (buffer_mule_signal_inserted_region): Likewise.
5621         (vars_of_insdel): Don't initialize `three_to_one_table'.
5622         (init_buffer_text): Use `buf->text->mule_size' instead of
5623         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5624         UTF2000.
5625
5626         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5627         UTF-8 representation in UTF2000.
5628         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5629         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5630         (decode_coding_iso2022): Don't define local variable `lb' in
5631         UTF2000; don't use LEADING_BYTE in UTF2000; use
5632         `DECODE_ADD_UCS_CHAR' in UTF2000.
5633         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5634
5635         * config.h.in (UTF2000): New macro.
5636
5637         * buffer.h (struct buffer_text): Add new member `mule_size' and
5638         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5639         (valid_char_p): Return always 1 in UTF2000.
5640         (MAX_EMCHAR_LEN): 6 in UTF2000.
5641         (three_to_one_table): Don't define in UTF2000.
5642         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5643         UTF2000.
5644         (real_bytind_to_bufpos): Likewise.
5645
5646         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5647
5648 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5649
5650         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5651         representation change.
5652         (Vutf_2000_version): New variable.
5653         (leading_code_private_11): New variable.
5654         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5655         `leading-code-private-11'.
5656
5657         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5658         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5659         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5660         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5661         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5662         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5663         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5664         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5665         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5666         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5667         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5668         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5669         (MIN_CHAR_GREEK): New macro.
5670         (MAX_CHAR_GREEK): New macro.
5671         (MIN_CHAR_CYRILLIC): New macro.
5672         (MAX_CHAR_CYRILLIC): New macro.
5673         (MIN_CHAR_HEBREW): New macro.
5674         (MAX_CHAR_HEBREW): New macro.
5675         (MIN_CHAR_THAI): New macro.
5676         (MAX_CHAR_THAI): New macro.
5677         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5678         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5679         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5680         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5681         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5682         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5683         (CHAR_FIELD2): New inline function.
5684         (CHAR_FIELD3): New inline function.
5685         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5686         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5687         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5688         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5689         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5690         (MIN_CHAR_COMPOSITION): Likewise.
5691         (CHAR_LEADING_BYTE): Modified for character representation change.
5692         (MAKE_CHAR): Likewise.
5693
5694         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5695         (Vcharset_greek_iso8859_7): Likewise.
5696         (Vcharset_cyrillic_iso8859_5): Likewise.
5697         (Vcharset_hebrew_iso8859_8): Likewise.
5698         (Vcharset_thai_tis620): Likewise.
5699         (Vcharset_katakana_jisx0201): Likewise.
5700
5701 2005-02-06  Vin Shelton <acs@xemacs.org>
5702
5703         * XEmacs 21.4.17 is released
5704
5705 2005-01-31  Ben Wing  <ben@xemacs.org>
5706
5707         * emacs.c:
5708         Define assert_failed() always.
5709         * lisp.h:
5710         Always define ABORT().
5711
5712 2005-01-25  Ben Wing  <ben@xemacs.org>
5713
5714         * Makefile.in.in:
5715         * Makefile.in.in (%.o):
5716         Don't compile executable as Windows (-mwindows) under Cygwin.
5717         Semi-recent changes to Cygwin's executable-startup handling make
5718         it impossible to access the TTY this way.
5719
5720         Don't use special linker file under Cygwin (cygwin.sc) except
5721         when non-PDUMP (even in this case it is highly questionable); you
5722         get errors like
5723
5724       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5725    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5726
5727 2005-01-29  Ben Wing  <ben@xemacs.org>
5728
5729         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5730
5731         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5732
5733 2005-01-29  Ben Wing  <ben@xemacs.org>
5734
5735         * bytecode.c (optimize_compiled_function):
5736         * print.c (FROB):
5737         * print.c (long_to_string):
5738         Add casts to avoid warning.
5739         
5740         * glyphs-eimage.c:
5741         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5742         #### The better solution is to move the TIFF and JPEG code to
5743         different files.
5744         
5745         * glyphs-msw.c (mswindows_xbm_instantiate):
5746         Define __STDC__ to avoid problems with compface.h.
5747         
5748         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5749         * EmacsShell-sub.c:
5750         * EmacsShell-sub.c (ABORT):
5751         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5752         * EmacsShell-sub.c (RootGeometryManager):
5753         * EmacsShell.c:
5754         * EmacsShell.c (ABORT):
5755         * EmacsShell.c (EmacsShellUpdateSizeHints):
5756         * alloc.c (free_lcrecord):
5757         * alloca.c (i00afunc):
5758         * buffer.c (delete_from_buffer_alist):
5759         * buffer.c (MARKED_SLOT):
5760         * bytecode.c (execute_rare_opcode):
5761         * bytecode.c (optimize_byte_code):
5762         * bytecode.c (Ffetch_bytecode):
5763         * chartab.c (char_table_type_to_symbol):
5764         * chartab.c (Freset_char_table):
5765         * chartab.c (decode_char_table_range):
5766         * chartab.c (Fget_range_char_table):
5767         * chartab.c (check_valid_char_table_value):
5768         * chartab.c (map_char_table):
5769         * chartab.c (slow_map_char_table_fun):
5770         * chartab.c (chartab_instantiate):
5771         * cm.c (cmcheckmagic):
5772         * console-msw.c (DHEADER):
5773         * console.c (MARKED_SLOT):
5774         * data.c (finish_marking_weak_lists):
5775         * data.c (encode_weak_list_type):
5776         * debug.h (DASSERT):
5777         * device-gtk.c (gtk_init_device):
5778         * device-msw.c (mswindows_get_default_margin):
5779         * device-tty.c (tty_init_device):
5780         * device-x.c (get_device_from_display):
5781         * device-x.c (x_get_visual_depth):
5782         * doprnt.c (parse_doprnt_spec):
5783         * doprnt.c (get_doprnt_args):
5784         * dumper.c (pdump_get_indirect_count):
5785         * dumper.c (pdump_register_sub):
5786         * dumper.c (pdump_register_object):
5787         * dumper.c (pdump_register_struct):
5788         * dumper.c (pdump_dump_data):
5789         * dumper.c (pdump_reloc_one):
5790         * elhash.c (print_hash_table):
5791         * elhash.c (make_standard_lisp_hash_table):
5792         * elhash.c (hash_table_instantiate):
5793         * emacs.c:
5794         * emacs.c (Fforce_debugging_signal):
5795         * emacs.c (sort_args):
5796         * emacs.c (main):
5797         * emacs.c (assert_failed):
5798         * eval.c (throw_or_bomb_out):
5799         * eval.c (signal_1):
5800         * eval.c (Fsignal):
5801         * event-Xt.c:
5802         * event-Xt.c (emacs_Xt_mapping_action):
5803         * event-Xt.c (Xt_process_to_emacs_event):
5804         * event-msw.c:
5805         * event-stream.c (check_event_stream_ok):
5806         * event-stream.c (Fadd_timeout):
5807         * event-stream.c (Fadd_async_timeout):
5808         * event-stream.c (Fdiscard_input):
5809         * event-stream.c (execute_internal_event):
5810         * event-stream.c (Frecent_keys):
5811         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5812         * event-stream.c (lookup_command_event):
5813         * event-unixoid.c (poll_fds_for_input):
5814         * events.c:
5815         * events.c (mark_event):
5816         * events.c (event_equal):
5817         * events.c (event_hash):
5818         * events.c (Fmake_event):
5819         * events.c (Fdeallocate_event):
5820         * events.c (event_chain_find_previous):
5821         * events.c (event_to_character):
5822         * events.c (format_event_object):
5823         * events.c (Fevent_type):
5824         * events.c (event_pixel_translation):
5825         * events.c (Fevent_properties):
5826         * extents.c (extent_in_region_p):
5827         * extents.c (print_extent):
5828         * extents.c (process_extents_for_insertion_mapper):
5829         * extents.c (report_extent_modification_mapper):
5830         * extents.c (glyph_layout_to_symbol):
5831         * faces.c (face_validate):
5832         * file-coding.c (eol_type_to_symbol):
5833         * file-coding.c (subsidiary_coding_system):
5834         * file-coding.c (Fcoding_system_type):
5835         * file-coding.c (Fcoding_system_property):
5836         * file-coding.c (mule_decode):
5837         * file-coding.c (mule_encode):
5838         * file-coding.c (encode_coding_ucs4):
5839         * file-coding.c (encode_coding_utf8):
5840         * file-coding.c (parse_iso2022_esc):
5841         * file-coding.c (encode_coding_iso2022):
5842         * fileio.c:
5843         * fns.c (concat):
5844         * fns.c (Fsubseq):
5845         * fns.c (mapcar1):
5846         * fns.c (Fbase64_encode_region):
5847         * fns.c (Fbase64_encode_string):
5848         * fns.c (Fbase64_decode_region):
5849         * fns.c (Fbase64_decode_string):
5850         * font-lock.c (find_context):
5851         * font-lock.c (context_to_symbol):
5852         * frame-gtk.c (gtk_set_frame_pointer):
5853         * frame-gtk.c (gtk_update_frame_external_traits):
5854         * frame-x.c (x_wm_mark_shell_size_user_specified):
5855         * frame-x.c (x_wm_mark_shell_position_user_specified):
5856         * frame-x.c (x_wm_set_shell_iconic_p):
5857         * frame-x.c (x_wm_set_cell_size):
5858         * frame-x.c (x_wm_set_variable_size):
5859         * frame-x.c (x_wm_store_class_hints):
5860         * frame-x.c (x_wm_maybe_store_wm_command):
5861         * frame-x.c (x_initialize_frame_size):
5862         * frame-x.c (x_update_frame_external_traits):
5863         * frame.c:
5864         * frame.c (delete_frame_internal):
5865         * frame.c (mouse_pixel_position_1):
5866         * frame.c (change_frame_size_1):
5867         * free-hook.c (check_free):
5868         * free-hook.c (check_realloc):
5869         * free-hook.c (note_block_input):
5870         * free-hook.c (log_gcpro):
5871         * gccache-gtk.c (gc_cache_lookup):
5872         * glyphs-eimage.c (tiff_memory_write):
5873         * glyphs-gtk.c (gtk_finalize_image_instance):
5874         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5875         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5876         * glyphs-gtk.c (gtk_xpm_instantiate):
5877         * glyphs-gtk.c (gtk_unmap_subwindow):
5878         * glyphs-gtk.c (gtk_map_subwindow):
5879         * glyphs-gtk.c (gtk_button_redisplay):
5880         * glyphs-msw.c:
5881         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5882         * glyphs-x.c (init_image_instance_from_xbm_inline):
5883         * glyphs-x.c (extract_xpm_color_names):
5884         * glyphs-x.c (x_xpm_instantiate):
5885         * glyphs.c (get_image_instantiator_governing_domain):
5886         * glyphs.c (print_image_instance):
5887         * glyphs.c (image_instance_equal):
5888         * glyphs.c (image_instance_hash):
5889         * glyphs.c (encode_image_instance_type):
5890         * glyphs.c (make_image_instance_1):
5891         * glyphs.c (inherit_instantiate):
5892         * glyphs.c (image_instantiate):
5893         * glyphs.c (allocate_glyph):
5894         * glyphs.c (Fglyph_type):
5895         * glyphs.c (redisplay_subwindow):
5896         * glyphs.c (display_table_entry):
5897         * gtk-glue.c (xemacs_list_to_gtklist):
5898         * gtk-glue.c (xemacs_gtklist_to_list):
5899         * gtk-glue.c (xemacs_list_to_array):
5900         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5901         * gutter.c (gutter_was_visible):
5902         * gutter.c (get_gutter_coords):
5903         * input-method-xlib.c (get_XIM_input):
5904         * insdel.c (bufpos_to_bytind_func):
5905         * insdel.c (bytind_to_bufpos_func):
5906         * insdel.c (move_gap):
5907         * intl.c (x_get_composed_input):
5908         * keymap.c (keymap_lookup_directly):
5909         * keymap.c (keymap_delete_inverse_internal):
5910         * keymap.c (ensure_meta_prefix_char_keymapp):
5911         * keymap.c (accessible_keymaps_mapper_1):
5912         * keymap.c (where_is_recursive_mapper):
5913         * lisp.h:
5914         * lisp.h (ABORT):
5915         * lread.c (read_atom):
5916         * lstream.c (Lstream_delete):
5917         * lstream.c (make_lisp_buffer_stream_1):
5918         * macros.c (pop_kbd_macro_event):
5919         * malloc.c (malloc):
5920         * malloc.c (free):
5921         * marker.c (bi_marker_position):
5922         * marker.c (set_bi_marker_position):
5923         * menubar-gtk.c (menu_descriptor_to_widget_1):
5924         * menubar-msw.c (prune_menubar):
5925         * menubar-x.c (set_frame_menubar):
5926         * mule-charset.c (get_unallocated_leading_byte):
5927         * mule-charset.h (CHAR_LEADING_BYTE):
5928         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5929         * nt.c (init_environment):
5930         * nt.c (generate_inode_val):
5931         * ntproc.c (delete_child):
5932         * ntproc.c (_sys_read_ahead):
5933         * ntproc.c (create_child):
5934         * objects.c (color_instantiate):
5935         * objects.c (font_instantiate):
5936         * objects.c (face_boolean_instantiate):
5937         * print.c (printing_major_badness):
5938         * process-nt.c (nt_send_process):
5939         * process-unix.c (unix_send_process):
5940         * process.c (get_process):
5941         * ralloc.c (obtain):
5942         * ralloc.c (relinquish):
5943         * ralloc.c (relocate_blocs):
5944         * ralloc.c (resize_bloc):
5945         * ralloc.c (r_alloc_free):
5946         * ralloc.c (r_re_alloc):
5947         * ralloc.c (r_alloc_thaw):
5948         * ralloc.c (init_ralloc):
5949         * ralloc.c (Free_Addr_Block):
5950         * ralloc.c (r_alloc):
5951         * redisplay-gtk.c (gtk_output_display_block):
5952         * redisplay-msw.c (mswindows_output_display_block):
5953         * redisplay-output.c (get_next_display_block):
5954         * redisplay-output.c (get_cursor_size_and_location):
5955         * redisplay-output.c (redisplay_output_layout):
5956         * redisplay-output.c (redisplay_clear_region):
5957         * redisplay-tty.c (tty_output_display_block):
5958         * redisplay-x.c (x_output_display_block):
5959         * redisplay.c (add_propagation_runes):
5960         * redisplay.c (add_glyph_rune):
5961         * redisplay.c (create_text_block):
5962         * redisplay.c (add_margin_runes):
5963         * redisplay.c (create_left_glyph_block):
5964         * redisplay.c (create_right_glyph_block):
5965         * redisplay.c (create_string_text_block):
5966         * redisplay.c (regenerate_window):
5967         * redisplay.c (REGEN_INC_FIND_START_END):
5968         * redisplay.c (redisplay_frame):
5969         * redisplay.c (point_in_line_start_cache):
5970         * regex.c:
5971         * regex.c (ABORT):
5972         * regex.c (re_compile_fastmap):
5973         * regex.c (re_match_2_internal):
5974         * regex.c (regerror):
5975         * scrollbar-gtk.c (gtk_scrollbar_loop):
5976         * scrollbar-gtk.c (scrollbar_cb):
5977         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5978         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5979         * scrollbar-x.c (x_update_scrollbar_instance_status):
5980         * scrollbar-x.c (x_scrollbar_loop):
5981         * scrollbar-x.c (x_update_frame_scrollbars):
5982         * search.c (search_command):
5983         * search.c (Fmatch_data):
5984         * select-x.c (motif_clipboard_cb):
5985         * signal.c (interrupt_signal):
5986         * specifier.c (specifier_add_spec):
5987         * specifier.c (specifier_instance_from_inst_list):
5988         * specifier.c (specifier_instance):
5989         * specifier.h:
5990         * specifier.h (struct specifier_methods):
5991         * strftime.c (add_num_time_t):
5992         * sunplay.c (init_device):
5993         * symbols.c (Fsetplist):
5994         * symbols.c (do_symval_forwarding):
5995         * symbols.c (store_symval_forwarding):
5996         * symbols.c (Fset):
5997         * symbols.c (Fbuilt_in_variable_type):
5998         * symbols.c (decode_magic_handler_type):
5999         * symbols.c (handler_type_from_function_symbol):
6000         * syntax.c (update_syntax_cache):
6001         * sysdep.c (init_baud_rate):
6002         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6003         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6004         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6005         * toolbar.c (get_toolbar_coords):
6006         * ui-gtk.c (build_gtk_boxed):
6007         * ui-gtk.c (describe_gtk_arg):
6008         * ui-gtk.c (gtk_type_to_lisp):
6009         * ui-gtk.c (lisp_to_gtk_type):
6010         * ui-gtk.c (lisp_to_gtk_ret_type):
6011         * ui-gtk.c (lisp_to_flag):
6012         * unexnt.c (read_in_bss):
6013         * unexnt.c (map_in_heap):
6014         * window.c (real_window):
6015         * window.c (window_display_lines):
6016         * window.c (window_display_buffer):
6017         * window.c (set_window_display_buffer):
6018         * window.c (window_modeline_height):
6019         * window.c (unshow_buffer):
6020         * window.c (window_loop):
6021         * window.c (Fget_lru_window):
6022         * window.c (Fsplit_window):
6023         * window.c (Fset_window_configuration):
6024         * window.c (saved_window_index):
6025         * xgccache.c (gc_cache_lookup):
6026         abort() -> ABORT().  Eliminate preprocessor games with abort()
6027         since it creates huge problems in VC7, solvable only by including
6028         massive amounts of files in every compile (and not worth it).
6029
6030         * sysdep.c:
6031         * sysproc.h:
6032         Inclusion of process.h does not need to be before lisp.h any more.
6033         Move later and remove comment about abort().
6034
6035 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6036
6037         * regex.c (re_match_2_internal):
6038         Correctly initialize loop which clears uninitialized registers.
6039
6040 2005-01-28  Vin Shelton  <acs@xemacs.org>
6041
6042         * sheap.c (more_static_core): Applied Ben's version of the long
6043         string patch.
6044
6045 2005-01-24  Vin Shelton  <acs@xemacs.org>
6046
6047         * sheap.c (more_static_core): Reformatted printf string so
6048         gcc-3.3.3 will compile this on Cygwin.
6049
6050 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6051
6052         * console.c (function_key_map): Reference `key-binding'.
6053
6054         * keymap.c (Vkey_translation_map): Improve docstring.
6055
6056 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6057
6058         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6059         * window.c (window_loop): [fix] Take into account
6060         `allow-deletion-of-last-visible-frame' variable.
6061         * window.c (replace-buffer-in-windows): Ditto.
6062
6063 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6064
6065         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6066
6067 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6068
6069         * event-gtk.c: Recognise AltGr as a valid modifier.
6070
6071 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6072
6073         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6074
6075 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6076
6077         Fix backreference bug caught by test suite.
6078
6079         * regex.c (regex_compile):
6080         Make backref duplicate internal register.
6081
6082 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6083
6084         Documentation, code clarification, and warning suppression.
6085         
6086         * regex.c (regex_compile):
6087         Improve comments.
6088         (re_match_2_internal):
6089         Improve comments and avoid redundant braces.  [Most of the big hunk
6090         at l. 4710 is indentation; use diff -w to see the real changes.]
6091         (alt_match_null_string_p):
6092         (common_op_match_null_string_p):
6093         Avoid shadowing global on Mac OS X 10.4, at least.
6094
6095 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6096
6097         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6098         introduced with shy groups fix).  [Already applied, probably
6099         with the second "fix shy groups" patch of 2004-10-07.] 
6100
6101 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6102
6103         From Andrey Slusar <anrays@gmail.com>:
6104
6105         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6106
6107 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6108
6109         * Makefile (RECURSIVE_MAKE): Removed.
6110         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6111         handling parallel builds.
6112
6113 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6114
6115         * Makefile.in.in: Enable support for parallel builds.
6116
6117 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6118
6119         From Andrey Slusar <anrays@gmail.com>:
6120
6121         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6122         FreeBSD version is >= 199701 _and_ < 600006.
6123
6124 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6125
6126         * scrollbar.c (compute_scrollbar_instance_usage):
6127         Only call device method compute_scrollbar_instance_usage() if it
6128         is defined.
6129
6130 2004-12-05  Vin Shelton <acs@xemacs.org>
6131
6132         * XEmacs 21.4.16 is released
6133
6134 2004-12-04  Vin Shelton  <acs@xemacs.org>
6135
6136         * depend: Regenerated.
6137
6138 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6139
6140         * regex.c (re_match_2_internal): Map internal to external
6141         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6142         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6143
6144 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6145
6146         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6147         to fix a crash.  Also, check the buffer is live and it
6148         really exists in buffer_list.  If the buffer is not in the list,
6149         prepend it.
6150
6151 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6152
6153         Fix shy groups by implementing recording of all groups for
6154         repetition and backtracking.  Backport from 21.5.
6155         
6156         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6157         external_to_internal_register, external_to_internal_register_size,
6158         and update comments for re_nsub.
6159
6160         * regex.c (re_opcode_t): Update comments.
6161         (print_compiled_pattern): Ouput external_to_internal_register,
6162         external_to_internal_register_size, and re_ngroups for debugging.
6163         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6164         (regex_compile): Update header comment.
6165         Ensure that all groups are recorded so that repeat matches and
6166         backtracking work correctly.  Comment related warning for groups >
6167         255.
6168         (re_search_2): Construct map of API indexes (which count only
6169         nonshy groups) to internal register numbers, and keep it updated.
6170
6171 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6172
6173         * frame-gtk.c (gtk_make_frame_visible):
6174         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6175         show/hide.  This is what X uses and is prevents previously hidden
6176         widgets from suddenly reappearing.
6177         * gtk-xemacs.c (gtk_xemacs_paint):
6178         * gtk-xemacs.c (gtk_xemacs_draw):
6179         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6180         drawable.
6181         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6182         size and location changes so that they can be seen before the next
6183         idle event.  Without this rapid changes to scrollbar properties
6184         are not seen.
6185
6186 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6187
6188         * console-gtk.h:
6189         * console-gtk.h (struct gtk_frame):
6190         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6191           Add hash tables track tab_control callback data.
6192           Added #defines for GTK object data names.
6193           Declaration of gtk_widget_to_frame().
6194         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6195         * frame-gtk.c (gtk_widget_to_frame): New.
6196         * frame-gtk.c (gtk_create_widgets):
6197         * frame-gtk.c (allocate_gtk_frame_struct):
6198         * frame-gtk.c (gtk_mark_frame):
6199         Manage frame callbakc hash tables.
6200         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6201         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6202         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6203         of widget size.
6204         * glyphs-gtk.c (gtk_widget_query_geometry): New
6205         * glyphs-gtk.c (gtk_register_gui_item): New
6206         * glyphs-gtk.c (gtk_add_tab_item): New
6207         * glyphs-gtk.c (gtk_tab_control_callback): New
6208         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6209         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6210         Use correct list when loading item.
6211         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6212         Register new methods.
6213         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6214         default size, for widgets.
6215         * gui-x.c:  Improved comment.
6216         * menubar-gtk.c (__generic_button_callback): Use
6217         gtk_widget_to_frame instead of __get_channel.
6218         * scrollbar-gtk.c:
6219         * ui-gtk.c: Use symbolic names for GTK object data.
6220
6221 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6222
6223         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6224
6225 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6226
6227         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6228
6229 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6230
6231         * malloc.c (morecore): siz is a long because in some architectures
6232         (eg ia-64) an int cannot hold the address range.  Additional patch
6233         from the SuSe distribution.
6234
6235 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6236
6237         * emacs.c:
6238         * malloc.c: lim_data is a long because in some architectures
6239         (eg ia-64) an int cannot hold the address range.
6240         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6241         instead of ulimit() because ulimit() always returns -1.
6242
6243 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6244
6245         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6246
6247 2004-06-11  David Kastrup  <dak@gnu.org>
6248
6249         * search.c (match_limit): Don't flag an error if match-data
6250         exceeding the allocated search_regs.num_regs gets requested, just
6251         return Qnil.
6252
6253 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6254
6255         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6256         replace symbolic color entries with the real colors specified in
6257         xpm-color-symbols, before passing the XPM to gtk.
6258         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6259         instead of a GTK specific field, so that it is used in by generic
6260         code.
6261
6262 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6263
6264        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6265         coredump from deref of NULL ptr (ExtData)
6266
6267 2004-04-19  Jerry James  <james@xemacs.org>
6268
6269         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6270         VALBITS to compute the location of the sign bit.
6271         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6272         of VALBITS with EMACS_INT_MAX.
6273         * events.c (Fevent_timestamp): Ditto.
6274         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6275         compute the halfway point to timestamp wraparound.
6276         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6277         EMACS_INT_MIN instead of using VALBITS.
6278         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6279         incorrect number with VALBITS.
6280         * fns.c (Frandom): Correct number of integer bits in docstring.
6281         Use INT_VALBITS instead of VALBITS to compute the denominator.
6282         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6283         build random numbers.
6284
6285 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6286         * event-gtk.c:
6287         * event-gtk.c (gtk_event_to_emacs_event):
6288         * menubar-gtk.c:
6289         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6290         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6291         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6292         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6293         * menubar-gtk.c (__activate_menu):
6294         * menubar-gtk.c (convert_underscores):
6295         * menubar-gtk.c (remove_underscores):
6296         * menubar-gtk.c (menu_convert):
6297         * menubar-gtk.c (menu_descriptor_to_widget_1):
6298         * menubar-gtk.c (menu_descriptor_to_widget):
6299         * menubar-gtk.c (menu_can_reuse_widget):
6300         * menubar-gtk.c (menu_create_menubar):
6301         * menubar-gtk.c (gtk_popup_menu):
6302         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6303         Added support for Gtk menu bar and menu item mnemonics.
6304
6305 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6306
6307         * sysdll.c: (dll_function): Added support for finding symbols in
6308         Darwin shared libraries as well in Darwin bundles.
6309         * sysdll.c (image_for_address): New
6310         * sysdll.c (my_find_image): New
6311         * sysdll.c (search_linked_libs): New
6312
6313 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6314
6315         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6316         return to GTK requires a different API to marshalling data to use
6317         as GTK parameters.
6318         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6319
6320 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6321
6322         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6323
6324 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6325
6326         * glyphs.c (process_image_string_instantiator):
6327         (Fset_console_type_image_conversion_list):
6328         Stop GCC from warning about shadowing of `exp'.
6329
6330         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6331
6332 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6333
6334         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6335
6336 2004-02-03  Vin Shelton  <acs@xemacs.org>
6337
6338         * glyphs.c (image_instance_layout): Remove pointless assertion.
6339         * regex.c (regex_grow_registers): Return type is void.
6340
6341 2004-02-02  Vin Shelton <acs@xemacs.org>
6342
6343         * XEmacs 21.4.15 is released
6344
6345 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6346
6347         * device-x.c (x_error_handler): Don't call stderr_out
6348
6349 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6350
6351         * buffer.c (other-buffer): Clarify documentation of order of
6352         arguments for FSF Emacs.
6353
6354 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6355
6356         * window.c (Fdelete_window): Dirty the mirror structure _before_
6357         marking the window deleted.
6358
6359 2003-09-15  Jerry James  <james@xemacs.org>
6360
6361         * event-msw.c (debug_mswin_messages): Conditionally compile
6362         messages missing from the Cygwin headers.
6363
6364 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6365
6366         * data.c (eq_with_ebola_notice): Fix typo in comment.
6367         (Ftrue_list_p): Improve docstring.
6368
6369 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6370
6371         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6372
6373 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6374
6375         * search.c (trivial_regexp_p): Regexps containing "\{" are
6376         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6377         Stefan Monnier for suggesting a diagnosis.
6378
6379 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6380
6381         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6382
6383 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6384
6385         * search.c (Fsearch_forward):
6386         (Fsearch_backward):
6387         Document negative count.
6388
6389 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6390
6391         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6392
6393 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6394
6395         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6396
6397 2003-09-15  Vin Shelton  <acs@xemacs.org>
6398
6399         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6400         21.5.
6401
6402 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6403
6404         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6405         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6406         (re_match_2_internal): Use TRANSLATE instead of
6407         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6408         non-ASCII char case conversion.
6409
6410 2003-09-08  Mike Sperber  <mike@xemacs.org>
6411
6412         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6413         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6414
6415 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6416
6417        * .gdbinit (pobj): fix printing of symbol name.
6418
6419 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6420
6421         * frame-x.c (x_layout_widgets): When resizing is about to cause
6422         frame size slip, mark it for redisplay.
6423
6424 2003-08-18  Jerry James  <james@xemacs.org>
6425
6426         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6427
6428 2003-09-03  Vin Shelton <acs@xemacs.org>
6429
6430         * XEmacs 21.4.14 is released
6431
6432 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6433
6434         * config.h.in (REGEX_MALLOC): Make it configure'able.
6435
6436 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6437
6438         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6439         linking.
6440         * sysdll.c (dll_init):
6441         * sysdll.c (dll_open):
6442         * sysdll.c (dll_close):
6443         * sysdll.c (dll_function):
6444         * sysdll.c (dll_variable):
6445         * sysdll.c (dll_error):
6446         Add support for loading bundles using Darwin/MacOSX
6447         native API.
6448
6449 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6450
6451         * process.c (start-process-internal): Document coding systems.
6452
6453 2003-07-30  Jerry James  <james@xemacs.org>
6454
6455         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6456
6457 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6458
6459         * event-msw.c (mswindows_enqueue_mouse_button_event):
6460         * event-msw.c (mswindows_wnd_proc):
6461           enqueue button event when scrollwheel event isn't handled by 
6462           mswindows_handle_mousewheel_event, such as when the scrollbars
6463           are not showing.
6464
6465 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6466
6467         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6468
6469 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6470
6471         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6472
6473 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6474
6475         * regex.c (re_match_2_internal): Fix matching degenerate word
6476         boundaries.
6477
6478 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6479
6480         * XEmacs 21.4.13 is released
6481
6482 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6483
6484         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6485         * lisp.h (<inttypes.h>):
6486         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6487         the definition.
6488
6489 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6490
6491         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6492         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6493         Result: "temacs can only be run in -batch mode."
6494         Fix: Check xemacs executable candidate for directory-ness.
6495
6496 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6497
6498         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6499           they conflict with <sys/types.h>.
6500
6501 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6502
6503         * database.c: Berkeley DB wants __STDC__ to be defined.
6504
6505 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6506
6507         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6508
6509 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6510
6511         * process-unix.c (unix_send_process): Fix C++ compile error.
6512
6513 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6514
6515         * Added .dylib as an acceptable shared library file extension
6516         * to support MacOSX.
6517
6518 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6519
6520         * EmacsFrameP.h (EmacsFramePart):
6521         Kludge to allow compiling with Motif1, but linking with Motif2.
6522
6523 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6524
6525         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6526
6527
6528 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6529
6530         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6531
6532 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6533
6534         * sysdll.c: Included lisp.h to define needed alloca_array.
6535
6536 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6537
6538         Make XEmacs redisplay 10 times faster.
6539         If, that is, you're using a slow X connection and MoveOpaque.
6540         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6541         Use compress_motion = TRUE.
6542         * EmacsFrame.c (emacsFrameClassRec): 
6543         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6544         * EmacsManager.c (emacsManagerClassRec):
6545         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6546
6547 2003-01-30  Vin Shelton  <acs@xemacs.org>
6548
6549         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6550
6551 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6552
6553         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6554         Patch by Martin Buchholz.
6555
6556 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6557
6558         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6559         Thanks to icc for warning and Martin Buchholz for reporting.
6560
6561 2003-01-29  Vin Shelton <acs@xemacs.org>
6562
6563         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6564
6565         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6566         remember to multiply by the element size.
6567
6568 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6569
6570         * XEmacs 21.4.12 "Portable Code" is released.
6571
6572 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6573
6574         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6575         * s/cygwin.sc: new linker file.
6576
6577 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6578
6579         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6580
6581         * redisplay-x.c (x_output_string): Use X11-specified types.
6582         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6583         * emacs.c (__free_hook): Use typeof with Intel compiler.
6584         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6585
6586 2003-01-08  Andy Piper  <andy@xemacs.org>
6587
6588         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6589         reserve size during unexec().
6590
6591 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6592
6593         * process-unix.c (unix_create_process): Don't let outchannel block.
6594
6595 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6596
6597         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6598         Needed for IsBadReadPtr().
6599
6600 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6601
6602         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6603
6604 2002-12-14  Ben Wing  <ben@xemacs.org>
6605
6606         * callint.c: Declaration error.
6607         * dumper.c (pdump):
6608         * dumper.c (pdump_load): Warning fix.
6609         * process.c: GCPRO error.
6610         * glyphs.c (unmap_subwindow):
6611         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6612         * event-stream.c (maybe_kbd_translate): Wrong argument to
6613         character_to_event().
6614
6615         * alloc.c (garbage_collect_1):
6616         * emacs.c:
6617         * emacs.c (debug_can_access_memory):
6618         * emacs.c (fatal_error_signal):
6619         * emacs.c (mswindows_handle_hardware_exceptions):
6620         * emacs.c (main_1):
6621         * emacs.c (main):
6622         * emacs.c (assert_failed):
6623         * emacs.c (syms_of_emacs):
6624         * lisp.h:
6625         * print.c:
6626         * print.c (std_handle_out_va):
6627         * print.c (write_string_to_stdio_stream):
6628         * print.c (write_fmt_string):
6629         * print.c (printing_badness):
6630         * print.c (printing_major_badness):
6631         * print.c (print_internal):
6632         * print.c (debug_print_no_newline):
6633         * print.c (debug_backtrace):
6634         Be more defensive in handling bad values when printing.  Add code
6635         from trunk involving inhibit_non_essential_printing_operations.
6636         When going down or in debug_print(), don't do external conversion
6637         and such and try really, really hard when printing to avoid core
6638         dumping.  Add force-debugging-signal, debug_break().
6639
6640 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6641
6642         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6643         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6644
6645 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6646
6647         * database.c: Fix open_database. Berkeley DB API has changed in
6648         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6649
6650 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6651
6652         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6653
6654 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6655
6656         * event-Xt.c (Xt_timeout):
6657         (Xt_timeout_callback):
6658         (emacs_Xt_add_timeout):
6659         (emacs_Xt_remove_timeout):
6660         (Xt_timeout_to_emacs_event):
6661         Turn completed_timeouts from a stack into a queue.  Fixes
6662         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6663
6664 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6665
6666         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6667         * emacs.c (main): Assert that mmap'd allocation is disabled.
6668
6669 2002-10-14  Andy Piper  <andy@xemacs.org>
6670
6671         * glyphs-widget.c (layout_query_geometry): add in fiddle
6672         factor. Include border text in width layout calculation.
6673         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6674
6675 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6676
6677         * XEmacs 21.4.10 "Military Intelligence" is released.
6678
6679 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6680
6681         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6682         using the NAS private array SoundFileInfo that no longer exists in
6683         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6684         and earlier.  This is broken for some versions between 1.5a and
6685         1.5f.
6686
6687 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6688
6689         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6690
6691         * emacs.c (shut_down_emacs): Improve crash message.
6692
6693 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6694
6695         * file-coding.c (determine_real_coding_system): Check for coding
6696         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6697         shebangs and Python PEP 263.
6698
6699 2002-10-08  Andy Piper  <andy@xemacs.org>
6700
6701         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6702         if static sizes haven't been set.
6703
6704 2002-08-30  Mike Alexander  <mta@arbortext.com>
6705
6706         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6707         to close a socket.
6708
6709 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6710
6711         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6712
6713 2002-09-20  Mike Sperber <mike@xemacs.org>
6714
6715         (This partially gets back my patch from 2002-07-20 without the
6716         bug.)
6717         * callproc.c (child_setup): Remove Ben's comment noting confusion
6718         over the file descriptors >= 3: close_process_descs() doesn't
6719         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6720         * process-unix.c (unix_create_process): Call
6721         begin_dont_check_for_quit to inhibit unwanted interaction (and
6722         thus breaking of X event synchronicity) in the child.
6723
6724 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6725
6726         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6727         widget.
6728
6729 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6730
6731         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6732         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6733         the xemacs process did not exit, but looped infinitely here.  This
6734         fixes that problem.
6735
6736 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6737
6738         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6739         (find_context): Improve comments.
6740
6741         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6742         (re_match_2): An XCHAR_TABLE operation was missing.
6743
6744         Many of the following changes were inspired by Andy Piper's (now
6745         obsolete) patch to make syntax-table text property lookup optional.
6746
6747         [Documentation]
6748
6749         * syntax.h (top level): Document semantics of syntax flags.
6750         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6751         * syntax.c, syntax.h (top level): Document syntax cache better in
6752         comments.
6753
6754         [Instrument syntax caching (temporary change)]
6755
6756         * syntax.h (enum syntax_cache_statistics_functions, struct
6757         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6758         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6759         * syntax.c (scan_words, Fforward_comment, scan_lists,
6760         Fbackward_prefix_characters):
6761         * font-lock.c (find_context):
6762         Use them to instrument syntax caching. 
6763         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6764         syntax_cache_statistics_function_names): New type and variables.
6765         * syntax.c (update_syntax_cache): Update and report statistics.
6766
6767         [Major syntax cache optimizations]
6768
6769         syntax.c (lookup_syntax_properties): Default off.
6770
6771         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6772         * syntax.c (update_syntax_cache):
6773         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6774
6775         [Minor syntax cache optimizations and code clarifications]
6776
6777         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6778         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6779         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6780         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6781         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6782         (Code clarification.)
6783
6784         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6785         scan_lists): Compute code from syncode, use Boolean macros instead
6786         of redundant masking operations.  (Code clarification; any decent
6787         compiler can do this optimization.)
6788
6789         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6790         for clarity.
6791
6792         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6793         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6794         use F*_single_property_change instead of F*_extent_change.
6795         Currently F*_single_property_change is _much_ less efficient.
6796
6797         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6798         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6799         syntax_cache.object properly, don't leave Qt or Qnil.
6800         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6801         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6802         tests for Qt or Qnil.
6803
6804 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6805
6806         * redisplay.c (point_in_line_start_cache): 
6807         * extents.c (print_extent_1):
6808         Fix warnings.
6809
6810         * extents.c (Fset_extent_property): Document `syntax-table' property.
6811
6812         * extents.h (Fnext_single_property_change): EXFUN it.
6813
6814 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6815
6816         * search.c (clear_unused_search_regs): New static function.
6817         (search_buffer): 
6818         (simple_search): 
6819         (boyer_moore):
6820         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6821         Minor clarifications in comments.
6822
6823         * regex.c (re_match_2_internal): Ensure no stale submatches.
6824
6825 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6826
6827         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6828
6829 2002-08-29  Jerry James  <james@xemacs.org>
6830
6831         * lisp.h: structrures -> structures.
6832
6833 2002-06-03  Andy Piper  <andy@xemacs.org>
6834
6835         * frame.c (frame_conversion_internal): add conversion appropriate
6836         for setting frame dimensions in pixels.
6837
6838         * console.h (struct console_methods): add device-specific widget
6839         layout functions.
6840
6841         * emacs.c (main_1): initialize glyph vars.
6842
6843         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6844         (handle_focus_event_2): new function. Allow focus to
6845         be set to a particular window and widget.
6846         (enqueue_focus_event): new function. Create a
6847         synthetic focus event.
6848         (emacs_Xt_handle_magic_event): call
6849         handle_focus_event_2.
6850
6851         * frame.c (Fset_frame_pixel_height): new function. Allow
6852         pixel-based sizing. Does the right thing on character-oriented
6853         displays.
6854         (Fset_frame_pixel_width): ditto.
6855         (Fset_frame_pixel_size): ditto.
6856         (syms_of_frame): declare.
6857
6858         * general-slots.h: add :vertically-justify and
6859         :horizontally-justify.
6860
6861         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6862         (mswindows_widget_border_width): new function.
6863         (mswindows_combo_box_instantiate): set border widths.
6864         (console_type_create_glyphs_mswindows): declare.
6865
6866         * glyphs-widget.c:
6867         (check_valid_justification): allow vertical and horizontal
6868         justification.
6869         (widget_border_width): new function. Call device methods.
6870         (widget_instance_border_width): ditto.
6871         (logical_unit_height): new function. Determine the height of a
6872         logical-unit. Logical units are intended to provide grid-like
6873         layout for subcontrols in a layout. If the layout is
6874         :vertically-justify top then subcontrols will be positioned on
6875         logical-unit boundaries, thus allowing adjacent subcontrols to
6876         line up.
6877         (widget_logical_unit_height): ditto for widgets.
6878         (redisplay_widget): misc cleanup.
6879         (widget_spacing): new function. Call device specific
6880         methods. Intended to be the default gap between adjacent widgets.
6881         (widget_query_geometry): use new spacing functions to determine
6882         appropriate geometry.
6883         (initialize_widget_image_instance): initialize horizontal and
6884         vertical justification.
6885         (widget_instantiate): use logica-units where appropriate for
6886         sizing large widgets.
6887         (button_query_geometry): use widget_instance_border_width.
6888         (tree_view_query_geometry): ditto.
6889         (tab_control_query_geometry): ditto.
6890         (edit_field_query_geometry): new function.
6891         (layout_update): pick up :justify, :horizontally-justify and
6892         :vertically-justify none of which worked previously. :justify is
6893         used as a fallback for both horizontal and vertical justification.
6894         (layout_query_geometry): use logical units to size appropriately.
6895         (layout_layout): ditto.
6896         (Fwidget_logical_to_character_width): new function. Allow users to
6897         convert from logical units to characters so that frame sizes can
6898         be set appropriately.
6899         (Fwidget_logical_to_character_height): ditto.
6900         (syms_of_glyphs_widget): declare.
6901         (image_instantiator_edit_fields): add edit_field_query_geometry.
6902         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6903         :horizontally-justify.
6904         (specifier_vars_of_glyphs_widget): new function. Declare
6905         Vwidget_border_width which is not yet used.
6906
6907         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6908         (x_widget_border_width): new function.
6909         (x_widget_instantiate): create a sensible name for widgets.
6910         (console_type_create_glyphs_x): declare x_widget_border_width.
6911
6912         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6913         (struct Lisp_Image_Instance): add :vertically-justify and
6914         :horizontally-justify.
6915         (LAYOUT_JUSTIFY_TOP): new.
6916         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6917         (ROUND_UP): new macro. Round argument up to next integral
6918         interval.
6919
6920         * redisplay-output.c (redisplay_output_layout): misc formatting.
6921
6922         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6923
6924 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6925
6926         * XEmacs 21.4.9 "Informed Management" is released.
6927
6928 2002-08-19  Andy Piper  <andy@xemacs.org>
6929
6930         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6931         win32 format.
6932
6933         * realpath.c (xrealpath): normalize drive spec also so that dir
6934         sep chars are not mixed on cygwin.
6935
6936 2002-08-06  Jerry James  <james@xemacs.org>
6937
6938         * window.c (Fsplit_window): Count only half of the divider width
6939         against the left window when splitting horizontally. 
6940
6941 2002-06-24  Andy Piper  <andy@xemacs.org>
6942
6943         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6944         toolbar was cleared.
6945
6946         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6947         function. Split out from mswindows_output_frame_toolbars.
6948         (mswindows_output_frame_toolbars): move clear pieces to
6949         mswindows_output_frame_toolbars.
6950
6951         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6952         out from gtk_output_frame_toolbars.
6953         (gtk_output_frame_toolbars): move clear pieces to
6954         gtk_clear_frame_toolbars.
6955
6956         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6957         the frame is cleared. How this ever worked before is a mystery.
6958         (x_output_frame_toolbars): Only output toolbars.
6959         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6960
6961         * gutter.c (update_gutter_geometry):
6962         Mark frame layout changed.
6963         (update_frame_gutter_geometry, update_frame_gutters):
6964         Respect frame_layout_changed.
6965
6966         * console.h (struct console_methods): add
6967         clear_frame_toolbars_method.
6968
6969         * redisplay.c (redisplay_frame): call
6970         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6971
6972         * toolbar.h: declare update_frame_toolbars_geometry.
6973
6974         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6975         out from update_frame_toolbars.  Call clear_frame_toolbars.
6976         (update_frame_toolbars): only output, do not change geometry.
6977
6978         * redisplay.c: add frame_layout_changed.
6979
6980         * redisplay.h: add frame_layout_changed.
6981         (CLASS_RESET_CHANGED_FLAGS): set it.
6982         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6983         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6984         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6985
6986         * device.h (struct device): add frame_layout_changed.
6987         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6988
6989         * frame.h (struct frame): add frame_layout_changed.
6990         (MARK_FRAME_LAYOUT_CHANGED): new.
6991
6992 2002-06-30  Mike Alexander  <mta@arbortext.com>
6993
6994         * event-msw.c (mswindows_need_event): Don't wait for a new message
6995         if the queue is not empty.  Suggested by Paul Moore.
6996
6997 2002-06-12  Andy Piper  <andy@xemacs.org>
6998
6999         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7000         for printing on accurately.
7001
7002 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7003
7004         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7005         WM_ACTIVATE message. Make sure that the frame is visible if the
7006         window is visible. This seemss to fix the problem where XEmacs
7007         appears to freeze after switching desktops with certain virtual
7008         window managers.
7009         (debug_output_mswin_message): Added code to output message
7010         parameters for WM_WINDOWPOSCHANGED, 
7011         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7012
7013 2002-05-25  Andy Piper  <andy@xemacs.org>
7014
7015         * select-x.c (vars_of_select_x): Fix docstring of
7016         x-selection-strict-motif-ownership
7017
7018 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7019
7020         * keymap.c (get_keymap):
7021         Add comment about do_autoload GCPROs own args.
7022
7023 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7024
7025         * bytecode.c (execute_optimized_program): check_opcode ifdef
7026         ERROR_CHECK_BYTE_CODE.
7027
7028 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7029
7030         Thanks to Ben Wing and Michael Sperber.
7031
7032         * eval.c (Fcommand_execute):
7033         (Feval):
7034         (Ffuncall):
7035         (Fmacroexpand_internal):
7036         (function_argcount):
7037         callint.c (Fcall_interactively):
7038         Add comment about do_autoload GCPROs own args.
7039
7040         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7041
7042         * eval.c (Ffuncall): Extra braces to placate GCC.
7043
7044 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7045
7046         * backtrace.h (grow_specpdl):
7047         (SPECPDL_RESERVE):
7048         * EmacsFrame.c (EmacsFrameSetValues):
7049         * eval.c (grow_specpdl):
7050         * ExternalShell.c (hack_event_masks_1):
7051         * glyphs-x.c (convert_EImage_to_XImage): 
7052         (x_finalize_image_instance):
7053         * ralloc.c (page_size):
7054         (r_alloc_sbrk):
7055         * xgccache.c (gc_cache_hash):
7056         Fix unsigned comparison warnings.
7057
7058 2002-07-29  Jerry James  <james@xemacs.org>
7059
7060         * lread.c (locate_file): Any nonnegative return value indicates
7061         success if MODE is nonnegative.
7062
7063 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7064
7065         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7066         argument. 
7067
7068 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7069
7070         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7071
7072         * dumper.c (pdump_get_indirect_count):
7073         (pdump_scan_by_alignment):
7074         (pdump_dump_root_struct_ptrs):
7075         (pdump_dump_rtables):
7076         (pdump_dump_root_objects):
7077         (pdump):
7078         * nas.c (WaveOpenDataForReading):
7079         * fns.c (print_bit_vector):
7080         * font-lock.c (SINGLE_SYNTAX_STYLE):
7081         * glyphs.c (check_for_ignored_expose):
7082         (find_matching_subwindow):
7083         * glyphs-eimage.c:
7084         * imgproc.c (get_histogram):
7085         * redisplay.c (point_in_line_start_cache):
7086         * redisplay-output.c (redisplay_unmap_subwindows):
7087         * symbols.c (defsymbol_massage_name_1):
7088         (defkeyword_massage_name):
7089         (deferror_massage_name_and_message):
7090         * redisplay-x.c (x_output_string): 
7091         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7092         * frame.h (struct frame):
7093         * filelock.c (current_lock_owner):
7094         * doprnt.c (emacs_doprnt_1):
7095         * lisp.h (struct Lisp_Bit_Vector):
7096         (DO_REALLOC):
7097         Fix warnings.
7098
7099 2002-02-13  Ben Wing  <ben@xemacs.org>
7100
7101         * event-stream.c (reset_key_echo):
7102         * event-stream.c (reset_this_command_keys):
7103         * event-stream.c (execute_command_event):
7104         If console is dead as a result of C-x 5 0, then post-command stuff
7105         needs to be careful and do only non-console-specific stuff.
7106
7107 2002-07-01  Mike Sperber <mike@xemacs.org>
7108
7109         * process-unix.c (unix_send_process): Mark coding_outstream as
7110         non-open upon SIGPIPE.
7111
7112         * event-stream.c (Fnext_event): Reorder switch cases to something
7113         that makes sense.
7114
7115 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7116
7117         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7118         Don't bogusly reinitialize ascii_character property.
7119
7120 2002-07-08  Mike Sperber <mike@xemacs.org>
7121
7122         * process.c (Fstart_process_internal): Do error checking before we
7123         fork off the child, so the child can't muck with the state of the
7124         parent.
7125
7126 2002-07-08  Mike Sperber <mike@xemacs.org>
7127
7128         * ralloc.c (init_ralloc): Allocate properly for pdump.
7129
7130 2002-06-12  Andy Piper  <andy@xemacs.org>
7131
7132         * glyphs.c (query_string_geometry): check the string.
7133
7134         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7135         widget names.
7136
7137 2002-06-17  Jerry James  <james@xemacs.org>
7138
7139         * sysdll.c: Remove RTLD_GLOBAL initialization.
7140         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7141
7142 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7143
7144         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7145
7146 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7147
7148         * sysdep.c (sys_rename): Make sys_rename work for the case where
7149         Windows rename sets errno to EACCES if target file exists.
7150
7151 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7152
7153         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7154         Fix detection of metric units to work on Win95
7155
7156 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7157
7158         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7159
7160 2002-04-25  Andy Piper  <andy@xemacs.org>
7161
7162         * redisplay.c (create_text_block): Remove extra comment trailer.
7163
7164 2002-04-24  Andy Piper  <andy@xemacs.org>
7165
7166         * redisplay.c (create_text_block): Don't actually add propagation
7167         data if the line ends after we have added a glyph.
7168
7169 2002-04-22  Andy Piper  <andy@xemacs.org>
7170
7171         * extents.c (extent_fragment_update): check for glyphs we have
7172         previously displayed.
7173         * extents.c (print_extent_1): warning removal.
7174         * extents.h: change prototype.
7175         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7176         widths correctly for wide glyphs.
7177         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7178         * redisplay.c (prop_type): add PROP_GLYPH.
7179         * redisplay.c (struct prop_block): add glyph type
7180         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7181         to the propagation data.
7182         * redisplay.c (create_text_block): if there is a glyph in the
7183         propagation data use it to salt extent_fragment_update.
7184         * redisplay.c (create_string_text_block): ditto.
7185
7186 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7187
7188         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7189         * redisplay-output.c (compare_runes): Compare them.
7190         * redisplay.c: Update copyright date.
7191         * redisplay.c (pos_data): Add need_baseline_computation field.
7192         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7193         need_baseline_computation; zero yoffset. Set max_pixmap_height
7194         for all pixmaps, not just automatically positioned ones.
7195         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7196         * redisplay.c (calculate_baseline): New, compute textual baseline.
7197         * redisplay.c (add_glyph_rune): Call them.
7198         * redisplay.c (create_text_block): Likewise.
7199         * redisplay.c (create_overlay_glyph_block): Likewise.
7200         * redisplay.c (add_margin_runes): Likewise.
7201         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7202
7203         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7204         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7205         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7206         * redisplay-msw.c (mswindows_output_string): Likewise.
7207         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7208         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7209         * redisplay-x.c (x_output_display_block): Likewise.
7210
7211 2002-03-28  Ben Wing  <ben@xemacs.org>
7212
7213         * redisplay.c: Fixed bug in redisplay
7214         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7215         and down of the lines, since they're bigger than the line
7216         size. (It was seen most obviously when there's a horizontal scroll
7217         bar, e.g. do C-h a glyph or something like that.) The problem was
7218         that the glyph-contrib-p setting on glyphs was ignored even if it
7219         was set properly, which it wasn't until now.
7220
7221 2002-04-24  Andy Piper  <andy@xemacs.org>
7222
7223         * lisp.h (Dynarr_end): Fix definition.
7224
7225 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7226
7227         * redisplay.c (mark_redisplay): Remove call to
7228         update_frame_window_mirror.
7229
7230 2001-11-15  Andy Piper  <andy@xemacs.org>
7231
7232         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7233         cygwin (again).
7234
7235 2002-02-13  Andy Piper  <andy@xemacs.org>
7236
7237         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7238         we did in fact enqueue the XM_MAPFRAME event.
7239
7240 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7241
7242         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7243         to fix problem switching between virtual desktops under virtuawin
7244         virtual window manager.
7245
7246 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7247
7248         * event-msw.c: Typo fix.
7249         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7250         magic XM_MAPFRAME event has been sent.
7251
7252 2001-11-23  Andy Piper  <andy@xemacs.org>
7253
7254         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7255
7256 2001-11-21  Andy Piper  <andy@xemacs.org>
7257
7258         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7259         mouse events outside the frame.
7260
7261 2002-03-20  Andy Piper  <andy@xemacs.org>
7262
7263         * menubar-msw.c (mswindows_popup_menu): warning removal.
7264         * dialog-msw.c (dialog_popped_down): ditto.
7265
7266 2001-12-11  Andy Piper  <andy@xemacs.org>
7267
7268         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7269         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7270         popup_up_p.
7271         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7272         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7273         * menubar-msw.c (mswindows_popup_menu): ditto.
7274
7275 2001-10-29  Andy Piper  <andy@xemacs.org>
7276
7277         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7278         cancels.
7279
7280 2002-01-03  Andy Piper  <andy@xemacs.org>
7281
7282         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7283         letters.
7284         (xrealpath): ditto.
7285
7286 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7287
7288         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7289         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7290         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7291         Detect and handle case where machine is set up for metric units
7292
7293 2002-04-02  Andy Piper  <andy@xemacs.org>
7294
7295         * dired-msw.c (mswindows_get_files): 
7296         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7297         completely handled by XEmacs. Suggested by Thomas Vogler
7298         <mail@thomas-vogler.de>.
7299
7300 2001-11-14  Andy Piper  <andy@xemacs.org>
7301
7302         * nt.c (REG_ROOT): change registry key to XEmacs.
7303
7304 2002-04-27  Andy Piper  <andy@xemacs.org>
7305
7306         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7307
7308 2002-04-26  Andy Piper  <andy@xemacs.org>
7309
7310         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7311         behavior.
7312
7313 2002-03-14  Mike Alexander  <mta@arbortext.com>
7314
7315         * event-msw.c (mswindows_unwait_process): New, remove process from
7316         wait list
7317         * process-nt.c (nt_finalize_process_data): Call
7318         mswindows_unwait_process
7319         * console-msw.h: Declare mswindows_unwait_process
7320
7321 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7322
7323         * editfns.c (Fdecode_time):
7324         (Fformat_time_string):
7325         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7326         (make_time): Warning elimination (change arg name).
7327
7328 2001-11-24  Andy Piper  <andy@xemacs.org>
7329
7330         * window.c (Fsplit_window): Doc return type.
7331
7332 2002-04-01  Andy Piper  <andy@xemacs.org>
7333
7334         * emacs.c (Fkill_emacs): Only output message box in interactive
7335         mode.
7336
7337 2002-04-26  Andy Piper  <andy@xemacs.org>
7338  
7339         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7340         cygwin.
7341
7342 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7343
7344         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7345         bit platform.
7346
7347 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7348
7349         * XEmacs 21.4.8 "Honest Recruiter" is released.
7350
7351 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7352
7353         Supersedes 2002-04-17 patch.
7354
7355         * process.h (PROCESS_LIVE_P): Use the process status as
7356         evidence of health, not the state of the input stream.
7357         (PROCESS_READABLE_P): Say if the process is readable
7358         from. (It may be dead nonetheless.)
7359         (CHECK_READABLE_PROCESS): Test for that condition.
7360
7361         * process.c (create_process): Use PROCESS_READABLE_P.
7362         (read_process_output, set_process_filter): Likewise.
7363
7364         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7365         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7366
7367         This code is #if 0'd, this is not the time to add new functions:
7368
7369         * process.c (Fprocess_readable_p): Report readability status.
7370         * process.c (Qprocess_readable_p): New, associated symbol...
7371         * process.c (syms_of_process): ... initialize it.
7372
7373 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7374
7375         * XEmacs 21.4.7 "Economic Science" is released.
7376
7377 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7378
7379         * process.h (PROCESS_LIVE_P): Use the process status as
7380         evidence of health, not the state of the input stream.
7381
7382 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7383
7384         * sysdep.c (sys_siglist): change "signum" to "signal"
7385
7386 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7387
7388         * s/darwin.h: New file.
7389         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7390         
7391 2002-04-23  Andreas Jaeger  <aj@suse.de>
7392
7393         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7394         which use lib64 for 64-bit libs.
7395         (START_FILES): Likewise.
7396
7397 2002-02-11  Mike Sperber  <mike@xemacs.org>
7398
7399         * device-x.c: 
7400         (x_IO_error_handler):
7401         (x_init_device): Temporarily keep device in static variable
7402         `device_being_initialized' so we can recover gracefully from
7403         internal XOpenDevice failure.  (XOpenDevice is documented to
7404         return NULL on failure, but sometimes calls the IO error handler
7405         instead.)
7406
7407 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7408
7409         * dired.c (Ffile_name_all_completions): Change documentation --
7410         remove reference to completion-ignored-extensions.
7411         * dired.c (vars_of_dired): Change documentation for
7412         completion-ignored-extensions -- remove reference to
7413         file-name-all-completions.
7414
7415 2002-03-06  Jerry James  <james@xemacs.org>
7416
7417         * emodules.c (emodules_load): Fix multiple loading of same module.
7418
7419 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7420         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7421         RTLD_LAZY to avoid incorrect symbol binding when using nested
7422         shared libraries on Solaris.
7423
7424 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7425
7426         * fileio.c (Ffind_file_name_handler): Improve docstring.
7427
7428 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7429
7430         * fns.c (Fmapconcat): Improve docstring.
7431
7432 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7433
7434         * device-gtk.c: Add prototype for
7435         emacs_gtk_selection_clear_event_handle.
7436         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7437         selection.  Setup signal handler for "selection_clear_event"
7438         (emacs_gtk_selection_clear_event_handle).
7439
7440         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7441         other applications owning the clipboard (based on
7442         x_handle_selection_clear).
7443
7444 2001-12-23  William M. Perry  <wmperry@gnu.org>
7445
7446         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7447         
7448 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7449
7450         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7451
7452 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7453
7454         * XEmacs 21.4.6 "Common Lisp" is released.
7455
7456 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7457
7458         * search.c (Freplace_match): Add missing sub-expression functionality.
7459
7460         * buffer.c (decode_buffer): Add a check for pointer type to
7461         decode_buffer, before gcc's CSE optimization reorders a
7462         dereference in front of the allow_string test.
7463
7464 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7465
7466         * window.c (window_loop): Fix bug that sometimes prevented
7467         window_loop() from iterating across multiple devices.  Also, at
7468         Ben's request, changed infloop-detecting code to abort() instead
7469         of silently terminating window_loop().
7470
7471 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7472
7473         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7474         * editfns.c (make_time): New function.
7475         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7476         * lisp.h (make_time): Prototype and comment it.
7477         * dired.c (wasteful_word_to_lisp): Deprecate.
7478         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7479
7480 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7481
7482         * fileio.c (auto_save_1): Use current coding system, not
7483         escape-quoted.
7484
7485 2001-11-13  Ben Wing  <ben@xemacs.org>
7486
7487         * window.c:
7488         * window.c (window_truncation_on):
7489         * window.c (syms_of_window):
7490         truncate-partial-width-windows should respect the buffer being
7491         displayed, like other redisplay vars.
7492
7493 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7494
7495         * event-stream.c (Fread_key_sequence): save current buffer.
7496
7497 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7498
7499         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7500
7501 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7502
7503         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7504
7505 2001-10-26  Mike Alexander  <mta@arbortext.com>
7506
7507         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7508
7509 2001-10-25  Andy Piper  <andy@xemacs.org>
7510
7511         * ChangeLog:
7512         * dialog-msw.c (handle_directory_proc): new function.
7513          (handle_directory_dialog_box): new fucntion.
7514          (handle_file_dialog_box): use new directory dialog support.
7515          (mswindows_make_dialog_box_internal): ditto.
7516         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7517         handling.
7518         (mswindows_find_frame): make global.
7519         * fileio.c (Fexpand_file_name): build fix.
7520         * general-slots.h: add Qdirectory.
7521         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7522         handling.
7523         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7524         cygwin not leaving win32 paths unchanged.
7525         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7526         cygwin runtime to do path conversion.
7527         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7528         (syms_of_win32): add new function.
7529         * window.c (window_loop): build fix.
7530
7531 2001-10-15  Andy Piper  <andy@xemacs.org>
7532
7533         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7534
7535 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7536
7537         * XEmacs 21.4.5 "Civil Service" is released.
7538
7539 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7540
7541         * glyphs-x.c: Force buffer-tab highlight update when moving the
7542         buffer, avoiding an ugly black border, used for keyboard focus
7543         indication, on a widget that can never have keyboard focus, the
7544         buffer tab.
7545
7546 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7547
7548         * process-unix.c (unix_open_multicast_group): Remove too much
7549         conversion between host and network byte order.
7550
7551 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7552
7553         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7554         before replacing them.
7555
7556         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7557         operation.
7558
7559         * src/window.c (undedicate_windows): Use it.
7560         * src/window.h: Add prototype.
7561
7562 2001-09-17  Ben Wing  <ben@xemacs.org>
7563
7564         * fileio.c (normalize_filename):
7565         * fileio.c (Fexpand_file_name):
7566         Fix various C++ compile errors in Andy's recent code.
7567         
7568         * callint.c (Fcall_interactively):
7569         * editfns.c (Ftemp_directory):
7570         * editfns.c (Fuser_full_name):
7571         * emacs.c (argmatch):
7572         * lread.c (locate_file_map_suffixes):
7573         * redisplay-x.c (x_ring_bell):
7574         Fix sign-compare warnings.
7575         
7576 2001-09-08  Andy Piper  <andy@xemacs.org>
7577
7578         * fileio.c (normalize_filename): copied from nt.c
7579         * (Ffile_name_directory): enable win32 paths under cygwin.
7580         * (Ffile_name_nondirectory): ditto.
7581         * (directory_file_name): ditto.
7582         * (Fexpand_file_name): ditto.
7583         * (Ffile_truename): ditto.
7584         * (Fsubstitute_in_file_name): ditto.
7585         * (Ffile_name_absolute_p): ditto.
7586         * (Ffile_readable_p): ditto.
7587
7588 2001-09-08  Andy Piper  <andy@xemacs.org>
7589
7590         * device-msw.c (mswindows_finish_init_device): remove dde
7591         initialization.
7592         * device-msw.c (mswindows_init_dde): factor out from
7593         mswindows_finish_init_device()
7594         * device-msw.c (init_mswindows_very_early): new function
7595         initialize but don't enable dde.
7596         * emacs.c (main_1): call init_mswindows_very_early.
7597         * event-msw.c:
7598         * event-msw.c (mswindows_dde_callback): only execute when we are
7599         ready.
7600         * symsinit.h: declare init_mswindows_very_early.
7601
7602 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7603
7604         [sjt: This has been in 21.5 for months with no complaints.]
7605
7606         * console.h (struct console_methods): Added flags member.
7607         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7608         (CONMETH_IMPL_FLAG):
7609         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7610         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7611
7612         * device.c (window_system_pixelated_geometry): Use the above macros.
7613
7614         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7615         implememntation flag.
7616         * device.h (DEVICE_DISPLAY_P): Use it.
7617
7618         * frame.c (delete_frame_internal): Use the above macro.
7619
7620         * redisplay.c (redisplay_device): Use it.
7621         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7622         (redisplay_frame): Ditto.
7623
7624         * device-msw.c (mswindows_device_implementation_flags): Removed.
7625         (msprinter_device_implementation_flags): Removed.
7626         (console_type_create_device_mswindows): Removed references to
7627         implementation_flags methods, set implementation flags here.
7628         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7629
7630         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7631         (console_type_create_device_gtk): Removed method declaration.
7632         Added commented out statement which semantically matches the
7633         commented out statement in the above removed method.
7634
7635 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7636
7637         The attached patch fixes a few warnings. 
7638
7639         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7640         * src/frame-gtk.c: guard against GNOME calls in GTK only
7641         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7642         * src/select-gtk.c: prototype lisp_to_time
7643
7644 2001-06-08  Ben Wing  <ben@xemacs.org>
7645
7646         ------ gc-in-window-procedure fixes ------
7647         
7648         * alloc.c:
7649         * alloc.c (struct post_gc_action):
7650         * alloc.c (register_post_gc_action):
7651         * alloc.c (run_post_gc_actions):
7652         * alloc.c (garbage_collect_1):
7653         Create "post-gc actions", to avoid those dreaded "GC during window
7654         procedure" problems.
7655
7656         * event-msw.c:
7657         Abort, clean and simple, when GC in window procedure.  We want
7658         to flush these puppies out.
7659
7660         * glyphs-msw.c:
7661         * glyphs-msw.c (finalize_destroy_window):
7662         * glyphs-msw.c (mswindows_finalize_image_instance):
7663         Use a post-gc action when destroying subwindows.
7664
7665         * lisp.h:
7666         Declare register_post_gc_action().
7667
7668         * scrollbar-msw.c:
7669         * scrollbar-msw.c (unshow_that_mofo):
7670         Use a post-gc action when unshowing scrollbar windows, if in gc.
7671
7672         * redisplay.c (mark_redisplay):
7673         Add comment about the utter evilness of what's going down here.
7674
7675         ------ cygwin setitimer fixes ------
7676         
7677         * Makefile.in.in (sheap_objs):
7678         * Makefile.in.in (profile_objs):
7679         * Makefile.in.in (objs):
7680         Compile profile.c only when HAVE_SETITIMER.
7681         
7682         * nt.c (mswindows_sigset):
7683         * nt.c (mswindows_sighold):
7684         * nt.c (mswindows_sigrelse):
7685         * nt.c (mswindows_sigpause):
7686         * nt.c (mswindows_raise):
7687         * nt.c (close_file_data):
7688         Style fixes.
7689         
7690         * nt.c:
7691         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7692         
7693         * profile.c:
7694         * profile.c (Fstart_profiling):
7695         * profile.c (Fstop_profiling):
7696         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7697         instead of just plain setitimer().
7698         
7699         * signal.c:
7700         * signal.c (set_one_shot_timer):
7701         * signal.c (alarm):
7702         Define qxe_setitimer() as an encapsulation around setitimer() --
7703         call setitimer() directly unless Cygwin or MS Win, in which case
7704         we use our simulated version in win32.c.
7705         
7706         * systime.h:
7707         * systime.h (struct itimerval):
7708         * systime.h (ITIMER_REAL):
7709         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7710         comment about "qxe" and the policy regarding encapsulation.
7711
7712         * win32.c:
7713         * win32.c (setitimer_helper_proc):
7714         * win32.c (setitimer_helper_period):
7715         * win32.c (setitimer_helper):
7716         * win32.c (mswindows_setitimer):
7717         Move setitimer() emulation here, so Cygwin can use it.
7718         Rename a couple of functions and variables to be longer and more
7719         descriptive.  In setitimer_helper_proc(), send the signal
7720         using either mswindows_raise() or (on Cygwin) kill().  If for
7721         some reason we are still getting lockups, we'll change the kill()
7722         to directly invoke the signal handlers.
7723
7724         ------ windows shell fixes ------
7725         
7726         * callproc.c:
7727         * ntproc.c:
7728         Comments about how these two files must die.
7729
7730         * callproc.c (init_callproc):
7731         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7732         not just COMSPEC. (more correct and closer to FSF.) Don't
7733         force a value for SHELL into the environment. (Comments added
7734         to explain why not.)
7735         
7736         * nt.c (init_user_info):
7737         Don't shove a fabricated SHELL into the environment.  See above.
7738
7739 2001-06-01  Ben Wing  <ben@xemacs.org>
7740
7741         * Makefile.in.in (ldflags):
7742         eliminate that pesky "defaulting to 00401000" warning.
7743         * nt.h:
7744         eliminate warnings.
7745
7746 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7747
7748         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7749         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7750
7751 2001-04-24  Jerry James <james@xemacs.org>
7752
7753         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7754         correct order.
7755
7756 2001-06-01  Ben Wing  <ben@xemacs.org>
7757
7758         * event-msw.c (debug_mswin_messages):
7759         conditionalize the messages that were causing compile errors.
7760         (if only macros could generate #ifdef statements ...)
7761
7762 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7763
7764         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7765
7766 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7767
7768         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7769
7770 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7771
7772         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7773         * process-unix.c (unix_canonicalize_host_name):
7774         sysdep.c (init_system_name):
7775         Use it to conditionally support IPv6 canonicalization.
7776
7777 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7778
7779         * event-msw.c:
7780         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7781
7782 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7783
7784         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7785         attempt is made to scroll when no scroll bar is available.
7786
7787 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7788
7789         * input-method-motif.c (XIM_delete_frame): New callback.
7790         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7791         got deleted from 21.4.3.)
7792
7793 2001-06-01  Ben Wing  <ben@xemacs.org>
7794
7795         * nt.c (mswindows_utime):
7796         * nt.c (close_file_data):
7797         fix off-by-one-indirection error.
7798
7799 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7800
7801         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7802         because set_file_times() now takes Lisp_Object path, instead of
7803         char*.
7804         * nt.c: Include buffer.h.
7805         * nt.c (convert_from_time_t): New.
7806         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7807         not set mtime correctly.
7808         * nt.h: Declare mswindows_utime().
7809         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7810         path, instead of char*.
7811         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7812
7813 2001-05-30  Ben Wing  <ben@xemacs.org>
7814
7815         For 21.4:
7816
7817         (Stephen, just take all event-msw.c patches.  This includes
7818         the "iconify" fix below.)
7819
7820         * event-msw.c:
7821         * event-msw.c (mswindows_dequeue_dispatch_event):
7822         * event-msw.c (assert):
7823         * event-msw.c (emacs_mswindows_quit_p):
7824         * event-msw.c (debug_mswin_messages):
7825         * event-msw.c (debug_output_mswin_message):
7826         * event-msw.c (vars_of_event_mswindows):
7827         Fix yet more problems with C-g handling.
7828         Implement debug-mswindows-events.
7829         
7830 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7831
7832         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7833         
7834 2001-05-23  Ben Wing  <ben@xemacs.org>
7835
7836         * event-msw.c (winsock_writer):
7837         * event-msw.c (winsock_closer):
7838         prior kludgy code was clobbering the buffer, thinking it was
7839         "unused" space to store an unneeded return value; instead, use
7840         the variable we've already got staring us in the face.
7841
7842 2001-05-17  Andy Piper  <andy@xemacs.org>
7843
7844         * sysfile.h: don't assume that file attributes are boolean
7845
7846 2001-05-23  Ben Wing  <ben@xemacs.org>
7847
7848         * device-msw.c (msprinter_init_device):
7849         signal an error rather than crash with an unavailable network
7850         printer (from Mike Alexander).
7851         
7852         * event-msw.c:
7853         * event-msw.c (struct winsock_stream):
7854         * event-msw.c (winsock_writer):
7855         * event-msw.c (winsock_closer):
7856         * event-msw.c (make_winsock_stream_1):
7857         cleanup headers.  fix (hopefully) an error with data corruption
7858         when sending to a network connection.
7859
7860         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7861         to handle the ~user prefix by (a) always assuming we're referencing
7862         ourselves and not even verifying the user -- hence any file with
7863         a tilde as its first char is invalid! (b) if there wasn't a slash
7864         following the filename, the pointer was set *past* the end of
7865         file and we started reading from uninitialized memory.  Now we
7866         simply treat these as files, always.
7867
7868         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7869         
7870 2001-05-19  Ben Wing  <ben@xemacs.org>
7871
7872         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7873
7874         * process-nt.c:
7875         * process-nt.c (vars_of_process_nt):
7876         remove unused mswindows-quote-process-args.  rec for 21.4.
7877         
7878 2001-05-12  Ben Wing  <ben@xemacs.org>
7879
7880         * event-msw.c (mswindows_dde_callback):
7881         * event-msw.c (mswindows_wnd_proc):
7882         eliminate cygwin warnings.
7883
7884 2001-05-06  Ben Wing  <ben@xemacs.org>
7885
7886         * console-msw.h:
7887         * device-msw.c:
7888         * device-msw.c (print_dialog_worker):
7889         * device-msw.c (mswindows_handle_print_dialog_box):
7890         * device-msw.c (syms_of_device_mswindows):
7891         * dialog-msw.c (mswindows_make_dialog_box_internal):
7892         * general-slots.h:
7893         implement printing the selection when it's selected.
7894
7895 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7896
7897         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7898
7899 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7900
7901         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7902         EMACS_INT is signed.
7903
7904 2001-04-15  Michael Lausch  <mla@1012surf.net>
7905
7906         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7907         gtk_widget_request_size() to give scrollbar >0 width for
7908         GTK >1.2.8.
7909
7910 2001-05-30  William M. Perry  <wmperry@gnu.org>
7911
7912         * event-gtk.c: Check for buttons as modifier keys.
7913
7914 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7915
7916         * s\mingw32.h:
7917         Properly find MinGW's <process.h> inside Cygwin's restructured
7918         include directories.  Don't try to include <cygwin/version.h>
7919         since we are dropping support for MinGW in versions of Cygwin
7920         earlier than b21.
7921         * nt.c:
7922         Drop support for MinGW in versions of Cygwin before b21.
7923         * sysdep.c:
7924         Properly find MinGW's <process.h> inside Cygwin's restructured
7925         include directories.
7926         * syswindows.h:
7927         Drop support for MinGW in versions of Cygwin before b21.
7928         * unexcw.c:
7929         Even though a.out.h is no longer detected by configure, allow
7930         MinGW to use it until we figure out how to do the job with Win32.
7931
7932 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7933
7934         * syntax.c (find_start_of_comment):
7935         Fix `unbalanced parentheses' bug when dealing with mixed comment
7936         styles in c++/java/etc. mode
7937
7938 2001-05-29  Mike Alexander  <mta@arbortext.com>
7939
7940         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7941         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7942
7943 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7944
7945         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7946
7947 2001-03-31  Mike Sperber <mike@xemacs.org>
7948
7949         * search.c (Freplace_match): Support FSF-style specification of
7950         match subexpression when applied to a buffer.
7951
7952 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7953
7954         * event-stream.c (is_scrollbar_event): add missing semicolon
7955
7956 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7957
7958         * Makefile.in.in: Use TAR macro instead of hardcoding
7959           tar.  Allows use of GNU tar instead of system tar
7960
7961 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7962
7963         * event-stream.c (is_scrollbar_event): add missing semicolon
7964
7965 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7966
7967         * XEmacs 21.4.3 "Academic Rigor" is released.
7968
7969 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7970
7971         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7972
7973 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7974
7975         * buffer.c (Vcase_fold_search): Remove obsolete
7976           comment about non ASCII case-fold-search.  This
7977           bug has been fixed by case-table changes.
7978
7979 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7980
7981         * event-msw.c: Restore include of events-mod.h.
7982
7983 2001-04-22   zhaoway  <zw@debian.org>
7984
7985         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7986         !HAVE_SCROLLBARS.
7987
7988 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7989
7990         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7991
7992 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7993
7994         * mule-charset.c (Fmake_charset): Add missing else.
7995
7996 2001-04-23  Ben Wing  <ben@xemacs.org>
7997
7998         * event-msw.c (FAKE_MOD_QUIT):
7999         * event-msw.c (mswindows_dequeue_dispatch_event):
8000         * event-msw.c (mswindows_wnd_proc):
8001         * event-msw.c (emacs_mswindows_quit_p):
8002         Get critical quit working.
8003
8004 2001-05-05  Ben Wing  <ben@xemacs.org>
8005
8006         * console-msw.h:
8007         * device-msw.c:
8008         * device-msw.c (mswindows_get_default_margin):
8009         * frame-msw.c (mswindows_size_frame_internal):
8010         * frame-msw.c (msprinter_init_frame_1):
8011         * frame-msw.c (vars_of_frame_mswindows):
8012         Change top/bottom margin defaults to 0.5 inches.
8013
8014 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8015
8016         Fix link error with gcc 3.0 on Linux.
8017         * terminfo.c (UP): Remove.
8018         * terminfo.c (BC): Remove.
8019         * terminfo.c (PC): Remove.
8020         They weren't used, and in any case, these symbols should be
8021         defined in the *library*.
8022
8023 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8024
8025         * s/aix4.h: Fix crash with xlc -O3.
8026         Improve comment explaining how -O3 works.
8027
8028 2001-04-15  Ben Wing  <ben@xemacs.org>
8029
8030         * event-stream.c:
8031         * event-stream.c (Fnext_event):
8032         * event-stream.c (is_scrollbar_event):
8033         * event-stream.c (execute_command_event):
8034         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8035         crash' problem.  His fix introduces other problems.  We filter
8036         out scrollbar events specifically, making them somewhat invisible
8037         to command-building, and not appearing in `this-command-keys'.
8038         More work is still needed (see comments in event-stream.c), but
8039         this fixes all the major problems.
8040
8041 2001-04-20  Ben Wing  <ben@xemacs.org>
8042
8043         * .cvsignore: Added stuff for Windows.
8044
8045 2001-04-28  Ben Wing  <ben@xemacs.org>
8046
8047         * buffer.c (Ferase_buffer):
8048         * editfns.c (buffer_insert1):
8049         * editfns.c (Finsert_before_markers):
8050         * editfns.c (Finsert_string):
8051         * editfns.c (Finsert_char):
8052         * editfns.c (Fdelete_region):
8053         * editfns.c (Fwiden):
8054         * editfns.c (Fnarrow_to_region):
8055         remove bogus lines setting zmacs_region_stays to 0.
8056         
8057 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8058
8059         * process-unix.c (unix_open_network_stream): If connect() fails
8060         invalidate file descriptor after closing it.
8061
8062 2001-03-08  Mike Alexander  <mta@arbortext.com>
8063
8064         * event-msw.c (mswindows_need_event_in_modal_loop):
8065         Don't dispatch a message if we didn't get one.
8066         (mswindows_need_event):
8067         Terminate the correct process when one exits instead of the first
8068         one on Vprocess_list and look for process termination when in
8069         mswindows_protect_modal_loop.
8070
8071 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8072
8073         * XEmacs 21.4.1 "Copyleft" is released.
8074
8075 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8076
8077         * input-method-motif.c (XIM_delete_frame): New callback.
8078         (XIM_init_frame): Register it.
8079
8080 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8081
8082         * XEmacs 21.4.0 "Solid Vapor" is released.
8083
8084 2001-04-15  Ben Wing  <ben@xemacs.org>
8085
8086         * cmdloop.c (call_command_loop):
8087         Fix braino in bit-rotting code.
8088         
8089 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8090
8091         * extents.c (Fset_extent_endpoints): Force creation of extent info
8092         in buffer_or_string.
8093
8094         * extents.c (process_extents_for_insertion_mapper): Correctly
8095         check for open-open zero-length extents.
8096
8097 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8098
8099         * lisp.h: New typedefs Memory_count, Element_count.
8100         * regex.c:
8101         * regex.h:
8102         Sign-compare warning elimination: several unsigned -> signed.
8103         Based on work by Ben Wing <ben@xemacs.org>.
8104
8105 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8106
8107         * XEmacs 21.2.47 "Zephir" is released.
8108
8109 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8110
8111         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8112
8113 2001-04-03  Mike Sperber <mike@xemacs.org>
8114
8115         * search.c: Revert previous patch due because of release.
8116
8117 2001-03-30  Ben Wing  <ben@xemacs.org>
8118
8119         * s\cygwin32.h:
8120         Add missing killpg prototype.
8121
8122         * elhash.c:
8123         Add a comment about fixing problems when a new entry is added
8124         while mapping.
8125
8126         * frame-msw.c (mswindows_init_frame_1):
8127         Fix compile warnings.
8128
8129         * menubar.c (vars_of_menubar):
8130         Provide `menu-accelerator-support' to indicate that we properly
8131         support %_ in menu specifications, so that package code can
8132         conditionalize on this (and remove %_ from menu specifications
8133         on older versions).
8134
8135         * event-msw.c:
8136         * scrollbar-msw.c:
8137         * scrollbar-msw.c (can_scroll):
8138         * scrollbar-msw.h:
8139         Fix handling of mouse wheel under Windows to follow standards --
8140         now scrolls window under pointer, not selected window.
8141
8142 2001-03-31  Mike Sperber <mike@xemacs.org>
8143
8144         * search.c (Freplace_match): Support FSF-style specification of
8145         match subexpression when applied to a buffer.
8146
8147 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8148
8149         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8150         function to modify KEYMAP, so map over a copy of the hash table.
8151
8152 2001-03-21  Martin Buchholz <martin@xemacs.org>
8153
8154         * XEmacs 21.2.46 "Urania" is released.
8155
8156 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8157
8158         * realpath.c (xrealpath): Make file-truename work with symlinks to
8159         /cygdrive paths on cygwin. Always lowercase drive-letters on
8160         native windows.
8161         (cygwin_readlink): Don't try to find canonical filename unless
8162         file exists.
8163
8164 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8165
8166         * ChangeLog: Log GTK merge.
8167
8168         * dumper.c:
8169         * select-x.c:
8170         * specifier.c:
8171         * symeval.h:
8172         Revert gratuitous whitespace changes from GTK merge.
8173
8174         * emacs.c: Document end of complex #ifdef @ l. 1495.
8175
8176
8177 2001-03-12  Andy Piper  <andy@xemacs.org>
8178
8179         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8180         have to do likewise.
8181
8182 2001-03-12  Andy Piper  <andy@xemacs.org>
8183
8184         * sysdep.c: we only support mingw now.
8185
8186 2001-03-09  Andy Piper  <andy@xemacs.org>
8187
8188         * unexcw.c (copy_executable_and_dump_data_section): making approx
8189         overrun a warning only.
8190
8191 2001-03-10  William M. Perry  <wmperry@aventail.com>
8192
8193         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8194         satisfy Stephen's identical-after-cpp plea.
8195
8196 2001-03-02  Ben Wing  <ben@xemacs.org>
8197
8198         * cmds.c:
8199         * cmds.c (Fforward_char):
8200         * syntax.c:
8201         * window.c:
8202
8203         Augment documentation of the most common motion commands to make
8204         note of the shifted-motion support.
8205         
8206 2001-03-02  Ben Wing  <ben@xemacs.org>
8207
8208         * nt.c (mswindows_fstat):
8209         * nt.c (mswindows_stat):
8210         * search.c (boyer_moore):
8211         Fix compile warnings under Windows.
8212         
8213         * sysdep.c (sys_readdir):
8214         Fix buggy filename-conversion code under Mule.
8215
8216 2001-03-09  William M. Perry  <wmperry@aventail.com>
8217
8218         * Makefile.in.in:
8219         * config.h.in:
8220         * console.c:
8221         * console.h:
8222         * device.c:
8223         * device.h:
8224         * dragdrop.c:
8225         * emacs.c:
8226         * event-stream.c:
8227         * events.c:
8228         * events.h:
8229         * faces.c:
8230         * frame.h:
8231         * general-slots.h:
8232         * glyphs.c:
8233         * gutter.c:
8234         * inline.c:
8235         * lisp.h:
8236         * lrecord.h:
8237         * make-src-depend:
8238         * redisplay-output.c:
8239         * redisplay.c:
8240         * symsinit.h:
8241         * sysfile.h:
8242         * toolbar.c:
8243         * window.c:
8244         The Great GTK Merge.
8245
8246         * ChangeLog.GTK:
8247         * console-gtk.c:
8248         * console-gtk.h:
8249         * device-gtk.c:
8250         * emacs-marshals.c:
8251         * emacs-widget-accessors.c:
8252         * event-gtk.c:
8253         * frame-gtk.c:
8254         * gccache-gtk.c:
8255         * gccache-gtk.h:
8256         * glade.c:
8257         * glyphs-gtk.c:
8258         * glyphs-gtk.h:
8259         * gtk-glue.c:
8260         * gtk-xemacs.c:
8261         * gtk-xemacs.h:
8262         * gui-gtk.c:
8263         * gui-gtk.h:
8264         * menubar-gtk.c:
8265         * native-gtk-toolbar.c:
8266         * objects-gtk.c:
8267         * objects-gtk.h:
8268         * redisplay-gtk.c:
8269         * scrollbar-gtk.c:
8270         * scrollbar-gtk.h:
8271         * select-gtk.c:
8272         * toolbar-gtk.c:
8273         * ui-byhand.c:
8274         * ui-gtk.c:
8275         * ui-gtk.h:
8276         The Great GTK Merge: new files.
8277
8278 2001-02-26  Ben Wing  <ben@xemacs.org>
8279
8280         Reapplied Lstream change.
8281
8282 2001-02-26  Ben Wing  <ben@xemacs.org>
8283
8284         Undid the last change, since it is more controversial than I
8285         thought.  It should be back in at some point soon.
8286         
8287 2001-02-25  Ben Wing  <ben@xemacs.org>
8288
8289         * buffer.c:
8290         * callproc.c (Fold_call_process_internal):
8291         * event-msw.c (ntpipe_slurp_reader):
8292         * event-msw.c (ntpipe_shove_writer):
8293         * event-msw.c (winsock_reader):
8294         * event-msw.c (winsock_writer):
8295         * file-coding.c:
8296         * file-coding.c (detect_eol_type):
8297         * file-coding.c (detect_coding_type):
8298         * file-coding.c (determine_real_coding_system):
8299         * file-coding.c (Fdetect_coding_region):
8300         * file-coding.c (decoding_reader):
8301         * file-coding.c (decoding_writer):
8302         * file-coding.c (mule_decode):
8303         * file-coding.c (Fdecode_coding_region):
8304         * file-coding.c (encoding_reader):
8305         * file-coding.c (encoding_writer):
8306         * file-coding.c (mule_encode):
8307         * file-coding.c (Fencode_coding_region):
8308         * file-coding.c (detect_coding_sjis):
8309         * file-coding.c (decode_coding_sjis):
8310         * file-coding.c (encode_coding_sjis):
8311         * file-coding.c (detect_coding_big5):
8312         * file-coding.c (decode_coding_big5):
8313         * file-coding.c (encode_coding_big5):
8314         * file-coding.c (detect_coding_ucs4):
8315         * file-coding.c (decode_coding_ucs4):
8316         * file-coding.c (encode_coding_ucs4):
8317         * file-coding.c (detect_coding_utf8):
8318         * file-coding.c (decode_coding_utf8):
8319         * file-coding.c (encode_coding_utf8):
8320         * file-coding.c (detect_coding_iso2022):
8321         * file-coding.c (decode_coding_iso2022):
8322         * file-coding.c (encode_coding_iso2022):
8323         * file-coding.c (decode_coding_no_conversion):
8324         * file-coding.c (encode_coding_no_conversion):
8325         * glyphs-x.c (write_lisp_string_to_temp_file):
8326         * gpmevent.c (tty_get_foreign_selection):
8327         * lisp.h:
8328         * lstream.c:
8329         * lstream.c (Lstream_flush_out):
8330         * lstream.c (Lstream_adding):
8331         * lstream.c (Lstream_write_1):
8332         * lstream.c (Lstream_write):
8333         * lstream.c (Lstream_raw_read):
8334         * lstream.c (Lstream_read_more):
8335         * lstream.c (Lstream_read):
8336         * lstream.c (Lstream_unread):
8337         * lstream.c (Lstream_fputc):
8338         * lstream.c (stdio_reader):
8339         * lstream.c (stdio_writer):
8340         * lstream.c (filedesc_reader):
8341         * lstream.c (filedesc_writer):
8342         * lstream.c (lisp_string_reader):
8343         * lstream.c (struct fixed_buffer_stream):
8344         * lstream.c (make_fixed_buffer_input_stream):
8345         * lstream.c (make_fixed_buffer_output_stream):
8346         * lstream.c (fixed_buffer_reader):
8347         * lstream.c (fixed_buffer_writer):
8348         * lstream.c (struct resizing_buffer_stream):
8349         * lstream.c (resizing_buffer_writer):
8350         * lstream.c (dynarr_writer):
8351         * lstream.c (lisp_buffer_reader):
8352         * lstream.c (lisp_buffer_writer):
8353         * lstream.h:
8354         * lstream.h (lstream_implementation):
8355         * lstream.h (struct lstream):
8356         * md5.c (Fmd5):
8357         * process-nt.c (nt_send_process):
8358         * process-unix.c (unix_send_process):
8359         
8360         Correct Lstream lossage due to mixing of signed and unsigned
8361         quantities.  All Lstream uses of size_t and ssize_t are now a
8362         single signed data type Lstream_data_count.  This fixes problems
8363         under Windows with sending large quantities of data to a process,
8364         and may well fix other subtle bugs.
8365
8366 2001-02-23  Martin Buchholz <martin@xemacs.org>
8367
8368         * XEmacs 21.2.45 "Thelxepeia" is released.
8369
8370 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8371
8372         * lisp-union.h (XSETINT): 
8373         (XSETCHAR):
8374         (XSETOBJ): 
8375         Reverse previous change of 2001-02-06.
8376
8377 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8378
8379         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8380         buffers.
8381         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8382         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8383         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8384         * regex.c (POS_AS_IN_BUFFER): removed
8385         * regex.c (re_search_2):
8386         * regex.c (re_match_2):
8387         Don't use an offset of 1 when calculating buffer positions, since
8388         `BI_BUF_BEGV' does it already.
8389
8390 2001-02-18  Wim Dumon  <wim@easics.be>
8391
8392         * insdel.c (prepare_to_modify_buffer): Also check for
8393         supersession when clash-detection is enabled. 
8394
8395 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8396
8397         * regex.c (re_match_2_internal):
8398         Convert temp characters from 'const unsigned char' to 're_char'.
8399         Fix crashing bug with extended characters under mule.
8400         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8401         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8402         font-lock, pdump, and new syntax-table code.
8403         * syntax.c (find_start_of_comment):
8404         (find_end_of_comment):
8405         (forward-comment):
8406         Fix crashing bugs involving moving beyond end of buffer.
8407         * syntax.c (find_start_of_comment):
8408         Fixed logic to allow proper detection of cases where the same
8409         character is used to end both a two-char comment start and a
8410         two-char comment end sequence. Fixes `(forward-comment -1)'.
8411         * syntax.c (find_start_of_comment):
8412         Return position just past last comment-end character for all cases
8413         (previously was only done for two-char comment-end sequences).
8414         * syntax.c (forward-comment):
8415         Take value returned from `find_end_of_comment', rather than
8416         incrementing it.
8417         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8418         Properly deal with BUFFERP (syntax_cache.object)
8419
8420 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8421
8422         * alloc.c (Fgarbage_collect): 
8423         * alloc.c (make_bit_vector_from_byte_vector):
8424         -Wsign-compare-correctness.
8425
8426 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8427
8428         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8429         (XSETCHAR): Likewise.
8430         (XSETOBJ): Likewise.
8431
8432 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8433
8434         * mule-canna.c (canna-func-delete_previous): 
8435         Rename to canna-func-delete-previous.
8436
8437 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8438
8439         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8440
8441 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8442
8443         * font-lock.c (find_context): Fix C++ compile errors introduced by
8444         recent patch
8445
8446 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8447
8448         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8449         pragma, but earlier ones barf on the same pragma.
8450
8451 2001-02-06  Mike Sperber <mike@xemacs.org>
8452
8453         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8454         `configure-mule-lisp-directory'.
8455
8456 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8457
8458         Make sure dump-id.c is compiled in the same way as other .c's.
8459         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8460         * dump-id.h: Remove.
8461         * emacs.c: Move dump-id.h into dumper.h.
8462         * dumper.h: Move dump-id.h into dumper.h.
8463         * Makefile.in.in:
8464         Use standard .c.o rule for building dump-id.o.
8465         Remove preprocessor flags from link command.
8466         Add dump-id.o to ${otherobjs} if PDUMP.
8467
8468 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8469
8470         Port FSF 20.7 syntax table improvements.
8471         * syntax.c.
8472         * syntax.h.
8473
8474         Fixups for new syntax table stuff.
8475         * dired.c: Include syntax.c.
8476         (Fdirectory_files): Initialize regex_match_object and
8477         regex_emacs_buffer.
8478         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8479         and Fget_char_property.
8480
8481         Use ported FSF 20.7 syntax table improvements.
8482         * font-lock.c.
8483         * regex.c.
8484         * search.c.
8485         
8486 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8487
8488         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8489         Unixware's enum boolean from sys/types.h.
8490
8491 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8492
8493         Fix support for building with latest Purify.
8494         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8495         (PURIFY_FLAGS): Likewise.
8496
8497 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8498
8499         * fileio.c (lisp_string_set_file_times): New.
8500         * fileio.c (Fcopy_file): Use it.
8501         Fixes bug:
8502         (copy-file filename non-ascii-filename t t)
8503         ==> No such file or directory, non-ascii-filename
8504
8505 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8506
8507         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8508         USHRT_MAX seems clearer than ~0 anyways.
8509
8510 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8511
8512         dumper improvements.  Inspired by Olivier.
8513         * dumper.c (pdump_max_align): New.
8514         * dumper.c (pdump_add_entry): Use pdump_max_align.
8515         * dumper.c (pdump_get_entry_list): Likewise.
8516         * dumper.c (pdump_scan_by_alignment): Likewise.
8517         Don't iterate through unnecessary alignments.
8518         * dumper.c (pdump_file_get): No need to align result of malloc().
8519         * dumper.c (pdump_mallocadr): Remove.  
8520         The result of malloc() is guaranteed to be maximally aligned.
8521         * dumper.c: s/elmt/elt/g;
8522         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8523         * dumper.c (pdump_alert_undump_object): Likewise.
8524         * dumper.c (pdump_align_table): 
8525         Don't support alignments > 64.
8526         Store ALIGNOF's, not shift counts, in table.
8527
8528 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8529
8530         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8531         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8532         * systime.h: Use HAVE_UTIME.
8533         * sysdep.c (struct utimbuf): Remove.
8534         * sysdep.c (set_file_times): Prefer utime() to utimes().
8535         * config.h.in (HAVE_UTIME): New.
8536         * config.h.in (HAVE_UTIME_H): Remove.
8537         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8538
8539 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8540
8541         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8542
8543 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8544
8545         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8546
8547 2001-02-08  Martin Buchholz <martin@xemacs.org>
8548
8549         * XEmacs 21.2.44 "Thalia" is released.
8550
8551 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8552
8553         Fixes crashes in kill-emacs on some systems.
8554         * process-unix.c (unix_kill_child_process):
8555         It's OK for kill() to fail with ESRCH.
8556
8557 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8558
8559         Contortions to make .gdbinit tricks work on most systems.
8560         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8561         * alloc.c (dbg_valmask): Make non-const.
8562         * alloc.c (dbg_typemask): Make non-const.
8563         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8564         * alloc.c (dbg_valbits): Make non-const.
8565         * alloc.c (dbg_gctypebits): Make non-const.
8566         * .gdbinit (decode_object): Make it work with AIX cc.
8567
8568 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8569
8570         * elhash.c (make_general_lisp_hash_table):
8571         Use simpler and more efficient calloc to clear entries.
8572
8573 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8574
8575         * window.c (window_scroll): Work around an AIX C compiler bug.
8576         Fixes 'scroll-up' does nothing problem with xlC.
8577
8578 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8579
8580         * .gdbinit: Remove obsolete comment.
8581
8582 2001-01-31  Mike Alexander  <mta@arbortext.com>
8583
8584         * select.c (Fown_selection_internal): Set owned_p for device
8585         method correctly.
8586
8587 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8588
8589         Port to g++ 2.97.
8590         "not" cannot be used as a macro name as it is an operator in C++
8591         * config.h.in: Stop #defining `not'.
8592         * chartab.c (check_category_char): not ==> not_p
8593         * chartab.h: Likewise.
8594         * regex.c (re_match_2_internal): Likewise.
8595
8596 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8597
8598         * lisp-disunion.h: Fix up comments.
8599
8600 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8601
8602         * keymap.c (define_key_check_and_coerce_keysym):
8603         (syms_of_keymap):
8604         Support mouse-6 and mouse-7 bindings in the obvious way.
8605
8606 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8607
8608         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8609
8610 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8611
8612         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8613         Previous patch missed DEFVAR_INT_MAGIC.
8614         Make sure future DEFVAR_foo use correct types.
8615         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8616         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8617         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8618         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8619         * (DEFVAR_INT): Likewise.
8620         * redisplay.c (vertical_clip): Should be of type Fixnum.
8621         * redisplay.c (horizontal_clip): Likewise.
8622         * lisp.h (dump_add_opaque_int): New.
8623         (dump_add_opaque_fixnum): New.
8624
8625 2001-01-29  Andy Piper  <andy@xemacs.org>
8626
8627         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8628         since they can be eval'ed
8629
8630 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8631
8632         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8633         Oops, XEmacs redefines `class'.  Use `typename' instead.
8634
8635 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8636
8637         * dumper.c: Fix C++ compile errors.
8638
8639 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8640
8641         * tparam.c: Use correct prototypes.
8642
8643 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8644
8645         * sysproc.h: #include util.h for NetBSD's openpty.
8646
8647 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8648
8649         More 64-bit correctness.
8650         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8651         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8652         Fix up comments.
8653         This finally finishes the 64-bit SGI port.
8654         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8655         * symbols.c: Fix up comments and type casts.
8656         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8657         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8658         * symeval.h (Fixnum): New type.
8659         * symeval.h (symbol_value_type): Fix up comment.
8660
8661         * commands.h:
8662         * nt.c:
8663         * emacs.c:
8664         * data.c:
8665         * redisplay.c:
8666         * abbrev.c:
8667         * dired-msw.c:
8668         * event-Xt.c:
8669         * eldap.c:
8670         * window.c:
8671         * sound.c:
8672         * event-stream.c:
8673         * eval.c:
8674         * buffer.c:
8675         * mule-canna.c: A million DEFVAR_INTs here...
8676         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8677         * extents.c:
8678         * cmdloop.c:
8679         * lisp.h:
8680         * select-x.c:
8681         * console-x.h:
8682         * event-msw.c:
8683         * mule-wnnfns.c:
8684         * hpplay.c:
8685         * ralloc.c:
8686         * alloc.c:
8687         * keymap.c:
8688         * profile.c:
8689         s/int/Fixnum/g in DEFVAR_INT declarations.
8690
8691 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8692
8693         Port pdump to SGI alignment-sensitive environment.
8694         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8695         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8696         properly aligned.
8697         Define and use aligned reading and writing macros.
8698         Use buffered stdio instead of posix i/o for faster dumping.
8699         Eliminate kludgy 256 byte space for header.
8700         Read and write from dump file using structs for alignment safety.
8701         * dumper.c (pdump_align_stream): New.
8702         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8703         * dumper.c (PDUMP_READ_ALIGNED): New.
8704         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8705         * dumper.c (pdump_static_Lisp_Object): New struct.
8706         * dumper.c (pdump_static_pointer): New struct.
8707         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8708         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8709         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8710         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8711
8712         * dumper.c (pdump_backtrace):
8713         * dumper.c (pdump_get_indirect_count):
8714         * dumper.c (pdump_register_object):
8715         * dumper.c (pdump_register_struct):
8716         * dumper.c (pdump_reloc_one):
8717         * dumper.c (pdump_scan_by_alignment):
8718         * dumper.c (pdump_dump_from_root_struct_ptrs):
8719         * dumper.c (pdump_dump_opaques):
8720         * dumper.c (pdump_dump_rtables):
8721         * dumper.c (pdump_dump_from_root_objects):
8722         * dumper.c (pdump):
8723         * dumper.c (pdump_load_finish):
8724         Use aligned reading and writing.
8725
8726         * dumper.c (pdump_free): Make static.
8727         * dumper.c (pdump_hFile): Likewise.
8728         * dumper.c (pdump_hMap): Likewise.
8729
8730 2001-01-26  Martin Buchholz <martin@xemacs.org>
8731
8732         * XEmacs 21.2.43 "Terspichore" is released.
8733
8734 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8735
8736         Type fiddling for window_config.saved_windows_count
8737         * window.c (struct window_config): 
8738         Make saved_windows_count member unsigned.
8739         * window.c (sizeof_window_config_for_n_windows): 
8740         Make parameter unsigned.
8741         * window.c (mark_window_config):
8742         * window.c (window_config_equal):
8743         * window.c (free_window_configuration):
8744         * window.c (Fset_window_configuration):
8745         * window.c (count_windows):
8746         * window.c (Fcurrent_window_configuration):
8747         * window.c (reinit_vars_of_window):
8748         Update all callers and users.
8749
8750 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8751
8752         Alignment correctness for flexible arrays.
8753         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8754         Make alignment-correct. Add interesting comments.
8755         * alloc.c (size_vector):
8756         * alloc.c (make_vector_internal):
8757         * alloc.c (make_bit_vector_internal):
8758         * alloc.c (sweep_bit_vectors_1):
8759         * fns.c (size_bit_vector):
8760         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8761         * window.c (sizeof_window_config_for_n_windows): 
8762         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8763
8764 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8765
8766         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8767
8768 2001-01-23  Andy Piper  <andy@xemacs.org>
8769
8770         * select.c (Fown_selection_internal): pass owned_p
8771
8772         * select-msw.c (mswindows_own_selection): New Signature.
8773
8774         * console.h (struct console_methods): add owned_p to
8775         _own_selection.
8776
8777         * select-x.c (x_own_selection): pass owned_p
8778         (hack_motif_clipboard_selection): use owned_p
8779         (vars_of_select_x): new variable -
8780         x_selection_strict_motif_ownership.
8781
8782 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8783
8784         * specifier.h (specifier_data_offset): Remove pointless parens.
8785         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8786
8787 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8788
8789         Make Lisp_Object sizeof methods be alignment-correct.
8790         pdump must restore objects to the same alignment as the C compiler
8791         assumes.  It really matters on SGIs.
8792         * lstream.c (aligned_sizeof_lstream): New.
8793         (sizeof_lstream): Use aligned_sizeof_lstream.
8794         (Lstream_new): Likewise.
8795         * opaque.c (aligned_sizeof_opaque): New.
8796         (sizeof_opaque): Use aligned_sizeof_opaque.
8797         (make_opaque): Likewise.
8798         * specifier.c (aligned_sizeof_specifier): New.
8799         (sizeof_specifier): Use aligned_sizeof_specifier.
8800         (make_specifier_internal): Likewise.
8801
8802 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8803
8804         * lstream.h (struct lstream): Use max_align_t for trailing data.
8805         * specifier.h (struct Lisp_Specifier): Likewise.
8806
8807 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8808
8809         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8810         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8811         (CCL_SUSPEND): Likewise.
8812         (CCL_INVALID_CMD): Likewise.
8813         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8814         (ccl_driver): Likewise.
8815         (CCL_WRITE_CHAR): Macro hygiene.
8816         (CCL_WRITE_STRING): Macro hygiene.
8817
8818 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8819
8820         Port "portable" dumper to SunOS 4 and HP-UX.
8821         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8822         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8823         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8824
8825 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8826
8827         * lisp.h (ALIGNOF): A better definition for C++.
8828
8829 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8830
8831         Macro hygiene.
8832         Fix printf warnings: int format, long int arg.
8833         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8834         (PUSH_FAILURE_POINT): Use correct printf formats.
8835         (POP_FAILURE_POINT): Use correct printf formats.  
8836         Use do {...} while (0)
8837
8838 2001-01-20  Martin Buchholz <martin@xemacs.org>
8839
8840         * XEmacs 21.2.42 "Poseidon" is released.
8841
8842 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8843
8844         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8845
8846 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8847
8848         De-kludgify FIXED_TYPE free list frobbing.
8849         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8850         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8851         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8852         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8853         * alloc.c (LRECORD_FREE_P): New.
8854         * alloc.c (MARK_LRECORD_AS_FREE): New.
8855         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8856         * alloc.c (STRUCT_FREE_P): Deleted.
8857         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8858         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8859         * alloc.c (STRING_CHARS_FREE_P): New.
8860         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8861         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8862         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8863         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8864         * alloc.c (resize_string): Use new definitions.
8865         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8866         * alloc.c (verify_string_chars_integrity): Use new definitions.
8867         * alloc.c (compact_string_chars): Use new definitions.
8868         * alloc.c: Update monster comments.
8869         * lrecord.h (lrecord_type): Add some new lrecord types for
8870         alloc.c's use.
8871
8872 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8873
8874         Improve alignment hackery.
8875         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8876         (max_align_t): Moved from opaque.h - general purpose.
8877         (ALIGN_PTR): Use size_t, not long.
8878         * opaque.h (max_align_t): Move to lisp.h.
8879
8880 2001-01-18  Norbert Koch  <nk@LF.net>
8881
8882         * gui.h: Fix and add prototypes to fix build problems.
8883
8884 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8885
8886         temacs is going away, so `dump-temacs' is now a bad name.
8887         * .dbxrc (dump-temacs): Rename to `dmp'.
8888         * .gdbinit (dump-temacs): Rename to `dmp'.
8889
8890 2001-01-17  Andy Piper  <andy@xemacs.org>
8891
8892         * glyphs.c (print_image_instance): comment to make martin happy.
8893
8894         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8895         change.
8896
8897         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8898         activation.
8899         (mswindows_tab_control_redisplay): warning suppression.
8900
8901         * glyphs-widget.c (widget_update): re-write to cope with updated
8902         items.
8903         (widget_instantiate): use new gui_item functions.
8904         (tab_control_update): deleted.
8905         (progress_gauge_update): deleted.
8906         (image_instantiator_progress_guage): take out update reference.
8907         (image_instantiator_tree_view): ditto.
8908         (image_instantiator_tab_control): ditto.
8909
8910         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8911         Right the new way.
8912         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8913         return whether anything was changed.
8914         (update_gui_item_keywords): as it sounds.
8915
8916         * gui.h: declare widget_gui_parse_item_keywords.
8917
8918         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8919         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8920
8921 2001-01-17  Martin Buchholz <martin@xemacs.org>
8922
8923         * XEmacs 21.2.41 "Polyhymnia" is released.
8924
8925 2001-01-16  Didier Verna  <didier@xemacs.org>
8926
8927         * glyphs.c (image_instantiate): don't use fallbacks when
8928         instantiating a face's background pixmap by inheritance.
8929
8930 2001-01-14  Mike Sperber <mike@xemacs.org>
8931
8932         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8933         Conditionalize accordingly.
8934
8935 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8936
8937         * dumper.c (pdump_file_get): Fix a compiler warning.
8938
8939 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8940
8941         Make Purify happy when pdumping.
8942         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8943         iniitalizing all bits of new lisp object memory.
8944         * symbols.c (Fmake_local_variable): Likewise.
8945         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8946         * symbols.c (Fdefvaralias): Likewise.
8947         * mule-charset.c (vars_of_mule_charset): Likewise.
8948
8949 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8950         Add the `-nd' flag when running pre-dump operations under the debugger.
8951         * .dbxrc (run-temacs): Add `-nd'.
8952         * .dbxrc (update-elc): Likewise.
8953         * .dbxrc (dump-temacs): Likewise.
8954         * .gdbinit (run-temacs): Likewise.
8955         * .gdbinit (check-temacs): Likewise.
8956         * .gdbinit (update-elc): Likewise.
8957         * .gdbinit (dump-temacs): Likewise.
8958
8959 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8960
8961         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8962         export OBJECT_MODE=64
8963         configure --pdump --use-union-type=no
8964         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8965         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8966
8967         * miscplay.c (sndcnv8U_2mono):
8968         Avoid two uses of `++' in the same expression.
8969         Suppresses a GCC warning.
8970
8971 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8972
8973         Make sure future compilers don't miscompile alloc.c.
8974         * alloc.c:
8975         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8976         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8977
8978 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8979
8980         * dumper.c: A little post-pdump-rename comment fixup.
8981
8982 2001-01-09  Jerry James  <james@eecs.ku.edu>
8983
8984         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8985
8986 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8987
8988         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8989         script:
8990         #!/bin/sh
8991         replace_symbol () {
8992           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8993         }
8994
8995         replace_symbol pdump_wire_lists pdump_weak_object_chains
8996         replace_symbol pdump_wire_list dump_add_weak_object_chain
8997
8998         replace_symbol pdump_wires pdump_root_objects
8999         replace_symbol pdump_wire dump_add_root_object
9000
9001         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9002         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9003
9004         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9005         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9006         replace_symbol dumpstructinfo pdump_root_struct_ptr
9007         replace_symbol dumpstruct dump_add_root_struct_ptr
9008
9009         replace_symbol dumpopaque dump_add_opaque
9010         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9011         replace_symbol dumpopaqueinfos pdump_opaques
9012         replace_symbol dumpopaqueinfo pdump_opaque
9013
9014         replace_symbol nb_structdump nb_root_struct_ptrs
9015         replace_symbol nb_opaquedump nb_opaques
9016
9017         replace_symbol align_table pdump_align_table
9018         replace_symbol dump_header pdump_header
9019
9020         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9021         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9022
9023
9024 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9025
9026         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9027         optimizing bytecount_to_charcount().
9028
9029 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9030
9031         * config.h.in:
9032         (HAVE_DLFCN_H): Removed.
9033         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9034
9035 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9036
9037         Portable dumper maintainability improvements.
9038         * alloc.c (staticpro):
9039         * alloc.c (staticpro_nodump):
9040         * alloc.c (garbage_collect_1):
9041         * alloc.c (reinit_alloc_once_early):
9042         * alloc.c (init_alloc_once_early):
9043         * alloc.c: Move dumper functions to alloc.c.
9044         * dumper.c (pdump_backtrace):
9045         * dumper.c (pdump_dump_structs):
9046         * dumper.c (pdump_dump_opaques):
9047         * dumper.c (pdump_dump_rtables):
9048         * dumper.c (pdump_dump_wired):
9049         * dumper.c (pdump):
9050         * dumper.c (pdump_load_check):
9051         * dumper.c (pdump_load_finish):
9052         * dumper.c (pdump_file_unmap):
9053         * dumper.c (pdump_file_get):
9054         * dumper.c (pdump_resource_free):
9055         * dumper.c (pdump_resource_get):
9056         * dumper.c (pdump_file_free):
9057         * dumper.c (pdump_file_try):
9058         * dumper.c (pdump_load):
9059         Remove fixed size limits on staticpro(), staticpro_nodump(),
9060         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9061         Remove custom code for dumping lrecord_implementations_table - use
9062         dumpopaque instead.
9063         Remove (most of the) custom code for dumping staticpros - dump it
9064         like any other dynarr.
9065
9066         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9067         * dumper.c: Moved functions from alloc.c.
9068         * alloc.c (dumpstruct): Moved to dumper.c.
9069         * alloc.c (dumpopaque): Likewise.
9070         * alloc.c (pdump_wire): Likewise.
9071         * alloc.c (pdump_wire_list): Likewise.
9072
9073         * lisp.h (Dynarr_sizeof): New.
9074         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9075         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9076         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9077
9078         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9079         * lisp.h (dumpopaque): ditto.
9080         * lisp.h (pdump_wire): ditto.
9081         * lisp.h (pdump_wire_list): ditto.
9082
9083 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9084
9085         * make-src-depend (PrintPatternDeps):
9086         Use `sort' to make output independent of perl version.
9087
9088 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9089
9090         Port to Netbsd 1.5.
9091         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9092         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9093
9094 2001-01-03  Didier Verna  <didier@xemacs.org>
9095
9096         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9097         that `focus_frame' is alive before thinking of calling
9098         `redisplay_redraw_cursor' on it.
9099
9100 2001-01-08  Martin Buchholz <martin@xemacs.org>
9101
9102         * XEmacs 21.2.40 is released.
9103
9104 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9105
9106         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9107
9108 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9109
9110         * alloc.c (dbg_valmask): Make const.
9111         * alloc.c (dbg_typemask): Make const.
9112         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9113         * alloc.c (dbg_valbits): Make const.
9114         * alloc.c (dbg_gctypebits): Make const.
9115
9116 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9117
9118         * redisplay-x.c (x_bevel_area):
9119         redisplay.h (struct rune):
9120         Typo fixes in comments.
9121
9122 2001-01-05  Andy Piper  <andy@xemacs.org>
9123
9124         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9125         adjustment.
9126
9127         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9128
9129 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9130
9131         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9132
9133         * mule-ccl.c (stack_idx_of_map_multiple):
9134         Non const global data must not be initialized!
9135         Found by MIYASHITA Hisashi.
9136
9137 2001-01-02  Andy Piper  <andy@xemacs.org>
9138
9139         * frame.c (change_frame_size): make sure frame size is always
9140         marked as changed.
9141
9142         * glyphs.c (image_instance_layout): minor code reuse.
9143
9144         * window.c (Fcurrent_window_configuration): revert previous
9145         change.
9146
9147 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9148
9149         * glyphs.h:
9150         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9151
9152 2000-12-31  Andy Piper  <andy@xemacs.org>
9153
9154         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9155         when widget gets unmapped.
9156
9157         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9158         function. Make sure widgets losing focus don't just drop it.
9159         (handle_focus_event_1): record the widget with focus.
9160
9161 2000-12-31  Andy Piper  <andy@xemacs.org>
9162
9163         * window.c (allocate_window): use
9164         make_image_instance_cache_hash_table.
9165         (make_dummy_parent): ditto.
9166         (Fset_window_configuration): ditto.
9167
9168         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9169
9170         * glyphs.c (process_image_string_instantiator): use
9171         INSTANTIATOR_TYPE.
9172         (get_image_instantiator_governing_domain): ditto.
9173         (normalize_image_instantiator): ditto.
9174         (instantiate_image_instantiator): ditto.
9175         (make_image_instance_1): ditto.
9176         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9177         (instantiator_eq_equal): new function for use with instance hash
9178         tables.
9179         (instantiator_eq_hash): ditto.
9180         (make_image_instance_cache_hash_table): create a suitable hash
9181         table for storing image instances.
9182
9183         * elhash.h (hash_table_weakness): new internal weakness type
9184         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9185         declare new functions.
9186
9187         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9188         another weakness type for glyphs.
9189         (make_standard_lisp_hash_table): new function split out from
9190         make_general_lisp_hash_table.
9191         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9192         (hash_table_instantiate): ditto.
9193         (Fmake_hash_table): ditto.
9194
9195 2000-12-31  Martin Buchholz <martin@xemacs.org>
9196
9197         * XEmacs 21.2.39 is released.
9198
9199 2000-12-29  Andy Piper  <andy@xemacs.org>
9200
9201         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9202
9203         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9204         the frame has changed so that we pick up geometry changes such as
9205         menubar visibility.
9206
9207 2000-12-28  Andy Piper  <andy@xemacs.org>
9208
9209         * lastfile.c (my_ebss): make a char array so we can pad the
9210         bss. Fixes cygwin unexec.
9211
9212         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9213
9214 2000-12-26  Andy Piper  <andy@xemacs.org>
9215
9216         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9217         comments and try and be more precise about a non-/SIGIO world.
9218         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9219         SIGIO.
9220
9221         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9222         we don't normalize to zero width or height.
9223
9224 2000-12-24  Andy Piper  <andy@xemacs.org>
9225
9226         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9227
9228 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9229
9230         * s/sco5.h: SCO 5 has pty support.
9231
9232 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9233
9234         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9235         input-method-xlib.c contains whole contents of input-method-xfs.c,
9236         so we can use input-method-xlib.c's code for USE_XFONTSET
9237         using #ifdefs.
9238         * input-method-xfs.c: removed.
9239
9240 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9241
9242         * file-coding.h (enum coding_category_type): reorder enumerators to
9243         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9244         (now one greater than largest real coding_category_type enumerator).
9245         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9246         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9247         Fcoding_category_list, Fset_coding_priority_list,
9248         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9249         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9250
9251 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9252
9253         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9254         * redisplay-output.c (redisplay_output_window): Clear top of window
9255         when face is changed.
9256         * redisplay-x.c (x_redraw_exposed_window): Call
9257         redisplay_clear_top_of_window.
9258         * redisplay.h: Publish redisplay_clear_top_of_window.
9259
9260 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9261
9262         * buffer.c (Fkill_buffer): Map over all devices.
9263         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9264         (list_windows): New function.
9265         (list_all_windows): Ditto.
9266         (Freplace_buffer_in_windows): Use them.
9267
9268 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9269
9270         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9271         (Fopen_database): Use `db_create' instead of `db_open'.
9272         (syms_of_database): Initialize Qqueue.
9273
9274 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9275
9276         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9277         buffer_local_face_property.
9278         * buffer.h (struct buffer): New member buffer_local_face_property.
9279         * window.c (Fset_window_buffer):  Mark window's face as changed
9280         when buffer has buffer local face.
9281         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9282         * objects.c (color_after_change): Set buffer_local_face_property
9283         when locale of face specifier is buffer.
9284         * objects.c (font_after_change): Ditto.
9285         * objects.c (face_boolean_after_change): Ditto.
9286         * glyphs.c (image_after_change): Ditto.
9287
9288 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9289
9290         * nt.c (mswindows_fstat): Report file permissions, volume serial
9291         number, etc. Code adapted from FSF Emacs 20.7.
9292
9293 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9294
9295         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9296         of stat when we don't have symbolic links, to make sure
9297         mswindows_stat is called on mswindows.
9298
9299 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9300
9301         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9302
9303 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9304
9305         * doprnt.c (emacs_doprnt_1): More printing fixes.
9306         Make printing of numbers compatible with libc and FSF Emacs.
9307         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9308         Use the system printf to do most of the hard work of formatting,
9309         instead of doprnt_1().
9310         Calculate memory to allocate for format string.
9311         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9312         (doprnt_1): Cleaner code and documentation.
9313
9314 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9315
9316         * Makefile.in.in: Use the loop variable to install headers.
9317
9318 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9319
9320         * window.c (Fsplit_window): Don't invalidate face cache.
9321
9322 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9323
9324         * minibuf.c (Fall_completions): Undo the previous change
9325         which removed checking elements start with space.
9326
9327 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9328
9329         * mule-canna.c: Didier suppression.
9330
9331 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9332
9333         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9334         (warning suppression).  Add English comment translations.
9335
9336 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9337
9338         * unexelfsgi.c (unexec): Better test for mmap failure.
9339
9340 2000-12-05  Martin Buchholz <martin@xemacs.org>
9341
9342         * XEmacs 21.2.38 is released.
9343
9344 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9345
9346         * redisplay.c (bar-cursor): Make a user variable.
9347
9348         * symsinit.h: Add init_postgresql_from_environment.
9349
9350 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9351
9352         * regex.c: Convert to clean C.
9353
9354 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9355
9356         * realpath.c:
9357         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9358         initialization.
9359         (sys_readlink): renamed to system_readlink to avoid conflict with
9360         the other sys_readlink.
9361
9362 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9363
9364         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9365
9366 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9367
9368         * postgresql.c (init_postgresql_from_environment): new function.
9369         (vars_of_postgresql): Move code initializing Lisp variables out and
9370         into init_postgresql_from_environment.
9371         emacs.c (main_1): Call init_postgresql_from_environment if and only
9372         if running a dumped XEmacs.
9373
9374 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9375
9376         * buffer.c: Make find-file-compare-truenames default to true on
9377         windows.
9378
9379         * realpath.c (win32_abs_start):
9380         (cygwin_readlink):
9381         (win32_readlink): New functions.
9382         (xrealpath): Return really real filenames on windows.
9383
9384         * fileio.c (Ffile_truename): Make file-truename work on windows.
9385
9386 2000-11-29  Didier Verna  <didier@xemacs.org>
9387
9388         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9389         * faces.c (update_face_cachel_data): use it.
9390         * faces.c (add_face_cachel): use it. Complete background pixmap
9391         frobbing in face cache if `update_face_cachel_data' has not done so.
9392
9393 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9394
9395         * search.c (string_match_1): Don't set last_thing_searched
9396         when search failed.
9397
9398 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9399
9400         * buffer.c: Include casetab.h
9401         (common_init_complex_vars_of_buffer): Use new case-table object.
9402         * buffer.h: Include casetab.h
9403         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9404         (DOWNCASE_TABLE_OF): Ditto.
9405         * bufslots.h: Remove char-tables and add case-table.
9406         * casetab.c: Include casetab.h
9407         (CASE_TABLE_P): Removed.
9408         (mark_case_table): New function.
9409         (allocate_case_table): New function.
9410         (Fcase_table_p): Use new case-table.
9411         (case_table_char): New function.
9412         (Fget_case_table): Ditto.
9413         (Fput_case_table): Ditto.
9414         (Fput_case_table_pair): Ditto.
9415         (Fcopy_case_table): Ditto.
9416         (Fcurrent_case_table): Return case-table.
9417         (Fstandard_case_table): Return case-table.
9418         (Fset_case_table): Fix doc-string.
9419         (set_case_table): Use case-table
9420         (syms_of_casetab): DEFSUBR new functions.
9421         (complex_vars_of_casetab): Set up standard case-table.
9422         * casetab.h: New file.
9423         * editfns.c: Include casetab.h
9424         (Fcompare_buffer_substrings): Use case-table.
9425         * inline.c: Include casetab.h
9426         * lisp.h: Remove bogus extern.
9427         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9428         * search.c: Include casetab.h
9429         (TRANSLATE_ASCII): Removed.
9430         (TRANSLATE): Unconditionally translate character.
9431         (looking_at_1): Use case-table.
9432         (string_match_1): Ditto.
9433         (fast_string_match): Ditto.
9434         (search_command): Ditto.
9435         (search_buffer): Separate boyer_moore.  Check whether
9436         boyer_moore is possible.
9437         (simple_search): New function.
9438         (boyer_moore): Separated from search_buffer. Translate char.
9439
9440 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9441
9442         * regex.c (RE_TR_ASCII): Removed.
9443         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9444         (PATFETCH): Call PATFETCH_RAW.
9445         (PATFETCH_RAW): Fetch Emchar.
9446         (PATUNFETCH): Decrement charptr.
9447         (GET_BUFFER_SPACE): Rename b to buf_end.
9448         (BUF_PUSH): Ditto.
9449         (BUF_PUSH_2): Ditto.
9450         (BUF_PUSH_3): Ditto.
9451         (EXTEND_BUFFER): Ditto.
9452         (SET_LIST_BIT): Ditto.
9453         (regex_compile): Ditto.  Translate non ASCII char.
9454         (compile_range): Ditto.
9455         (re_search_2): Ditto.
9456         (re_match_2_internal): Compare Emchar.
9457         (bcmp_translate): Ditto.
9458
9459 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9460
9461         * lisp.h (basic char/int typedefs):  comment improvement.
9462
9463 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9464
9465         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9466         unstomp inhibit_site_lisp.  Improve comments.
9467
9468 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9469
9470         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9471
9472 2000-11-28  Andy Piper  <andy@xemacs.org>
9473
9474         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9475         clipped display for windows in the gutter also.
9476         (redisplay_display_boxes_in_window_p): change semantics of return
9477         codes to be more intuitive.
9478
9479         * gutter.h: declare display_boxes_in_gutter_p.
9480
9481         * gutter.c (display_boxes_in_gutter_p): new function for
9482         redisplay.
9483
9484 2000-11-22  Andy Piper  <andy@xemacs.org>
9485
9486         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9487         autodetect domain.
9488
9489 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9490
9491         * callproc.c (Fold_call_process_internal):
9492         * gpm.c (Freceive_gpm_event):
9493         (tty_get_foreign_selection): Might be just warning supression.
9494         * fileio.c (Fwrite_region_internal):
9495         (Fset_visited_file_modtime):
9496         * keymap.c (event_matches_key_specifier_p):
9497         Initialize GCPROed variable.
9498
9499         * menubar-x.c (command_builder_find_menu_accelerator):
9500         Initialize before use.
9501
9502 2000-11-23  Andy Piper  <andy@xemacs.org>
9503
9504         * unexcw.c (unexec): make the resulting executable executable.
9505
9506 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9507
9508         * doc.c (get_doc_string):
9509         Use size_t, not int, for result of XSTRING_LENGTH.
9510
9511         * cmds.c (Fdelete_char):
9512         * cmds.c (Fpoint_at_eol):
9513         * cmds.c (Fself_insert_command):
9514         Use EMACS_INT, not int, for result of XINT.
9515         Someday, someone will want to insert more than 2**31 identical characters.
9516
9517         * cmds.c (Fdelete_char):
9518         * cmds.c (Fdelete_backward_char):
9519         * syntax.c (Fforward_word):
9520         * syntax.c (Fforward_comment):
9521         Make COUNT argument optional, for consistency with forward-char et al.
9522
9523 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9524
9525         * lisp.h:
9526         * print.c (long_to_string):
9527         Return a useful value: the pointer at end of data written.
9528
9529         * doprnt.c:
9530         Use `static const char * const' for constant strings.
9531         (union printf_arg): Delete `i', `ui' members.
9532         (get_doprnt_args):
9533         (emacs_doprnt_1):
9534         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9535         Do all printf-ing via the `l' specifier.
9536         Use EMACS_INT instead of int.
9537         Optimize.
9538
9539 2000-11-20  Didier Verna  <didier@xemacs.org>
9540
9541         * faces.c (update_face_cachel_data): don't frob the background
9542         pixmap when the window is being created. The face is needed but
9543         does not exist yet.
9544
9545 2000-11-20  Andy Piper  <andy@xemacs.org>
9546
9547         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9548         messing with a debug environment.
9549
9550 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9551
9552         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9553
9554 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9555
9556         * casetab.c (Fcase_table_p): Fix compile error and crash.
9557
9558 2000-11-18  Philip Aston  <philipa@mail.com>
9559
9560         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9561
9562 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9563
9564         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9565         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9566
9567 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9568
9569         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9570         * unexelf.c: Use HAVE_ELF_H.
9571         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9572         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9573         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9574         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9575         for testing.
9576         So this is an unexelfsgi.c from a different line of development.
9577
9578 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9579
9580         * regex.c (RE_TR_ASCII): New function.
9581         (RE_TRANSLATE): Call it.
9582
9583 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9584
9585         * buffer.h (TRT_TABLE_OF): Remove assert.
9586         (IN_TRT_TABLE_DOMAIN): Removed.
9587
9588 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9589
9590         * free-hook.c (log_gcpro):
9591         (show_gcprohist): Add support for GCPRO5.
9592
9593 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9594
9595         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9596
9597 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9598
9599         * symeval.h: Declare flush_all_buffer_local_cache.
9600
9601         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9602         (flush_buffer_local_cache): Added.
9603         (flush_all_buffer_local_cache): Added.
9604
9605         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9606
9607         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9608         (pdump_dump_data): Ditto.
9609         (pdump_reloc_one): Ditto.
9610         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9611         before dumping.
9612
9613
9614 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9615
9616         * buffer.c: Remove if 0'ed entry.
9617         * buffer.h: Rewrite TRT to use char-table.
9618         * bufslots.h: Remove mirror tables.
9619         * casetab.c: Remove mirror tables.
9620         (CASE_TABLE_P): New macro.
9621         (Fcase_table_p): Element of a case table is string or char-table.
9622         (make_mirror_trt_table): Removed.
9623         (set_case_table): Setup char-table from strings for backward
9624         compatibility.
9625         * dired.c (Fdirectory_files):
9626         * dired-msw.c: (mswindows_get_files):
9627         * lisp.h: Change prototype of re_pattern_buffer.
9628         * regex.c: (RE_TRANSLATE): New macro.
9629         (TRANSLATE_P): Ditto.
9630         Change translate to type RE_TRANSLATE_TYPE.
9631         * regex.h: Define RE_TRANSLATE_TYPE
9632         * search.c (TRANSLATE): New macro.
9633         (TRANSLATE_ASCII): New macro.
9634         Translate table is changed to Lisp_Object.
9635         (signal_failure): Inhibit return.
9636
9637 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9638
9639         * device-msw.c:
9640         * eldap.c:
9641         * event-Xt.c:
9642         * event-stream.c:
9643         * print.c:
9644         Do UNGCPRO before return.
9645
9646 2000-11-14  Martin Buchholz <martin@xemacs.org>
9647
9648         * XEmacs 21.2.37 is released.
9649
9650 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9651
9652         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9653         Add comments about discarded return value.
9654
9655 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9656
9657         * callint.c:
9658         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9659
9660 2000-10-27  Andy Piper  <andy@xemacs.org>
9661
9662         * gutter.c (Fset_default_gutter_position): default left and right
9663         gutters to visible.
9664         (calculate_gutter_size): calculate resonable heuristic for left
9665         and right gutter sizes.
9666         (specifier_vars_of_gutter): change left and right gutter sizes to
9667         autodetect.
9668         (calculate_gutter_size_from_display_lines): new function.
9669         (output_gutter): check for resizing on left and right gutters.
9670         (clear_gutter): don't special case top and left gutters.
9671         (specifier_vars_of_gutter): use new signature for
9672         set_specifier_caching.
9673
9674         * glyphs-x.c (x_redisplay_widget): spelling fix.
9675         * glyphs.c (specifier_vars_of_glyphs):
9676         * menubar.c (specifier_vars_of_menubar):
9677         * redisplay.c (specifier_vars_of_redisplay):
9678         * toolbar.c (specifier_vars_of_toolbar):
9679         * window.c (specifier_vars_of_window):
9680         * scrollbar.c (specifier_vars_of_scrollbar):
9681         (complex_vars_of_scrollbar): use new signature for
9682         set_specifier_caching.
9683
9684         * specifier.c (set_specifier_caching): include recompute flag.
9685         (recompute_one_cached_specifier_in_window): always recompute if
9686         flag set.
9687         (recompute_one_cached_specifier_in_frame): ditto.
9688
9689         * specifier.h (struct specifier_caching): add recompute flag.
9690
9691 2000-10-24  Andy Piper  <andy@xemacs.org>
9692
9693         * unexcw.c (copy_executable_and_dump_data_section): add new
9694         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9695         5.0 happy.
9696
9697 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9698
9699         * console-x.h (x_device): New member modifier_release_time.
9700         * event-Xt.c (x_handle_sticky_modifiers):
9701         Bound interval modifier keys are sticky.
9702         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9703         * events.h: extern it.
9704
9705 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9706
9707         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9708
9709 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9710
9711         * event-stream.c (execute_command_event): Preserve current_events
9712         and the like when event is misc-user-event.
9713         Inhibit quit during the call to maybe_echo_keys.
9714
9715 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9716
9717         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9718         symlink when buffer is killed.
9719         (inhibit_clash_detection): New variable.
9720
9721 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9722
9723         * console.c (Fset_input_method): Trigger redisplay on tty.
9724
9725 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9726
9727         * process.c (Fprocess_status): Revert to previous behavior:
9728         (process-status "nosuchprocess") ==> nil
9729
9730 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9731
9732         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9733         Work around another GCC 2.95.2 optimizer bug.
9734
9735 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9736
9737         * process.c (Fget_process): Use LIST_LOOP_2.
9738         (kill_buffer_processes): Use LIST_LOOP_2.
9739
9740         * minibuf.c (Fall_completions):
9741         Delete old non-functional code for FSF fourth argument.
9742
9743         * frame.c (frame_matches_frame_spec):
9744         Renamed from `frame_matches_frametype'.  Update all callers.
9745         (device_matches_device_spec):
9746         Renamed from 'device_matches_console_spec'.  Update all callers.
9747
9748         * doc.c (Fsubstitute_command_keys):
9749         Remove buffer overflow crash.  Small code cleanups.
9750
9751         * casetab.c (check_case_table): Simpler code.
9752
9753         * window.c (Freplace_buffer_in_windows):
9754         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9755         (and similar implementation) as Fdelete_windows_on.
9756         Update all callers.
9757
9758         * alloc.c (Fmake_list):
9759         * alloc.c (make_vector):
9760         * alloc.c (Fmake_vector):
9761         * alloc.c (make_bit_vector):
9762         * alloc.c (Fmake_bit_vector):
9763         * alloc.c (Fbit_vector):
9764         * alloc.c (Fmake_string):
9765         * alloc.c (Fpurecopy):
9766         * alloc.c (Fmemory_limit):
9767         * buffer.c:
9768         * buffer.c (Fget_buffer):
9769         * buffer.c (Fkill_buffer):
9770         * buffer.c (complex_vars_of_buffer):
9771         * bytecode.c (Fcompiled_function_stack_depth):
9772         * callint.c (Fprefix_numeric_value):
9773         * event-stream.c:
9774         * event-stream.c (Fread_key_sequence):
9775         * casetab.c:
9776         * casetab.c (Fcase_table_p):
9777         * casetab.c (check_case_table):
9778         * casetab.c (Fset_case_table):
9779         * casetab.c (Fset_standard_case_table):
9780         * chartab.c:
9781         * chartab.c (Fchar_table_type):
9782         * chartab.c (Freset_char_table):
9783         * chartab.c (Fget_char_table):
9784         * chartab.c (Fget_range_char_table):
9785         * chartab.c (Fput_char_table):
9786         * chartab.c (Fmap_char_table):
9787         * chartab.c (Fcategory_table_p):
9788         * chartab.c (Fcheck_category_at):
9789         * chartab.c (Fchar_in_category_p):
9790         * chartab.c (Fcategory_table):
9791         * chartab.c (Fcopy_category_table):
9792         * chartab.c (Fset_category_table):
9793         * chartab.c (Fcategory_designator_p):
9794         * chartab.c (Fcategory_table_value_p):
9795         * cmds.c (Fdelete_char):
9796         * cmds.c (Fdelete_backward_char):
9797         * cmds.c (Fself_insert_command):
9798         * cmds.c (Fself_insert_internal):
9799         * console.c (Fvalid_console_type_p):
9800         * console.c (Fcdfw_console):
9801         * console.c (Fconsole_type):
9802         * console.c (Fconsole_name):
9803         * console.c (Fconsole_device_list):
9804         * console.c (Fconsole_on_window_system_p):
9805         * data.c:
9806         * data.c (Feq):
9807         * data.c (Fold_eq):
9808         * data.c (Fsubr_interactive):
9809         * data.c (Fchar_to_int):
9810         * data.c (Fint_to_char):
9811         * data.c (Fsetcar):
9812         * data.c (Fsetcdr):
9813         * data.c (Fnumber_to_string):
9814         * data.c (Fstring_to_number):
9815         * data.c (Frem):
9816         * database.c (mark_database):
9817         * database.c (finalize_database):
9818         * database.c (Fdatabase_live_p):
9819         * database.c (Fdatabasep):
9820         * device-x.c (Fx_get_resource):
9821         * device.c (Fdfw_device):
9822         * dired.c:
9823         * dired.c (Ffile_name_completion):
9824         * dired.c (Ffile_name_all_completions):
9825         * dired.c (Fuser_name_completion):
9826         * dired.c (Fuser_name_completion_1):
9827         * dired.c (Fuser_name_all_completions):
9828         * doc.c (Fdocumentation):
9829         * doc.c (Fdocumentation_property):
9830         * doc.c (Fsubstitute_command_keys):
9831         * editfns.c:
9832         * editfns.c (Fchar_to_string):
9833         * editfns.c (Fstring_to_char):
9834         * editfns.c (Ftemp_directory):
9835         * editfns.c (Finsert_char):
9836         * editfns.c (Fbuffer_substring_no_properties):
9837         * editfns.c (Fnarrow_to_region):
9838         * editfns.c (Fchar_equal):
9839         * editfns.c (Fchar_Equal):
9840         * editfns.c (Ftranspose_regions):
9841         * emacs.c (Fdump_emacs):
9842         * eval.c (Fthrow):
9843         * eval.c (Fcommand_execute):
9844         * eval.c (Fautoload):
9845         * eval.c (Fbacktrace):
9846         * eval.c (Fbacktrace_frame):
9847         * events.c:
9848         * events.c (Fcopy_event):
9849         * events.c (Fcharacter_to_event):
9850         * events.c (Fevent_button):
9851         * events.c (Fevent_process):
9852         * extents.c:
9853         * extents.c (Fnext_extent_change):
9854         * extents.c (Fextent_property):
9855         * faces.c (Ffacep):
9856         * faces.c (Fmake_face):
9857         * file-coding.c:
9858         * file-coding.c (Fencode_shift_jis_char):
9859         * file-coding.c (Fencode_big5_char):
9860         * fileio.c (Ffile_name_directory):
9861         * fileio.c (Ffile_name_nondirectory):
9862         * fileio.c (Ffile_name_as_directory):
9863         * fileio.c (Fdirectory_file_name):
9864         * fileio.c (Ffile_truename):
9865         * fileio.c (Fsubstitute_in_file_name):
9866         * fileio.c (Ffile_modes):
9867         * fileio.c (Fset_file_modes):
9868         * fileio.c (Fset_default_file_modes):
9869         * fileio.c (Fverify_visited_file_modtime):
9870         * floatfns.c (Facos):
9871         * floatfns.c (Fasin):
9872         * floatfns.c (Fatan):
9873         * floatfns.c (Fcos):
9874         * floatfns.c (Fsin):
9875         * floatfns.c (Ftan):
9876         * floatfns.c (Fbessel_j0):
9877         * floatfns.c (Fbessel_j1):
9878         * floatfns.c (Fbessel_jn):
9879         * floatfns.c (Fbessel_y0):
9880         * floatfns.c (Fbessel_y1):
9881         * floatfns.c (Fbessel_yn):
9882         * floatfns.c (Ferf):
9883         * floatfns.c (Ferfc):
9884         * floatfns.c (Flog_gamma):
9885         * floatfns.c (Fexp):
9886         * floatfns.c (Fexpt):
9887         * floatfns.c (Flog):
9888         * floatfns.c (Flog10):
9889         * floatfns.c (Fsqrt):
9890         * floatfns.c (Fcube_root):
9891         * floatfns.c (Facosh):
9892         * floatfns.c (Fasinh):
9893         * floatfns.c (Fatanh):
9894         * floatfns.c (Fcosh):
9895         * floatfns.c (Fsinh):
9896         * floatfns.c (Ftanh):
9897         * floatfns.c (Fabs):
9898         * floatfns.c (Ffloat):
9899         * floatfns.c (Flogb):
9900         * floatfns.c (Fceiling):
9901         * floatfns.c (Ffloor):
9902         * floatfns.c (Fround):
9903         * floatfns.c (Ftruncate):
9904         * floatfns.c (Ffceiling):
9905         * floatfns.c (Fffloor):
9906         * floatfns.c (Ffround):
9907         * floatfns.c (Fftruncate):
9908         * fns.c (Fstring_equal):
9909         * fns.c (Fstring_lessp):
9910         * fns.c (concat2):
9911         * fns.c (concat3):
9912         * fns.c (vconcat2):
9913         * fns.c (vconcat3):
9914         * fns.c (Fsubstring):
9915         * fns.c (Fassoc):
9916         * fns.c (Fold_assoc):
9917         * fns.c (assoc_no_quit):
9918         * fns.c (Fassq):
9919         * fns.c (Fold_assq):
9920         * fns.c (assq_no_quit):
9921         * fns.c (Frassoc):
9922         * fns.c (Fold_rassoc):
9923         * fns.c (Frassq):
9924         * fns.c (Fold_rassq):
9925         * fns.c (rassq_no_quit):
9926         * fns.c (Fremassoc):
9927         * fns.c (remassoc_no_quit):
9928         * fns.c (Fremassq):
9929         * fns.c (remassq_no_quit):
9930         * fns.c (Fremrassoc):
9931         * fns.c (Fremrassq):
9932         * fns.c (remrassq_no_quit):
9933         * fns.c (Fsort):
9934         * fns.c (Fplist_get):
9935         * fns.c (Fplist_put):
9936         * fns.c (Fplist_remprop):
9937         * fns.c (Fplist_member):
9938         * fns.c (Flax_plist_get):
9939         * fns.c (Flax_plist_put):
9940         * fns.c (Flax_plist_remprop):
9941         * fns.c (Flax_plist_member):
9942         * fns.c (Fequal):
9943         * fns.c (Fold_equal):
9944         * fns.c (Frequire):
9945         * fns.c (Fbase64_encode_region):
9946         * fns.c (Fbase64_encode_string):
9947         * fns.c (Fbase64_decode_region):
9948         * frame.c:
9949         * frame.c (frame_matches_frame_spec):
9950         * frame.c (device_matches_device_spec):
9951         * frame.c (next_frame):
9952         * frame.c (previous_frame):
9953         * frame.c (Fnext_frame):
9954         * frame.c (Fprevious_frame):
9955         * frame.c (Fframe_property):
9956         * frame.c (Fset_frame_height):
9957         * frame.c (Fset_frame_size):
9958         * frame.h:
9959         * glyphs.c:
9960         * glyphs.c (if):
9961         * glyphs.c (decode_error_behavior_flag):
9962         * glyphs.c (Fmake_image_instance):
9963         * indent.c (Findent_to):
9964         * intl.c (Fignore_defer_gettext):
9965         * keymap.c (Fkeymapp):
9966         * keymap.c (Flookup_key):
9967         * lread.c:
9968         * lread.c (Fload_internal):
9969         * lread.c (Feval_buffer):
9970         * lread.c (Feval_region):
9971         * macros.c (Fexecute_kbd_macro):
9972         * marker.c (set_marker_internal):
9973         * marker.c (Fset_marker):
9974         * marker.c (set_marker_restricted):
9975         * marker.c (Fcopy_marker):
9976         * marker.c (noseeum_copy_marker):
9977         * menubar.c:
9978         * menubar.c (Fpopup_menu):
9979         * minibuf.c:
9980         * mule-charset.c (Fcharset_name):
9981         * mule-charset.c (Fchar_charset):
9982         * mule-charset.c (Fchar_octet):
9983         * mule-charset.c (Fsplit_char):
9984         * mule-wnnfns.c (Fwnn_open):
9985         * mule-wnnfns.c (Fwnn_dict_comment):
9986         * mule-wnnfns.c (Fwnn_quit_henkan):
9987         * mule-wnnfns.c (Fwnn_word_toroku):
9988         * mule-wnnfns.c (Fwnn_word_sakujo):
9989         * mule-wnnfns.c (Fwnn_word_use):
9990         * mule-wnnfns.c (Fwnn_hindo_set):
9991         * objects.c:
9992         * objects.c (Fmake_color_instance):
9993         * objects.c (Fmake_font_instance):
9994         * print.c (Fwrite_char):
9995         * process.c:
9996         * process.c (mark_process):
9997         * process.c (print_process):
9998         * process.c (get_process_from_usid):
9999         * process.c (Fprocessp):
10000         * process.c (Fprocess_live_p):
10001         * process.c (Fget_process):
10002         * process.c (Fget_buffer_process):
10003         * process.c (get_process):
10004         * process.c (Fprocess_id):
10005         * process.c (Fprocess_name):
10006         * process.c (Fprocess_command):
10007         * process.c (init_process_io_handles):
10008         * process.c (start_process_unwind):
10009         * process.c (Fstart_process_internal):
10010         * process.c (Fopen_multicast_group_internal):
10011         * process.c (Fset_process_window_size):
10012         * process.c (read_process_output):
10013         * process.c (send_process):
10014         * process.c (Fprocess_tty_name):
10015         * process.c (Fset_process_buffer):
10016         * process.c (Fprocess_buffer):
10017         * process.c (Fprocess_mark):
10018         * process.c (set_process_filter):
10019         * process.c (Fset_process_filter):
10020         * process.c (Fprocess_filter):
10021         * process.c (Fprocess_send_region):
10022         * process.c (Fprocess_send_string):
10023         * process.c (exec_sentinel):
10024         * process.c (Fset_process_sentinel):
10025         * process.c (Fprocess_sentinel):
10026         * process.c (status_notify):
10027         * process.c (Fprocess_status):
10028         * process.c (Fprocess_exit_status):
10029         * process.c (process_send_signal):
10030         * process.c (Fprocess_send_eof):
10031         * process.c (deactivate_process):
10032         * process.c (remove_process):
10033         * process.c (Fdelete_process):
10034         * process.c (kill_buffer_processes):
10035         * process.c (Fprocess_kill_without_query):
10036         * process.c (Fprocess_kill_without_query_p):
10037         * rangetab.c:
10038         * rangetab.c (Fget_range_table):
10039         * rangetab.c (Fput_range_table):
10040         * rangetab.c (Fremove_range_table):
10041         * rangetab.c (Fclear_range_table):
10042         * search.c:
10043         * search.c (Fskip_chars_forward):
10044         * search.c (Fskip_chars_backward):
10045         * search.c (Fskip_syntax_forward):
10046         * search.c (Fskip_syntax_backward):
10047         * search.c (search_command):
10048         * search.c (Freplace_match):
10049         * search.c (Fregexp_quote):
10050         * select.c (Fown_selection_internal):
10051         * select.c (Fselection_owner_p):
10052         * select.c (Fselection_exists_p):
10053         * select.c (Fget_selection_internal):
10054         * specifier.c:
10055         * symbols.c:
10056         * symbols.c (Fintern):
10057         * symbols.c (Fintern_soft):
10058         * symbols.c (Funintern):
10059         * symbols.c (Fapropos_internal):
10060         * symbols.c (Fset_default):
10061         * syntax.c:
10062         * syntax.c (Fsyntax_table_p):
10063         * syntax.c (Fcopy_syntax_table):
10064         * syntax.c (Fset_syntax_table):
10065         * syntax.c (Fchar_syntax):
10066         * syntax.c (syntax_match):
10067         * syntax.c (Fmatching_paren):
10068         * syntax.c (Fforward_word):
10069         * syntax.c (scan_lists):
10070         * syntax.c (Fscan_lists):
10071         * syntax.c (Fscan_sexps):
10072         * syntax.c (Fparse_partial_sexp):
10073         * toolbar.c (Fcheck_toolbar_button_syntax):
10074         * tooltalk.doc:
10075         * window.c:
10076         * window.c (Fwindowp):
10077         * window.c (Fwindow_live_p):
10078         * window.c (Fwindow_point):
10079         * window.c (Fdelete_window):
10080         * window.c (Fnext_window):
10081         * window.c (Fprevious_window):
10082         * window.c (Fother_window):
10083         * window.c (window_loop):
10084         * window.c (Fget_lru_window):
10085         * window.c (Fsplit_window):
10086         * window.c (Fenlarge_window):
10087         * window.c (Fenlarge_window_pixels):
10088         * window.c (Fshrink_window):
10089         * window.c (Fshrink_window_pixels):
10090         * window.c (change_window_height):
10091         * window.c (Fwindow_configuration_p):
10092         * window.c (Fcurrent_window_configuration):
10093         * window.h:
10094         * casefiddle.c (casify_object):
10095         * casefiddle.c (Fupcase):
10096         * casefiddle.c (Fdowncase):
10097         * casefiddle.c (Fcapitalize):
10098         * casefiddle.c (Fupcase_initials):
10099         * casefiddle.c (casify_region_internal):
10100         * casefiddle.c (casify_region):
10101         * casefiddle.c (Fupcase_region):
10102         * casefiddle.c (Fdowncase_region):
10103         * casefiddle.c (Fcapitalize_region):
10104         * casefiddle.c (Fupcase_initials_region):
10105         * casefiddle.c (Fupcase_word):
10106         * casefiddle.c (Fdowncase_word):
10107         * casefiddle.c (Fcapitalize_word):
10108         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10109         Replace 0 with '\0' when working with bytes.
10110         Replace initial "(" with "\(" in docstrings.
10111
10112 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10113
10114         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10115
10116         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10117
10118 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10119
10120         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10121
10122 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10123
10124         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10125         correctly.
10126
10127 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10128
10129         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10130         (inhibit_auto_save_session): New variable.
10131         (vars_of_fileio): Declare and initialize them.
10132         * fileio.c (Fdo_auto_save): Don't create session file if
10133         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10134
10135 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10136
10137         * sgiplay.c (play_internal): C++ compilability.
10138         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10139         * callproc.c (Fold_call_process_internal):
10140         Remove unused vars `env', `first'.
10141         * scrollbar.c (update_scrollbar_instance):
10142         #### unused var `current_window'.
10143         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10144         etc. within #ifdef NOT_YET.
10145         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10146         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10147         * specifier.c (specifier_instance):
10148         #### unused var `tag'.
10149         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10150
10151 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10152
10153         * fns.c (Fbutlast):
10154         * fns.c (list_sort):
10155         * fns.c (Ffillarray):
10156         * fns.c (bytecode_nconc2):
10157         * fns.c (Fnconc):
10158         * fns.c (mapcar1):
10159         * fns.c (Fmapconcat):
10160         Be pedantically 64-bit correct.  For the time when someone will
10161         want to have a list with length > 2**32.
10162
10163         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10164         Work around MIPSpro compiler bug.
10165
10166         * process-unix.c (unix_kill_child_process): Add snarky comment.
10167         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10168
10169         * config.h.in: Oops, _getpt ==> _getpty
10170
10171 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10172
10173         * config.h.in:
10174         * regex.c:
10175         Use void*, not char*, as return type of alloca().
10176
10177         * alloc.c (free_marker): Side effect inside assert expression!
10178
10179 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10180
10181         * mule-charset.c (Fset_charset_ccl_program): To check
10182         if the given ccl program is valid, use setup_ccl_program()
10183         instead of CHECK_VECTOR().
10184         (Fmake_charset): Likewise.
10185
10186 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10187
10188         * faces.c (get_extent_fragment_face_cache_index):
10189         Fix cachel.merged_faces memory leak.
10190
10191 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10192
10193         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10194         Reset MSB of octets obtained by DECODE_SJIS
10195         because of the incompatibility with Emacs.
10196         (ccl_driver)<CCL_ENCODE_SJIS>:
10197         Set MSB of octets before passing them to
10198         ENCODE_SJIS because of the incompatibility
10199         with Emacs.
10200
10201 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10202
10203         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10204         (DECLARE_LRECORD): Undo the last change.
10205         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10206
10207 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10208
10209         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10210         the implementation to lrecord_implementations_table.
10211
10212 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10213
10214         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10215         initial value of `lrecord_type_##c_name' and
10216         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10217         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10218         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10219         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10220         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10221
10222 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10223
10224         * miscplay.c (sndcnv8S_2mono):
10225         (sndcnv2monounsigned):
10226         (sndcnvULaw_2linear):
10227         (sndcnv16swap):
10228         Remove implementation-defined behavior.
10229
10230 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10231
10232         * input-method-xlib.c: Warning suppression.
10233
10234 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10235
10236         * mule-ccl.c: Sync up with Emacs 21.0.90.
10237         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10238         Do nothing.
10239         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10240         Likewise.
10241         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10242         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10243         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10244         leading char belongs to official 2-dimensional charset.
10245         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10246         write the given character as is.  Otherwise,
10247         if it is a multibyte char, convert it by
10248         non_ascii_set_charptr_emchar, then write it.
10249         (CCL_WRITE_STRING): Likewise.
10250         (ccl_get_compiled_code): New function.
10251         (setup_ccl_program): When ccl_prog is invalid,
10252         return -1.
10253         (Fregister_code_conversion_map): New function.
10254         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10255
10256         * mule-ccl.h: Sync up with Emacs 21.0.90.
10257         (Fregister_ccl_program): export it.
10258
10259         * redisplay-msw.c (separate_textual_runs):
10260         If ccl program is not valid, don't do ccl conversion.
10261
10262         * redisplay-x.c (separate_textual_runs): Ditto.
10263
10264         * file-coding.c (Fmake_coding_system):
10265         When type is ccl and value is vector, register it
10266         with a proper symbol.  And checks whether the
10267         given ccl program is valid.
10268         (mule_decode): When calling ccl_driver, if src indicates
10269         NULL pointer, set an empty string instead.
10270         (mule_encode): Likewise.
10271
10272 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10273
10274         The following large batch of changes gets us back to a state of
10275         C++ compilability.  Extbyte is now a char, which means that
10276         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10277
10278         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10279
10280         * sound.c (Fplay_sound): Type correctness.
10281
10282         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10283         (x_get_window_property): Type correctness.
10284         (receive_incremental_selection): unsigned char ==> Extbyte
10285         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10286         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10287         (Fx_store_cutbuffer_internal): Type correctness.
10288
10289         * process-unix.c (try_to_initialize_subtty): Type correctness.
10290
10291         * objects-x.c (x_print_color_instance): Type correctness.
10292         (x_print_font_instance): Type correctness.
10293         (x_list_fonts): SExtbyte ==> Extbyte.
10294         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10295         (x_find_charset_font): SExtbyte ==> Extbyte.
10296         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10297         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10298         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10299         Use bufbyte_strcmp.
10300
10301         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10302         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10303         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10304         (BYTE_C0_P): Use bit ops for char-signedness safety.
10305         (BYTE_C1_P): Use bit ops for char-signedness safety.
10306         (CHARSET_BY_LEADING_BYTE):
10307         (CHARSET_BY_ATTRIBUTES):
10308         Always use inline function.
10309         Use type_checking_assert.
10310         Hide chlook.
10311
10312         * mule-charset.c (non_ascii_charptr_copy_char):
10313         Modify to work with both ASCII and non-ASCII characters.
10314         Improve docs and variable names.
10315         Replace over-clever fall-through switch with a simple loop.
10316         (Lstream_get_emchar_1):
10317         Replace over-clever fall-through switch with a simple loop.
10318
10319         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10320         Warning suppression.
10321
10322         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10323         the return value of Lstream_getc, which could be EOF as well.
10324
10325         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10326
10327         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10328         APIs can be used on Extbytes without casts.  Risky!
10329         (SExtbyte): Remove.
10330         (UExtbyte): Remove.
10331
10332         * input-method-xlib.c (XIM_init_device):
10333         Use Xlib.h instead of IntrinsicP.h.
10334         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10335         which will break in X11R7.
10336         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10337         to call XRegisterIMInstantiateCallback with correct types.
10338
10339         * gui-x.c (button_item_to_widget_value): Type correctness.
10340
10341         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10342
10343         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10344         (xbm_instantiate_1): Type correctness.
10345         (BUILD_GLYPH_INST):  Type correctness.
10346
10347         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10348
10349         * file-coding.c:
10350         (decode_coding_sjis):
10351         (decode_coding_big5):
10352         (decode_coding_ucs4):
10353         (decode_coding_utf8):
10354         (decode_coding_iso2022):
10355         (decode_coding_no_conversion):
10356         Make all decoding functions take an Extbyte * arg.
10357         (encode_coding_sjis):
10358         (encode_coding_big5):
10359         (encode_coding_ucs4):
10360         (encode_coding_utf8):
10361         (encode_coding_iso2022):
10362         (encode_coding_no_conversion):
10363         Make all encoding functions take a Bufbyte * arg.
10364         Use size_t instead of unsigned int for memory sizes.
10365         Only cast to unsigned char whenever dereferencing Extbyte *.
10366
10367         * doc.c (unparesseuxify_doc_string): Type correctness.
10368
10369         * console-x.c (split_up_display_spec):
10370         Rewrite without using details of internal string representation.
10371         (x_semi_canonicalize_device_connection): Type correctness.
10372
10373         * config.h.in:
10374         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10375         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10376         (HAVE_XFREE386): Removed.
10377
10378         * buffer.h (DEC_CHARPTR): `const' correctness.
10379         (bufbyte_strcmp): New.
10380         (bufbyte_memcmp): New.
10381
10382         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10383
10384         * buffer.h (XCHAR_OR_CHAR_INT):
10385         Always use inline function.
10386         Remove redundant type checking assert() - XINT will abort quite nicely.
10387
10388 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10389
10390         * search.c (Freplace_match): Set newtext to an empty string.
10391
10392 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10393
10394         * s/decosf1-3.h: Remove #include of stropts.h
10395         * s/ptx.h: Remove #include of stropts.h
10396         * s/usg5-4.h: Remove #include of stropts.h
10397         * sysproc.h:
10398         * config.h.in:
10399         Use stropts.h, not sys/stropts.h.
10400         Use strtio.h, not sys/strtio.h.
10401
10402 2000-10-04  Martin Buchholz <martin@xemacs.org>
10403
10404         * XEmacs 21.2.36 is released.
10405
10406 2000-09-21  Andy Piper  <andy@xemacs.org>
10407
10408         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10409         changes still involve copying the widget tree.
10410         (update_widget_face): make sure a change is register in the widget
10411         tree. Call update_tab_widget_face appropriately.
10412         (update_tab_widget_face): ditto.
10413         (x_tab_control_redisplay): make sure non-structural changes still
10414         involve copying the widget tree.
10415
10416 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10417
10418         * lread.c (locate_file): Check the path element is non-nil.
10419
10420 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10421
10422         * lisp.h: Warning suppression for SCO compilers.
10423
10424         * redisplay-tty.c (reset_tty_modes): Fix crash.
10425         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10426
10427 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10428
10429         Big signal/process handling overhaul.  Bugs fixed:
10430         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10431         M-x comint-kill-subjob should work for both values nil and t of
10432         process-connection-type. It was broken on most platforms.
10433         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10434         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10435         * process-unix.c: Signal/Process handling overhaul.
10436         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10437         (allocate_pty): Use all available modern methods of allocating
10438         ptys, falling back to old style BSD allocation as a last resort.
10439         Use allegedly more secure Unix98 pty allocation by default.
10440         (allocate_pty_the_old_fashioned_way): New. the last resort.
10441         (unix_create_process): Push ptem, ldterm, ttcompat where
10442         available.  Autoconfiscate.
10443         (try_to_initialize_subtty): New.
10444         (unix_kill_child_process): Proper signal handling for ptys on most
10445         platforms, using special knowledge of AIX, BSD, etc...
10446         (unix_create_process): Always disconnect_controlling_terminal() for
10447         subprocesses, whether using ptys or not.
10448         * process.h: Remove old getpt-dependent PTY code.
10449         * process.c (Fprocess_send_signal): New, obvious generic function.
10450         (decode_signal): New.
10451         (Finterrupt_process):
10452         (Fkill_process):
10453         (Fquit_process):
10454         (Fstop_process):
10455         (Fcontinue_process):
10456         (Fsignal_process): Use decode_signal.
10457         (process_send_signal):
10458         Many docstring corrections.
10459         Allow any signal to be sent to a process object.
10460         * config.h.in: Add symbols for big signal/process overhaul.
10461         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10462         * sysproc.h: Include process-related headers, where available:
10463         sys/stropts.h sys/strtio.h pty.h libutil.h
10464         * s/irix4-0.h:
10465         * s/irix5-0.h:
10466         * s/cygwin32.h:
10467         * s/gnu.h:
10468         * s/linux.h:
10469         * s/hpux.h:
10470         * s/aix3-1.h:
10471         Remove old S&M pty stuff.
10472         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10473         * systty.h: Simplify cpp hackery, improve comments.
10474         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10475
10476         * editfns.c (Fformat_time_string):
10477         Be a little more paranoid with the return value of ctime.
10478
10479         * fileio.c (check_executable):
10480         (check_writable):
10481         Use symbolic constants X_OK, W_OK.
10482
10483         * console-x.c (split_up_display_spec): Fix a warning.
10484
10485 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10486
10487         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10488         * ntproc.c (sys_spawnve): make_string ==> build_string
10489         Small clarity improvements.
10490
10491 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10492
10493         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10494
10495         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10496
10497         * config.h.in (HAVE_STRCASECMP): Remove.
10498
10499 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10500
10501         * redisplay-output.c (redisplay_output_pixmap):
10502         Cleaner and possibly more 64-bit correct code.
10503
10504 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10505
10506         * dumper.c (pdump_load_finish): move restoration of
10507         `noninteractive1' to emacs.c (main_1).
10508         * emacs.c (main_1): protect LISP-visible command-line flags
10509         from pdump_load().
10510
10511 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10512
10513         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10514         DUMP_TARGET instead of literal program names.
10515
10516 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10517
10518         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10519
10520 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10521
10522         * *: Spelling mega-patch
10523
10524 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10525
10526         * fns.c (bad_bad_turtle):
10527         Delete "Eek!" comment, since we fixed the bug to which it refers.
10528
10529 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10530
10531         * alloca.c: Replace REGISTER with register.
10532
10533 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10534
10535         * file-coding.c (ucs_to_char): Use countof.
10536
10537 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10538
10539         * file-coding.c: (ucs_to_char):
10540         (complex_vars_of_file_coding):
10541         Use countof instead of sizeof.
10542         Use CHECK_NATNUM instead of CHECK_INT.
10543
10544         * sysdep.c (strcasecmp): Remove.
10545         * device-x.c (ascii_strcasecmp): New.
10546         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10547         Avoid using non-standard non-portable strcasecmp.
10548
10549 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10550
10551         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10552         * font-lock.c: remove reference to emacsfns.h.
10553         * search.c: small doc improvement.
10554         * event-Xt.c: correct file names in comments.
10555         * console-x.h Correct file names in comments.
10556         * frame.c: Correct file names in comments.
10557         * event-stream.c: remove Energize from comments.
10558
10559 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10560
10561         * symeval.h (DEFERROR_STANDARD):
10562         (DEFERROR):
10563         (DEFSYMBOL):
10564         (DEFSYMBOL_NO_DUMP):
10565         (DEFSYMBOL_MULTIWORD_PREDICATE):
10566         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10567         (DEFKEYWORD):
10568         The construct &##name is not sensible C.
10569         Fixes compilation errors with Unixware native compiler.
10570
10571 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10572
10573         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10574         (next_frame_internal): Removed.  We now just have next_frame.
10575         (next_frame):
10576         Write a simpler and cleaner one-pass algorithm.
10577         Remove called_from_delete_device arg and #ifdefed-out code.
10578         (previous_frame):
10579         Renamed from prev_frame.  Update callers.
10580         Cleaned up to have an analogous implementation to next_frame.
10581         (other_visible_frames_internal): Remove the
10582         called_from_delete_device bogus arg, and hence, remove this
10583         function.  Just use other_visible_frames().
10584
10585         * window.c (Fnext_window):
10586         Prettify docstring.
10587         Since next_frame() is guaranteed to return a frame, remove check
10588         for nil inserted in previous patch.
10589         (Fprevious_window):
10590         Prettify docstring.
10591         Make code look more like Fnext_window.
10592         (window_loop):
10593         Respect the `console' arg when iterating through windows.
10594         Fixes bug: (get-buffer-window buffer t device) not respecting
10595         the `device' arg.
10596         This function needs more work, as others have pointed out.
10597
10598         * frame.h: Rename prev_frame to previous_frame.
10599         device_matches_console_spec no longer takes a `frame' arg.
10600
10601         * s/gnu.h:
10602         * s/linux.h:
10603         * s/hpux.h:
10604         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10605         From "Golubev I. N." <gin@mo.msk.ru>.
10606
10607         * make-src-depend: Fix typo.
10608
10609 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10610
10611         * window.c (Fnext_window):
10612         next_frame() might return nil, not a frame.
10613         Fixes this crash:
10614         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10615
10616         * frame.c (next_frame_internal):
10617         We've passed a frame if we've passed its device.
10618         Fixes this crash:
10619         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10620 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10621
10622 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10623
10624         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10625         Allow option to suppress accelerators in menu/dialog items.
10626         (populate_or_checksum_helper): Pass dialog title through above.
10627
10628 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10629
10630         * event-msw.c (mswindows_key_to_emacs_keysym):
10631         Add "pause" key, fix "menu" key.
10632
10633 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10634
10635         * eval.c (reinit_vars_of_eval):
10636         Increase max_lisp_eval_depth to 1000,
10637         required for thai-xtis.el to byte-compile under some circumstances.
10638
10639 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10640
10641         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10642         From Kenichi Handa.
10643
10644 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10645
10646         * make-src-depend: Make the generated Makefiles smaller.
10647
10648         * s/hpux.h (SETUP_SLAVE_PTY):
10649         Provide a %d in the format string for the errno argument.
10650
10651         * editfns.c (Ftemp_directory):
10652         Warning fix.
10653         Avoid buffer overrun on very long file name.
10654
10655         * input-method-xlib.c (XIM_init_device):
10656         6th parameter of XRegisterIMInstantiateCallback has different
10657         pointer types on different OSes, so simply cast to (void *).
10658
10659         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10660
10661         * sysdll.c (dll_open):
10662         shl_load will hang hard if passed a NULL filename.
10663         Simply return NULL for compatibility with dlopen.
10664         * sysdll.c: Conform to XEmacs coding standards.
10665
10666         * sysdep.c (get_pty_max_bytes):
10667         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10668
10669 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10670
10671         * tooltalk.c: Add #include <syssignal.h>
10672
10673 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10674
10675         * s/hpux.h: Don't use undefined function sigunblock().
10676
10677 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10678
10679         * config.h.in: Add HAVE_BALLOON_HELP.
10680         * emacs.c: Use HAVE_BALLOON_HELP.
10681         * Makefile.in.in (x_objs):
10682         Make Balloon Help conditional on finding shape.h.
10683
10684 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10685
10686         * syntax.c (regex_emacs_buffer_p): New variable.
10687         * syntax.h (regex_emacs_buffer_p): extern.
10688         * search.c (looking_at_1):
10689         (string_match_1):
10690         (fast_string_match):
10691         (search_buffer): Set regex_emacs_buffer_p.
10692         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10693         when before_dot, at_dot, after_dot.
10694
10695 2000-08-23  Andy Piper  <andy@xemacs.org>
10696
10697         * gui-x.c (popup_selection_callback): Only set action_occurred
10698         when we really have an image instance.
10699         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10700
10701 2000-08-23  Andy Piper  <andy@xemacs.org>
10702
10703         * gui-msw.c (mswindows_handle_gui_wm_command): set
10704         action_occurred.
10705         * gui-x.c (popup_selection_callback): ditto.
10706
10707         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10708         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10709         (struct Lisp_Image_Instance): add action_occurred flag.
10710
10711         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10712         (image_instance_changed): ditto.
10713         (reset_frame_subwindow_instance_cache): only unmap windows - do
10714         not remove them from the cache also.
10715
10716         * glyphs-widget.c (tab_control_update): better debug.
10717         (progress_gauge_update): ditto.
10718         (layout_update): ditto.
10719         (layout_instantiate): ditto.
10720         (tab_control_order_only_changed): cope with null pending items.
10721
10722         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10723         debug. Force selection of an item when an action occurred. Cope
10724         with null pending_items.
10725         (mswindows_progress_gauge_redisplay): better debug.
10726         * glyphs-x.c (x_tab_control_redisplay): ditto.
10727
10728         * redisplay.c (redisplay_frame): reset the frame cache if the
10729         frame is garbaged.
10730
10731         * window.c (Fset_window_configuration): potentially re-enable
10732         frame cache reset.
10733         (window_unmap_subwindows): need to finalize instances here since
10734         it is only used in mark_window_as_deleted.
10735
10736 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10737
10738         * nas.c (SndOpenDataForReading):
10739         nas.c (WaveOpenDataForReading):
10740         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10741         Somehow escaped from the 2000-08-14 patch.
10742
10743 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10744
10745         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10746         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10747
10748 2000-08-21  Andy Piper  <andy@xemacs.org>
10749
10750         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10751         window if it is not already displayed.
10752
10753         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10754         it is not already displayed.
10755
10756         * window.c (Fset_window_configuration): don't reset the frame
10757         cache.
10758
10759         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10760         instances from the frame cache if we are actually finalizing them.
10761         (reset_frame_subwindow_instance_cache): reset frame cache only
10762         after unmapping everything.
10763         (map_subwindow): set displayed flag after mapping.
10764
10765 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10766
10767         * data.c (indirect_function):
10768         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10769
10770         * eval.c (function_argcount):
10771         Use original function when signaling errors.
10772
10773 2000-08-18  Andy Piper  <andy@xemacs.org>
10774
10775         * frame.c (delete_frame_internal): use new
10776         free_frame_subwindow_instances name.
10777
10778         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10779         (add_tab_item): make return type correct.
10780         (mswindows_tab_control_instantiate): assert index of tab.
10781         (mswindows_tab_control_redisplay): Re-code to use
10782         gui_item_equal_sans_selected and gui_item_list_find_selected.
10783
10784         * glyphs-widget.c (tab_control_update): Correct comment.
10785
10786         * window.c (window_unmap_subwindows): use new
10787         unmap_subwindow_instance_cache_mapper.
10788         (window_unmap_subwindows_cache_mapper): deleted.
10789         (Fset_window_configuration): comparisons should now be with
10790         EQ. Preserve the subwindow instance cache across configuration
10791         changes.
10792         (allocate_window): ditto.
10793         (make_dummy_parent): ditto.
10794
10795         * glyphs.c (free_frame_subwindow_instances): rename from
10796         free_frame_subwindow_instance_cache. finalize all instances rather
10797         than just those in the display cache.
10798         (finalize_all_subwindow_instances): walk windows unmapping and
10799         finalizing subwindows.
10800         (unmap_subwindow_instance_cache_mapper): moved from
10801         window.c. Allow finalization as well as unmapping.
10802
10803         * gui.c (gui_item_list_find_selected): new function.
10804
10805         * gui.h (gui_item_list_find_selected): declare.
10806
10807         * glyphs-x.c (x_tab_control_redisplay): pick tab
10808         explicitly. Re-code to use gui_item_equal_sans_selected and
10809         gui_item_list_find_selected.
10810
10811         * glyphs-x.h: add lwlib-utils.h
10812
10813         * buffer.c (Frecord_buffer): undo previous change.
10814
10815 2000-08-09  Vin Shelton  <acs@xemacs.org>
10816
10817         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10818         possible.  Create temporary files more securely.  The patch was
10819         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10820         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10821         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10822         for details.
10823
10824 2000-08-07  Ben Wing  <ben@xemacs.org>
10825
10826         * getloadavg.c: remove duplicate (and windows-breaking)
10827         includes of fcntl.h and sys/file.h.
10828
10829         * nt.c: remove duplicate getloadavg() definition.
10830
10831         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10832         encodings.
10833
10834 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10835
10836         * eval.c (function_argcount): If function needs to be autoloaded
10837         actually use the loaded definition.
10838         GCPRO function.
10839
10840 2000-08-05  Ben Wing  <ben@xemacs.org>
10841
10842         * getloadavg.c: add prototype for getloadavg().  remove
10843         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10844         of the code).  remove duplicate header includes.
10845
10846         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10847
10848         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10849         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10850         useful load average.
10851
10852         * alloc.c (reinit_alloc_once_early): removed references to
10853         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10854         the lisp vars are the only things referencing the malloc_sbrk_*
10855         vars, and they were already if 0'd out.  these vars only exist
10856         in the older malloc.c, which is basically unused, and they're
10857         only for informational purposes.
10858
10859         * m\*.h: removed useless VIRT_ADDR_VARIES.
10860
10861         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10862
10863 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10864
10865         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10866         color if the image is a mono pixmap.
10867
10868 2000-07-30  Ben Wing  <ben@xemacs.org>
10869
10870         * Makefile.in.in (release):
10871         Remove stray @.
10872
10873         * buffer.c (directory_is_current_directory):
10874         * dired-msw.c (mswindows_get_files):
10875         * dired.c:
10876         * dired.c (Fdirectory_files):
10877         * dired.c (file_name_completion_stat):
10878         * dired.c (Ffile_attributes):
10879         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10880         preprocessor tricks, to avoid problems on some machines
10881         (e.g. SCO).
10882
10883         * callproc.c (egetenv): GC docs.
10884
10885         * console-msw.h:
10886         * console-msw.h (struct mswindows_dialog_id):
10887         * lrecord.h (lrecord_type):
10888         New object for use with MSW dialogs.
10889
10890         * console.h (struct console_methods):
10891         New enable/disable frame methods, for proper modal dialogs.
10892
10893         * device-msw.c (msprinter_default_printer): Fix to follow
10894         proper Mule conventions.
10895
10896         * device-msw.c:
10897         * device-msw.c (signal_open_printer_error):
10898         * device-msw.c (msprinter_init_device):
10899         * device-msw.c (ensure_not_printing):
10900         * device-msw.c (plist_get_margin):
10901         * device-msw.c (Fmsprinter_select_settings):
10902         * device-msw.c (finalize_devmode):
10903         * device-msw.c (Fmsprinter_settings_despecialize):
10904         * device-msw.c (signal_enum_priner_error):
10905         * extents.c (decode_extent):
10906         * extents.c (decode_map_extents_flags):
10907         * extents.c (decode_extent_at_flag):
10908         * extents.c (Fextent_at):
10909         * extents.c (Fextents_at):
10910         * extents.c (symbol_to_glyph_layout):
10911         [[[[2]]]] Use structured errors.
10912
10913         * dialog-msw.c:
10914         * dialog-msw.c (mswindows_is_dialog_msg):
10915         * dialog-msw.c (mark_mswindows_dialog_id):
10916         * dialog-msw.c (dialog_proc):
10917         * dialog-msw.c (handle_question_dialog_box):
10918         * dialog-msw.c (syms_of_dialog_mswindows):
10919         Define new object to clean up marking; use it as a dialog identifier.
10920         Call new delete-dialog-box-hook.
10921
10922         * dialog-x.c (dbox_selection_callback):
10923         * dialog-x.c (dbox_descriptor_to_widget_value):
10924         * dialog-x.c (x_make_dialog_box_internal):
10925         Call new delete-dialog-box-hook.
10926         Return an id.
10927
10928         * dialog.c:
10929         * dialog.c (syms_of_dialog):
10930         * dialog.c (vars_of_dialog):
10931         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10932
10933         * eval.c:
10934         * eval.c (signal_call_debugger):
10935         when noninteractive, output stack traces on the console instead
10936         of in a (never-seen) buffer.
10937
10938         * eval.c (signal_type_error):
10939         * eval.c (invalid_argument_2):
10940         * lisp.h:
10941         new funs for use w/structured errors.
10942
10943         * event-Xt.c:
10944         * event-Xt.c (x_to_emacs_keysym):
10945         * event-Xt.c (describe_event):
10946         * event-Xt.c (emacs_Xt_event_handler):
10947         * event-Xt.c (vars_of_event_Xt):
10948         * event-msw.c:
10949         * event-msw.c (mswindows_wnd_proc):
10950         * event-msw.c (vars_of_event_mswindows):
10951         rename {x,mswindows}-debug-events to debug-{}-events for
10952         consistency with other debug-foo variables.
10953
10954         * event-stream.c:
10955         document next-event more clearly.
10956
10957         * fileio.c (Ffile_name_directory):
10958         * fileio.c (Ffile_name_nondirectory):
10959         * fileio.c (Funhandled_file_name_directory):
10960         * fileio.c (file_name_as_directory):
10961         * fileio.c (Ffile_name_as_directory):
10962         * fileio.c (directory_file_name):
10963         * fileio.c (Fdirectory_file_name):
10964         * fileio.c (Fmake_temp_name):
10965         * fileio.c (Ffile_truename):
10966         * fileio.c (Fsubstitute_in_file_name):
10967         * fileio.c (expand_and_dir_to_file):
10968         * fileio.c (barf_or_query_if_file_exists):
10969         * fileio.c (check_executable):
10970         * fileio.c (Ffile_exists_p):
10971         * fileio.c (Ffile_writable_p):
10972         * fileio.c (Ffile_directory_p):
10973         * fileio.c (Ffile_regular_p):
10974         * fileio.c (Ffile_modes):
10975         * fileio.c (Ffile_newer_than_file_p):
10976         * fileio.c (Fverify_visited_file_modtime):
10977         * fileio.c (Fset_visited_file_modtime):
10978         * fileio.c (auto_save_1):
10979         (1). (2).
10980         fix up gcpro's.
10981
10982         * frame-msw.c:
10983         * frame-msw.c (mswindows_init_frame_1):
10984         * frame-msw.c (mswindows_enable_frame):
10985         * frame-msw.c (error_frame_unsizable):
10986         * frame-msw.c (msprinter_init_frame_1):
10987         * frame-msw.c (msprinter_init_frame_3):
10988         * frame-msw.c (console_type_create_frame_mswindows):
10989         (2).
10990         implement new enable/disable frame methods.
10991
10992         * frame-x.c:
10993         * frame-x.c (x_enable_frame):
10994         * frame-x.c (console_type_create_frame_x):
10995         implement new enable/disable frame methods.
10996
10997         * frame.c:
10998         * frame.c (Fdisable_frame):
10999         * frame.c (syms_of_frame):
11000         * frame.h (struct frame):
11001         implement new enable/disable frame methods/functions.
11002
11003         * general-slots.h:
11004         add initial-focus.
11005
11006         * glyphs-msw.c (mswindows_widget_instantiate):
11007         comment that initial-focus should be implemented.
11008
11009         * glyphs-widget.c:
11010         * glyphs-widget.c (check_valid_instantiator):
11011         * glyphs-widget.c (check_valid_orientation):
11012         * glyphs-widget.c (check_valid_tab_orientation):
11013         * glyphs-widget.c (check_valid_justification):
11014         * glyphs-widget.c (check_valid_border):
11015         * glyphs-widget.c (check_valid_callback):
11016         * glyphs-widget.c (check_valid_int_or_function):
11017         * glyphs-widget.c (check_valid_string_or_vector):
11018         * glyphs-widget.c (check_valid_item_list_1):
11019         * glyphs-widget.c (widget_validate):
11020         * glyphs-widget.c (combo_box_validate):
11021         * glyphs-widget.c (widget_instantiate):
11022         * glyphs-widget.c (syms_of_glyphs_widget):
11023         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11024         * glyphs-widget.c (image_instantiator_combo_box):
11025         * glyphs-widget.c (image_instantiator_scrollbar):
11026         * glyphs-widget.c (image_instantiator_tab_control):
11027         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11028         (2).
11029         support (unimplemented) keyword initial-focus.
11030         reindent long macros.
11031
11032         * glyphs-x.c (x_redisplay_widget):
11033         * glyphs-x.c (x_button_instantiate):
11034         * glyphs-x.c (x_button_redisplay):
11035         * glyphs-x.c (x_progress_gauge_instantiate):
11036         * glyphs-x.c (x_edit_field_instantiate):
11037         * glyphs-x.c (x_combo_box_instantiate):
11038         * glyphs-x.c (x_tab_control_instantiate):
11039         * glyphs-x.c (x_label_instantiate):
11040         * gui-x.c:
11041         * gui-x.c (button_item_to_widget_value):
11042         * gui-x.c (gui_items_to_widget_values_1):
11043         * gui-x.c (gui_item_children_to_widget_values):
11044         * gui-x.c (gui_items_to_widget_values):
11045         * gui-x.h:
11046         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11047         add new flag to gui-parsing routines to indicate whether
11048         accelerator specs should be supported.
11049
11050         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11051
11052         * glyphs.h (struct Lisp_Image_Instance):
11053         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11054         add initial-focus flag.
11055
11056         * gui.c:
11057         * gui.c (syms_of_gui):
11058         * gui.c (vars_of_gui):
11059         clean up menu-no-selection-hook.
11060
11061         * gui.h:
11062         support delete-dialog-box-hook.
11063
11064         * lread.c (Fload_internal):
11065         * lread.c (locate_file_in_directory_mapper):
11066         (1).
11067
11068         * lrecord.h:
11069         * lrecord.h (struct toolbar_button):
11070         * lrecord.h (syms_of_toolbar):
11071         document how to create a new object.
11072
11073         * menubar-msw.c (mswindows_char_is_accelerator):
11074         may be called on frames w/o menus.
11075
11076         * menubar.c (vars_of_menubar):
11077         clean up :filter docs.
11078
11079         * nt.c (readdir):
11080         * ntproc.c:
11081         (1).
11082
11083         * process-nt.c:
11084         * process-nt.c (validate_signal_number):
11085         * process-nt.c (signal_cannot_launch):
11086         * process-nt.c (nt_create_process):
11087         * process-nt.c (nt_send_process):
11088         * process-nt.c (nt_kill_child_process):
11089         * process-nt.c (nt_open_network_stream):
11090         * process-nt.c (syms_of_process_nt):
11091         (2).
11092         delete quote-handling.  call new lisp code that does it better.
11093
11094         * process-unix.c (connect_to_file_descriptor):
11095         * process-unix.c (allocate_pty):
11096         * process-unix.c (unix_send_process):
11097         * process-unix.c (unix_kill_child_process):
11098         * process-unix.c (unix_open_network_stream):
11099         * process-unix.c (unix_open_multicast_group):
11100         (1). (2).
11101
11102         * process.c:
11103         * process.c (Fstart_process_internal):
11104         (2).  need to canonicalize process path even if absolute.
11105
11106         * select-msw.c (symbol_to_ms_cf):
11107         * select-msw.c (ms_cf_to_symbol):
11108         * select-msw.c (cf_is_autofreed):
11109         * select-msw.c (mswindows_destroy_selection):
11110         * select.c:
11111         * select.c (syms_of_select):
11112         * select.h:
11113         support dibv5, fix bugs. (from Mike Alexander)
11114
11115         * select.c (Fget_selection_internal):
11116         * select.c (select_convert_out):
11117
11118         * sysdep.c:
11119         * sysdep.c (xemacs_stat):
11120         renamed.
11121
11122         * sysdep.c (mkdir):
11123         * sysdep.c (rmdir):
11124         but keep original stat() here because we provide encapsulation
11125         around these funs.
11126
11127         * sysfile.h:
11128         * sysfile.h (fstat):
11129         remove stat garbage.
11130
11131         * syswindows.h:
11132         fix X/MSW conflict.
11133         don't include tchar.h.  it's inappropriate because it makes
11134         compile-time distinctions when we want runtime distinctions.
11135         (we provide our own tchar replacements)
11136
11137         * toolbar.c:
11138         use default object printer for toolbar-button.
11139
11140         * unexcw.c:
11141         make sure we don't encapsulate.
11142
11143         * window.c (vars_of_window):
11144         emphasize that temp-buffer-show-hook is obsolete.
11145
11146 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11147
11148         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11149         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11150
11151         * events.c (Fevent_timestamp_lessp):
11152         Not 64-bit clean.  Use EMACS_INT, not int.
11153
11154 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11155
11156         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11157         unsigned int and changed the last enum to
11158         lrecord_type_last_built_in_type.
11159         (lrecord_implementations_table): changed prototype to know how
11160         long the array is supposed to be.
11161         (lrecord_type_count): new unsigned int to keep track of the
11162         current number of lisp lrecord types.
11163         (DEFINE_EXTERNAL_LRECORD):
11164         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11165         dynamic-modules to declare new lisp types. They are the same
11166         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11167         int for each new type, and increment lrecord_type_count by 1.
11168
11169         * alloc.c (lrecord_implementations_table): Changed to reference
11170         lrecord_type_last_built_in_type for the size of the array.
11171         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11172
11173 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11174
11175         * glyphs.h (check_valid_item_list): Renamed from
11176         check_valid_item_list_1.
11177
11178 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11179
11180         * select.c (Qselect_coerce): New.
11181         * select.c (Vselection_coercion_alist): New.
11182         * select.c (syms_of_select): Declare.
11183         * select.c (get-selection-internal): Use it.
11184         Use the new select-coerce functionality.
11185
11186         * select.c (select_coerce): New.
11187         * select.h (select_coerce): Declare.
11188         New function to coerce one type of data into another.
11189
11190 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11191
11192         * callproc.c (Fcall_process_internal):
11193         (Fcall_process_internal):
11194         * process-unix.c (unix_create_process):
11195         Save and restore the value of errno, so that error messages are accurate.
11196
11197 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11198
11199         * elhash.c (print_hash_table):
11200         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11201         Prettify docstrings and indentation.
11202
11203 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11204
11205         * window.c (Fwindow_pixel_edges): Subtract frame border and
11206         gutter size.
11207
11208 2000-07-31  Andy Piper  <andy@xemacs.org>
11209
11210         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11211         will acknowledge the change.
11212
11213         * glyphs.h: declare tab_control_order_only_changed.
11214
11215         * glyphs-x.c (x_tab_control_redisplay): use
11216         tab_control_order_only_changed.
11217
11218         * glyphs-widget.c (tab_control_order_only_changed): new function.
11219
11220         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11221         tab_control_order_only_changed.
11222
11223         * gui.c (gui_item_equal_sans_selected): new function.
11224         (gui_item_equal): use it.
11225
11226         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11227         :properties in favor of :items..
11228
11229         * glyphs-widget.c (check_valid_item_list): rename from
11230         check_valid_item_list_1.
11231         (check_valid_item_list_1): renamed.
11232         (combo_box_validate): deprecate :properties in favor of :items.
11233         (widget_instantiate): ditto.
11234         (tab_control_update): ditto.
11235         (image_instantiator_combo_box): ditto.
11236         (image_instantiator_tree_view): ditto.
11237         (image_instantiator_tab_control): ditto.
11238         (layout_post_instantiate): remove dead code.
11239
11240         * print.c (debug_print_no_newline): only write to debugger if in
11241         WIN32_NATIVE.
11242
11243         * elhash.c (Fmake_hash_table): update doc string.
11244
11245         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11246         messages whilst in GC. This at least stops XEmacs crashing but has
11247         the potential for wierd behaviour.
11248
11249 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11250
11251         * config.h.in:
11252         Make existence of s&m files optional.
11253
11254         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11255         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11256         * s/gnu.h: Remove HAVE_GETLOADAVG.
11257         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11258         * s/sol2.h: Remove HAVE_GETLOADAVG.
11259         * lisp.h: Remove getloadavg() declaration.
11260         * fns.c:
11261         Include <sys/loadavg.h> if available.
11262         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11263         * config.h.in:  Group together getloadavg()-related macros.
11264         Use only configure-time tests to detect getloadavg().
11265
11266 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11267
11268         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11269
11270 2000-07-25  Andy Piper  <andy@xemacs.org>
11271
11272         * syswindows.h: add tchar.h for native builds.
11273
11274         * frame.c (syms_of_frame): remove set-glyph-image.
11275
11276         * general-slots.h: add Qset_glyph_image.
11277
11278         * glyphs-widget.c (layout_update): add domain arg to
11279         set-glyph-image.
11280         (syms_of_glyphs_widget): remove set-glyph-image.
11281
11282 2000-07-23  Ben Wing  <ben@xemacs.org>
11283
11284         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11285         Vpopup_frame_list.
11286
11287 2000-07-22  Andy Piper  <andy@xemacs.org>
11288
11289         * symsinit.h: add syms_of_win32().
11290
11291         * gui-msw.c (syms_of_gui_mswindows): remove
11292         Fmswindows_shell_execute.
11293         (Fmswindows_shell_execute): moved to win32.c.
11294
11295         * emacs.c (main_1): add syms_of_win32 ().
11296
11297         * win32.c (init_potentially_nonexistent_functions): rewrite in
11298         compiler-friendly terms.
11299         (Fmswindows_shell_execute): move here from gui-msw.c.
11300         (syms_of_win32): new.
11301
11302         * device-msw.c (Fmswindows_printer_list): clean up args to
11303         EnumPrinters.
11304         Don't include tchar under cygwin or mingw.
11305         (msprinter_default_printer): make cygwin-friendly.
11306
11307 2000-07-21  Andy Piper  <andy@xemacs.org>
11308
11309         * glyphs-widget.c (image_instantiator_tree_view): use tab
11310         control's update function.
11311         (layout_property): new function. Retrieve items.
11312
11313         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11314         function. Re-populate the tree view from the pending items.
11315
11316         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11317         is designated the parent if the domain is an image instance. This
11318         is needed so that dirtiness can be cascade up the hierarchy and
11319         thus for layout children to be redisplayed correctly.
11320         (allocate_image_instance): rename glyph -> parent.
11321
11322         * redisplay.h: change redisplay_output_layout signature.
11323
11324         * redisplay-msw.c (mswindows_output_display_block): use domain
11325         arg.
11326
11327         * redisplay-x.c (x_output_display_block): use domain arg.
11328
11329 2000-07-10  Andy Piper  <andy@xemacs.org>
11330
11331         * window.c (Fset_window_configuration): add comment.
11332
11333         * redisplay-output.c (compare_runes):
11334         (redisplay_output_subwindow): redisplay rather than update subwindow.
11335         (redisplay_output_layout): ditto.
11336
11337         * redisplay-msw.c (mswindows_frame_output_end):
11338         (mswindows_frame_output_end): make defer window pos optional.
11339
11340         * lisp.h: add Flast.
11341
11342         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11343         normalize method. Change update method to be for changed
11344         instantiators. Add redisplay method. Change signature of layout
11345         method.
11346         (struct Lisp_Image_Instance): add instantiator.
11347         (IMAGE_INSTANCE_INSTANTIATOR): new.
11348         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11349         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11350         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11351
11352         * glyphs.c:
11353         (find_instantiator_differences): new function.
11354         (Fset_instantiator_property): new convenience function.
11355         (check_image_instance_structure): strictly check for vector
11356         instantiators.
11357         (normalize_image_instantiator): make non-static.
11358         (instantiate_image_instantiator): pass on dest_mask and use new
11359         signatures for image_instance_layout and friends.
11360         (mark_image_instance): mark the instantiator. Mark the subwindow
11361         face not the widget face.
11362         (image_instance_equal): add instantiator.
11363         (image_instance_hash): ditto.
11364         (allocate_image_instance): ditto.
11365         (Fset_image_instance_property): removed.
11366         (Fimage_instance_file_name): ditto.
11367         (Fcolorize_image_instance): ditto.
11368         (image_instance_layout): add offsets to be set.
11369         (update_image_instance): new function. update an image instance
11370         from its changed instantiator.
11371         (inherit_normalize): add dest_mask.
11372         (xbm_normalize): ditto.
11373         (xface_normalize): ditto.
11374         (xpm_normalize): ditto.
11375         (text_update): set_property -> update.
11376         (image_instantiate): use the glyph identity as a hash key, not the
11377         instantiator.
11378         (glyph_width): use new image_instance_layout signature.
11379         (glyph_ascent): ditto.
11380         (glyph_descent): ditto.
11381         (glyph_height): ditto.
11382         (glyph_query_geometry): ressurrect.
11383         (glyph_layout): ditto.
11384         (redisplay_subwindow): update -> redisplay.
11385         (syms_of_glyphs): add Fset_instantiator_property.
11386         (image_instantiator_format_create): set_property -> update.
11387
11388         * glyphs-x.c:
11389         (autodetect_normalize): add dest_maks to signature.
11390         (x_redisplay_subwindow): update -> redisplay.
11391         (x_redisplay_widget): ditto.
11392         (x_button_redisplay): ditto.
11393         (x_progress_gauge_redisplay): ditto.
11394         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11395         stacking order.
11396         (console_type_create_glyphs_x): update -> redisplay.
11397         (image_instantiator_format_create_glyphs_x): ditto.
11398
11399         * glyphs-widget.c:
11400         (check_valid_instantiator): disallow glyphs in the instantiator,
11401         they must now be vectors.
11402         (check_valid_instantiator_list): ditto.
11403         (glyph_instantiator_to_glyph): use internal symbol rather than
11404         intern.
11405         (widget_update): renamed from widget_set_property. Call cascaded
11406         update methods.
11407         (redisplay_widget): renamed from update_widget.
11408         (widget_layout): image_instance_layout now takes position as well
11409         as size.
11410         (widget_normalize): ditto.
11411         (widget_instantiate): ditto.
11412         (tab_control_query_geometry) ditto.:
11413         (tab_control_update): renamed from tab_control_set_property.
11414         (progress_gauge_update): set_property -> update.
11415         (layout_normalize): rewrite so that child instantiators are
11416         normalized also.
11417         (layout_update): new function. Create glyphs from the normalized
11418         children and cope with any other layout keywords. We do not
11419         instantiate children here that will be take care of by
11420         redisplay_output_layout.
11421         (layout_instantiate): call layout_update and not much else.
11422         (layout_post_instantiate): not sure whether this is needed
11423         anymore.
11424         (layout_query_geometry): query glyph geometry rather than
11425         image_instance geometry.
11426         (layout_layout): set offsets from pass in parameters. Use glyph
11427         geometry and layout functions rather than image instance ones.
11428         (native_layout_layout): ditto.
11429         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11430         (image_instantiator_widget): set_property -> update.
11431         (image_instantiator_buttons): ditto.
11432         (image_instantiator_progress_guage): ditto.
11433         (image_instantiator_tab_control): ditto.
11434         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11435         (image_instantiator_layout): add update method.
11436
11437         * glyphs-msw.c (bmp_normalize):
11438         (mswindows_resource_normalize): add dest_mask so that it can be
11439         proprogated by layout_normalize.
11440         (begin_defer_window_pos): make optional because it may not be the
11441         right thing to do and it introduces differences with X.
11442         (mswindows_unmap_subwindow): ditto.
11443         (mswindows_map_subwindow): ditto.
11444         (mswindows_redisplay_subwindow): renamed from
11445         mswindows_update_subwindow.
11446         (mswindows_redisplay_widget): ditto.
11447         (mswindows_button_redisplay): renamed from
11448         mswindows_button_update. Update is now what the instantiation
11449         function does for a changed instantiator.
11450         (mswindows_progress_gauge_instantiate): set the progress value
11451         here if appropriate.
11452         (mswindows_tab_control_redisplay): cope with re-ordering of the
11453         members of the tab widget by simply selecting the new top
11454         widget. This makes things appear ok if you click on a tab.
11455         (mswindows_combo_box_instantiate): image_instance_layout now takes
11456         position as well as size.
11457         (mswindows_progress_gauge_redisplay): renamed from
11458         mswindows_progress_gauge_update.
11459         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11460         (image_instantiator_format_create_glyphs_mswindows): ditto.
11461
11462         * glyphs-eimage.c (jpeg_normalize):
11463         (gif_normalize):
11464         (png_normalize):
11465         (tiff_normalize): add dest_mask so that it can be proprogated by
11466         layout_normalize.
11467
11468         * elhash.c:
11469         (print_hash_table):
11470         (hash_table_weakness_validate):
11471         (decode_hash_table_weakness):
11472         (Fhash_table_weakness):
11473         (Fhash_table_type):
11474         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11475
11476         * console.h (struct console_methods): move update_* to
11477         redisplay_*.
11478
11479 2000-07-20  Ben Wing  <ben@xemacs.org>
11480
11481         * *.[ch] (XSETOBJ): remove unused middle argument.
11482         lisp-disunion.h: correct wrap_object() to one argument.
11483
11484 2000-07-15  Ben Wing  <ben@xemacs.org>
11485
11486         * s/cygwin32.h:
11487         * s/cygwin32.h (CYGWIN_CONV_PATH):
11488         Add missing logb prototype for v1.1.
11489         Use post-b20 names and alias to pre-b20 names when pre-b20.
11490
11491         * s/windowsnt.h: [5].
11492
11493 2000-07-15  Ben Wing  <ben@xemacs.org>
11494
11495         * Makefile.in.in (x_objs):
11496         * Makefile.in.in (sheap_objs):
11497         * Makefile.in.in (objs):
11498         added win32.o, cosmetic cleanups.
11499
11500         * alloc.c (Fmake_byte_code):
11501         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11502         etc. macros which declare their own args now.
11503
11504         * alloc.c (syms_of_alloc):
11505         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11506
11507         * buffer.c:
11508         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11509
11510         * buffer.c (Fget_file_buffer):
11511         Fixed GCPRO problem.
11512
11513         * buffer.c (get_truename_buffer):
11514         Fixed comment about GC checking.
11515
11516         * buffer.c (syms_of_buffer):
11517         Undeclared those dedicated frame funs.
11518         [2].
11519
11520         * buffer.h:
11521         Define convenience macros for internal/external conversions.
11522         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11523         and Qenvironment_variable_encoding for cleaner code.
11524
11525         * bufslots.h:
11526         Remove dedicated-frame; in lisp.
11527
11528         * bytecode.c (funcall_compiled_function):
11529         [1].
11530
11531         * bytecode.c (syms_of_bytecode):
11532         [2].
11533
11534         * console-msw.c:
11535         * console-msw.c (mswindows_show_console): Rewrote.
11536
11537         * console-msw.c (Fmswindows_debugging_output): New.
11538         Sends to OutputDebugString (special MSWin debugger interface).
11539
11540         * console-msw.c (Fmswindows_message_box):
11541         Fixed stupid bugs so it works when called from kill-emacs.
11542
11543         * console-msw.c (syms_of_console_mswindows):
11544         Declare Fmswindows_debugging_output.
11545
11546         * console-msw.h:
11547         New MSWin prototypes.
11548
11549         * console-msw.h (struct mswindows_frame):
11550         New entry last-click-mods for improved button-modifier support.
11551
11552         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11553         New struct entry `popup' with corresponding accessor.
11554
11555         * console-x.c:
11556         * console-x.c (split_up_display_spec):
11557         * console-x.c (get_display_arg_connection):
11558         * console-x.c (x_semi_canonicalize_console_connection):
11559         * console-x.c (x_canonicalize_device_connection):
11560         [[[6]]]: Change char to more specific type.
11561         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11562
11563         * console-x.c (x_semi_canonicalize_console_connection):
11564         * console-x.c (x_canonicalize_device_connection):
11565         [[[9]]]: Fix up error signalling to use new structured error system.
11566
11567         * console-x.h:
11568         [[[4]]]: Define codesys aliases:
11569         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11570         Qx_color_name_encoding, Qx_display_name_encoding.
11571
11572         * console.h (struct console_methods):
11573         New method make_dialog_box_internal supersedes older
11574         popup_dialog_box method.
11575
11576         * data.c:
11577         Define many new errors, part of new structured errors.
11578
11579         * data.c (init_errors_once_early):
11580         * data.c (syms_of_data):
11581         [2].
11582
11583         * device-msw.c (mswindows_init_device):
11584         [[[5]]]: Cleanup to support NT 3.51.
11585
11586         * device-msw.c (decode_devmode): Cleanup.
11587
11588         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11589         * device-msw.c (mswindows_handle_print_dialog_box):
11590         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11591         * device-msw.c (syms_of_device_mswindows):
11592         Delete the dialog box primitives recently introduced by Kirill and
11593         instead interface to general dialog box interface.
11594
11595         * device-x.c:
11596         * device-x.c (compute_x_app_name):
11597         * device-x.c (x_init_device):
11598         * device-x.c (Fx_valid_keysym_name_p):
11599         * device-x.c (Fx_set_font_path):
11600         [6].
11601         [7].
11602
11603         * device.h (wrap_device): New.
11604         First of its kind; meant to replace XSETDEVICE.
11605
11606         * dialog-msw.c: Many file-dialog symbols.
11607
11608         * dialog-msw.c (mswindows_register_popup_frame): New.
11609         * dialog-msw.c (mswindows_is_dialog_msg): New.
11610         For supporting kbd traversal in dialog boxes.
11611
11612         * dialog-msw.c (dialog_proc):
11613         Support hitting ESC in dialogs.
11614
11615         * dialog-msw.c (struct):
11616         Common dialog box errors.
11617
11618         * dialog-msw.c (handle_file_dialog_box): New.
11619         Add file dialog code.
11620
11621         * dialog-msw.c (handle_question_dialog_box):
11622         Redo existing code to support new question dialog syntax.
11623
11624         * dialog-msw.c (console_type_create_dialog_mswindows):
11625         We support new dialog console method.
11626
11627         * dialog-msw.c (syms_of_dialog_mswindows):
11628         * dialog-msw.c (vars_of_dialog_mswindows):
11629         New file dialog symbols, vars.
11630
11631         * dialog-x.c:
11632         * dialog-x.c (maybe_run_dbox_text_callback):
11633         * dialog-x.c (dbox_descriptor_to_widget_value):
11634         * dialog-x.c (x_make_dialog_box_internal):
11635         * dialog-x.c (console_type_create_dialog_x):
11636         Mule-ize entire file.
11637         Redo to support question dialog syntax.
11638         [6].
11639
11640         * dialog.c:
11641         * dialog.c (Fmake_dialog_box_internal):
11642         * dialog.c (syms_of_dialog):
11643         Kill old popup-dialog-box, replace with new primitive.
11644         Just call device method or signal error.
11645
11646         * eldap.c (Fldap_open):
11647         * eldap.c (Fldap_search_basic):
11648         * eldap.c (Fldap_add):
11649         * eldap.c (Fldap_modify):
11650         [1].
11651         [7].
11652
11653         * emacs.c:
11654         * emacs.c (make_arg_list_1):
11655         * emacs.c (make_arg_list):
11656         Mule-ize call to dll_init().
11657         [6].
11658         [8].
11659
11660         * emacs.c (make_argc_argv):
11661         * emacs.c (free_argc_argv):
11662         * emacs.c (init_cmdargs):
11663         * emacs.c (main_1):
11664         * emacs.c (Fkill_emacs):
11665         * emacs.c (Fdump_emacs):
11666         Update comments about what can be used in syms_* etc.
11667         Call init_win32() when necessary.
11668         Fix up MS Win dialog box in kill-buffer to actually work right.
11669         [7].
11670
11671         * eval.c:
11672         * eval.c (For):
11673         * eval.c (Fand):
11674         * eval.c (Fprogn):
11675         * eval.c (Fprog1):
11676         * eval.c (Fprog2):
11677         * eval.c (FletX):
11678         * eval.c (Flet):
11679         * eval.c (condition_case_3):
11680         * eval.c (Feval):
11681         * eval.c (function_argcount):
11682         * eval.c (funcall_lambda):
11683         [1].
11684
11685         * eval.c (type_error): New.
11686         * eval.c (maybe_type_error): New.
11687         * eval.c (continuable_type_error): New.
11688         * eval.c (maybe_continuable_type_error): New.
11689         * eval.c (type_error_with_frob): New.
11690         * eval.c (maybe_type_error_with_frob): New.
11691         * eval.c (continuable_type_error_with_frob): New.
11692         * eval.c (maybe_continuable_type_error_with_frob): New.
11693         New functions for use with structured errors.
11694
11695         * event-Xt.c:
11696         * event-Xt.c (x_event_to_emacs_event):
11697         Buttons are now modifiers too.
11698
11699         * event-Xt.c (emacs_Xt_current_event_timestamp):
11700         Implement new event method.
11701         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11702
11703         * event-msw.c:
11704         * event-msw.c (ntpipe_shove_writer): [5].
11705         * event-msw.c (mswindows_enqueue_mouse_button_event):
11706         * event-msw.c (mswindows_drain_windows_queue):
11707         * event-msw.c (mswindows_wnd_proc): [7].
11708         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11709         * event-msw.c (mswindows_modifier_state):
11710         Throughout: support new button modifiers.
11711
11712         * event-msw.c (emacs_mswindows_current_event_timestamp):
11713         Implement new event method.
11714         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11715
11716         * event-stream.c:
11717         * event-stream.c (event_stream_current_event_timestamp): New.
11718         * event-stream.c (maybe_kbd_translate): New functionality.
11719         * event-stream.c (vars_of_event_stream):
11720         Document new kbd-translate-table functionality.
11721
11722         * event-stream.c (Fcurrent_event_timestamp): New.
11723         New primitive for use in fabricated events.
11724         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11725
11726         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11727
11728         * events.c:
11729         * events.c (Fmake_event):
11730         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11731         [1].
11732         [9].
11733
11734         * events.c (format_event_object): fix gcc warnings.
11735
11736         * events.c (Fevent_timestamp): Document new primitives.
11737
11738         * events.c (TIMESTAMP_HALFSPACE): New.
11739
11740         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11741         comparing timestamps correctly (half-space algorithm).
11742
11743         * events.c (Fevent_modifier_bits): Doc fix.
11744
11745         * events.c (Fevent_modifiers): Major doc addition.
11746         * events.c (event_x_y_pixel_internal): Typo fix.
11747         * events.c (syms_of_events): Declare new primitives.
11748
11749         * events.h:
11750         Update long comment for button modifiers, timestamps.
11751
11752         * events.h (struct event_stream):
11753         New current_event_timestamp method.
11754
11755         * extents.c:
11756         * extents.c (extent_in_region_p):
11757         * extents.c (decode_extent):
11758         * extents.c (Fset_extent_parent):
11759         * extents.c (decode_map_extents_flags):
11760         Fix gcc warnings.
11761         [9].
11762
11763         * extents.c (struct extent_at_arg):
11764         * extents.c (decode_extent_at_flag):
11765         * extents.c (extent_at_mapper):
11766         * extents.c (extent_at_bytind):
11767         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11768         * extents.c (Fextents_at): New primitive. [9].
11769         * extents.c (symbol_to_glyph_layout): [9].
11770         Support new primitive `extents-at'.
11771
11772
11773         * extents.c (get_text_property_bytind):
11774         extent_at_bytind has another arg.
11775         [9].
11776
11777         * extents.c (syms_of_extents): New primitive.
11778
11779         * file-coding.c (Fmake_coding_system): [1].
11780         * file-coding.c (subsidiary_coding_system): fix gcc warning
11781         * file-coding.c (syms_of_file_coding): [2].
11782
11783         * fileio.c (Fexpand_file_name):
11784         * fileio.c (Fsysnetunam):
11785         * fileio.c (Ffile_exists_p):
11786         * fileio.c (Ffile_executable_p):
11787         * fileio.c (Fverify_visited_file_modtime):
11788         Clean up GCPROing.
11789
11790         * fileio.c (syms_of_fileio): [2].
11791
11792         * filelock.c (lock_file_1):
11793         * filelock.c (current_lock_owner):
11794         * filelock.c (lock_if_free):
11795         * filelock.c (lock_file):
11796         * filelock.c (unlock_file):
11797         Clean up GCPROing.
11798
11799         * fns.c (concat): Fix gcc warning.
11800
11801         * fns.c (Fmember):
11802         * fns.c (Fold_member):
11803         * fns.c (Fmemq):
11804         * fns.c (Fold_memq):
11805         * fns.c (memq_no_quit):
11806         * fns.c (Fassoc):
11807         * fns.c (Fold_assoc):
11808         * fns.c (Fassq):
11809         * fns.c (Fold_assq):
11810         * fns.c (assq_no_quit):
11811         * fns.c (Frassoc):
11812         * fns.c (Fold_rassoc):
11813         * fns.c (Frassq):
11814         * fns.c (Fold_rassq):
11815         * fns.c (rassq_no_quit):
11816         * fns.c (Fdelete):
11817         * fns.c (Fold_delete):
11818         * fns.c (Fdelq):
11819         * fns.c (Fold_delq):
11820         * fns.c (delq_no_quit):
11821         * fns.c (Fremassoc):
11822         * fns.c (Fremassq):
11823         * fns.c (remassq_no_quit):
11824         * fns.c (Fremrassoc):
11825         * fns.c (Fremrassq):
11826         * fns.c (remrassq_no_quit):
11827         * fns.c (Freverse):
11828         * fns.c (mapcar1):
11829         [1].
11830
11831         * frame-msw.c (mswindows_init_frame_1):
11832         * frame-msw.c (mswindows_delete_frame):
11833         Register popups with dialog code so keyboard traversing works.
11834
11835         * frame-tty.c (tty_raise_frame_no_select): [1].
11836
11837         * frame-x.c:
11838         * frame-x.c (x_set_frame_text_value):
11839         * frame-x.c (x_set_frame_properties):
11840         * frame-x.c (x_create_widgets):
11841         [7].
11842
11843         * frame.c:
11844         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11845
11846         * frame.h (wrap_frame): New.
11847         Macro like wrap_device.
11848
11849         * general.c:
11850         * general.c (SYMBOL):
11851         * general.c (syms_of_general):
11852         Major reorg.  This is now just a wrapper and symbols themselves
11853         are listed in general-slots.h.
11854
11855         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11856         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11857
11858         * glyphs-msw.c (mswindows_native_layout_instantiate):
11859         Add DS_CONTROL so keyboard traversal will work.
11860
11861         * glyphs-widget.c:
11862         * glyphs-widget.c (syms_of_glyphs_widget):
11863         Move some symbols to general-slots.h.
11864
11865         * glyphs-x.c:
11866         * glyphs-x.c (xbm_instantiate_1):
11867         * glyphs-x.c (x_xbm_instantiate):
11868         * glyphs-x.c (x_xface_instantiate):
11869         * glyphs-x.c (autodetect_instantiate):
11870         * glyphs-x.c (cursor_font_instantiate):
11871         * glyphs-x.c (x_update_widget):
11872         * glyphs-x.c (x_widget_instantiate):
11873         * glyphs.c (bitmap_to_lisp_data):
11874         * glyphs.c (pixmap_to_lisp_data):
11875         [7].
11876
11877         * glyphs.c (syms_of_glyphs):
11878         [2].
11879
11880         * gui-x.c:
11881         * gui-x.c (print_widget_value):
11882         * gui-x.c (menu_separator_style_and_to_external):
11883         * gui-x.c (add_accel_and_to_external):
11884         * gui-x.c (button_item_to_widget_value):
11885         * gui-x.c (gui_items_to_widget_values_1):
11886         * gui-x.c (gui_items_to_widget_values):
11887         * gui-x.c (syms_of_gui_x):
11888         * gui-x.c (vars_of_gui_x):
11889         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11890         [9].
11891
11892         * gui-x.h:
11893         Muleize, prototype changes matching gui-x.c.
11894
11895         * gui.c:
11896         * gui.c (separator_string_p):
11897         * gui.c (gui_item_add_keyval_pair):
11898         * gui.c (make_gui_item_from_keywords_internal):
11899         * gui.c (signal_too_long_error):
11900         * gui.c (parse_gui_item_tree_item):
11901         * gui.c (syms_of_gui):
11902         * gui.c (vars_of_gui):
11903         * gui.h:
11904         menu-no-selection-hook moved here (used by MSWin).
11905         Move some symbols to general-slots.h.
11906         [6].
11907         [9].
11908
11909         * insdel.c (get_buffer_pos_char):
11910         * insdel.c (get_buffer_range_char):
11911         Add GC comments.
11912
11913         * keymap.c (keymap_lookup_directly):
11914         * keymap.c (keymap_store):
11915         * keymap.c (ensure_meta_prefix_char_keymapp):
11916         * keymap.c (describe_map):
11917         * keymap.h:
11918         Support new button modifiers.
11919
11920         * lisp-disunion.h (wrap_object):
11921         * lisp-disunion.h (XSETOBJ):
11922         Rename make_obj to wrap_object.
11923
11924         * lisp-union.h:
11925         * lisp-union.h (make_int):
11926         * lisp-union.h (make_char):
11927         Support wrap_object.
11928
11929         * lisp.h:
11930         * lisp.h (LIST_LOOP):
11931         * lisp.h (EXTERNAL_LIST_LOOP):
11932         * lisp.h (LIST_LOOP_2):
11933         * lisp.h (EXTERNAL_LIST_LOOP_1):
11934         * lisp.h (EXTERNAL_LIST_LOOP_2):
11935         * lisp.h (EXTERNAL_LIST_LOOP_3):
11936         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11937         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11938         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11939         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11940         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11941         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11942         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11943         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11944         * lisp.h (struct Lisp_Symbol):
11945         * lisp.h (maybe_continuable_error_with_frob):
11946         Fix up section comments.
11947         Add new types for char to indicate usage.
11948         Delete symbols auto-generated from general-slots.h.
11949         Add prototypes for structured error functions.
11950         Add long comments describing looping macros and change interface
11951         so that lvalues are automatically declared.
11952         Add NO_DECLARE macro in case callers want to declare lvalues
11953         themselves.
11954
11955         * lread.c (read_syntax_error):
11956         * lread.c (continuable_read_syntax_error):
11957         * lread.c (read_structure):
11958         * lread.c (sequence_reader):
11959         * lread.c (read_list_conser):
11960         * lread.c (read_compiled_function):
11961         Rename syntax_error and continuable_syntax_error to avoid clash
11962         with same-named structured error functions.
11963
11964         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11965         * menubar-msw.c (populate_menu_add_item):
11966         * menubar-msw.c (populate_or_checksum_helper):
11967         [5].
11968         [9].
11969
11970         * menubar-x.c:
11971         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11972         Mule-ize whole file.
11973
11974         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11975
11976         * mule-charset.c (Fmake_charset):
11977         * mule-wnnfns.c (Fwnn_set_param):
11978         [1].
11979
11980         * ntproc.c (create_child):
11981         * ntproc.c (Fwin32_set_current_locale):
11982         Add comments portending doom.
11983
11984         * objects-msw.c:
11985         * objects-msw.c (old_font_enum_callback_2):
11986         * objects-msw.c (font_enum_callback_1):
11987         * objects-msw.c (mswindows_enumerate_fonts):
11988         [5].
11989
11990         * objects-x.c:
11991         * objects-x.c (allocate_nearest_color):
11992         * objects-x.c (x_parse_nearest_color):
11993         * objects-x.c (x_initialize_color_instance):
11994         * objects-x.c (x_print_color_instance):
11995         * objects-x.c (x_finalize_color_instance):
11996         * objects-x.c (x_valid_color_name_p):
11997         * objects-x.c (x_initialize_font_instance):
11998         * objects-x.c (x_print_font_instance):
11999         * objects-x.c (valid_x_font_name_p):
12000         * objects-x.c (truename_via_FONT_prop):
12001         * objects-x.c (truename_via_random_props):
12002         * objects-x.c (truename_via_XListFonts):
12003         * objects-x.c (x_font_truename):
12004         * objects-x.c (x_font_instance_truename):
12005         * objects-x.c (x_font_instance_properties):
12006         * objects-x.c (x_list_fonts):
12007         * objects-x.c (x_find_charset_font):
12008         Mule-ize entire file.
12009         [7].
12010
12011         * objects-x.h:
12012         Mule-verify.
12013
12014         * print.c:
12015         * print.c (std_handle_out_external):
12016         * print.c (debug_print_no_newline):
12017         * print.c (syms_of_print):
12018         Output to all debugger kinds in debug-print.
12019         Fix console-output code under MSWin to actually work.
12020
12021         * process-nt.c (send_signal):
12022         * process-nt.c (nt_create_process):
12023         Use newer Unicode macros.
12024
12025         * process-unix.c (unix_create_process):
12026         * process-unix.c (unix_canonicalize_host_name):
12027         * process-unix.c (unix_open_network_stream):
12028         [7].
12029
12030         * scrollbar-x.c:
12031         Mule-verify.
12032
12033         * search.c (syms_of_search):
12034         [2].
12035
12036         * select-msw.c (mswindows_destroy_selection):
12037         Use LIST_LOOP_2.
12038
12039         * select-x.c (symbol_to_x_atom):
12040         [7].
12041
12042         * select.c (syms_of_select):
12043         [2].
12044
12045         * sound.c (Fplay_sound_file):
12046         [7].
12047
12048         * specifier.c:
12049         * specifier.c (decode_specifier_type):
12050         * specifier.c (Fvalid_specifier_locale_type_p):
12051         * specifier.c (check_valid_locale_or_locale_type):
12052         * specifier.c (decode_locale):
12053         * specifier.c (decode_locale_type):
12054         * specifier.c (decode_locale_list):
12055         * specifier.c (check_valid_domain):
12056         * specifier.c (decode_specifier_tag_set):
12057         * specifier.c (Fcanonicalize_tag_set):
12058         * specifier.c (Fdefine_specifier_tag):
12059         * specifier.c (Fspecifier_tag_predicate):
12060         * specifier.c (check_valid_inst_list):
12061         * specifier.c (check_valid_spec_list):
12062         * specifier.c (decode_how_to_add_specification):
12063         * specifier.c (check_modifiable_specifier):
12064         * specifier.c (specifier_add_spec):
12065         * specifier.c (boolean_validate):
12066         * specifier.c (display_table_validate):
12067         [9].
12068
12069         * specifier.c (syms_of_specifier):
12070         Move some symbols to general-slots.h.
12071         [2].
12072
12073         * symbols.c:
12074         * symbols.c (Fmapatoms):
12075         * symbols.c (Fapropos_internal):
12076         Add GCPROs.
12077
12078         * symbols.c (set_default_buffer_slot_variable):
12079         * symbols.c (set_default_console_slot_variable):
12080         [1].
12081
12082         * symbols.c (defsymbol_massage_name_1):
12083         * symbols.c (defkeyword_massage_name):
12084         * symbols.c (deferror_1):
12085         * symbols.c (deferror):
12086         * symbols.c (deferror_massage_name_and_message):
12087         * symeval.h:
12088         * symeval.h (DEFSYMBOL):
12089         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12090
12091         * symbols.c (syms_of_symbols):
12092         [2].
12093
12094         * symsinit.h:
12095         * symsinit.h (init_win32): New.
12096         Also new is syms_of_dialog_mswindows.
12097
12098         * syswindows.h:
12099         Add new Unicode macros, missing Cygwin wide-char functions,
12100         convenience conversion macros for Qmswindows_tstr, macros for
12101         encapsulating required MSWin <-> Cygwin filename conversions,
12102         prototype for dynamically-extracted (not in NT 3.51) functions.
12103
12104         * toolbar-x.c:
12105         Mule-verify.
12106
12107         * tooltalk.c (Fadd_tooltalk_message_arg):
12108         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12109         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12110         [7].
12111
12112         * tooltalk.c (syms_of_tooltalk):
12113         [2].
12114
12115         * unexnt.c:
12116         * unexnt.c (unexec):
12117         Fix up headers, declaration of unexec() to be more standard.
12118
12119 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12120
12121         * offix.h: Revert change to guard macros - they're used in offix.c!
12122
12123 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12124
12125         * lisp.h: Defsubred Fdelete.
12126
12127         * console-msw.h:  (msprinter_default_printer): Added.
12128
12129         * console-msw.c (msprinter_canonicalize_console_connection):
12130         (msprinter_canonicalize_device_connection): Added.
12131
12132         * device-msw.c (msprinter_default_printer):
12133         (Fmswingows_get_default_printer):
12134         (signal_enum_priner_error):
12135         (Fmswingows_printer_list): Added.
12136
12137 2000-07-19  Martin Buchholz <martin@xemacs.org>
12138
12139         * XEmacs 21.2.35 is released.
12140
12141 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12142
12143         * select-x.c (x_handle_selection_request):
12144         Text selected in xemacs and pasted into xterm failed to appear.
12145         Spelling fixes and cosmetic changes.
12146
12147 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12148
12149         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12150         XEmacs frame (fix for doubling chars in dialog boxes).
12151
12152 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12153
12154         * select.c (select_convert_in, select_convert_out):
12155         Don't call intern() every time.
12156
12157         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12158         * select.c (vars_of_select): Initialise them.
12159
12160 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12161
12162         * select.c (selection-coercible-types): New.
12163
12164         * select.c (own-selection-internal):
12165         * select.c (get-selection-internal):
12166         MULE bug fix - these should default to COMPOUND_TEXT and not
12167         STRING for MULE. I think.
12168
12169         * select.c (select_convert_out): Use selection-coercible-types
12170         to find types that we can attempt to perform coercions on.
12171
12172 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12173
12174         * mule-wnnfns.c:
12175         * mule-canna.c:
12176         Add coding: cookie to identify encoding.
12177
12178         * mule-canna.c (CANNA_mode_keys): make static.
12179         Use proper prototypes, even for functions of no arguments.
12180         Remove external prototype for Fding().
12181
12182         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12183
12184         * select.c (syms_of_select): Add missing DEFSUBR.
12185
12186 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12187
12188         * select.c (get_selection_internal, own_selection_internal):
12189         Make the type default to STRING, rather than placing a nil type
12190         into Vselection_alist.
12191
12192 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12193
12194         * gpmevent.c (tty_selection_exists_p):
12195         * gpmevent.c (tty_own_selection):
12196         Updated parameter lists.
12197
12198 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12199
12200         * select.h (selection-alist): Removed declaration.
12201
12202         * select.h (get_local_selection):
12203         * select.c (get_local_selection):
12204         Made static.
12205
12206         * select.h (convert_selection): Removed declaration.
12207         * select.c (convert_selection): Removed.
12208         This function belongs in Lisp.
12209
12210         * select.h (select_convert_in): Declare.
12211         * select.h (select_convert_out): Declare.
12212         * select.c (select_convert_in): New.
12213         * select.c (select_convert_out): New.
12214         New conversion functions for other files to call.
12215
12216         * select.h (select_notify_buffer_kill): Declare.
12217         * select.c (select_notify_buffer_kill): New.
12218         New functions that get called from kill-buffer.
12219
12220         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12221         X-specific lisp code.
12222
12223         * select.h: Declare some of the lisp-visible functions for
12224         external use.
12225
12226         * select.c (clean_local_selection_data): Removed. This was
12227         a disgusting function, and previously should have been in
12228         select-x.c in any case. The functionality is now provided
12229         in select-convert-from-integer (select.el).
12230
12231         * select.c (available-selection-types): Fixed stupidity where
12232         INTEGER and ATOM got added twice. Also add STRING when we see an
12233         extent.
12234
12235         * select.c (get-selection-internal): Removed symbol stripping. No
12236         longer causes conversion when data comes from the internal cache.
12237
12238         * select.c (syms_of_select): Added new functions.
12239
12240         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12241         error checking - previously this called abort!
12242
12243         * select-x.c (x_own_selection): Changed comment.
12244
12245         * select-x.c (x_handle_selection_request): Use select_convert_out.
12246         Don't mess with selection-alist; it's an internal variable of select.c.
12247
12248         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12249
12250         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12251         rather than messing with selection-alist.
12252
12253         * select-msw.c (mswindows_get_foreign_selection):
12254         Use TO_INTERNAL_FORMAT rather than hacking.
12255
12256 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12257
12258         * process-unix.c (unix_open_multicast_group):
12259         (unix_open_multicast_group): Remove useless casts.
12260
12261 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12262
12263         * sound.c (Fplay_sound): Fix `unused variable' warning.
12264
12265         * emacs.c (main): Use correct type for _environ on SCO5.
12266
12267 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12268
12269         * console.h (own_selection_method):
12270         * console.h (selection_exists_p_method):
12271         * console.h (available_selection_types_method): New.
12272         * console.h (register_selection_data_type_method): New.
12273         * console.h (selection_data_type_name): New.
12274
12275         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12276         function & alist to track GlobalAlloc()'d handles that need
12277         releasing when the clipboard data gets replaced or emptied.
12278
12279         * event-msw.c (mswindows_wnd_proc): Call it.
12280
12281         * lisp.h, general.c (Qappend): New symbol representing a
12282         `how-to-add' mode.
12283
12284         * select.c (own-selection-internal):
12285         * select.c (selection-exists-p):
12286         * select.c (available-selection-types): New.
12287         * select.c (register-selection-data-type): New.
12288         * select.c (selection-data-type-name): New.  New functions to deal
12289         with device-specific selection data formats.
12290         * select.c (selection-converter-out-alist): Renamed.
12291         * select.c (selection-converter-in-alist): New.
12292         * select.c (selection-appender-alist): New.  Added new alists.
12293         * select.c (syms_of_select, vars_of_select): Added new symbols &
12294         variables.
12295         * select.c (get_local_selection): Split.
12296         * select.c: Removed spurious type checking - selections may now be
12297         of any type, not just strings.
12298         * select.c (own-selection-internal):
12299
12300         * select.h, select.c (convert_selection): New. Created
12301         convert_selection() function based on get_local_selection().
12302         * select.h, select.c (QCF_*): New symbols representing mswindows
12303         clipboard formats.
12304         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12305         symbols representing `how-to-add' modes.
12306
12307         * select-msw.c (x_sym_p): New.
12308         * select-msw.c (symbol_to_ms_cf): New.
12309         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12310         symbols & clipboard formats. Can also handle string names.
12311         * select-msw.c (mswindows_own_selection):
12312         * select-msw.c (mswindows_selection_exists_p):
12313         Added `data-type' parameter. Use it.
12314         * select-msw.c (mswindows_available_selection_types): New.
12315         * select-msw.c (mswindows_register_selection_data_type): New.
12316         * select-msw.c (mswindows_selection_data_type_name): New.
12317         * select-msw.c (mswindows_own_selection):
12318         * select-msw.c (mswindows_get_foreign_selection):
12319         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12320         * select-msw.c (console_create_select_mswindows): Added new methods.
12321         * select-msw.c (mswindows_destroy_selection): New.
12322         * select-msw.c (Vhandle_alist): New list.
12323         * select-msw.c (mswindows_own_selection):
12324
12325         * select-x.c (x_own_selection):
12326         * select-x.c (x_selection_exists_p):
12327         * select-x.c: Added some comments about maybe using new
12328         functionality.
12329         * select-x.c (x_own_selection):
12330
12331         * specifier.c: Remove definition of Qappend (now in general.c)
12332         * specifier.c (syms_of_specifier): Remove Qappend.
12333
12334 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12335
12336         * config.h.in: Add socklen_t.
12337
12338         * s/decosf4-0.h: No special compiler flags needed or desired.
12339         In particular, undefine _BSD for DEC OSF 4.0.
12340
12341 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12342
12343         * redisplay-msw.c (msprinter_frame_output_end): Added.
12344         (console_type_create_redisplay_mswindows): Referred the above.
12345
12346         * frame.c (setup_frame_without_minibuffer): Do not create a
12347         default minibuffer frame on a printer device.
12348
12349         * frame-msw.c (apply_dc_geometry): Added.
12350         (msprinter_start_page):
12351         (msprinter_init_frame_3):
12352         (msprinter_eject_page): Use it.
12353
12354         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12355         and removed residual duplex and orientation properties.
12356
12357 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12358
12359         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12360
12361         * unexalpha.c: Remove system prototypes from C sources!
12362
12363 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12364
12365         * eval.c: Remove references to M-x edit-options in DEFUNs for
12366         `defvar' and `defconst'.
12367
12368 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12369
12370         * config.h.in: Remove SMART_INCLUDE hackery.
12371
12372         PostgreSQL hacking:
12373         * config.h.in: Don't use SMART_INCLUDE.
12374
12375         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12376         * inline.c: Simply #include "postgresql.h"
12377         * postgresql.c:
12378         - Don't use SMART_INCLUDE
12379         - Use simply "const".
12380         - Use standard doc string conventions.
12381         - Use correct type for result of PQstatus.
12382
12383 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12384
12385         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12386
12387         C++ compilation changes.
12388         * config.h.in (EXTERN_C): Define.
12389         * config.h.in (not): This is also a C++ keyword.
12390         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12391         * cm.c: Use EXTERN_C.
12392         * redisplay-tty.c: Use EXTERN_C.
12393         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12394
12395 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12396
12397         * general.c: Remove duplicate definition for Qfunction.
12398
12399 2000-07-08  Ben Wing  <ben@xemacs.org>
12400
12401         * device-msw.c (msprinter_init_device):
12402         * device-msw.c (sync_printer_with_devmode):
12403         * device-msw.c (handle_devmode_changes):
12404         * device-msw.c (print_dialog_worker):
12405         * device-msw.c (Fmsprinter_apply_settings):
12406         * device-msw.c (hash_devmode):
12407         * device-msw.c (Fmsprinter_settings_despecialize):
12408         use Qmswindows_tstr, not Qctext.
12409
12410         * vm-limit.c (check_memory_limits):
12411         avoid infinite loop printing warning messages.
12412
12413 2000-07-05  Craig Lanning  <lanning@scra.org>
12414
12415         * Makefile.in.in: Add support for including the Windows resources
12416         when building with the cygwin and mingw targets.
12417
12418         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12419         not set or not correct.
12420         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12421         (init_initial_directory): Don't try to use $PWD on the
12422         WIN32_NATIVE target.
12423
12424         * s\cygwin32.h:
12425         [[Add -mwindows to eliminate console window.]] not required --ben
12426         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12427         (MAIL_USE_POP): removed; now handled by configure.
12428
12429         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12430         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12431         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12432         (MAIL_USE_POP): removed; now handled by configure.
12433         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12434         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12435         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12436         constant string.
12437         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12438         up from <winsock.h> via systime.h.
12439         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12440         (getpagesize): from Dan Holmsand, added.
12441         Added #endif which was left dangling by Ben's mega patch; added
12442         comment to help prevent this in the future.
12443
12444         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12445
12446 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12447
12448         * console-msw.h (struct mswindows_device): Removed unnecessary
12449         cached device geometry values.
12450         Added update_tick and an accessor macro.
12451         (Lisp_Devmode): Added lrecord declaration.
12452         (struct msprinter_device): Contain devmode as a Lisp object.
12453         Added mswindows_get_selected_frame_hwnd();
12454
12455         * console.h (struct console_methods): Indentation nitpicking.
12456
12457         * device-msw.c (mswindows_init_device): Do not initialize geometry
12458         cache. Initialize update tick.
12459         (mswindows_device_system_metrics): Ask the device for its geometry.
12460         (global_free_2_maybe):
12461         (devmode_to_hglobal):
12462         (handle_printer_changes):
12463         (ensure_not_printing):
12464         (print_dialog_worker):
12465         (Fmsprinter_print_setup_dialog):
12466         (Fmsprinter_print_dialog):
12467         (plist_get_margin):
12468         (plist_set_margin):
12469         (Fmsprinter_page_setup_dialog): Added functions.
12470         (sync_printer_with_devmode):
12471         (handle_devmode_changes):
12472         (Fmsprinter_get_settings):
12473         (Fmsprinter_select_settings):
12474         (Fmsprinter_apply_settings):
12475         (allocate_devmode):
12476         (Fmsprinter_settings_copy):
12477         (Fmsprinter_settings_despecialize):
12478         (print_devmode):
12479         (finalize_devmode):
12480         (equal_devmode):
12481         (hash_devmode): Added functions
12482         (syms_of_device_mswindows): Init devmode lrecord class.
12483
12484         * device.h: Added an exfun for find-device.
12485
12486         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12487         geometry; although, recreate the device compatible DC.
12488
12489         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12490         (msprinter_init_frame_3):
12491         (msprinter_frame_property):
12492         (msprinter_internal_frame_property_p):
12493         (msprinter_frame_properties):
12494         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12495         print job properties (will move to device settings).
12496
12497         * lisp.h: Added symbols.
12498
12499         * general.c (syms_of_general): Declared them.
12500
12501         * hash.c (string_hash): Added.
12502
12503         * lrecord.h (lrecord_type): Added devmode lrecord type.
12504
12505 2000-07-02  Mike Sperber <mike@xemacs.org>
12506
12507         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12508         FreeBSD 4.0.
12509
12510 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12511
12512         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12513         integer.
12514
12515 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12516
12517         * data.c (Fstring_to_number): Don't recognize floating point if
12518         base is not 10.
12519
12520 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12521
12522         * glyphs-widget.c (tab_control_query_geometry):
12523         (widget_query_geometry):
12524         (button_query_geometry):
12525         * glyphs.c (text_query_geometry):
12526         Enforce type correctness.
12527
12528 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12529
12530         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12531         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12532
12533 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12534
12535         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12536         conflicts with gcc's fixincluded version of FOO.h.
12537
12538         * glyphs.h (image_instance_geometry): Remove trailing `,'
12539
12540 2000-06-08  Mike Alexander  <mta@arbortext.com>
12541
12542         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12543         (shove_thread): Don't write the same output twice
12544         (make_ntpipe_output_stream): Increase priority of shove thread
12545         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12546         chance to run
12547         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12548         it.
12549
12550 2000-06-12  Ben Wing  <ben@xemacs.org>
12551
12552         * s\mingw32.h (sigset):
12553         * s\windowsnt.h (sigset):
12554         rename msw_ to mswindows_ for consistency with general convention.
12555
12556 2000-06-12  Ben Wing  <ben@xemacs.org>
12557
12558         * console-msw.c:
12559         * console-msw.c (mswindows_get_console_hwnd):
12560         * console-msw.c (mswindows_ensure_console_allocated):
12561         * console-msw.c (mswindows_hide_console):
12562         * console-msw.c (mswindows_show_console):
12563         * console-msw.c (mswindows_ensure_console_buffered):
12564         * console-msw.c (mswindows_output_console_string):
12565         * console-msw.c (mswindows_windows9x_p):
12566         * console-msw.h:
12567         * device-msw.c (mswindows_get_workspace_coords):
12568         * device-msw.c (mswindows_device_system_metrics):
12569         * dialog-msw.c (mswindows_popup_dialog_box):
12570         * event-msw.c (mswindows_wnd_proc):
12571         * frame-msw.c (mswindows_size_frame_internal):
12572         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12573         * menubar-msw.c (displayable_menu_item):
12574         * menubar-msw.c (mswindows_char_is_accelerator):
12575         * nt.c:
12576         * nt.c (mswindows_sigset):
12577         * nt.c (mswindows_sigrelse):
12578         * nt.c (mswindows_sigpause):
12579         * nt.c (mswindows_raise):
12580         * nt.c (timer_proc):
12581         * ntproc.c:
12582         * ntproc.c (find_child_console):
12583         * ntproc.c (sys_kill):
12584         * print.c:
12585         * print.c (std_handle_out_external):
12586         * process-nt.c (find_child_console):
12587         * process-nt.c (send_signal_the_95_way):
12588         * process-nt.c (ensure_console_window_exists):
12589         * process-nt.c (nt_create_process):
12590         * syssignal.h:
12591         rename msw_ to mswindows_ for consistency with general convention.
12592
12593         * emacs.c:
12594         * dumper.c:
12595         include nt.h, not syswindows.h.
12596
12597         * nt.c (mswindows_fstat):
12598         * nt.c (mswindows_stat):
12599         prefix mswindows_ instead of attempting to directly override the
12600         library functions.  fix declarations.
12601
12602         * nt.h:
12603         include syswindows.h.  move some sysdep.h stuff here.
12604
12605         * ntheap.h:
12606         include syswindows.h, not <windows.h>.
12607
12608         * ntplay.c:
12609         clean up headers.
12610
12611         * sysdep.c:
12612         clean up headers.
12613
12614         * sysdep.c (sys_fstat):
12615         * sysdep.c (sys_stat):
12616         call mswindows versions when appropriate.
12617
12618         * sysdep.h:
12619         move mswin decls to nt.h.
12620
12621         * syswindows.h:
12622         add long comment describing appropriate use of the various windows
12623         headers.
12624
12625 2000-06-11  Ben Wing  <ben@xemacs.org>
12626
12627         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12628
12629 2000-06-10  Ben Wing  <ben@xemacs.org>
12630
12631         * Makefile.in.in (release):
12632         Correction to make sure xemacs.exe always dumped when correct.
12633
12634         * alloca.c:
12635         * balloon_help.c:
12636         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12637
12638         * buffer.c (set_buffer_internal):
12639         [[[[2]]]]: Remove HAVE_FEP code.
12640
12641         * buffer.c (init_initial_directory):
12642         [3].
12643
12644         * bytecode.c:
12645         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12646         individual files.
12647
12648         * callproc.c:
12649         * callproc.c (call_process_cleanup):
12650         * callproc.c (Fold_call_process_internal):
12651         * callproc.c (child_setup):
12652         * callproc.c (getenv_internal):
12653         * callproc.c (init_callproc):
12654         * callproc.c (vars_of_callproc):
12655         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12656         __CYGWIN32__ -> CYGWIN.
12657         DOS_NT -> WIN32_NATIVE.
12658         Remove MSDOS support/references, converting to WIN32_NATIVE
12659           where correct.
12660         __MINGW32__ -> MINGW.
12661         Fix windows.h includes.
12662         Remove bogus HAVE_NTGUI.
12663
12664         * config.h.in:
12665         [2].
12666
12667         * console-msw.c:
12668         mswindows_message_outputted added for use in allowing startup
12669         errors on the console to be seen.
12670
12671         * console-msw.c (msw_ensure_console_allocated):
12672         * console-msw.c (msw_output_console_string):
12673         * console-msw.c (DHEADER):
12674         * console-msw.c (DOPAQUE_DATA):
12675         * console-msw.c (DEVENT):
12676         * console-msw.c (DCONS):
12677         * console-msw.c (DCONSCDR):
12678         * console-msw.c (DSTRING):
12679         * console-msw.c (DVECTOR):
12680         * console-msw.c (DSYMBOL):
12681         * console-msw.c (DSYMNAME):
12682         Fix warnings.
12683
12684         * console-stream.c (stream_init_console):
12685         Fix text/binary problems.
12686
12687         * device-msw.c:
12688         * device-msw.c (mswindows_finish_init_device):
12689         * device-msw.c (mswindows_delete_device):
12690         [1].
12691
12692         * device.c (handle_asynch_device_change):
12693         [3].
12694
12695         * dgif_lib.c:
12696         * dgif_lib.c (DGifOpenFileName):
12697         * dgif_lib.c (DGifOpenFileHandle):
12698         * dgif_lib.c (DGifGetLine):
12699         * dgif_lib.c (DGifGetPixel):
12700         Added config.h/lisp.h, fix up includes.
12701         [1].
12702
12703         * dired-msw.c:
12704         [4].
12705
12706         * dired.c:
12707         * dired.c (file_name_completion):
12708         * dired.c (Ffile_attributes):
12709         * dired.c (syms_of_dired):
12710         [1].
12711
12712         * dumper.c:
12713         * dumper.c (pdump_file_unmap):
12714         * dumper.c (pdump_load):
12715         [1].
12716
12717         * editfns.c:
12718         * editfns.c (Ftemp_directory):
12719         * editfns.c (user_login_name):
12720         * editfns.c (Fuser_real_login_name):
12721         * editfns.c (get_home_directory):
12722         [1].
12723
12724         * elhash.c (finish_marking_weak_hash_tables):
12725         [[[[5]]]]: Fix GCC warnings.
12726
12727         * emacs.c:
12728         * emacs.c (mswindows_handle_hardware_exceptions):
12729         * emacs.c (make_arg_list_1):
12730         * emacs.c (main_1):
12731         * emacs.c (Fkill_emacs):
12732         * emacs.c (Fdump_emacs):
12733         [1].
12734         Fix problems with nested crashes, add long comment.
12735
12736         * event-Xt.c (init_event_Xt_late):
12737         [1].
12738
12739         * event-msw.c:
12740         * event-msw.c (mswindows_dde_callback):
12741         * event-msw.c (mswindows_handle_sticky_modifiers):
12742         * event-msw.c (mswindows_wnd_proc):
12743         [1].
12744         [5].
12745
12746         * events.c (character_to_event):
12747         [1].
12748
12749         * fileio.c:
12750         * fileio.c (Ffile_name_directory):
12751         * fileio.c (Ffile_name_nondirectory):
12752         * fileio.c (directory_file_name):
12753         * fileio.c (Fexpand_file_name):
12754         * fileio.c (Fsubstitute_in_file_name):
12755         * fileio.c (Ffile_name_absolute_p):
12756         * fileio.c (check_executable):
12757         * fileio.c (Ffile_readable_p):
12758         * fileio.c (Ffile_accessible_directory_p):
12759         * fileio.c (Ffile_modes):
12760         * fileio.c (Funix_sync):
12761         * fileio.c (vars_of_fileio):
12762         [1]. [4].
12763
12764         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12765
12766         Expand getdefdir defn.
12767         Fix bogus rename() comment.
12768
12769         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12770         to use standard XEmacs include files, e.g. sysfile.h, rather
12771         than system-specific includes.
12772
12773         * fns.c:
12774         * fns.c (Fsubseq):
12775         [5]. [6].
12776
12777         * frame.c (vars_of_frame):
12778         [1].
12779
12780         * getloadavg.c:
12781         * getloadavg.c (getloadavg):
12782         [1]. [6].
12783         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12784         (We don't use it elsewhere in the code; just add a comment.)
12785
12786         * gif_io.c:
12787         [6].
12788         Add config.h.
12789
12790         * glyphs-msw.c:
12791         * glyphs-msw.c (mswindows_resource_instantiate):
12792         [1].
12793
12794         * glyphs-x.c (x_native_layout_instantiate):
12795         [5].
12796
12797         * gui-msw.c (Fmswindows_shell_execute):
12798         [1].
12799
12800         * insdel.c:
12801         [4].
12802
12803         * lisp.h:
12804         [4]. [5].
12805
12806         * lread.c (locate_file_in_directory_mapper):
12807         [1].
12808
12809         * lstream.c:
12810         [4].
12811
12812         * mem-limits.h:
12813         * mem-limits.h (get_lim_data):
12814         [1].
12815
12816         * menubar-msw.c:
12817         [4].
12818
12819         * ndir.h:
12820         [1].
12821
12822         * nt.c:
12823         * nt.c (getwd):
12824         * nt.c (closedir):
12825         * nt.c (rva_to_section):
12826         * nt.c (mswindows_executable_type):
12827         [1]. [6].
12828         Fix closedir() defn.
12829
12830         * nt.h:
12831         [[[[8]]]]: *_OK defs moved to sysfile.h.
12832
12833         * ntproc.c:
12834         [6]. [7].
12835
12836         * objects-x.c:
12837         [4].
12838
12839         * print.c:
12840         * print.c (std_handle_out_external):
12841         [1]. [4].
12842
12843         * process-nt.c:
12844         * process-nt.c (nt_create_process):
12845         [6].
12846         try to fix process quoting somewhat.
12847
12848         * process-unix.c (unix_create_process):
12849         [1].
12850
12851         * process.c:
12852         * process.c (vars_of_process):
12853         Add Vnull_device.
12854
12855         * process.h:
12856         [1].
12857
12858         * realpath.c:
12859         * realpath.c (xrealpath):
12860         [1].
12861
12862         * redisplay-tty.c (init_tty_for_redisplay):
12863         [3].
12864
12865         * redisplay.c:
12866         [4]. [6].
12867
12868         * scrollbar-msw.c:
12869         [4].
12870
12871         * sheap.c:
12872         * sheap.c (more_static_core):
12873         * sheap.c (report_sheap_usage):
12874         [5]. [6].
12875
12876         * signal.c:
12877         * signal.c (alarm_signal):
12878         [1]. [6].
12879
12880         * sound.c:
12881         [6].
12882
12883         * strftime.c:
12884         * strftime.c (zone_name):
12885         [1]. [5].
12886
12887         * symsinit.h (init_sunpro):
12888         [1].
12889
12890         * syscommctrl.h:
12891         commctrl.h not in Cygwin b20.1.
12892
12893         * sysdep.c:
12894         * sysdep.c (endif):
12895         * sysdep.c (sys_subshell):
12896         * sysdep.c (init_baud_rate):
12897         * sysdep.c (emacs_get_tty):
12898         * sysdep.c (emacs_set_tty):
12899         * sysdep.c (tty_init_sys_modes_on_device):
12900         * sysdep.c (init_system_name):
12901         * sysdep.c (sys_open):
12902         * sysdep.c (interruptible_open):
12903         * sysdep.c (sys_fopen):
12904         * sysdep.c (sys_mkdir):
12905         * sysdep.c (sys_rename):
12906         * sysdep.c (get_process_times_1):
12907         [1]. [6].
12908
12909         * sysdep.h:
12910         [1].
12911
12912         * sysdir.h:
12913         * sysdir.h (DIRENTRY_NONEMPTY):
12914         [1]. [6].
12915
12916         * sysdll.c (dll_init):
12917         * sysdll.h:
12918         [1].
12919
12920         * sysfile.h:
12921         [1]. [6]. [8].
12922         added text/binary defs.
12923
12924         * sysfloat.h:
12925         [1].
12926
12927         * sysproc.h:
12928         * sysproc.h (EDESTADDRREQ):
12929         * sysproc.h (poll_fds_for_input):
12930         [1]. [6].
12931
12932         * syspwd.h:
12933         [6].
12934
12935         * syssignal.h:
12936         [1].
12937
12938         * systime.h:
12939         [1]. [6].
12940
12941         * systty.h:
12942         [1].
12943
12944         * syswindows.h:
12945         [1].
12946         Always define WIN32_LEAN_AND_MEAN.
12947
12948         * unexcw.c (unexec):
12949         [5].
12950
12951         * unexec.c:
12952         * unexec.c (copy_text_and_data):
12953         * unexec.c (adjust_lnnoptrs):
12954         [1].
12955
12956         * unexnt.c:
12957         * unexnt.c (_start):
12958         [1].
12959
12960 2000-06-07  Ben Wing  <ben@xemacs.org>
12961
12962         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12963         was used only as a model.  We've long since extracted any useful
12964         logic or code out of this. (I just did an exhaustive search.)
12965
12966         * s\msdos.h: Removed.
12967
12968         * s\windows95.h: Removed.
12969
12970 2000-06-10  Ben Wing  <ben@xemacs.org>
12971
12972         * s\cygwin32.h:
12973         [1]. [5].
12974         Don't use extern with fun defs.
12975
12976         * s\mingw32.h:
12977         [1]. [7].
12978         Remove nt\inc include.
12979         Remove getdisk, getdefdir. (The former is unused, the latter
12980         expanded in fileio.h.)
12981
12982         * s\windowsnt.h:
12983         * s\windowsnt.h (WIN32_NATIVE):
12984         * s\windowsnt.h (HAVE_STRCASECMP):
12985         [1]. [7].
12986         Add long comment about preprocessor changes.
12987         Remove getdisk, getdefdir. (The former is unused, the latter
12988         expanded in fileio.h.)
12989
12990 2000-06-10  Ben Wing  <ben@xemacs.org>
12991
12992         * m\arm.h:
12993         * m\delta.h:
12994         * m\intel386.h:
12995         * m\sequent.h:
12996         * m\template.h:
12997         * m\windowsnt.h:
12998         [1].
12999         Remove bogus/unused NO_SOCK_SIGIO.
13000
13001 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13002
13003         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13004         not an Emchar.
13005
13006 2000-06-04  Mike Sperber <mike@xemacs.org>
13007
13008         * casetab.c (set_case_table): For `set-standard-case-table',
13009         actually deposit the new case tables where the rest of XEmacs can
13010         see them.
13011
13012 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13013
13014         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13015
13016 2000-06-05  Ben Wing  <ben@xemacs.org>
13017
13018         * callproc.c (child_setup): Don't do close_load_descs() under
13019         MS Windows.  Put in a comment explaining why.
13020
13021 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13022
13023         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13024         Toolkit shell" which breaks `kill-compilation' on Windows NT
13025         native, retaining STDERR handling improvements.
13026
13027 2000-06-01  Andreas Jaeger  <aj@suse.de>
13028
13029         * s/s390.h: Support for S390, based on a patch by Martin
13030         Schwidefsky <schwidefsky@de.ibm.com>.
13031
13032 2000-05-30  Andy Piper  <andy@xemacs.org>
13033
13034         * window.c (allocate_window):
13035         (make_dummy_parent):
13036         (Fset_window_configuration): use new hashtable type.
13037
13038         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13039         (struct image_instantiator_methods):
13040         (struct Lisp_Image_Instance): make instance geometry signed.
13041
13042         * glyphs.c (instantiate_image_instantiator):
13043         (image_instance_query_geometry):
13044         (image_instance_layout):
13045         (image_instance_layout):
13046         (query_string_geometry):
13047         (text_query_geometry):
13048         (image_instantiate):
13049         (image_instantiate):
13050         (cache_subwindow_instance_in_frame_maybe):
13051         (subwindow_query_geometry): make instance geometry signed.
13052
13053         * glyphs-widget.c (widget_query_geometry):
13054         (widget_layout):
13055         (button_query_geometry):
13056         (tree_view_query_geometry):
13057         (tab_control_query_geometry):
13058         (layout_query_geometry):
13059         (layout_layout):
13060         (native_layout_layout): make instance geometry signed.
13061
13062 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13063
13064         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13065         constant.
13066
13067         * general.c (syms_of_general): Add Qfull_assoc symbol.
13068
13069         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13070         correctly.
13071         (decode_weak_list_type): Decode full-assoc type.
13072         (encode_weak_list_type): Encode full-assoc type.
13073         (Fmake_weak_list): Update doc string.
13074
13075 2000-05-30  Andy Piper  <andy@xemacs.org>
13076
13077         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13078
13079         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13080         (decode_hash_table_weakness): ditto.
13081         (Fhash_table_weakness): ditto.
13082         (Fhash_table_type): ditto.
13083         (finish_marking_weak_hash_tables): ditto.
13084         (hash_table_weakness_validate): ditto.
13085         (syms_of_elhash): ditto.
13086
13087 2000-05-28  Martin Buchholz <martin@xemacs.org>
13088
13089         * XEmacs 21.2.34 is released.
13090
13091 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13092
13093         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13094         start cache.
13095         (updating_line_start_cache): Gone.
13096         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13097         generic code to force a minimum of 1 line laid out in the
13098         CMOTION_DISP case.
13099
13100 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13101
13102         * glyphs.c (instantiate_image_instantiator): Check for initialized
13103         height & width no longer special cases IMAGE_NOTHING.
13104         (nothing_instantiate): Set height and width of instance.
13105
13106 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13107
13108         * unexelf.c (unexec): Search for ".data" section.
13109         Initialize new_data2_offset from old_data_index.
13110         Remove redundant check for ElfW.
13111
13112 2000-05-23  Andy Piper  <andy@xemacs.org>
13113
13114         * glyphs.c (get_image_instantiator_governing_domain): allow more
13115         specific domains as the governing domain rather than expecting an
13116         exact match. This fixes problems with layouts.
13117
13118 2000-05-22  Andy Piper  <andy@xemacs.org>
13119
13120         * redisplay-output.c (compare_runes): check for non-images
13121
13122         * glyphs.c (set_glyph_dirty_p): ditto.
13123         (update_glyph_cachel_data): ditto.
13124
13125         * glyphs-widget.c (layout_post_instantiate): ditto.
13126         (layout_post_instantiate): ditto.
13127
13128         * event-msw.c (mswindows_wnd_proc): warning removal.
13129
13130 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13131
13132         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13133
13134         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13135
13136         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13137
13138         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13139         (mswindows_executable_type): mingw32 now has enough headers for
13140         this to work.
13141
13142 2000-05-20  Andy Piper  <andy@xemacs.org>
13143
13144         * console-msw.c (mswindows_output_last_error): ; -> ,
13145
13146 2000-05-12  Andy Piper  <andy@xemacs.org>
13147
13148         * console-msw.c (FROB): compare ints with ints.
13149
13150 2000-05-11  Andy Piper  <andy@xemacs.org>
13151
13152         * glyphs-x.c (x_finalize_image_instance): make minimal build
13153         happy.
13154
13155 2000-05-20  Ben Wing  <ben@xemacs.org>
13156
13157         * event-Xt.c:
13158         * event-Xt.c (vars_of_event_Xt):
13159         move modifier-keys-are-sticky to event-stream.c.
13160
13161         * event-msw.c:
13162         * event-msw.c (mswindows_enqueue_mouse_button_event):
13163         * event-msw.c (key_needs_default_processing_p):
13164         * event-msw.c (XEMSW_LCONTROL):
13165         * event-msw.c (mswindows_handle_sticky_modifiers):
13166         * event-msw.c (FROB):
13167         * event-msw.c (clear_sticky_modifiers):
13168         * event-msw.c (output_modifier_keyboard_state):
13169         * event-msw.c (output_alt_keyboard_state):
13170         * event-msw.c (mswindows_wnd_proc):
13171         * event-msw.c (mswindows_modifier_state):
13172         * event-msw.c (emacs_mswindows_handle_magic_event):
13173         implement sticky modifiers.
13174
13175         * event-stream.c:
13176         * event-stream.c (vars_of_event_stream):
13177         move modifier-keys-are-sticky here.
13178
13179         * lisp.h:
13180         add CHECK_FUNCTION.
13181
13182         * rangetab.c:
13183         implement map-range-table.
13184
13185
13186 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13187
13188         * redisplay-tty.c (reset_tty_modes):
13189         (tty_redisplay_shutdown): Adjust argument type to
13190         tty_frame_output_end.
13191
13192 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13193
13194         * eval.c (Fbacktrace): Don't output a line with only right
13195         parenthesis.
13196
13197 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13198
13199         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13200         (Fpq_reset_poll): Ditto.
13201
13202 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13203
13204         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13205
13206 2000-05-16  Ben Wing  <ben@xemacs.org>
13207
13208         * buffer.c:
13209         * buffer.c (dfc_convert_to/from_internal_format):
13210         * buffer.c (reinit_vars_of_buffer):
13211         Fix conversion functions to allow reentrancy.
13212
13213         * console-msw.c:
13214         * console-msw.c (mswindows_output_last_error):
13215         New fun, generally useful -- output a human-readable
13216         version of GetLastError() on the console.
13217
13218         * console-msw.h:
13219         * console-msw.h (struct mswindows_frame):
13220         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13221
13222         * console-stream.c (stream_output_begin):
13223         * console-stream.c (stream_output_end):
13224         * console-stream.c (stream_output_vertical_divider):
13225         * console-stream.c (stream_clear_region):
13226         * console-stream.c (stream_flash):
13227         * console-stream.c (console_type_create_stream):
13228         Delete blank stream methods, not needed.
13229
13230         * console.h (struct console_methods):
13231         Split begin/end methods into window and frame.
13232
13233         * event-msw.c:
13234         * event-msw.c (mswindows_handle_paint):
13235         * event-msw.c (output_alt_keyboard_state):
13236         * event-msw.c (mswindows_wnd_proc):
13237         * event-msw.c (vars_of_event_mswindows):
13238         Comment about problems with ignored-expose.
13239         Define mswindows-debug-events; not really implemented.
13240
13241         * frame-msw.c (mswindows_init_frame_1):
13242         random cleanups.
13243
13244         * glyphs-msw.c:
13245         * glyphs-msw.c (begin_defer_window_pos):
13246         * glyphs-msw.c (mswindows_unmap_subwindow):
13247         * glyphs-msw.c (mswindows_map_subwindow):
13248         * glyphs-msw.c (mswindows_resize_subwindow):
13249         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13250
13251         * glyphs.c (make_image_instance_1):
13252         Fix crash.
13253
13254         * gutter.c (Fredisplay_gutter_area):
13255         Use new begin/end methods.
13256
13257         * lisp.h (Dynarr_new2):
13258         New creation fun.
13259
13260         * redisplay-msw.c:
13261         * redisplay-msw.c (mswindows_frame_output_begin):
13262         * redisplay-msw.c (mswindows_frame_output_end):
13263         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13264         New begin/end methods -- handle DeferWindowPos.
13265
13266         * redisplay-output.c (redisplay_move_cursor):
13267         * redisplay-output.c (redraw_cursor_in_window):
13268         * redisplay-output.c (redisplay_update_line):
13269         * redisplay-output.c (redisplay_output_window):
13270         New begin/end methods.
13271
13272         * redisplay-tty.c:
13273         * redisplay-tty.c (tty_frame_output_begin):
13274         * redisplay-tty.c (tty_frame_output_end):
13275         * redisplay-tty.c (console_type_create_redisplay_tty):
13276         New begin/end methods.
13277
13278         * redisplay-x.c:
13279         * redisplay-x.c (x_window_output_begin):
13280         * redisplay-x.c (x_window_output_end):
13281         * redisplay-x.c (console_type_create_redisplay_x):
13282         New begin/end methods.
13283
13284         * redisplay.c (redisplay_frame):
13285         * redisplay.c (Fredisplay_echo_area):
13286         New begin/end methods.
13287         use MAYBE_DEVMETH for clear_frame; it may not exist.
13288
13289         * window.h (WINDOW_XFRAME):
13290         WINDOW_XFOO macros -- get locale and decode struct pointer.
13291
13292
13293 2000-05-12  Ben Wing  <ben@xemacs.org>
13294
13295         * emacs.c:
13296         * emacs.c (ensure_no_quitting_from_now_on):
13297         * emacs.c (fatal_error_signal):
13298         * emacs.c (mswindows_handle_hardware_exceptions):
13299         * emacs.c (main):
13300         * emacs.c (Fkill_emacs):
13301         * emacs.c (shut_down_emacs):
13302         * emacs.c (assert_failed):
13303         various improvements in fatal error handling.
13304
13305         * eval.c:
13306         move preparing_for_armageddon to emacs.c.
13307
13308         * lisp.h:
13309         declare fatal_error_in_progress.
13310
13311         * print.c:
13312         * print.c (std_handle_out_external):
13313         * print.c (std_handle_out_va):
13314         * print.c (stderr_out):
13315         * print.c (stdout_out):
13316         use console under mswin when no standard output.
13317         don't do code conversion during fatal error.
13318
13319         * scrollbar.c (Fscrollbar_page_up):
13320         * scrollbar.c (Fscrollbar_page_down):
13321         fix missing else.  reindent.
13322
13323 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13324
13325         Emergency fix.
13326
13327         * glyphs.h (GLYPH_CACHEL_DESCENT):
13328         (GLYPH_CACHEL_DESCENT):
13329         (GLYPH_CACHEL_DESCENT):
13330         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13331         used in case these are inline functions.
13332         Use more absurd values to error check.
13333
13334         include window.h for error check functions.
13335
13336 2000-05-11  Ben Wing  <ben@xemacs.org>
13337
13338         * cmdloop.c (Freally_early_error_handler):
13339         Display message box under windows; otherwise, message will disappear
13340         before it can be viewed.
13341
13342         * console-msw.c:
13343         * console-msw.c (Fmswindows_message_box):
13344         * console-msw.c (FROB):
13345         * console-msw.c (syms_of_console_mswindows):
13346         Define new fun `mswindows-message-box'.
13347         #### I will merge this into `popup-dialog-box'; just give me
13348         a bit of time.
13349
13350         * general.c:
13351         * general.c (syms_of_general):
13352         Some new symbols used in `mswindows-message-box'.
13353
13354         * glyphs.c:
13355         * glyphs.c (Fset_image_instance_property):
13356         put warning in this fun.
13357
13358         * glyphs.h:
13359         * glyphs.h (GLYPH_CACHEL_WIDTH):
13360         * glyphs.h (GLYPH_CACHEL_ASCENT):
13361         * glyphs.h (GLYPH_CACHEL):
13362         * glyphs.h (GLYPH_CACHEL_GLYPH):
13363         define error-checking versions to try to catch a bug i've seen --
13364         redisplay gets in an infinite loop because the glyph width of the
13365         continuation glyph is 65535.
13366
13367         * lisp.h:
13368         Extern message-box stuff.
13369
13370         * window.c (allocate_window):
13371         * window.c (make_dummy_parent):
13372         * window.c (Fset_window_configuration):
13373         Use EQUAL not EQ for subwindow caches to make them work a bit
13374         better. (Something is still very broken.)
13375
13376
13377 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13378
13379         * glyphs.c (image_instantiate): Suppress gcc warnings.
13380         (Fmake_image_instance): Fix doc string.
13381         * specifier.c (Fmake_specifier): Ditto.
13382
13383 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13384
13385         * paths.h.in (PATH_LOCK): Removed.
13386         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13387         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13388
13389 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13390
13391         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13392         Document (featurep '(and xemacs 21.02)).
13393
13394 2000-05-09  Ben Wing  <ben@xemacs.org>
13395
13396         * buffer.c (complex_vars_of_buffer):
13397         update modeline-format doc.
13398
13399         * device.h:
13400         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13401
13402         * emacs.c:
13403         timeline of all released versions of Emacs, for use in creating
13404         authorship comments and in synching up.
13405
13406         * glyphs-widget.c (image_instantiator_buttons):
13407         * glyphs-widget.c (image_instantiator_edit_fields):
13408         * glyphs-widget.c (image_instantiator_combo_box):
13409         * glyphs-widget.c (image_instantiator_scrollbar):
13410         * glyphs-widget.c (image_instantiator_progress_guage):
13411         * glyphs-widget.c (image_instantiator_tree_view):
13412         * glyphs-widget.c (image_instantiator_tab_control):
13413         * glyphs-widget.c (image_instantiator_labels):
13414         * glyphs-widget.c (image_instantiator_layout):
13415         * glyphs-widget.c (image_instantiator_native_layout):
13416         rename decode_domain method to governing_domain.
13417
13418         * glyphs.c:
13419         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13420         * glyphs.c (add_entry_to_device_ii_format_list):
13421         make sure we don't put an entry more than once into the list.
13422         * glyphs.c (check_instance_cache_mapper):
13423         *************************************************************
13424         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13425         HAVE BEEN GETTING.
13426         *************************************************************
13427         * glyphs.c (get_image_instantiator_governing_domain):
13428         clean up, expand on new concept of governing domain.
13429         * glyphs.c (instantiate_image_instantiator):
13430         * glyphs.c (allocate_image_instance):
13431         use governing_domain instead of cache_domain in naming.
13432         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13433         * glyphs.c (make_image_instance_1):
13434         * glyphs.c (Fmake_image_instance):
13435         allow for any domain (not just device), and process the
13436         governing domain correctly.  very big doc fix.
13437         * glyphs.c (Fimage_instance_domain):
13438         new primitive, to retrieve the governing domain of an image instance.
13439         * glyphs.c (image_instantiate):
13440         use new governing_domain stuff.  this fixes a crash you could get
13441         by instantiating certain widget glyphs in frame locales. (should
13442         signal an error instead of crashing.)
13443         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13444         * glyphs.c (Fglyphp): clean up doc.
13445         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13446         * glyphs.c (syms_of_glyphs):
13447         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13448         * glyphs.c (image_instantiator_format_create): add some comments about
13449         bogus code.
13450         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13451         for current-display-table. (Apparently Hrjove implemented in 1998 a
13452         design I wrote up in 1996, but didn't update the doc string.)
13453
13454         * glyphs.h: clean up a doc string.
13455         * glyphs.h (governing_domain):
13456         * glyphs.h (struct image_instantiator_methods):
13457         changes for governing_domain stuff.
13458
13459         * gutter.c:
13460         * gutter.c (Fgutter_specifier_p):
13461         * gutter.c (Fgutter_size_specifier_p):
13462         * gutter.c (Fgutter_visible_specifier_p):
13463         * objects.c:
13464         * objects.c (Fcolor_specifier_p):
13465         * objects.c (Ffont_specifier_p):
13466         * objects.c (Fface_boolean_specifier_p):
13467         doc strings moved to make-*-specifier.
13468
13469         * redisplay.c (add_disp_table_entry_runes_1):
13470         * redisplay.c (generate_fstring_runes):
13471         * redisplay.c (screen):
13472         add random comments and doc strings.
13473
13474         * specifier.c:
13475         * specifier.c (Fmake_specifier):
13476         major overhaul of this doc string.
13477
13478         * specifier.c (Fvalid_specifier_domain_p):
13479         comment about the bogosity of image instances being domains.
13480         * specifier.c (decode_domain):
13481         now non-static, used in glyphs.c.
13482         * specifier.c (specifier_instance):
13483         comment about the bogosity of image instances being domains.
13484         * specifier.c (Fgeneric_specifier_p):
13485         move doc string to make-generic-specifier.
13486         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13487         rebackslashify.
13488
13489         * specifier.h:
13490         * specifier.h (DOMAIN_FRAME):
13491         * specifier.h (DOMAIN_LIVE_P):
13492         * specifier.h (DOMAIN_XDEVICE):
13493         rebackslashify.
13494         add comments about problems with these macros.
13495         prototype for decode_domain.
13496
13497         * toolbar.c:
13498         * toolbar.c (Ftoolbar_specifier_p):
13499         move doc string to `make-toolbar-specifier'.
13500
13501         * window.c (window_unmap_subwindows_cache_mapper):
13502         *************************************************************
13503         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13504         HAVE BEEN GETTING.
13505         *************************************************************
13506
13507 2000-05-09  Andy Piper  <andy@xemacs.org>
13508
13509         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13510
13511         * window.c (Fset_window_configuration): reset the frame subwindow
13512         cache and re-initialize the window subwindow caches.
13513
13514         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13515
13516 2000-05-09  Ben Wing  <ben@xemacs.org>
13517
13518         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13519         DWORD.
13520
13521 2000-04-26  Mike Woolley  <mike@bulsara.com>
13522
13523         * ntheap.c: Changed recreate_heap to limit the amount reserved
13524         for the heap to that which is actually available. Also now
13525         displays a message box (with some dignostics) in the event that
13526         it still can't start.
13527
13528 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13529
13530         * callproc.c (Fold_call_process_internal): GCPRO path
13531
13532 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13533
13534         Patch by Bill Perry.
13535
13536         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13537         back data instead of #ifdef.
13538         (Fscrollbar_page_down): ditto.
13539
13540 2000-05-07  Ben Wing  <ben@xemacs.org>
13541
13542         * buffer.h:
13543         Kludge for defining Qmswindows_tstr.
13544
13545         * nt.c:
13546         * nt.c (open_input_file):
13547         * nt.c (open_output_file):
13548         * nt.c (rva_to_section):
13549         * nt.c (mswindows_executable_type):
13550         Move all memory-mapped-file routines here (some were in unexnt.c,
13551         which is bad because they are used by process-nt.c, and unexnt
13552         won't be around when portable dumping).  Synched the above routines
13553         with FSF 20.6.
13554
13555         * nt.h:
13556         Removed ifdef'd out bogus code.
13557         Fixed some prototypes.
13558
13559         * nt.h (file_data):
13560         * nt.h (OFFSET_TO_RVA):
13561         * nt.h (RVA_TO_OFFSET):
13562         * nt.h (RVA_TO_PTR):
13563         Moved the memory-mapped-file structures, macros and prototypes
13564         here, to parallel nt.c.  ntheap.h should really be removed
13565         entirely, and it's a non-portable-dumper specific file.
13566
13567         * ntheap.h (round_to_next):
13568         Moved the memory-mapped-file structures, macros and prototypes
13569         to nt.h.
13570
13571         * ntproc.c (compare_env):
13572         Moved rva_to_section and mswindows_executable_type to nt.c.
13573         Moved compare_env to process-nt.c.
13574         ntproc.c will die, one day.
13575
13576         * ntproc.c (sys_spawnve):
13577         Account for win32_ -> mswindows_.
13578
13579         * process-nt.c:
13580         * process-nt.c (struct nt_process_data):
13581         * process-nt.c (ensure_console_window_exists):
13582         * process-nt.c (compare_env):
13583         * process-nt.c (nt_create_process):
13584         * process-nt.c (nt_kill_process_by_pid):
13585         * process-nt.c (syms_of_process_nt):
13586         * process-nt.c (vars_of_process_nt):
13587         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13588         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13589         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13590         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13591         Move compare_env here from ntproc.c.
13592
13593         * process.c (Fprocess_send_region):
13594         Takes an optional fourth argument, BUFFER, which should fix some
13595         problems with call-process.
13596
13597         * syscommctrl.h:
13598         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13599
13600         * syswindows.h:
13601         Move ICC_BAR_CLASSES to syscommctrl.h.
13602         Add preliminary macros for MSWindows/Mule.  More to come.
13603
13604         * unexnt.c:
13605         * unexnt.c (unexec):
13606         open_output_file moved to nt.c.
13607
13608
13609 2000-05-05  Andy Piper  <andy@xemacs.org>
13610
13611         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13612         instance from the frame cache also since GC may catch up too late
13613         to make frame deletion sane.
13614
13615 2000-05-04  Andy Piper  <andy@xemacs.org>
13616
13617         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13618         (x_finalize_image_instance): ungcpro on deletion.
13619
13620         * glyphs.c (image_instantiator_format_create): give pointers a
13621         query geometry method so that the geometry is at least set.
13622
13623         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13624         initialize layouts if using widgets.
13625
13626 2000-05-03  Andy Piper  <andy@xemacs.org>
13627
13628         * nt.c: remove bogus reference to sysmmsystem.h
13629
13630         * gui-x.c (popup_selection_callback): fix no selection abort.
13631
13632 2000-05-02  Andy Piper  <andy@xemacs.org>
13633
13634         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13635         (mswindows_widget_instantiate): ditto.
13636
13637         * glyphs-widget.c (initialize_widget_image_instance): initialize
13638         children correctly.
13639         (widget_instantiate): cope with children and items in the same
13640         instance.
13641
13642         * glyphs.c (mark_image_instance): cope with children as a first
13643         class member.
13644         (image_instance_equal): ditto.
13645         (image_instance_hash): ditto.
13646         (image_instance_changed): ditto.
13647
13648 2000-04-30  Andy Piper  <andy@xemacs.org>
13649
13650         * glyphs.c (subwindow_query_geometry): new function. Return some
13651         defaults.
13652         (subwindow_instantiate): don't assign dimensions if none have been
13653         given.
13654         (image_instantiator_format_create): add subwindow_query_geometry.
13655         (print_image_instance): cope with layouts as widgets.
13656
13657 2000-04-29  Andy Piper  <andy@xemacs.org>
13658
13659         * frame.c (delete_frame_internal): call
13660         free_frame_subwindow_instance_cache so that all subwindows are
13661         finalized before their parent.
13662         (mark_frame): remove subwindow_cachels.
13663         (Fmake_frame): remove subwindow_cachel manipulation.
13664         (allocate_frame_core): subwindow_instance_cache is a weak list.
13665         (delete_frame_internal): set subwindow_instance_cache to nil.
13666
13667         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13668         finalization safe.
13669         (mswindows_finalize_image_instance): use the device
13670         not the domain as the domain may have died already.
13671
13672         * glyphs-x.c (x_finalize_image_instance): ditto.
13673         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13674         HEIGHT.
13675
13676         * redisplay-output.c (redisplay_unmap_subwindows): update for
13677         subwindow instance cache as a weak list.
13678         (redisplay_unmap_subwindows_maybe): ditto.
13679         (redisplay_unmap_subwindows_except_us): ditto.
13680
13681         * glyphs.c (unmap_subwindow): error checking will check the domain
13682         so don't deal with it here. Don't use cachels anymore.
13683         (map_subwindow): ditto.
13684         (update_subwindow_cachel_data): remove old accessor names.
13685         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13686         (Fresize_subwindow): don't update cachel.
13687         (mark_subwindow_cachels):
13688         (update_subwindow_cachel_data):
13689         (add_subwindow_cachel):
13690         (get_subwindow_cachel_index):
13691         (update_subwindow_cachel):
13692         (reset_subwindow_cachels):
13693         (mark_subwindow_cachels_as_not_updated): deleted.
13694         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13695         subwindow instance to the frame cache.
13696         (find_matching_subwindow): update for subwindow instance cache as
13697         a weak list.
13698         (update_widget_instances): ditto.
13699         (image_instance_type_to_mask):inlined.
13700         (free_frame_subwindow_instance_cache): new function. finalize all
13701         subwindows that are instantiated.
13702
13703         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13704         of cachel information.
13705         (IMAGE_INSTANCE_DISPLAY_X):
13706         (IMAGE_INSTANCE_DISPLAY_Y):
13707         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13708         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13709         (XIMAGE_INSTANCE_DISPLAY_X):
13710         (XIMAGE_INSTANCE_DISPLAY_Y):
13711         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13712         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13713         remove subwindow_cachel structure and function references.
13714         (image_instance_type_to_mask): inline from glyphs.c
13715
13716         * redisplay.c (redisplay_frame): remove subwindow_cachel
13717         references.
13718
13719         * frame.h (struct frame): remove subwindow_cachels.
13720         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13721
13722         * frameslots.h: add subwindow_instance_cache.
13723
13724         * window.c (replace_window): check subwindow cache of replacement.
13725         (window_unmap_subwindows_cache_mapper):
13726         (window_unmap_subwindows): new functions. Unmap all subwindows
13727         cached on this window.
13728         (mark_window_as_deleted): unmap all subwindows.
13729
13730 2000-04-27  Andy Piper  <andy@xemacs.org>
13731
13732         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13733
13734         * glyphs-widget.c (widget_layout): return something.
13735         (layout_layout): return something. Fail if not initialized.
13736         (layout_query_geometry): ditto.
13737         (image_instantiator_native_layout): new function. Initialized the
13738         native layout type.
13739         (widget_instantiate): don't do layout stuff here.
13740
13741         * glyphs.c (instantiate_image_instantiator): reorded calling or
13742         instantiate and post_instantiate with layout in between.
13743         (image_instance_layout): be more selective about deciding whether
13744         the layout has been done or not.
13745
13746         * glyphs.h (struct image_instantiator_methods): return a value
13747         from layout_method.
13748
13749 2000-04-26  Andy Piper  <andy@xemacs.org>
13750
13751         * glyphs.c (allocate_image_instance): make initial width and
13752         height unspecified. Set initialized to 0.
13753
13754         * syscommctrl.h new file. Encapsulates commctrl.h.
13755
13756         * syswindows.h new file. Encapsulates windows.h.
13757
13758         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13759         * nt.c: ditto.
13760         * console-msw.h: ditto.
13761
13762         * redisplay-tty.c (tty_output_display_block): remove layout references.
13763
13764         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13765         window handle rather than just the frame.
13766
13767         * glyphs.c (mark_image_instance): remove layout references.
13768         (print_image_instance): ditto.
13769         (image_instance_equal): ditto.
13770         (image_instance_hash): ditto.
13771         (decode_image_instance_type): ditto.
13772         (encode_image_instance_type): ditto.
13773         (image_instantiate): ditto.
13774         (allocate_glyph): ditto.
13775         (Fimage_instance_height): ditto.
13776         (Fimage_instance_width): ditto.
13777         (update_subwindow): ditto.
13778
13779         * redisplay-x.c (x_output_display_block): recode for layouts as
13780         widgets.
13781
13782         * redisplay-output.c (redisplay_output_layout): recode for layouts
13783         as widgets.
13784         (compare_runes): remove layout references.
13785
13786         * redisplay-msw.c (mswindows_output_display_block): recode for
13787         layouts as widgets.
13788
13789         * glyphs-widget.c (image_instantiator_layout): remove
13790         layout_possible_dest_types.
13791         (layout_possible_dest_types): deleted.
13792
13793         * glyphs.h (image_instance_type): remove layout references.
13794         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13795         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13796         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13797
13798 2000-04-25  Andy Piper  <andy@xemacs.org>
13799
13800         * glyphs-widget.c (image_instantiator_buttons):
13801         (image_instantiator_edit_fields):
13802         (image_instantiator_combo_box):
13803         (image_instantiator_scrollbar):
13804         (image_instantiator_progress_guage):
13805         (image_instantiator_tree_view):
13806         (image_instantiator_tab_control):
13807         (image_instantiator_labels):
13808         (image_instantiator_layout): call default post_instantiate method.
13809         (widget_post_instantiate): new function. Simply lays out the
13810         widgets.
13811
13812         * glyphs.h (struct image_instantiator_methods): add
13813         post_instantiate method.
13814
13815         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13816         method calls.
13817
13818 2000-04-23  Andy Piper  <andy@xemacs.org>
13819
13820         * glyphs.h (struct image_instantiator_methods): add
13821         decode_domain_method.
13822         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13823         derived from the domain.
13824         (IMAGE_INSTANCE_FRAME): new accessor.
13825         (XIMAGE_INSTANCE_FRAME): ditto.
13826
13827         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13828         instead of _SUBWINDOW_FRAME.
13829         (finalize_image_instance): ditto.
13830         (Fimage_instance_foreground): ditto.
13831         (Fimage_instance_background): ditto.
13832         (image_instantiate): ditto.
13833         (update_subwindow_cachel): ditto.
13834         (update_subwindow): ditto.
13835         (unmap_subwindow): ditto.
13836         (map_subwindow): ditto
13837         (subwindow_instantiate): ditto.
13838         * glyphs-msw.c (mswindows_update_widget): ditto.
13839         (mswindows_progress_gauge_instantiate): ditto.
13840         (mswindows_tab_control_update): ditto.
13841         * glyphs-x.c (x_update_widget): ditto.
13842         (x_widget_instantiate): ditto.
13843         (x_tab_control_instantiate): ditto.
13844         (x_tab_control_update): ditto.
13845         * event-msw.c (mswindows_wnd_proc): ditto
13846
13847         * glyphs-widget.c (image_instantiator_layout): use
13848         subwindow_decode_domain.
13849         (image_instantiator_buttons): ditto.
13850         (image_instantiator_edit_fields): ditto.
13851         (image_instantiator_combo_box): ditto.
13852         (image_instantiator_scrollbar): ditto.
13853         (image_instantiator_progress_guage): ditto.
13854         (image_instantiator_tree_view): ditto.
13855         (image_instantiator_tab_control): ditto.
13856         (image_instantiator_labels): ditto.
13857         (image_instantiator_layout): ditto.
13858
13859         * glyphs.c: add instance error checking to many functions.
13860         (instantiate_image_instantiator): decode device from cache_domain.
13861         (image_instantiate): partially rewrite by using
13862         decode_image_instantiator_domain to determine what domain the
13863         instance needs to be cached in.
13864         (decode_image_instantiator_domain): new function. Determine what
13865         domain the image needs to be cached in.
13866         (check_window_subwindow_cache): new error checking function.
13867         (check_instance_cache_mapper): ditto.
13868         (check_image_instance_structure): ditto.
13869         (subwindow_decode_domain): new function. Encodes a window as a
13870         subwindow's cache domain.
13871         (image_instantiator_format_create): use it for text and
13872         subwindows.
13873
13874 2000-04-21  Andy Piper  <andy@xemacs.org>
13875
13876         * glyphs.c (image_instance_device): new function.
13877         (image_instance_frame): new function.
13878         (image_instance_window): new function.
13879         (image_instance_live_p): new function.
13880
13881         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13882         cache to nil.
13883
13884         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13885         (IMAGE_INSTANCE_DOMAIN): new accessor.
13886         (XIMAGE_INSTANCE_DOMAIN): ditto.
13887
13888         * glyphs-x.c (x_finalize_image_instance): device->domain.
13889
13890         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13891         (mswindows_finalize_image_instance): ditto.
13892
13893         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13894         (gif_instantiate): ditto.
13895         (png_instantiate): ditto.
13896         (tiff_instantiate): ditto.
13897
13898         * glyphs.c (instantiate_image_instantiator): use domain rather
13899         than device.
13900         (mark_image_instance): device -> domain.
13901         (print_image_instance): ditto.
13902         (finalize_image_instance): ditto.
13903         (image_instance_equal): ditto.
13904         (allocate_image_instance): ditto.
13905         (Fcolorize_image_instance): ditto.
13906         (query_string_geometry): ditto.
13907         (image_instantiate): ditto
13908         (query_string_font): ditto.
13909         (image_instantiate): ditto.
13910         (update_subwindow): ditto.
13911         (unmap_subwindow): ditto.
13912         (map_subwindow): ditto.
13913         (subwindow_instantiate): ditto.
13914
13915         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13916         (DOMAIN_FRAME): ditto.
13917         (DOMAIN_WINDOW): ditto.
13918         (DOMAIN_LIVE_P): ditto.
13919         (XDOMAIN_DEVICE): ditto.
13920         (XDOMAIN_FRAME): ditto.
13921         (XDOMAIN_WINDOW): ditto.
13922
13923         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13924         a valid specifier domain.
13925
13926 2000-04-19  Andy Piper  <andy@xemacs.org>
13927
13928         * glyphs-widget.c (syms_of_glyphs_widget): remove
13929         widget-callback-current-channel.
13930         (vars_of_glyphs_widget): ditto.
13931         * glyphs.h: ditto
13932
13933         * gui.c (get_gui_callback): revert to previous behaviour.
13934
13935 2000-04-18  Andy Piper  <andy@xemacs.org>
13936
13937         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13938         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13939         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13940
13941         * glyphs.c (image_instance_equal): add margin_width.
13942         (image_instance_hash): ditto.
13943
13944         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13945         (layout_query_geometry): ditto.
13946         (layout_layout): ditto.
13947         (syms_of_glyphs_widget): add margin-width.
13948         (image_instantiator_layout): allow margin-width.
13949
13950         * glyphs.c (update_widget_instances): make a normal function.
13951         (syms_of_glyphs): remove Qupdate_widget_instances.
13952         * glyphs.h: ditto.
13953
13954         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13955         so that we don't corrupt ideas about the last event or
13956         command. Remove widget-callback-current-channel fiddling.
13957         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13958
13959 2000-05-01  Martin Buchholz <martin@xemacs.org>
13960
13961         * XEmacs 21.2.33 is released.
13962
13963 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13964
13965         * make-src-depend: Allow dots in header file name.
13966
13967 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13968
13969         * mule-charset.h (struct charset_lookup): Add
13970         next_allocated_1_byte_leading_byte and
13971         next_allocated_2_byte_leading_byte.
13972         * mule-charset.c: Move above two variables so that those values
13973         will be dumped.
13974
13975 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13976
13977         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13978         when string length is zero.
13979         (find_charsets_in_emchar_string): Ditto.
13980
13981 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13982
13983         * lisp.h: extern Qdialog and Qmenubar.
13984
13985         * gui-x.c: added events.h.
13986                 also fixed typo which made the file uncompilable.
13987
13988         * general.c: Added Qmenubar and Qdialog
13989
13990 2000-04-28  Ben Wing  <ben@xemacs.org>
13991
13992         * frame-msw.c (mswindows_init_frame_1):
13993         * frame-msw.c (mswindows_mark_frame):
13994         * event-msw.c (mswindows_enqueue_dispatch_event):
13995         * console-msw.h:
13996         * console-msw.h (struct mswindows_frame):
13997         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13998         there are now three hash tables for callbacks.
13999         mswindows_enqueue_dispatch_event is no longer static.
14000
14001         * dialog-x.c (maybe_run_dbox_text_callback):
14002         * dialog-x.c (dbox_descriptor_to_widget_value):
14003         switch to new cons3 form for callbacks.
14004
14005         * glyphs-msw.c (mswindows_register_gui_item):
14006         * glyphs-msw.c (mswindows_widget_instantiate):
14007         * glyphs-msw.c (add_tree_item):
14008         * glyphs-msw.c (add_tab_item):
14009         new image instance parameter, so it can be passed to callback-ex.
14010         respect :callback-ex as well as :callback.
14011
14012         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14013         add :callback-ex.
14014
14015         * glyphs.c (print_image_instance):
14016         prettify, e.g. now prints widget type.
14017
14018         * gui-x.h:
14019         certain funs have new image instance parameter.
14020
14021         * gui.c:
14022         * gui.c (get_gui_callback):
14023         * gui.c (gui_item_add_keyval_pair):
14024         * gui.c (gui_item_init):
14025         * gui.c (gui_add_item_keywords_to_plist):
14026         * gui.c (mark_gui_item):
14027         * gui.c (gui_item_hash):
14028         * gui.c (gui_item_equal):
14029         * gui.c (copy_gui_item):
14030         * gui.c (syms_of_gui):
14031         recognize callback-ex in a number of places.
14032         also, fix the annoying "can't get out of yes-no dialog" bug.
14033
14034         * gui.h:
14035         * gui.h (struct Lisp_Gui_Item):
14036         recognize callback-ex in a number of places.
14037
14038         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14039         new parameter in button_item_to_widget_value.
14040
14041         * glyphs-x.c (x_update_widget):
14042         * glyphs-x.c (x_button_instantiate):
14043         * glyphs-x.c (x_button_update):
14044         * glyphs-x.c (x_progress_gauge_instantiate):
14045         * glyphs-x.c (x_edit_field_instantiate):
14046         * glyphs-x.c (x_combo_box_instantiate):
14047         * glyphs-x.c (x_tab_control_instantiate):
14048         * glyphs-x.c (x_label_instantiate):
14049         new image instance parameter in various places.
14050
14051         * event-Xt.c:
14052         * event-Xt.c (enqueue_Xt_dispatch_event):
14053         this fun gets exported.
14054
14055         * gui-msw.c:
14056         * gui-msw.c (mswindows_handle_gui_wm_command):
14057         handle both :callback and :callback-ex, and generate our own
14058         event because it's one of the callback-ex arguments.
14059
14060         * gui-x.c:
14061         * gui-x.c (popup_selection_callback):
14062         handle both :callback and :callback-ex, and generate our own
14063         event because it's one of the callback-ex arguments.
14064         * gui-x.c (button_item_to_widget_value):
14065         * gui-x.c (gui_items_to_widget_values_1):
14066         * gui-x.c (gui_item_children_to_widget_values):
14067         * gui-x.c (gui_items_to_widget_values):
14068         new image instance parameter in various places.
14069
14070         * fns.c (Freplace_list):
14071         fix small typo in doc string.
14072
14073         * lisp.h:
14074         declare enqueue_Xt_dispatch_event.
14075
14076 2000-04-28  Ben Wing  <ben@xemacs.org>
14077
14078         * buffer.c:
14079         * buffer.c (Frecord_buffer):
14080         * buffer.c (syms_of_buffer):
14081         delete record-buffer-hook.
14082
14083         * fns.c:
14084         * fns.c (Freplace_list):
14085         * fns.c (syms_of_fns):
14086         new primitive replace-list.
14087
14088         * frameslots.h:
14089         slot for old buffer-alist.
14090
14091         * lisp.h:
14092         exfun replace-list.
14093
14094         * redisplay.c:
14095         * redisplay.c (redisplay_frame):
14096         * redisplay.c (syms_of_redisplay):
14097         * redisplay.c (vars_of_redisplay):
14098         new hook buffer-list-changed-hook.
14099         call it.
14100
14101 2000-04-27  Ben Wing  <ben@xemacs.org>
14102
14103         * extents.h: extern in_modeline_generation.
14104
14105         * redisplay.c (generate_formatted_string_db): set
14106         in_modeline_generation.
14107
14108         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14109         flags if in modeline generation.  otherwise frame-modified-tick
14110         is ticked far too often.
14111         Declare in_modeline_generation.
14112
14113 2000-04-26  Ben Wing  <ben@xemacs.org>
14114
14115         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14116         option.
14117         (vars_of_emacs): add quick-build as an error-checking option.
14118         A bit kludgy, but there doesn't seem much point in creating
14119         a real var for this.
14120
14121         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14122
14123 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14124
14125         * redisplay.h (struct display_line): Add a new variable,
14126         line_continuation.
14127
14128         * redisplay.c (create_text_block): Set dl->line_continuation if
14129         the line continues.
14130         (create_string_text_block): Ditto.
14131         (regenerate_window_incrementally): Use line_continuation instead
14132         of searching continuation glyph.
14133         (add_margin_runes): Call add_glyph_rune.
14134         (add_glyph_rune): Handle margin glyph.
14135
14136 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14137
14138         * filelock.c (fill_in_lock_file_name):
14139         ANSIfy.
14140         Check for IS_ANY_SEP instead of '/'.
14141         (lock_file_1):
14142         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14143         Never check errno without first seeing that system call failed.
14144         (unlock_file): Add GCPRO.
14145         (Flock_buffer): Fix docstring.
14146         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14147
14148 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14149
14150         * sysdep.c (get_pty_max_bytes):
14151         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14152         strings longer than 252 bytes.
14153
14154         * md5.c: Unconditionally include ANSI header <limits.h>
14155
14156         * glyphs-x.c (convert_EImage_to_XImage):
14157         * lisp-union.h (union Lisp_Object):
14158         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14159
14160 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14161
14162         * filelock.c (current_lock_owner): Remove unused variable o, p.
14163
14164 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14165
14166         * callint.c: Remove multiply defined symbol Qlet
14167         (syms_of_callint): ditto.
14168
14169 2000-04-14  Andy Piper  <andy@xemacs.org>
14170
14171         * general.c (syms_of_general): add last-command, this-command, let
14172         and funcall.
14173
14174         * lisp.h: declare various symbols.
14175
14176         * glyphs.h: declare Qwidget_callback_current_channel;
14177
14178         * glyphs-widget.c (syms_of_glyphs_widget): add
14179         Qgui_callback_current_channel.
14180         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14181
14182         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14183         widget-callback-current-channel when invoking the interactive
14184         arg. Also bind last-command and next-command when invoking the
14185         widget updates.
14186         * gui-x.c (popup_selection_callback): ditto.
14187
14188         * gui.c (get_gui_callback): massage args so that we are always
14189         calling eval. This allows us to add our own variable bindings
14190         outside.
14191
14192         * glyphs-x.c (x_button_instantiate): use
14193         gui_items_to_widget_values since this is GC safe.
14194         (x_progress_gauge_instantiate): ditto.
14195         (x_edit_field_instantiate): ditto.
14196         (x_label_instantiate): ditto.
14197
14198         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14199         (emacs_Xt_event_widget_focus_out): new function
14200         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14201         focus.
14202         (emacs_Xt_event_add_widget_actions): new function. add focus
14203         functions as actions.
14204         (init_event_Xt_late): use it.
14205
14206 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14207
14208         * event-stream.c (Fdispatch_event): Doc fix.
14209
14210 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14211
14212         * postgresql.c: Remove all references to PQsetenv*.
14213
14214         * postgresql.h: Remove references to PGsetenvHandler object.
14215         * lrecord.h (lrecord_type): Ditto.
14216
14217 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14218
14219         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14220         real_heigh and real_width members, and accessor macros for these.
14221
14222         * glyphs-msw.c (init_image_instance_geometry): New function.
14223         (init_image_instance_from_dibitmap): Use it.
14224         (mswindows_resource_instantiate): Use it.
14225         (init_image_instance_from_xbm_inline): Use it.
14226         (mswindows_initialize_image_instance_mask): Use real bitmap
14227         geometry.
14228         (mswindows_create_resized_bitmap): Ditto.
14229         (mswindows_create_resized_mask): Ditto.
14230
14231         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14232         and bitmap to their surface size.
14233
14234 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14235
14236         * process-unix.c (unix_send_process): Guard against process MIA
14237         after Faccept_process_output.
14238
14239 2000-04-11  Ben Wing  <ben@xemacs.org>
14240
14241         * eval.c (unbind_to_hairy): fix brokenness introduced by
14242         nanosecond speed improvements.
14243
14244 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14245
14246         * sunplay.c (init_device): To play sounds correctly, the device
14247         apparently needs to be initialized at least once by XEmacs.  Make
14248         it so.
14249
14250 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14251
14252         * redisplay.c (add_margin_runes): Add text image glyph
14253           handling.
14254
14255 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14256
14257         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14258         gcc is newer than 2.5.
14259
14260 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14261
14262         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14263
14264         * fns.c (size_bit_vector):
14265         * alloc.c (size_vector):
14266         (make_vector_internal):
14267         (make_bit_vector_internal):
14268         (sweep_bit_vectors_1):
14269         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14270
14271 2000-04-06  Andy Piper  <andy@xemacs.org>
14272
14273         * gmalloc.c (malloc): undo previous change.
14274         (malloc): ditto.
14275         (free): ditto.
14276         (realloc): ditto.
14277
14278 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14279
14280         * line-number.c (buffer_line_number): Revert to former version.
14281
14282 2000-04-06  Andy Piper  <andy@xemacs.org>
14283
14284         * gmalloc.c (malloc): add error checking.
14285         (malloc): ditto.
14286         (free): ditto.
14287         (realloc): ditto.
14288
14289         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14290         button_item_to_widget_value arg.
14291
14292         * glyphs-x.c (x_button_instantiate): add extra
14293         button_item_to_widget_value arg.
14294         (x_progress_gauge_instantiate): ditto.
14295         (x_edit_field_instantiate): ditto.
14296         (x_label_instantiate): ditto.
14297
14298         * gui-x.c (gui_items_to_widget_values_1): add extra
14299         button_item_to_widget_value arg.
14300         (button_item_to_widget_value): add extra menu_item_p arg.
14301
14302         * gui-x.h: change signature of button_item_to_widget_value.
14303
14304         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14305         button_item_to_widget_value arg.
14306
14307 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14308
14309         * buffer.h (struct buffer): auto_save_modified should be long.
14310
14311 2000-04-05  Andy Piper  <andy@xemacs.org>
14312
14313         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14314         type.
14315         (button_query_geometry): give a little more room so that athena
14316         buttons fit.
14317
14318 2000-04-05  Andy Piper  <andy@xemacs.org>
14319
14320         * faces.c (complex_vars_of_faces): The widget face should inherit
14321         the font of the gui-element face.
14322
14323 2000-04-04  Andy Piper  <andy@xemacs.org>
14324
14325         * glyphs-x.c (x_button_update): new function. unconditionally
14326         update a button's state when the instance is dirty.
14327         (image_instantiator_format_create_glyphs_x): add x_button_update.
14328         (x_widget_instantiate): remove old resize cruft.
14329
14330 2000-04-02  Andy Piper  <andy@xemacs.org>
14331
14332         * frame.c (change_frame_size_1): The introduction of gutters means
14333         that we need to allow 0 as a potential frame dimension.
14334
14335 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14336
14337         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14338         image glyph if allow_cursor.
14339         (add_hscroll_rune): Don't allow cursor to border glyph.
14340         (create_text_block): Ditto.
14341
14342         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14343         text not in buffer.
14344         (redisplay_output_layout): Call ensure_face_cachel_complete for
14345         text image glyph.
14346
14347
14348 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14349
14350         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14351
14352         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14353         not in buffer
14354
14355         * redisplay-tty.c (tty_output_display_block): Delete the routine
14356         for text image glyph
14357         * redisplay-x.c (x_output_display_block): ditto
14358         * redisplay-msw.c (mswindows_output_display_block): ditto
14359
14360 2000-02-02  Mike Alexander  <mta@arbortext.com>
14361
14362         Note: Some of these were committed by accident as part of other
14363         patches.
14364
14365         * regex.c (regex_compile): Avoid compiler warnings.
14366
14367         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14368
14369         * nt.h: Declare term_ntproc correctly.
14370
14371         * nt.c: Remove incorrect declaration of get_home_directory which
14372         is declared correctly in lisp.h.
14373
14374         * keymap.c (get_keyelt): Avoid compiler warnings.
14375         (raw_lookup_key_mapper): Avoid compiler warnings.
14376
14377         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14378
14379         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14380
14381         * filemode.c (mode_string): Avoid compiler warnings.
14382
14383         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14384         avoid warning.
14385
14386         * events-mod.h: Undef some things that winuser.h defines differently.
14387
14388         * data.c (Faset): Avoid compiler warnings.
14389
14390         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14391
14392 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14393
14394         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14395         Fall through to simple beep on error.
14396         Replace "extern" by real header file.
14397
14398         * linuxplay.c: Use nativesound.h
14399         (play_sound_data): Return error code. Be less verbose on error.
14400
14401         * sunplay.c: Use nativesound.h
14402         (play_sound_data): Return error code. Be less verbose on error.
14403
14404         * ntplay.c: Use nativesound.h
14405         (play_sound_data): Return fake error code
14406
14407         * sgiplay.c: Use nativesound.h
14408         (play_sound_data): Return error code
14409
14410         * hpplay.c: Use nativesound.h, partially implement
14411         new error code. Break compilation until finished.
14412         (play_sound_data): error code.
14413
14414         * nativesound.h (play_sound_file):
14415           (play_sound_data): Prototype in new header.
14416
14417 2000-03-31  Andy Piper  <andy@xemacs.org>
14418
14419         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14420         for toggle and radio buttons.
14421         (image_instantiator_buttons): use it.
14422
14423 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14424
14425         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14426         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14427         found. Scrollbar event probably belonged to some old config.
14428
14429 2000-03-31  Andy Piper  <andy@xemacs.org>
14430
14431         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14432         than 1.
14433         (initialize_widget_image_instance): default layout to
14434         LAYOUT_HORIZONTAL rather than 0.
14435         (widget_instantiate): reverse the item list at the end rather than
14436         every iteration.
14437         (layout_layout): re-code for the border text at the front of the
14438         item list rather than at the end.
14439         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14440         provided by the user.
14441         (widget_query_geometry): comment.
14442
14443 2000-03-30  Andy Piper  <andy@xemacs.org>
14444
14445         * glyphs-widget.c (image_instantiator_layout): allow standard
14446         widget keywords in layouts.
14447
14448         * gutter.c (output_gutter): cope with nil gutter contents.
14449
14450         * frame.c (Fset_frame_properties): add gutter docs.
14451
14452 2000-03-29  Andy Piper  <andy@xemacs.org>
14453
14454         * toolbar-msw.c (TBSTYLE_FLAT): add.
14455         (mswindows_output_toolbar): minor fiddling.
14456
14457 2000-03-29  Andy Piper  <andy@xemacs.org>
14458
14459         * gutter.c (output_gutter): force gutter size recalculation if
14460         what we are trying to display won't fit.
14461         (update_gutter_geometry): new function. A per-gutter version of
14462         update_frame_gutter_geometry.
14463         (update_frame_gutter_geometry): use it.
14464         (redraw_exposed_gutter): add extra debugging output.
14465
14466 2000-03-28  Mike Alexander  <mta@arbortext.com>
14467
14468         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14469         (pdump_file_unmap): Implement it on Windows
14470         (pdump_file_get): Save alocated handles for pdump_file_unmap
14471
14472 2000-03-28  Andy Piper  <andy@xemacs.org>
14473
14474         * gui.c (get_gui_callback): treat Quit specially.
14475
14476 2000-03-27  Andy Piper  <andy@xemacs.org>
14477
14478         * glyphs.c (image_instantiate): be careful to check in the same
14479         way we assigned.
14480
14481 2000-03-27  Didier Verna  <didier@xemacs.org>
14482
14483         * config.h.in: define the proper SMART_INCLUDE macro.
14484         handle renaming of `foo_h_path' to `foo_h_file'.
14485
14486         * database.c: ditto.
14487
14488         * emacs.c: ditto.
14489
14490         * linuxplay.c: ditto.
14491
14492         * terminfo.c: ditto.
14493
14494         * tooltalk.h: ditto.
14495
14496 2000-03-27  Andy Piper  <andy@xemacs.org>
14497
14498         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14499         gets updated whenever the face might have changed.
14500
14501 2000-03-26  Mike Alexander  <mta@arbortext.com>
14502
14503         * dumper.c (pdump_resource_free): Fix the comment.
14504
14505 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14506
14507         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14508
14509 2000-03-22  Mike Alexander  <mta@arbortext.com>
14510
14511         * dumper.c: Include Windows headers on Windows
14512         (pdump_resource_free): Add a body to the function
14513         (pdump_load): exe_name -> exe_path and add some comments.
14514
14515 2000-03-25  Mike Alexander  <mta@arbortext.com>
14516
14517         * gui.c (copy_gui_item_tree): Return a value in all cases
14518
14519 2000-03-21  Didier Verna  <didier@xemacs.org>
14520
14521         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14522         lwlib/config.h.in.
14523         (SMART_INCLUDE): new macro.
14524         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14525         the proper location.
14526
14527         * postgresql.c: use it.
14528
14529         * inline.c: ditto.
14530
14531 2000-03-24  Andy Piper  <andy@xemacs.org>
14532
14533         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14534         do this.
14535
14536 2000-03-24  Andy Piper  <andy@xemacs.org>
14537
14538         * redisplay-output.c (compare_runes): use image_instance_changed
14539         to detect changes. Do not depend on glyphs_changed, only depend on
14540         dirtiness.
14541          (redisplay_output_layout): add debug messages.
14542         (compare_runes): ditto.
14543
14544         * glyphs.h: declare new functions.
14545         (struct Lisp_Image_Instance): remove percent and associated
14546         accessors.
14547
14548         * gui.h: declare new copying functions.
14549
14550         * gui.c (copy_gui_item_tree): new function.
14551         (copy_gui_item): new function.
14552         (gui_item_id_hash): revert to standard hash.
14553         (gui_item_hash): ditto.
14554         (gui_item_hash_internal): deleted.
14555         (mark_gui_item): mark value.
14556         (gui_item_add_keyval_pair): add value.
14557         (gui_item_init): ditto.
14558         (gui_add_item_keywords_to_plist): ditto.
14559         (gui_item_equal): ditto.
14560         (syms_of_gui): add Q_value.
14561
14562         * glyphs-x.c (x_progress_gauge_update): use pending items and
14563         value for setting the state.
14564         (x_update_widget): don't set items from pending here.
14565
14566         * glyphs-widget.c (update_widget): update items here.
14567         (progress_gauge_set_property): use items for storing value. Put
14568         new value in pending items.
14569
14570         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14571         items for new value. Convert percent -> value.
14572         (mswindows_tab_control_update): don't update items here.
14573
14574         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14575         (update_subwindow): ditto.
14576         (image_instance_changed): new function. Compare hash values and
14577         past and present widget items.
14578         (image_instantiate): We more careful about where we instantiate
14579         things.
14580         (image_instantiate): add error checking.
14581
14582         * gutter.c (syms_of_gutter): use -hook.
14583
14584 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14585
14586         * console-tty.c (Fset_console_tty_input_coding_system): Use
14587         Qkeyboard.
14588         (Fset_console_tty_output_coding_system): Use Qterminal.
14589         (tty_init_console): Use Qkeyboard and Qterminal.
14590
14591 2000-03-21  Ben Wing  <ben@xemacs.org>
14592
14593         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14594         From Mike Alexander <mta@arbortext.com>.
14595
14596 2000-03-21  Ben Wing  <ben@xemacs.org>
14597
14598         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14599         process brokenness.  Proper implementation to come.
14600         * callproc.c:
14601         Rename call-process-internal to old-call-process-internal.
14602         New impl. in process.el.
14603
14604 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14605
14606         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14607
14608 2000-03-20  Andy Piper  <andy@xemacs.org>
14609
14610         * glyphs.c (full_list_hash): make hashes of the same elements in
14611         different orders return different values.
14612
14613 2000-03-20  Martin Buchholz <martin@xemacs.org>
14614
14615         * XEmacs 21.2.32 is released.
14616
14617 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14618
14619         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14620         (DFC_MALLOC_USE_CONVERTED_DATA):
14621         Add aliasing-safe casts to allow use with char* or unsigned char*
14622         lvalues.
14623
14624         * eldap.c (Fldap_open):
14625         (Fldap_search_basic):
14626         (Fldap_add):
14627         (Fldap_modify):
14628         Make C++-compilable.
14629         Make sure GCPRO'ed variables are initialized.
14630         Use temp variables to avoid repeated calls to Flength.
14631
14632 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14633
14634         * sysfile.h:
14635         Make sure PATH_MAX is always defined.
14636         Include limits.h for PATH_MAX.
14637         Deprecate use of MAXPATHLEN.
14638
14639 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14640
14641         * emacs.c: Add reinit_vars_of_fileio.
14642         * symsinit.h: Add reinit_vars_of_fileio.
14643         * fileio.c (reinit_vars_of_fileio): New.
14644         * fileio.c (Fmake_temp_name):
14645         Initialize temp_name random number from microseconds to make
14646         collisions even less likely.  Initialize always at process startup
14647         time.  (make-temp-name) used to return the same file name twice in
14648         a row when PDUMP.
14649         Random stylistic fiddling.
14650         Comment fixes.
14651
14652 2000-03-20  Andy Piper  <andy@xemacs.org>
14653
14654         * glyphs.c (image_instantiate): allow text glyphs to be
14655         instantiated in the minibuffer window.
14656
14657 2000-03-19  Andy Piper  <andy@xemacs.org>
14658
14659         * glyphs.c (image_instance_hash): be careful about which items we
14660         hash on.
14661
14662         * glyphs-widget.c (tab_control_set_property): record into pending
14663         items rather than the actual items.
14664
14665         * glyphs-x.c (x_update_widget): use pending items to update with.
14666
14667         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14668         to update with.
14669
14670         * glyphs.c (mark_image_instance): mark pending items.
14671
14672         * window.c (Fset_window_configuration): record the buffer.
14673         (Fselect_window): totally revert previous change which breaks many
14674         things.
14675
14676 2000-03-18  Andy Piper  <andy@xemacs.org>
14677
14678         * glyphs-msw.c (mswindows_tab_control_update): force selected
14679         item.
14680
14681         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14682         window domain cache, otherwise we get inconsistencies at
14683         startup. There is something fishy at startup which can lead to the
14684         minibuffer being the selected window when the gutter content is
14685         instantiated.
14686
14687         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14688         gcpros.
14689         (parse_gui_item_tree_children): ditto.
14690         (parse_gui_item_tree_item): ditto.
14691
14692         * glyphs.c (Fupdate_widget_instances): return something.
14693
14694 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14695
14696         * window.c (Fselect_window): Undo 2000-03-17 change.
14697
14698 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14699
14700         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14701         against v7.0 libraries.  Insta-coredump city until the postgres
14702         folks fix it.
14703
14704 2000-03-17  Andy Piper  <andy@xemacs.org>
14705
14706         * faces.c (complex_vars_of_faces): don't give the widget face an
14707         inherited background pixmap.
14708
14709         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14710         selected item.
14711
14712         * event-stream.c (Fdispatch_non_command_events): return something.
14713
14714         * gutter.c (output_gutter): use widget face.
14715         (clear_gutter): ditto.
14716
14717         * NEWS: adjust again.
14718
14719         * window.c (Fselect_window): make sure this runs to completion to
14720         avoid oddities with Fset_window_configuration.
14721         (Fcurrent_window_configuration): in general do not save the
14722         minibuffer as the selected window.
14723
14724         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14725
14726 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14727
14728         * emacs.c (Frunning_temacs_p): Revert previous patch.
14729         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14730
14731 2000-03-16  Andy Piper  <andy@xemacs.org>
14732
14733         * glyphs-x.c (x_tab_control_update): if no widget values then
14734         return.
14735
14736         * NEWS: update for new features.
14737
14738         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14739         synthetic event to the native system.
14740         (reinit_vars_of_event_Xt): set force_event_pending to
14741         emacs_Xt_force_event_pending.
14742
14743         * events.h (struct event_stream): add force_event_pending.
14744
14745         * specifier.c (recompute_one_cached_specifier_in_window): add
14746         comment.
14747
14748         * redisplay.c (redisplay_frame): don't call
14749         update_frame_subwindows. Reset subwindow cachels when
14750         subwindows_changed, removing this was an optimization too far.
14751
14752         * redisplay-output.c (compare_runes): reorganize so that we catch
14753         glyph changes when we want them. Set optimize_output when this
14754         would help layouts.
14755         (redisplay_output_layout): remove frame_really_changed, use
14756         optimize_output instead.
14757
14758         * redisplay-msw.c (mswindows_output_display_block): reset
14759         optimize_output after outputting a glyph.
14760         * redisplay-x.c (x_output_display_block): ditto.
14761         * redisplay-tty.c (tty_output_display_block): ditto.
14762
14763         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14764         functions.
14765         (gutter_specs_changed): do specific gutter positions.
14766         (top_gutter_specs_changed): new function. Only update the
14767         specified gutter specs.
14768         (bottom_gutter_specs_changed): ditto.
14769         (left_gutter_specs_changed): ditto.
14770         (right_gutter_specs_changed): ditto.
14771
14772         * gui.c (gui_item_hash_internal): new function, does a real hash.
14773         (gui_item_id_hash): use it.
14774         (gui_item_hash): hash the eval'ed gui_item.
14775
14776         * gui-x.c (popup_selection_callback): send an eval event to call
14777         Fupdate_widget_instances.
14778
14779         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14780         to call Fupdate_widget_instances.
14781
14782         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14783         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14784
14785         * glyphs.c: (update_frame_subwindows): deleted.
14786         (Fupdate_widget_instances): new function for updating the dirty
14787         state of widgets that might have changed.
14788         (syms_of_glyphs): add Qupdate_widget_instances.
14789         (full_list_hash): hash a list completely.
14790         (image_instance_hash): use it for items and properties.
14791
14792         * frame-msw.c (mswindows_size_frame_internal): remove unused
14793         variable.
14794
14795         * faces.h (struct face_cachel): fix comment.
14796
14797         * event-stream.c (Fdispatch_non_command_events): new
14798         function. Process non-command events, forcing an event cycle
14799         beforehand.
14800         (syms_of_event_stream): declare.
14801         (event_stream_force_event_pending): new function. Force an event
14802         on the native event queue so that an event cycle will occur next
14803         time we check.
14804
14805         * event-msw.c:
14806         (struct ntpipe_shove_stream):
14807         (mswindows_enqueue_dispatch_event):
14808         (mswindows_dequeue_dispatch_event):
14809         (mswindows_cancel_dispatch_event):
14810         (mswindows_pump_outstanding_events):
14811         (mswindows_drain_windows_queue):
14812         (mswindows_handle_paint):
14813         (mswindows_wnd_proc):
14814         (mswindows_key_to_emacs_keysym):
14815         (get_process_input_waitable):
14816         (emacs_mswindows_delete_stream_pair): re-indent file.
14817         (mswindows_need_event): do not process further fds if the windows
14818         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14819         fixes the 100% cpu problem.
14820         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14821
14822 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14823
14824         * alloc.h: New.
14825         * dumper.h: New.
14826         * dumper.c: New.
14827
14828         * emacs.c: Moved dump file searching to dumper.c.
14829         (Frunning_temacs_p): Fixed.
14830
14831         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14832         last_lrecord_type_index_assigned.
14833
14834 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14835
14836         * symsinit.h: Added reinit parameter to init_console_stream
14837         declaration.
14838
14839         * lisp.h: Added file parameter to pdump_load declaration.
14840
14841         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14842         support.  Added dump file searching.
14843
14844         * config.h.in: Added EMACS_PROGNAME.
14845
14846         * console-stream.c (init_console_stream): Fix reinitialisation
14847         when running from temacs.
14848
14849         * alloc.c (pdump): Add id support.
14850         (pdump_load): Add file parameter and signature/id support.
14851
14852         * Makefile.in.in: Add full pdump support.
14853
14854 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14855
14856         * postgresql.c: Update documentation to reflect latest code
14857         status.
14858         (print_result): Show tuple counts in printed representation when
14859         appropriate.
14860         (Fpq_put_nbytes): MULE-ize.
14861         (Fpq_get_line_async): Ditto.
14862
14863 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14864
14865         * postgresql.c (Fpq_lo_import): Fix return value.
14866         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14867
14868 2000-03-13  Ben Wing  <ben@xemacs.org>
14869
14870         * alloc.c (pdump_load):
14871         Fix compile warning under mswin.
14872
14873 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14874
14875         * postgresql.c: Mule-ization, bug fixes.
14876         Use PG_CODING to encapsulate coding system name changes.
14877         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14878         (pg-coding-system): Create.
14879
14880         (Fpq_conn_defaults): Mule-ize.
14881         (Fpq_connectdb): Mule-ize & bug fix.
14882         (Fpq_connect_start): Mule-ize.
14883         (Fpq_set_client_encoding): Mule-ize.
14884         (Fpq_finish): Document `DEAD' connection status.
14885         (Fpq_clear): Ditto.
14886         (Fpq_pgconn): Mule-ize.
14887         (Fpq_exec): Mule-ize & bug fix.
14888         (Fpq_send_query): Ditto.
14889         (Fpq_get_result): Ditto.
14890         (Fpq_res_status): Mule-ize.
14891         (Fpq_result_error_message): Mule-ize.
14892         (Fpq_ntuples): fix comments.
14893         (Fpq_fname): Mule-ize.
14894         (Fpq_fnumber): Mule-ize.
14895         (Fpq_ftype): fix comments.
14896         (Fpq_get_value): Mule-ize.
14897         (Fpq_cmd_status): Ditto.
14898         (Fpq_cmd_tuples): Ditto.
14899         (Fpq_oid_value): Ditto.
14900         (Fpq_notifies): Ditto.
14901         (Fpq_lo_import): Ditto.
14902         (Fpq_lo_export): Ditto.
14903         (Fpq_get_line): Ditto.
14904         (Fpq_put_line): Mule-ize and bug fix.
14905         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14906
14907 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14908
14909         * postgresql.c (vars_of_postgresql): Mule-ize.
14910         (Fpq_conn_defaults): Ditto.
14911
14912 2000-03-12  Ben Wing  <ben@xemacs.org>
14913
14914         * alloc.c (Fmake_byte_code):
14915         * alloc.c (debug_string_purity_print):
14916         * alloc.c (pdump_backtrace):
14917         * alloc.c (pdump_get_indirect_count):
14918         * alloc.c (pdump_register_sub):
14919         * alloc.c (pdump_register_object):
14920         * alloc.c (pdump_register_struct):
14921         * alloc.c (pdump_dump_data):
14922         * alloc.c (pdump_reloc_one):
14923         Minor cleanups.
14924
14925         * console-msw.c:
14926         * console-msw.c (GetConsoleHwnd):
14927         * console-msw.c (msw_hide_console):
14928         * console-msw.c (msw_show_console):
14929         * console-msw.c (msw_ensure_console_buffered):
14930         * console-msw.c (msw_output_console_string):
14931         * console-msw.c (console_type_create_mswindows):
14932
14933         a) Added functions to manipulate the console window for use with
14934         shell support.
14935
14936         b) Added support for writing text to the console, which is now
14937         used under Windows when xemacs is not being run non-interactively,
14938         to write text that would otherwise be destined for stdout because
14939         under these circumstances, text written to stdout tends to
14940         disappear and not be seen.
14941
14942         * console-msw.h:
14943         * event-Xt.c:
14944         * event-Xt.c (x_event_to_emacs_event):
14945         * event-Xt.c (describe_event_window):
14946         * events-mod.h (XEMACS_MOD_CONTROL):
14947         * events.c:
14948         * events.c (Fmake_event):
14949         * events.c (character_to_event):
14950         * events.c (event_to_character):
14951         * events.c (format_event_object):
14952         * events.c (Fevent_modifiers):
14953         * events.h:
14954         * events.h (struct key_data):
14955         * events.h (struct button_data):
14956         * events.h (struct misc_user_data):
14957         * frame-x.c (Fcde_start_drag_internal):
14958         * frame-x.c (Foffix_start_drag_internal):
14959         * gpmevent.c (Freceive_gpm_event):
14960         * keymap.c:
14961         * keymap.c (bucky_sym_to_bucky_bit):
14962         * keymap.c (control_meta_superify):
14963         * keymap.c (make_key_description):
14964         * keymap.c (keymap_lookup_directly):
14965         * keymap.c (create_bucky_submap):
14966         * keymap.c (keymap_store):
14967         * keymap.c (define_key_check_and_coerce_keysym):
14968         * keymap.c (define_key_parser):
14969         * keymap.c (define_key_alternate_name):
14970         * keymap.c (Fdefine_key):
14971         * keymap.c (raw_lookup_key_mapper):
14972         * keymap.c (struct map_keymap_unsorted_closure):
14973         * keymap.c (map_keymap_unsorted_mapper):
14974         * keymap.c (map_keymap_sort_predicate):
14975         * keymap.c (map_keymap_sorted):
14976         * keymap.c (accessible_keymaps_mapper_1):
14977         * keymap.c (where_is_recursive_mapper):
14978         * keymap.c (describe_map_mapper):
14979         * keymap.c (describe_map_sort_predicate):
14980         * keymap.c (describe_map):
14981         * keymap.c (complex_vars_of_keymap):
14982         And a number of other files, the key modifier preprocessor
14983         constants that xemacs uses have names that conflict with constants
14984         defined under MS Windows for other purposes, so they were renamed
14985         to begin with the prefix XEMACS_. The variables that hold such
14986         modifiers were changed to consistently be of type int to fix
14987         various compile warnings.
14988
14989         * console.c (complex_vars_of_console):
14990         * device.c:
14991         * device-msw.c:
14992         * device-msw.c (mswindows_finish_init_device):
14993         * device-msw.c (msw_get_workspace_coords):
14994         * device-msw.c (mswindows_device_system_metrics):
14995         and various other files, added support for a new
14996         device property called offset-workspace which returns the position
14997         of the upper left corner of the workspace area and goes along with
14998         the existing size-workspace property.
14999
15000         * dialog-msw.c:
15001         * dialog-msw.c (push_bufbyte_string_as_unicode):
15002         * dialog-msw.c (mswindows_popup_dialog_box):
15003         Added support for XEmacs-style accelerator specifications in
15004         button text.  Note: I didn't add support for this under X Windows,
15005         and somebody needs to do this.
15006
15007         * dialog.c:
15008         * dialog.c (Fpopup_dialog_box):
15009         Documented the support for accelerators that was just mentioned.
15010
15011         editfns.c (get_home_directory): Changed behavior under Windows
15012         when HOME not defined; former behavior was irretrievably broken.
15013
15014         * emacs.c:
15015         * emacs.c (main_1):
15016         * emacs.c (main):
15017         * minibuf.c (clear_echo_area_internal):
15018         * minibuf.c (echo_area_append):
15019         * print.c:
15020         * print.c (std_handle_out_external):
15021         * print.c (std_handle_out_va):
15022         * print.c (fatal):
15023         * print.c (write_string_to_stdio_stream):
15024         * print.c (output_string):
15025         * print.c (debug_print):
15026         * print.c (debug_backtrace):
15027         * print.c (debug_short_backtrace):
15028         Cleaned up the code that prints text to stdout so that this can be
15029         changed to output into a console window instead under MS Windows,
15030         as described above.
15031
15032         * eval.c:
15033         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15034         * eval.c (internal_catch):
15035         * eval.c (unwind_to_catch):
15036         * eval.c (throw_or_bomb_out):
15037         * eval.c (condition_case_1):
15038         * eval.c (signal_1):
15039         * eval.c (check_error_state_sanity):
15040         * eval.c (call_with_suspended_errors_1):
15041         * eval.c (call_with_suspended_errors):
15042         * eval.c (reinit_vars_of_eval):
15043         Added code to catch throw loops and check for a pesky bug that may
15044         be gone now.
15045
15046         * event-msw.c:
15047         * event-msw.c (key_needs_default_processing_p):
15048         * event-msw.c (mswindows_wnd_proc):
15049         * event-msw.c (mswindows_modifier_state):
15050         * event-msw.c (emacs_mswindows_quit_p):
15051         * event-msw.c (vars_of_event_mswindows):
15052         a) Added support for using the alt key to select menu items as is
15053         standard under MS Windows.  This is controlled using the variable
15054         menu-accelerator-enabled, just like under X Windows.  There is an
15055         option on the options menu to turn this support on.  I really
15056         think that it should be on by default under Windows, but I'm not
15057         going to make this change yet.
15058
15059         b)  Added support for dynamic display size changes under Windows.
15060
15061         * event-stream.c:
15062         * event-stream.c (maybe_echo_keys):
15063         * event-stream.c (Fnext_event):
15064         * event-stream.c (command_builder_find_leaf):
15065         * event-stream.c (lookup_command_event):
15066         * event-stream.c (execute_command_event):
15067         * event-stream.c (pre_command_hook):
15068         * event-stream.c (post_command_hook):
15069         * event-stream.c (syms_of_event_stream):
15070         * event-stream.c (vars_of_event_stream):
15071         * event-stream.c (complex_vars_of_event_stream):
15072         * events.h (struct command_builder):
15073
15074         a) Tried to clean up a little bit the horribly written x-specific
15075         accelerator code that crept into this file.  I moved this code
15076         into menubar-x.c where it belongs. I also needed to move the
15077         command builder structure into the file events.h because it is
15078         accessed directly by this accelerator code.  What I didn't do, but
15079         which should be done at some point, is to properly abstract this
15080         code using device methods instead of the kludgy way that it
15081         currently hooks into the event code.
15082
15083         b) Added the lisp variables this-command-properties and
15084         last-command- properties, which should be used to synchronize two
15085         adjacent commands in preference to playing games with the variable
15086         this-command, which is typically what happens.
15087
15088         c) Added some slightly nasty code to hook into the lisp support
15089         for shifted- motion-key selection.  This is actually necessary for
15090         somewhat complicated reasons, which are described in
15091         simple.el. (NB: I think the proper thing would be to have the code
15092         that calls the pre and post command hooks also call out to generic
15093         lisp functions in simple.el, where all built-in stuff could be
15094         added.  I will think about this more.)
15095
15096         * event-unixoid.c (poll_fds_for_input):
15097         * lread.c (readchar):
15098         * redisplay-tty.c (tty_clear_frame):
15099         * redisplay-x.c (x_get_gc):
15100         * signal.c (interrupt_signal):
15101         And a whole bunch of other files: fixed up places that printed
15102         directly to stderr to instead call the function stderr_out so that
15103         the changes I made under Windows work correctly.
15104
15105         * filemode.c (mode_string):
15106         Warning fixes.
15107
15108         * frame-msw.c:
15109         * frame-msw.c (mswindows_size_frame_internal):
15110         Fixed the computation of frame size and position to keep the frame
15111         within the workspace area, rather than within the physical
15112         dimensions of the screen, so that the frame doesn't overlap window
15113         manager decorations, such as the start menu and toolbar, typically
15114         at the bottom of the screen.
15115
15116         * frame.c (vars_of_frame):
15117         Changed the default frame title format under MS Windows to consist
15118         of buffername-XEmacs, which is standard under MS Windows.  I think
15119         it might be a good idea to change this everywhere because I think
15120         it is superior to the current frame title format, but this is the
15121         kind of change that is likely to cause some people to get annoyed,
15122         so I'm not making it.
15123
15124         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15125
15126         * gui-msw.c (mswindows_handle_gui_wm_command):
15127         Fixed compile warnings.
15128
15129         * gui-x.c:
15130         * gui-x.c (strdup_and_add_accel):
15131         * gui-x.c (button_item_to_widget_value):
15132         * gui-x.h:
15133         Added code to automatically put an accelerator onto the beginning
15134         of menu items that don't have one as is now the standard, and is
15135         described more later.  Also fixed things so that the menu item
15136         name can be an evaluated expression, again a new standard.
15137
15138         * gui.c:
15139         * gui.c (gui_item_add_keyval_pair):
15140         * gui.c (make_gui_item_from_keywords_internal):
15141         * gui.c (gui_add_item_keywords_to_plist):
15142         * gui.c (gui_item_accelerator):
15143         * gui.c (gui_name_accelerator):
15144         * gui.c (gui_item_included_p):
15145         * gui.c (gui_item_display_flush_left):
15146         * gui.c (gui_item_display_flush_right):
15147         * gui.c (parse_gui_item_tree_item):
15148         * gui.c (parse_gui_item_tree_children):
15149         * gui.c (parse_gui_item_tree_list):
15150         Mule-ized.  Cleanup.  GCPRO addition.
15151
15152         * line-number.c (buffer_line_number):
15153         * lisp.h:
15154         * lisp.h (EMACS_INT_MAX):
15155         Added the manifest constant EMACS_INT_MIN corresponding to the
15156         existing constant EMACS_INT_MAX.  This is partially to fix compile
15157         warnings under Windows, and partly for cleanliness.
15158
15159         * menubar-msw.c:
15160         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15161         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15162         * menubar-msw.c (displayable_menu_item):
15163         * menubar-msw.c (populate_menu_add_item):
15164         * menubar-msw.c (populate_or_checksum_helper):
15165         * menubar-msw.c (populate_menu):
15166         * menubar-msw.c (update_frame_menubar_maybe):
15167         * menubar-msw.c (prune_menubar):
15168         * menubar-msw.c (msw_char_is_accelerator):
15169         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15170         * menubar-msw.c (mswindows_handle_wm_command):
15171         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15172         * menubar-msw.c (mswindows_handle_wm_initmenu):
15173         * menubar-msw.c (mswindows_update_frame_menubars):
15174         * menubar-msw.c (mswindows_free_frame_menubars):
15175         * menubar-msw.c (mswindows_popup_menu):
15176         Fixed a bug in handling accelerators where an extra character
15177         would be displayed in the menu item.  Also generalized the
15178         function displayable_menu_item because it is now used by the
15179         dialog box code as well.  And finally, added code in the functions
15180         that create the menubar to extract a list of accelerators for the
15181         top level menubar, which is used in the event code to determine
15182         whether a particular alt-key combination should be used to invoke
15183         a menu item, or should be passed through to access the standard
15184         XEmacs keymap binding for this key combination.
15185
15186         Much needed GCPROing.
15187
15188         * menubar-x.c:
15189         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15190         * menubar-x.c (menu_item_descriptor_to_widget_value):
15191         * menubar-x.c (restore_in_menu_callback):
15192         * menubar-x.c (x_popup_menu):
15193         * menubar-x.c (menu_move_up):
15194         * menubar-x.c (menu_move_down):
15195         * menubar-x.c (menu_move_left):
15196         * menubar-x.c (menu_move_right):
15197         * menubar-x.c (menu_select_item):
15198         * menubar-x.c (command_builder_operate_menu_accelerator):
15199         * menubar-x.c (menu_accelerator_junk_on_error):
15200         * menubar-x.c (command_builder_find_menu_accelerator):
15201         * menubar-x.c (Faccelerate_menu):
15202         * menubar.h:
15203         Moved a whole bunch of code here that was previously in
15204         event-stream.c as described above.  There is also code connected
15205         to the new standard of adding an accelerator to the beginning of
15206         menu items that don't have one as described above and below.
15207
15208         * menubar.c:
15209         * menubar.c (menu_parse_submenu_keywords):
15210         * menubar.c (Fmenu_find_real_submenu):
15211         * menubar.c (Fnormalize_menu_item_name):
15212         * menubar.c (syms_of_menubar):
15213         * menubar.c (vars_of_menubar):
15214         * menubar.c (complex_vars_of_menubar):
15215
15216         a) Cleaned up a bunch of documentation and improved it.
15217
15218         b) XEmacs now automatically adds an accelerator onto the beginning
15219         of any menu items that don't have one.  I did this because there
15220         will inevitably be some menu items on the main menubar that don't
15221         have accelerators on them because the package that adds that
15222         particular menu item hasn't yet been fixed up to have accelerators
15223         in them and it looked rather strange to have some items with and
15224         some items without accelerators, especially since even in items
15225         without accelerators, you can, at least under windows, still
15226         access the item through an accelerator corresponding to the first
15227         character in the item's name.  If people don't like this behavior,
15228         I can add a variable to turn it off optionally, but I'm not sure
15229         this is a good idea because we really do need to have accelerators
15230         on all of the menu items, and if a package doesn't like the
15231         accelerators being put on the first character, then it should put
15232         the accelerators where they belong.
15233
15234         c) I made a behavior change, which is that the descriptor that
15235         specifies the text of the menu item, which formerly was just a
15236         string, can now also be an evaluated expression.  This makes this
15237         descriptor parallel with all of the others, which could also be
15238         evaluated expressions.  This also obviates the need for the
15239         keyword :label, which was previously listed in the documentation
15240         as unimplemented, and which was for the same purpose.
15241
15242         d) GCPROing.
15243
15244         * ntproc.c:
15245         * ntproc.c (new_child):
15246         * ntproc.c (sys_spawnve):
15247         * ntproc.c (find_child_console):
15248         * ntproc.c (sys_kill):
15249         Fixed compile warnings.  By the way, this file should really go
15250         away entirely, and this will happen as soon as Kirill makes his
15251         final round of process cleanups, which affect the function
15252         call-process.
15253
15254         * process-nt.c:
15255         * process-nt.c (struct nt_process_data):
15256         * process-nt.c (find_process_from_pid):
15257         * process-nt.c (send_signal_the_nt_way):
15258         * process-nt.c (enable_child_signals):
15259         * process-nt.c (find_child_console):
15260         * process-nt.c (send_signal_the_95_way):
15261         * process-nt.c (nt_finalize_process_data):
15262         * process-nt.c (ensure_console_window_exists):
15263         * process-nt.c (nt_create_process):
15264         * process-nt.c (nt_kill_child_process):
15265         * process-nt.c (nt_kill_process_by_pid):
15266         * process-nt.c (nt_open_network_stream):
15267         * process-nt.c (vars_of_process_nt):
15268         Copied over code from Emacs 20.5 to correctly send signals to sub-
15269         processes under Windows 95.  Also added code to automatically
15270         create and hide console window when a sub-process is created under
15271         Windows 95, which obviates the need for the separate runemacs.exe
15272         executable, and finally implemented some variables that were
15273         implemented in Emacs 20.5, but previously not in XEmacs.  These
15274         include mswindows- start-process-share-console and
15275         mswindows-start-process-inherit-error-mode. (Both of these only
15276         apply to Windows 95.)
15277
15278         * regex.c (regex_compile): Fixed a compile warning.
15279
15280         * select-msw.c:
15281         * select-msw.c (mswindows_own_selection):
15282         * select-msw.c (mswindows_get_foreign_selection):
15283         * select-msw.c (mswindows_disown_selection):
15284         * select-msw.c (console_type_create_select_mswindows):
15285         * select-msw.c (syms_of_select_mswindows):
15286         Cleaned up the file and implemented the device method
15287         selection_exists_p, which had accidentally been left out.  Also
15288         removed four lisp functions that were remnants from before the
15289         time when the selection code was properly device abstracted.
15290         These functions are no longer needed because there are generic
15291         equivalents, and because they were added recently and don't exist
15292         in FSF Emacs, I don't think there's any problem with just deleting
15293         them.
15294
15295         * sysdep.c:
15296         * sysdep.c (sys_subshell):
15297         Fixed a compile warning, although in this case there's probably
15298         something wrong with this code, and it ought to be looked into
15299         more thoroughly by somebody who understands it.
15300
15301         * window.c:
15302         * window.c (Fwindow_text_area_height):
15303         * window.c (Fwindow_width):
15304         * window.c (Fwindow_full_width):
15305         * window.c (Fwindow_pixel_width):
15306         * window.c (debug_print_window):
15307         * window.c (syms_of_window):
15308         Added functions window-text-area-height and window-full-width,
15309         which are functions for returning various width and height
15310         characteristics of a window. (One of these functions is necessary
15311         for making the file dialog box work correctly, and the other one
15312         was added for completeness.)  Also added a table to the
15313         documentation for window-height which describes the entire scheme
15314         for accessing width and height characteristics of a window.
15315
15316 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15317
15318         * nt.c (fstat): Added a comment for another problem with
15319         non-encapsulated [f]stat(), reported by Adrian Aichner
15320         <aichner@ecf.teradyne.com>.
15321
15322 2000-03-11  Andy Piper  <andy@xemacs.org>
15323
15324         * window.c (make_dummy_parent): initialize subwindow instance
15325         cache.
15326         (Fset_window_configuration): zero extent_modiff.
15327
15328 2000-03-10  Andy Piper  <andy@xemacs.org>
15329
15330         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15331         more changes can be triggered.
15332         (Fredisplay_frame): ditto.
15333         (Fredraw_device): ditto.
15334         (Fredisplay_device): ditto.
15335         (redisplay_frame): make non-static.
15336         (redisplay_frame): call update_frame_gutter_geometry outside of
15337         display proper.
15338
15339         * gutter.h: declare update_frame_gutter_geometry.
15340
15341         * redisplay.h: declare redisplay_frame.
15342
15343         * gutter.c (update_frame_gutter_geometry): move geometry changes
15344         in update_frame_gutters here. Geometry changes can only occur
15345         outside of redisplay.
15346         (update_frame_gutters): remove geometry change code.
15347         (Fredisplay_gutter_area): make sure that we are in display when we
15348         update and that we have flushed any size changes.
15349
15350 2000-03-11  Andy Piper  <andy@xemacs.org>
15351
15352         * alloc.c (pdump_dump_data): remove i & count shadows.
15353
15354 2000-02-27  Mike Alexander  <mta@arbortext.com>
15355
15356         * sysdep.h: Declare pdump_read_file
15357
15358         * sysdep.c (pdump_read_file): New function
15359
15360         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15361         dump data
15362
15363 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15364
15365         * lrecord.h: add `lrecord_type_pgsetenv'.
15366
15367 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15368
15369         * symsinit.h: declare (vars|syms)_of* functions.
15370         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15371
15372 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15373
15374         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15375
15376         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15377         GCCs.
15378
15379         * emacs.c (main_1): Call postgres initialization code.
15380
15381         * postgresql.h: New file.  PostgreSQL RDBMS support.
15382         * postgresql.c: New file.
15383
15384 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15385
15386         * redisplay-output.c (redisplay_output_display_block): Disable
15387         redundant code.
15388
15389 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15390
15391         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15392         (Fcanna_henkan_next): Ditto.
15393         (Fcanna_bunsetu_henkou): Ditto.
15394         (Fcanna_henkan_kakutei): Ditto.
15395         (Fcanna_henkan_end): Ditto.
15396         (Fcanna_henkan_quit): Ditto.
15397         (Fcanna_henkan_next): Set retun value correctly.
15398         (c2mu): Use unsigned char instead of signed char.
15399
15400 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15401
15402         * emacs.c (main_1): Always call syms_of_gui.
15403         * inline.c: include gui.h
15404
15405 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15406
15407         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15408         converted to Lisp_Object.
15409         (Qtop_bottom): New variable.
15410         (syms_of_redisplay): Initialize it.
15411         * redisplay.h (Vvisible_bell): Ditto.
15412         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15413         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15414         only flash top and bottom.
15415
15416 2000-03-08  Andy Piper  <andy@xemacs.org>
15417
15418         * buffer.c (Frename_buffer): record new buffer name the right way.
15419
15420 2000-03-08  Andy Piper  <andy@xemacs.org>
15421
15422         * glyphs.c (update_subwindow): increase hash depth so that widget
15423         items get picked up properly.
15424
15425         * redisplay-output.c (compare_runes): increase hash depth so that
15426         widget items get picked up properly.
15427
15428 2000-03-08  Andy Piper  <andy@xemacs.org>
15429
15430         * gutter.c (output_gutter): add some debug.
15431
15432         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15433         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15434         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15435
15436         * redisplay-output.c (compare_runes): use display_hash to
15437         determine if glyphs really are not the same.
15438
15439         * glyphs.c (update_subwindow): check display_hash to see if
15440         anything really needs to be updated. If not then do
15441         nothing. Record the display_hash after updating.
15442         (image_instance_equal): compare the image_instance face also.
15443
15444 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15445
15446         * redisplay.h: Fix comment style.
15447
15448 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15449
15450         * consle-msw.h (struct mswindows_frame):
15451         Added new member paint_pending to indicate whether a WM_PAINT
15452         magic event has been queued for this frame.
15453
15454         * event-msw.c (mswindows_drain_windows_queue):
15455         Don't queue a WM_PAINT magic event if one is already queued.
15456         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15457
15458         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15459
15460 2000-03-07  Didier Verna  <didier@xemacs.org>
15461
15462         * dired.c: #include `regex.h' after `sysfile.h'.
15463
15464 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15465
15466         * sound.c (init_nas_sound): Fix compiler warning.
15467
15468         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15469         (FREE_STRUCT_P):
15470         (MARK_STRUCT_AS_FREE):
15471         (MARK_STRUCT_AS_NOT_FREE):
15472         Make `gcc -fstrict-aliasing' work properly.
15473
15474 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15475
15476         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15477         (mswindows_delete_device): Call CoUnnitialize().
15478
15479         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15480
15481 2000-02-25    <CraigL@DyCon.com>
15482
15483         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15484         <errno.h>.
15485
15486         * sysdep.c: This extern declaration for environ prevents MinGW
15487         from finding the variable in CRTDLL.DLL.
15488
15489         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15490         windows headers.
15491         (SHGFI_EXETYPE): ..
15492         (WM_MOUSEWHEEL): ..
15493         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15494         definitions.
15495         (MMRESULT): Removed, now defined in cygwin's windows headers.
15496         (TIMECAPS): ..
15497         (uid_t,gid_t,pid_t,ssize_t): ..
15498         (_timeb): Removed, MinGW defines both _timeb and timeb.
15499         (HAVE_H_ERRNO): Added.
15500         (HAVE_TZNAME): Added, configure is not detecting this.
15501
15502 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15503
15504         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15505         * syntax.c (syntax_match): Use it.
15506
15507         * cmds.c: Import auto-fill-chars from FSF Emacs.
15508         (Vauto_fill_chars): New variables.
15509         (internal_self_insert): Check Vauto_fill_chars.
15510         (vars_of_cmds):
15511         Declare auto-fill-chars as a Lisp variable and initialize it.
15512
15513 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15514
15515         * fileio.c (Fmake_symbolic_link):
15516         (Ffile_symlink_p):
15517         Run handlers even if local machine doesn't have symlinks.
15518
15519 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15520
15521         * event-msw.c (mswindows_drain_windows_queue):
15522         Don't generate paint magic events for non-XEmacs frames.
15523
15524 2000-03-05  Andy Piper  <andy@xemacs.org>
15525
15526         * redisplay.c (redisplay_frame): generate_displayable_area and
15527         friends assumes that we are not in GC, we therefore have to make
15528         sure that this doesn't happen.
15529
15530         * gutter.c (calculate_gutter_size): generate_displayable_area
15531         assumes that we are not in GC, we therefore have to make sure that
15532         this doesn't happen.
15533
15534 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15535
15536         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15537
15538 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15539
15540         * redisplay.c (regenerate_window): Make sure we set a sane value
15541         for end_pos even if we jump out of the loop.
15542         (regenerate_window): Answer Ben's question :-).
15543         (start_end_of_last_line): Add may_error argument.
15544         (start_of_last_line):
15545         (end_of_last_line): Pass may_error = 0.
15546         (end_of_last_line_may_error): New function.
15547         (pixel_to_glyph_translation): Use it, so we don't crash in
15548         event_to_glyph.
15549
15550 2000-03-04  Andy Piper  <andy@xemacs.org>
15551
15552         * window.h (struct window): add gutter_extent_modiff.
15553
15554         * window.c (allocate_window): zero out gutter_extent_modiff.
15555
15556         * redisplay.h: declare sync_display_line_structs.
15557
15558         * redisplay.c (add_glyph_rune): add a better comment.
15559
15560         * redisplay-output.c (sync_display_line_structs): made non-static.
15561         (compare_runes): remove unneccesary glyph cachel access.
15562
15563         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15564
15565         * gutter.c (output_gutter): don't output the gutter if extent
15566         changes only involve extents in buffers. use 4 sets of display
15567         lines.
15568         (gutter_extent_signal_changed_region_maybe): new function. Mark
15569         extents in gutters as changed.
15570         (update_frame_gutters): use 4 sets of display lines.
15571         (reset_gutter_display_lines): ditto.
15572         (free_frame_gutters): ditto.
15573         (redraw_exposed_gutter): force output of gutters.
15574
15575         * frame.h (struct frame): add 4 sets of gutter display lines.
15576
15577         * extents.c: (extent_changed_for_redisplay): signal changes to
15578         extents in strings in the gutter as well as extents in buffers.
15579
15580 2000-03-02  Andy Piper  <andy@xemacs.org>
15581
15582         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15583
15584         * frame.c (Fmake_frame): make sure the gutters get initialized
15585         after the frame is visible.
15586         (set_frame_selected_window): re-arrange compilation macros a
15587         little.
15588         (change_frame_size_1): mark gutters changed.
15589
15590         * device.c (Fset_device_class): mark gutters changed.
15591
15592 2000-03-01  Andy Piper  <andy@xemacs.org>
15593
15594         * window.c (window_top_frame_gutter_height): deleted.
15595         (window_bottom_frame_gutter_height): ditto.
15596         (window_left_frame_gutter_height): ditto.
15597         (window_right_frame_gutter_height): ditto.
15598         (window_top_gutter_height): don't use them.
15599         (window_bottom_gutter_height): ditto.
15600         (window_left_gutter_width): ditto.
15601         (window_right_gutter_width): ditto.
15602         (Fsplit_window): ditto.
15603         (Fwindow_pixel_edges): don't use border dimensions here.
15604
15605         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15606         (update_scrollbar_instance): ditto.
15607
15608         * redisplay.c (generate_modeline): don't take gutters into account.
15609         (generate_modeline): ditto.
15610         (redisplay_frame): small gutter display optimization.
15611
15612         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15613
15614         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15615         gutters into account.
15616
15617         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15618         for window position and type.
15619
15620         * gutter.c (get_gutter_coords): fix for frame gutters.
15621         (update_frame_gutters): update frame geometry if the gutters have
15622         changed.
15623         (init_frame_gutters): record current gutter geometries.
15624
15625         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15626         var.
15627         (mswindows_widget_instantiate): ditto.
15628
15629         * frame.h (struct frame): add current_gutter_bounds.
15630
15631         * frame.c (change_frame_size_1): position window and minibuffer
15632         appropriately taking into account the frame gutters.
15633
15634         * frame-x.c: (x_initialize_frame_size): take into account the
15635         frame gutters.
15636
15637 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15638
15639         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15640
15641 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15642
15643         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15644
15645 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15646
15647         * file-coding.c (reset_decoding_stream): Clear previous
15648         detection state when autodetect.
15649
15650 2000-02-29  Didier Verna  <didier@xemacs.org>
15651
15652         * extents.c (set_extent_glyph_1): don't require extents to be
15653         attached.
15654
15655 2000-02-27  Andy Piper  <andy@xemacs.org>
15656
15657         * gutter.c (Fset_default_gutter_position): don't default left and
15658         right gutter visibility to t.
15659         (Fset_default_gutter_position): run
15660         default-gutter-position-changed-hook.
15661         (syms_of_gutter): add default-gutter-position-changed-hook.
15662
15663 2000-02-26  Andy Piper  <andy@xemacs.org>
15664
15665         * specifier.c (Fmake_specifier): add gutter references.
15666
15667         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15668
15669         * lisp.h: declare Fvalid_plist_p.
15670
15671         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15672         as changed.
15673         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15674         well as its visibility so that it gets reconstructed.
15675         (construct_window_gutter_spec): new function. Construct a string
15676         to be displayed in the gutter from a plist of strings. Take care
15677         to only use elements that are declared as visible.
15678         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15679         WINDOW_GUTTER.
15680         (gutter_validate): allow plists of strings in the specifier.
15681         (gutter_specs_changed): construct the real_gutter from the gutter
15682         specs using construct_window_gutter_spec.
15683         (gutter_visible_validate): gutter-visible is a new specifier type.
15684         (Fgutter_visible_specifier_p): new function for the new specifier.
15685         (syms_of_gutter): declare gutter-visible and
15686         Fgutter_visible_specifier_p.
15687         (specifier_type_create_gutter): intitalize new gutter-visible
15688         specifier.
15689         (reinit_specifier_type_create_gutter): ditto.
15690         (specifier_vars_of_gutter): use new specifier type for gutter
15691         visibility.
15692         (init_frame_gutters): construct real_gutter correctly.
15693         (Fgutter_specifier_p): beef up documentation.
15694         (Fgutter_size_specifier_p): ditto.
15695
15696         * winslots.h: add real_gutter slots.
15697
15698 2000-02-25  Andy Piper  <andy@xemacs.org>
15699
15700         * device-msw.c: Be kind to older cygwin versions. From Raymond
15701         Toy <toy@rtp.ericsson.se>.
15702
15703         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15704         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15705
15706 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15707
15708         * elhash.c (MARK_OBJ): Practice macro hygiene.
15709
15710 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15711
15712         * miscplay.c: s/__inline__/inline/g;
15713         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15714         (get_device_compdc): INLINE ==> static inline
15715         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15716         find -name '*.h' | \
15717         xargs global-replace \
15718         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15719
15720 2000-02-25  Andy Piper  <andy@xemacs.org>
15721
15722         * window.c (window_top_frame_gutter_height): new function.
15723         (window_top_window_gutter_height): ditto.
15724         (window_top_gutter_height): use them.
15725         (window_bottom_frame_gutter_height): new function.
15726         (window_bottom_window_gutter_height): ditto.
15727         (window_bottom_gutter_height): use them.
15728         (window_left_window_gutter_width): new function.
15729         (window_left_frame_gutter_width): ditto.
15730         (window_left_gutter_width): use them.
15731         (window_right_window_gutter_width): new function.
15732         (window_right_frame_gutter_width): ditto.
15733         (window_right_gutter_width): use them.
15734         (window_pixel_height): new function. calulate window pixel height
15735         with frame gutter involvement.
15736         (Fsplit_window): calculate new sizes taking frame gutters into
15737         account.
15738         (window_char_height_to_pixel_height): don't include frame gutters.
15739         (window_char_height): use window_pixel_height.
15740         (window_pixheight): rename from window_pixel_height.
15741         (change_window_height): use it.
15742         (window_pixel_height_to_char_height): don't include frame gutters.
15743         (window_char_width_to_pixel_width): ditto.
15744
15745 2000-02-25  Andy Piper  <andy@xemacs.org>
15746
15747         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15748         if it is.
15749
15750 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15751
15752         * alloc.c (staticpro):
15753         (staticpro_nodump):
15754         (dumpstruct):
15755         (dumpopaque):
15756         (pdump_wire):
15757         (pdump_wire_list):
15758         (compact_string_chars):
15759         (pdump_dump_wired):
15760         Convert:  if (foo) abort();  ==>  assert (! foo);
15761
15762         * eldap.c (Fldap_search_basic):
15763         (Fldap_add):
15764         (Fldap_modify):
15765         (Fldap_delete):
15766         Fix compiler warnings, and possible crashes if (random) return
15767         value were to be used.
15768
15769 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15770
15771         * device-msw.c: Workaround ResetDC failure.
15772
15773         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15774         applying a devmode.
15775
15776         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15777         (mswindows_text_width): Do not start printer page.
15778
15779         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15780
15781         * glyphs-msw.c: Added image methods to msprinter console and
15782         msprinter-specific image instantiation.
15783
15784 2000-02-20  Mike Alexander  <mta@arbortext.com>
15785
15786         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15787         to avoid crashes when selection-sets-clipboard is on
15788         (mswindows_own_selection): ditto
15789
15790 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15791
15792         * glyphs-msw.c:
15793         * redisplay-msw.c (get_frame_dc):
15794         (get_frame_compdc):
15795         * console-msw.h:
15796         * device-msw.c (mswindows_init_device):
15797         (mswindows_delete_device):
15798         (msprinter_init_device):
15799         (msprinter_delete_device):
15800         * frame-msw.c (mswindows_init_frame_1):
15801         (mswindows_delete_frame):
15802         (msprinter_init_frame_3):
15803         (msprinter_delete_frame): Move compatible DC to device object from
15804         frame object, for both mswindows and msprinter. Only one at a time
15805         is needed, it is a real waste to have one per frame!
15806
15807 2000-02-23  Andy Piper  <andy@xemacs.org>
15808
15809         * glyphs.c: add dynamic width and height elements.
15810         (image_instance_equal): ditto.
15811
15812         * glyphs-widget.c (widget_query_geometry): calculate width and
15813         height dynamically if required.
15814         (initialize_widget_image_instance): initialize dynamic dimensions.
15815         (widget_instantiate): pick-up dynamic dimensions.
15816
15817         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15818         dynamic determination. Add appropriate macros.
15819
15820         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15821         dimensions safe.
15822         (WINDOW_GUTTER_SIZE): ditto.
15823         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15824
15825         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15826         inline.
15827         (get_frame_dc): ditto.
15828
15829         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15830         here.
15831
15832 2000-02-23  Martin Buchholz <martin@xemacs.org>
15833
15834         * XEmacs 21.2.31 is released.
15835
15836 2000-02-22  Ben Wing <ben@xemacs.org>
15837
15838         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15839
15840 2000-02-22  Andy Piper  <andy@xemacs.org>
15841
15842         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15843
15844 2000-02-21  Mike Sperber <mike@xemacs.org>
15845
15846         * .dbxrc:
15847         * .gdbinit:
15848         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15849         variables.
15850
15851 2000-02-21  Mike Sperber <mike@xemacs.org>
15852
15853         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15854
15855 2000-02-21  Martin Buchholz <martin@xemacs.org>
15856
15857         * XEmacs 21.2.30 is released.
15858
15859 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15860
15861         Performance hacking.
15862         * *.c (syms_of_*):
15863         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15864         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15865         * emacs.c (main_1):
15866         * lisp.h (DEFUN):
15867         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15868         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15869         * symeval.h (DEFVAR_SYMVAL_FWD):
15870         * symbols.c (guts_of_unbound_marker):
15871         Make all c_readonly objects also lisp_readonly and marked for life.
15872         * lrecord.h (struct lrecord_implementation):
15873         Document flags better.
15874         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15875         * lrecord.h (DECLARE_LRECORD):
15876         * lrecord.h (XSETRECORD):
15877         * lrecord.h (RECORDP):
15878         * lrecord.h (RECORD_TYPEP):
15879         * lrecord.h (RECORD_MARKER): New.
15880         * lrecord.h (error_check_*):
15881         * lrecord.h (CONCHECK_NONRECORD):
15882         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15883         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15884         * lrecord.h (set_lheader_implementation):
15885         * lrecord.h (enum lrecord_type): New.
15886         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15887         * alloc.c (disksave_object_finalization_1):
15888         * alloc.c (mark_object):
15889         * alloc.c (lrecord_type_index):
15890         * alloc.c (tick_lcrecord_stats):
15891         * alloc.c (Fgarbage_collect):
15892         * alloc.c (init_alloc_once_early):
15893         * alloc.c (pdump_load):
15894         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15895         * alloc.c (lrecord_type_index): Delete.
15896         Make lisp object type indexes be constant.
15897           Makes (byte-compile) 5% faster.
15898         Put all marker functions into their own array.
15899           Makes (garbage-collect) 5% faster.
15900         Optimize SYMBOL_VALUE_MAGIC_P.
15901           Makes (byte-compile) 2-3% faster.
15902         * config.h.in (gc_checking_assert): New.
15903         * alloc.c: Use gc_checking_assert().
15904         * .dbxrc: Make compatible with new object type implementation.
15905         * .gdbinit: Make compatible with new object type implementation.
15906         * alloc.c: Delete all symbols defined only for debugging, such as
15907         Lisp_Type_Vector and lrecord_charset.
15908
15909 2000-02-21  Andy Piper  <andy@xemacs.org>
15910
15911         * gui-msw.c (Fmswindows_shell_execute): fix file location
15912         problems.
15913
15914         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15915         unshowing so that set_window_buffer doesn't undo
15916         kill_buffer_hook's hard work.
15917
15918         * glyphs-widget.c (tab_control_query_geometry): don't count the
15919         first item when calculating geometry.
15920
15921         * glyphs.c (map_subwindow): remove redundant code.
15922         (update_frame_subwindows): be more circumspect about when to
15923         update subwindows.
15924
15925         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15926         when items haven't changed. Update faces if faces have changed as
15927         well as just the widget face.
15928         (x_tab_control_update): Update faces if faces have changed as well
15929         as just the widget face.
15930
15931 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15932
15933         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15934         registration.
15935         (build_syscolor_string): Use mswindows_color_to_string to try to
15936         get a named color.
15937         (mswindows_device_system_metrics): Reverse the foreground and
15938         background colors so that they match the documentation.
15939
15940         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15941         they match the default Windows palette.
15942         (mswindows_color_to_string): New function.
15943
15944 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15945
15946         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15947
15948 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15949
15950         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15951         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15952
15953         * symbols.c (init_symbols_once_early): Removed obsolete
15954         DATA_SEG_BITS related kludge.
15955         (defvar_magic): Ditto.
15956
15957         * malloc.c: Removed obsolete DATA_SEG_BITS
15958         * ralloc.c: Ditto.
15959         * mem-limits.h: Ditto.
15960
15961         * Makefile.in.in: Removed obsolete HAVE_SHM
15962         * emacs.c: Ditto.
15963
15964 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15965
15966         *  device-msw.c (mswindows_delete_device): Free DDE string
15967         handles.
15968
15969 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15970
15971         * keymap.c (get_keyelt):
15972         * unexnt.c (unexec):
15973         * vm-limit.c (memory_warnings):
15974         * ntheap.c (recreate_heap):
15975         * ntheap.h (UNINIT_PTR):
15976         * select-msw.c (Fmswindows_get_clipboard):
15977         (Fmswindows_set_clipboard):
15978         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15979         * objects-msw.c:
15980         * menubar-msw.c (displayable_menu_item):
15981         * glyphs-msw.c:
15982         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15983         * sysdep.c (sys_subshell):
15984         * process-nt.c (nt_create_process):
15985         * nt.c (normalize_filename):
15986         (dostounix_filename):
15987         (unixtodos_filename):
15988         * ntproc.c (win32_executable_type):
15989         * ntplay.c (play_sound_data_1):
15990         (play_sound_file):
15991         * editfns.c (get_home_directory):
15992         * event-msw.c (struct winsock_stream):
15993         (mswindows_dde_callback):
15994         * device-msw.c (msprinter_init_device):
15995         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15996
15997         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15998         mswindows_clear_toolbar were swapped!
15999
16000         * objects-msw.c:(colormap_t):
16001         (fontmap_t):
16002         * emacs.c (struct standard_args): Fixed const jumble.
16003
16004         * glyphs-widget.c (update_widget): Fixed comparison notation.
16005
16006         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16007
16008         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16009         __declspec(noreturn) syntax.
16010
16011 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16012
16013         * eldap.c (Fldap_open):
16014         (Fldap_search_basic):
16015         (Fldap_add):
16016         (Fldap_modify):
16017         Use new coding system conversion macros.
16018
16019 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16020
16021         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16022
16023 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16024
16025         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16026         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16027
16028         * eldap.c (Qadd, Qreplace): New constant symbols
16029         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16030         interruptions by XEmacs signals
16031         Remove unnecessary calls to slow_down_interrupts and
16032         speed_up_interrupts
16033         (Fldap_search_basic): Renamed from Fldap_search_internal
16034         Added new optional parameter VERBOSE that triggers the
16035         display of progress messages
16036         Remove unnecessary calls to slow_down_interrupts and
16037         speed_up_interrupts
16038         LDAP result code analysis rewritten
16039         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16040         (syms_of_eldap): Define the new symbols and functions
16041
16042
16043 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16044
16045         * realpath.c: Determine PATH_MAX maximally portably.
16046
16047         * insdel.c (bytecount_to_charcount): Optimize.
16048         The function used to be optimized for entirely ASCII sequences.
16049         Now it is optimized for successive characters from the same
16050         charset.  This also wins big for _mostly_ ASCII sequences.
16051
16052         * fileio.c (Ffile_truename): convert return from realpath() using
16053         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16054         - Rewrite GCPROing slightly.
16055
16056         * sysdep.c (sys_open): Do filename conversion, like all other
16057         sys_* functions.  Fixes bug:
16058         (let ((file-name-coding-system 'iso-8859-2))
16059            (write-region x y latin2-name))
16060         ==> writes filename using internal encoding.
16061
16062 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16063
16064         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16065         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16066         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16067         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16068         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16069         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16070         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16071         (CONST_IF_NOT_DEBUG): Delete.
16072         * alloc.c (this_one_is_unmarkable): Delete.
16073         (mark_object): Don't check for this_one_is_unmarkable. Use the
16074         c_readonly flag instead.
16075         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16076
16077 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16078
16079         * event-msw.c (mswindows_drain_windows_queue):
16080         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16081         away redundant repaint events.
16082
16083 2000-02-17  Andy Piper  <andy@xemacs.org>
16084
16085         * redisplay.h: declare mark_redisplay_structs.
16086
16087         * redisplay.c (redisplay_window):
16088         (redisplay_frame): don't check subwindows_state_changed.
16089         (mark_redisplay): mark gutters here.
16090
16091         * glyphs.c: (instantiate_image_instantiator): always layout if we
16092         haven't done so already.
16093         (allocate_image_instance): don't mark as dirty.
16094         (update_subwindow): bind inhibit_quit.
16095
16096         * gutter.c (mark_gutters): new function.
16097
16098         * glyphs-x.c (x_update_widget): Always resize to get round a
16099         widget bug.
16100
16101         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16102         breaking absolutely everything.
16103
16104         * gutter.h: declare mark_gutters.
16105
16106 2000-02-16  Martin Buchholz <martin@xemacs.org>
16107
16108         * XEmacs 21.2.29 is released.
16109
16110 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16111
16112         * fns.c (size_bit_vector): Fix computation of the size.
16113
16114 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16115
16116         * *.[ch]: Change CONST to const globally.
16117         find -name '*.[ch]' | \
16118         xargs global-replace \
16119         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16120         - Remove vestigial references to CONST_IS_LOSING
16121
16122 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16123
16124         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16125         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16126         events instead of dispatching them directly.
16127         (mswindows_handle_paint): New function to do repainting.
16128         (mswindows_wnd_proc):
16129         (emacs_mswindows_handle_magic_event): Call above function.
16130
16131 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16132
16133         * objects-msw.c (mswindows_create_font_variant): Return the new
16134         font handle.
16135         (initialize_font_instance): Get font metrics from the underlined
16136         variant of the font to cope with the case where the underlined
16137         font has a bigger descent.
16138
16139 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16140
16141         * gui.c (gui_item_accelerator): Return the first underlined
16142         character in item name.
16143
16144 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16145
16146         * lisp.h: Added Qprinter.
16147
16148         * general.c (syms_of_general): Initialized it.
16149
16150         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16151         (get_frame_dc):
16152         (get_frame_compdc): Made inline.
16153
16154         * console.h (struct console_methods): Added eject_page method.
16155
16156         * frame.h: Added FRAME_DISPLAY_P and friends.
16157         Aligned backslahes in many macros in more readable fashion.
16158         Added page_number to struct frame, and an accessor macro
16159         for it.
16160
16161         * defice.h: Added DEVICE_DISPLAY_P and friends.
16162
16163         * device.c (Fdevice_printer_p): Used these.
16164
16165         * frame.c (allocate_frame_core): Initialize page number.
16166         (Fprint_job_page_number):
16167         (Fprint_job_eject_page): Implemented.
16168
16169         * frame-msw.c (msprinter_eject_page): Added method.
16170         (msprinter_start_page): Added.
16171
16172         * window.c (Fwindow_truncated_p): Fixed docstring.
16173         (Fwindow_last_line_visible_height): Implemented.
16174
16175 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16176
16177         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16178
16179 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16180
16181         * syntax.c (scan_words): Always advance at least one character.
16182
16183 2000-02-13  Andy Piper  <andy@xemacs.org>
16184
16185         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16186         to make sure the glyph is in the cachels.
16187
16188         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16189         global image instance flag.
16190         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16191         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16192
16193         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16194         (Fset_image_instance_property): mark layout as changed.
16195         (invalidate_glyph_geometry_maybe): mark layout as changed.
16196         (glyph_width): use new NEEDS_LAYOUT macro.
16197         (glyph_ascent): ditto.
16198         (glyph_descent): ditto.
16199         (glyph_height): ditto.
16200         (image_instance_layout): mark layout as clean after laying out.
16201         (update_subwindow): don't mark layout as clean here.
16202
16203         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16204         should no longer be needed.
16205
16206         * glyphs-x.c (x_update_widget): sanitize asserts.
16207         (x_finalize_image_instance): sanitize assignment to widgets.
16208
16209         * glyphs-widget.c (widget_instantiate): don't need to clear the
16210         layout flag here.
16211
16212 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16213
16214         * sysdep.c (getcwd): Use standard prototype.
16215         * sysdep.h (getcwd): Use standard prototype.
16216
16217         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16218         (sequence, start, end).
16219         Remove redundant type checking.
16220         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16221         view of `caller-protects') to avoid a crash where the real fix was
16222         found elsewhere.
16223
16224 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16225
16226         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16227
16228         * s/sol2.h: Remove feature macro initialization.
16229
16230         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16231         (vector_hash): New.  Code from internal_hash.
16232         * lrecord.h:
16233         Fix up allocation subsystem comments.
16234
16235         * config.h.in: Add __EXTENSIONS__ for Solaris.
16236
16237         * systime.h (EMACS_GETTIMEOFDAY): New.
16238         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16239         Remove Solaris-specific code.
16240         Use void* for the (ignored) second arg for gettimeofday().
16241
16242         * elhash.c (hash_table_hash): Implement it, finally.
16243         * elhash.c:  Use hashcode_t.
16244
16245         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16246         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16247
16248         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16249         * fns.c (size_bit_vector):
16250         * alloc.c (size_vector):
16251         (make_vector_internal):
16252         (make_bit_vector_internal):
16253         (sweep_bit_vectors_1):
16254         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16255
16256 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16257
16258         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16259         Include strings.h to avoid warnings for bzero and strcasecmp.
16260
16261 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16262
16263         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16264         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16265
16266         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16267         sequence.
16268
16269 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16270
16271         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16272         use a value field instead.
16273         (symbol_value_forward_forward): Use value field.
16274         (DEFVAR_SYMVAL_FWD): Use value field.
16275         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16276         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16277         (DEFVAR_CONST_INT): Ditto.
16278         (DEFVAR_BOOL): Ditto.
16279         (DEFVAR_CONST_BOOL): Ditto.
16280         (DEFVAR_INT_MAGIC): Ditto.
16281         (DEFVAR_BOOL_MAGIC): Ditto.
16282
16283         * symbols.c (guts_of_unbound_marker): Use value field.
16284         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16285         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16286
16287         * lisp.h: Declare dumpopaque and noninteractive1.
16288
16289         * alloc.c (dumpopaque): Added.
16290         (pdump_dump_opaquevec): Added.
16291         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16292         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16293         noninteractive.
16294
16295 2000-02-10  Andy Piper  <andy@xemacs.org>
16296
16297         * glyphs.c (image_instance_layout): if the size changes, mark it
16298         as such.
16299
16300         * redisplay-output.c (redisplay_output_layout): Update the
16301         subwindow here.
16302         (redisplay_output_subwindow): ditto.
16303
16304         * glyphs.c (update_subwindow): make sure we reset flags for
16305         layouts as well as everything else.
16306
16307         * glyphs-widget.c (layout_layout): don't need to set the instances
16308         dimensions here.
16309
16310 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16311
16312         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16313         not HAVE_DLOPEN, which is a lower-level thing.
16314
16315         * .cvsignore: Ignore gmon.out
16316
16317 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16318
16319         * .cvsignore: Ignore portable dumper xemacs.dmp file
16320
16321 2000-02-09  Andy Piper  <andy@xemacs.org>
16322
16323         * redisplay-output.c (redisplay_output_layout): be more clever
16324         about when we output based on the changed flags.
16325
16326         * glyphs.h (struct image_instantiator_methods): add update_method.
16327         (struct Lisp_Image_Instance): add changed flags. Declare new
16328         macros for manipulating them.
16329
16330         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16331         (image_instance_parent_glyph): find an image_instance's parent
16332         glyph or image_instance.
16333         (image_instance_layout): mark the size as changed.
16334         (set_image_instance_dirty_p): new function. mark an image
16335         instance, plus all of its parents, as dirty.
16336         (Fset_image_instance_property): use it.
16337         (Fglyph_animated_timeout_handler): use it.
16338         (update_subwindow): call update_widget and device methods for
16339         update_subwindow. Mark all changed flags as clean.
16340         (Fresize_subwindow): mark size as changed.
16341
16342         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16343         failures.
16344         (x_update_subwindow): only resize subwindows here.
16345         (x_update_widget): new function. Update all changed properties of
16346         a widget.
16347         (x_resize_subwindow): deleted.
16348         (x_widget_set_property): deleted.
16349         (x_progress_gauge_set_property): deleted.
16350         (x_progress_gauge_update): new function. Implement recorded
16351         changes.
16352         (x_tab_control_update): ditto.
16353         (x_tab_control_set_property): deleted.
16354         (console_type_create_glyphs_x): declare new functions.
16355         (image_instantiator_format_create_glyphs_x): ditto.
16356
16357         * glyphs-widget.c (widget_set_property): mark text changed.
16358         (update_widget): new function. Update properties of a widget.
16359         (widget_instantiate): for layouts make sure we set their
16360         children's parent correctly.
16361         (tab_control_set_property): new function. Record changes that will
16362         take place under redisplay's control.
16363         (progress_gauge_set_property): ditto.
16364         (image_instantiator_progress_guage): declare new functions.
16365         (image_instantiator_tab_control): ditto.
16366
16367         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16368         now.
16369         (mswindows_update_widget): new function. Update all properties on
16370         a widget that have changed.
16371         (mswindows_button_update): new function. Update a button's set
16372         state.
16373         (mswindows_tab_control_update): new function. Update the items in
16374         a tab.
16375         (mswindows_tab_control_set_property): deleted.
16376         (mswindows_progress_gauge_update): new function. Update the
16377         progress gauge's progress.
16378         (mswindows_widget_set_property): deleted. This is all done
16379         asynchronously now.
16380         (mswindows_progress_gauge_set_property): ditto.
16381         (console_type_create_glyphs_mswindows): declare new methods.
16382         (image_instantiator_format_create_glyphs_mswindows): ditto.
16383
16384         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16385         (msprinter_set_frame_properties): ditto.
16386
16387         * console.h (struct console_methods): Add update_widget_method.
16388
16389 2000-02-09  Andy Piper  <andy@xemacs.org>
16390
16391         * gui-msw.c (Fmswindows_shell_execute): Make
16392         mswindows-shell-execute industrial strength.
16393
16394 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16395
16396         * lrecord.h: Make macro argument `props' match member function `plist'.
16397         * fns.c (Fget):
16398         * fns.c (Fput):
16399         * fns.c (Fremprop):
16400         * fns.c (Fobject_plist):
16401         * alloc.c:
16402         * symbols.c:
16403         Object property list frobbing cleanup.
16404         - Allow any lisp object (compared with `eq'), not just symbols, as
16405           keys in object plists.
16406         - Move symbol plist frobbing into symbols.c, where it belongs.
16407         - Move string plist frobbing into alloc.c, where it belongs.
16408         - Everything's an lrecord now, so no need to test for symbolp, etc.
16409         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16410
16411         * extents.c: Reorder code to remove declarations.
16412
16413         * frame.h (store_in_alist): Remove useless declaration.
16414
16415 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16416
16417         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16418         * config.h.in: Add HAVE_XCONVERTCASE.
16419
16420 2000-02-07  Andy Piper  <andy@xemacs.org>
16421
16422         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16423         it breaks many things.
16424
16425 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16426
16427         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16428         actually can start a common comment type.
16429         * src/syntax.h (SYNTAX_END_P): ditto for end.
16430
16431 2000-02-07  Martin Buchholz <martin@xemacs.org>
16432
16433         * XEmacs 21.2.28 is released.
16434
16435 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16436
16437         * event-Xt.c (x_keysym_to_character): New.
16438         (maybe_define_x_key_as_self_inserting_character): New.
16439         (x_has_keysym): New.
16440         Auto-define all keys on the keyboard as self-insert-key.
16441
16442 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16443
16444         * menubar.c (vars_of_menubar): A small code simplification.
16445
16446         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16447
16448         * ExternalShell.c:
16449         * ExternalClient.c:
16450         * EmacsShell-sub.c:
16451         * EmacsManager.c:
16452         * EmacsFrame.c:
16453         Use consistent style for specifying X resources.
16454
16455         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16456         This makes (dontusethis-set-symbol-value-handler) actually usable.
16457
16458         * lrecord.h (lrecord_decription_type):
16459         * alloc.c (pdump_register_sub):
16460         (pdump_dump_data):
16461         (pdump_reloc_one):
16462         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16463         Comply with XEmacs coding style.
16464         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16465         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16466
16467         * keymap.c (Faccessible_keymaps):
16468         Make (accessible-keymaps map "\C-h") do the Right Thing.
16469         Make (accessible-keymaps map []) do the Right Thing.
16470         Make (accessible-keymaps map "") do the Right Thing.
16471         (check_keymap_definition_loop): New function.
16472         (keymap_store_internal): Keep luser from shooting self in foot,
16473           via (define-key ctl-x-4-map "p" global-map).
16474         Remove fullness slot from struct Lisp_Keymap, since hash tables
16475         are now reliable.
16476         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16477
16478 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16479
16480         * redisplay.c (init_redisplay): Fix small memory leak.
16481         * elhash.h:
16482         * elhash.c (pdump_reorganize_hash_table):
16483         Rename from reorganize_hash_table. Change prototype.
16484         Reuse the original memory for hentries.  Save 100k.
16485         * alloc.c (PDUMP_READ): new macro.
16486         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16487         * alloc.c: No need to #ifndef before #undef.
16488
16489         * print.c: Allow debug_print() to print readably by modifying
16490         debug_print_readably.  Use consistent variable names.
16491
16492         * .dbxrc: Try to get things to work even if stopped in a function
16493         without source available by explicitly specifying source files.
16494 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16495
16496         * unexnt.c (_start): Removed bogus code which caused loading heap
16497         from differrent executable file.
16498         Removed bogus assignment to _fmode, which caused inconsistencies.
16499
16500 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16501
16502         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16503         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16504         Do not preliminary `#define signal sigset'.
16505
16506         * systime.h: Do not prototype environ on windows nt and cygwin,
16507         this conflicts with system header.
16508
16509         * syssignal.h: Use correct define for WINDOWSNT
16510
16511         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16512         with system header.
16513
16514         * sysdep.c (near start of file): Fixed commentary and rearranged
16515         ifdefs in readable order.
16516         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16517         (start_of_text):
16518         (end_of_text):
16519         (end_of_data): Do not compile in if using PDUMP.
16520
16521         * symsinit.h: Prototyped vars_of_nt().
16522
16523         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16524         (find_child_console): Use it.
16525         (sys_kill): Use it.
16526
16527         * ntheap.h: Do not extern os_subtype.
16528
16529         * ntheap.c (cache_system_info): Do not cache unneeded:
16530         nt_major_version, nt_minor_version and os_subtype.
16531         (recreate_heap): Do not compile in when PDUMPing.
16532
16533         * nt.c (geteuid and friends): Use the new varibale
16534         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16535         (init_user_info): Removed the above mentioned hackery.
16536         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16537         stat has been fixed in the C runtime.
16538         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16539
16540         * file-coding.c (struct file_coding_dump): Do not define
16541         ucs_to_mule_table in the struct if not MULE.
16542         (struct struct lrecord_description fcd_description_1): Do not dump
16543         the above.
16544
16545         * emacs.c (main_1): Call vars_of_nt().
16546         (right before Fdump_emacs_data): Don't need lastfile if using both
16547         portabe dumper and system malloc.
16548
16549         * alloc.c (Fmemory_limit): Conditionalized out.
16550         (pdump): Use OPEN_BINARY for the portable dump file.
16551         (pdump_load): Ditto.
16552
16553 2000-02-02  Mike Alexander  <mta@arbortext.com>
16554
16555         * nt.c (convert_time): Set tm_isdst before calling mktime and
16556         avoid calling it at all if the compiler supports 64 bit integers.
16557         Also initialize utc_base_ft before using it.
16558
16559 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16560
16561         * frame.c (change_frame_size_1): Take f->internal_border_width
16562         into consideration when calculating the width of the frame.
16563
16564 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16565
16566         * window.c (frame_min_height):
16567         (frame_size_valid_p):
16568         (frame_pixsize_valid_p): Added.
16569         (check_frame_size): Generalized.
16570
16571         * window.h: Prototyped the above.
16572
16573         * lisp.h:
16574         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16575         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16576         Deleted Vwin32_* and Vbinary_process_* unused variables.
16577
16578         * device-msw.c (msprinter_init_device): Do not get printer font
16579         list; Added DEVMODE functions.
16580
16581         * frame-msw.c: Added lots of printer code.
16582
16583         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16584         general.c.
16585
16586         * console-msw.h: Added more msprinter device private slots.
16587
16588 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16589
16590         * event-msw.c (key_needs_default_processing_p): Added.
16591         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16592
16593 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16594
16595         * glyphs.c (image_instance_layout): Mark image instance as clean
16596         after layout.
16597         (glyph_dirty_p): Removed redundant function.
16598         (invalidate_glyph_geometry_maybe): Added.
16599         (update_glyph_cachel_data): Call it.
16600
16601         * glyphs.h: Prototyped it.
16602
16603         * redisplay.c (add_glyph_rune): Call it.
16604         (redisplay_window): Reset glyphs cachels when frame faces have
16605         changed, thus forcing recomputation of built-in border glyphs.
16606
16607 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16608
16609         * Makefile.in.in: Make portable dumper and purify play well together.
16610         Add imperfect, but better than nothing, support for pdump.
16611         Remove xemacs.dmp when temacs is re-generated.
16612         Don't ignore errors when dumping xemacs.
16613
16614         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16615
16616 2000-01-28  Andy Piper  <andy@xemacs.org>
16617
16618         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16619         (setup_normal_frame): ditto.
16620         (setup_frame_without_minibuffer): ditto.
16621         (setup_minibuffer_frame): ditto.
16622         (delete_frame_internal): ditto.
16623         (Fmake_frame_invisible): ditto.
16624         (Ficonify_frame): ditto.
16625
16626         * window.h: change Fset_window_buffer signature.
16627
16628         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16629         (Fset_window_buffer): allow recording of buffer if the window is
16630         the selected window.
16631         (window_loop): Use new Fset_window signature.
16632
16633 2000-01-23  Daniel Pittman  <daniel@danann.net>
16634
16635         * config.h.in: Added template for `HAVE_ATHENA_3D'
16636
16637 2000-01-29  Andy Piper  <andy@xemacs.org>
16638
16639         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16640
16641         * gutter.c (output_gutter): Don't output if the window isn't live.
16642
16643 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16644
16645         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16646         of 01/12/00: Moved SetFocus back here where it belongs.
16647
16648 2000-01-23  Andy Piper  <andy@xemacs.org>
16649
16650         * s/cygwin32.h: declare printer things.
16651
16652 2000-01-26  Andy Piper  <andy@xemacs.org>
16653
16654         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16655         Alexander.
16656
16657 2000-01-24  Andy Piper  <andy@xemacs.org>
16658
16659         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16660         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16661
16662         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16663
16664         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16665
16666         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16667
16668         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16669         (mswindows_output_display_block): Avoid local shadows.
16670
16671         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16672         (mswindows_enqueue_mouse_button_event): ditto.
16673         (mswindows_handle_gui_wm_command): remove declaration.
16674
16675         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16676         warnings.
16677
16678         * console-msw.h: Avoid shadows.
16679         (mswindows_get_toolbar_button_text):
16680         (emacs_mswindows_create_stream_pair):
16681         (emacs_mswindows_delete_stream_pair):
16682         (mswindows_handle_toolbar_wm_command): declare.
16683
16684         * device-msw.c (build_syscolor_string): Avoid shadows.
16685
16686 2000-01-23  Andy Piper  <andy@xemacs.org>
16687
16688         * glyphs-widget.c (widget_instantiate): reverse the items for
16689         layouts so that children are in the expected order.
16690
16691 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16692
16693         * ralloc.c: safe_bcopy ==> memmove
16694         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16695         * s/msdos.h: Remove BCOPY macros.
16696         * insdel.c (gap_right): Remove BCOPY conditional code.
16697         * insdel.c (gap_left): Remove BCOPY conditional code.
16698         XEmacs demands a working ANSI C compiler - hence memmove.
16699
16700         * regex.c (regex_compile): Remove accidental use of trigraphs.
16701
16702 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16703
16704         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16705         event timestamp.
16706
16707 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16708
16709         * event-msw.c (mswindows_drain_windows_queue): Added the
16710         parameter.
16711         (mswindows_need_event): Commented the call to
16712         mswindows_drain_windows_queue().
16713         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16714         only.
16715
16716         * console-msw.h: Moved a few function prototypes here from
16717         event-msw.c.
16718
16719         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16720         parameter from unsigned short to unsigned long.
16721         (Fmswindows_shell_execute): Added return value.
16722
16723 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16724
16725         * sysdep.c (init_system_name):
16726           process-unix.c (unix_canonicalized_host_name):
16727         Don't call freeaddrinfo() if getaddrinfo() fails.
16728
16729         * process-unix.c (unix_open_unix_network_stream):
16730         Moved the code to get a port # into address loop.
16731
16732 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16733
16734         * buffer.c (reinit_vars_of_buffer):
16735         The right place to initialize conversion_in_dynarr and
16736         conversion_out_dynarr.
16737
16738         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16739
16740         * process-unix.c (unix_canonicalize_host_name): Muleize.
16741         (unix_open_network_stream): Muleize.
16742
16743         * buffer.h: Fix up prototypes for ralloc.c functions.
16744
16745 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16746         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16747         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16748                 instead of gethostbyname()
16749         * process-unix.c: In unix_canonicalize_host_name() and
16750                 unix_open_network_stream(), add code to use getaddrinfo()
16751                 instead of gethostbyname().
16752
16753 2000-01-27  Daniel Pittman <daniel@danann.net>
16754
16755         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16756         libs when built with flat Athena.
16757
16758 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16759
16760         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16761         Use coding standards for function prototypes.
16762
16763 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16764
16765         * dialog-msw.c (push_lisp_string_as_unicode):
16766         * doc.c (unparesseuxify_doc_string):
16767         * dired.c (Fuser_name_completion_1):
16768         * dired.c (Fuser_name_all_completions):
16769         * dired.c (free_user_cache):
16770         * dired.c (user_name_completion):
16771         * console-x.c (get_display_arg_connection):
16772         * minibuf.c (clear_echo_area_internal):
16773         * minibuf.c (echo_area_append):
16774         * eldap.c (Fldap_open):
16775         * eldap.c (Fldap_search_internal):
16776         * frame-x.c (x_set_frame_text_value):
16777         * frame-x.c (x_set_frame_properties):
16778         * frame-x.c (x_create_widgets):
16779         * redisplay-tty.c (term_get_fkeys_1):
16780         * objects-x.c (x_parse_nearest_color):
16781         * objects-x.c (x_valid_color_name_p):
16782         * objects-x.c (x_initialize_font_instance):
16783         * objects-x.c (x_list_fonts):
16784         * objects-x.c (x_find_charset_font):
16785         * tooltalk.c (Fadd_tooltalk_message_arg):
16786         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16787         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16788         * process-unix.c (unix_create_process):
16789         * ntproc.c (sys_spawnve):
16790         * sound.c (Fplay_sound_file):
16791         * sound.c (Fplay_sound):
16792         * buffer.c (init_initial_directory):
16793         * buffer.c (init_buffer):
16794         * editfns.c (init_editfns):
16795         * editfns.c (Ftemp_directory):
16796         * editfns.c (Fuser_full_name):
16797         * editfns.c (uncache_home_directory):
16798         * editfns.c (get_home_directory):
16799         * editfns.c (Fuser_home_directory):
16800         * editfns.c (Fformat_time_string):
16801         * editfns.c (Fcurrent_time_string):
16802         * gui-x.c (button_item_to_widget_value):
16803         * database.c (Fopen_database):
16804         * event-Xt.c (x_to_emacs_keysym):
16805         * event-Xt.c (x_event_to_emacs_event):
16806         * event-Xt.c (describe_event_window):
16807         * event-msw.c (mswindows_wnd_proc):
16808         * glyphs-eimage.c (jpeg_instantiate):
16809         * glyphs-eimage.c (gif_instantiate):
16810         * glyphs-eimage.c (png_instantiate):
16811         * glyphs-eimage.c (tiff_instantiate):
16812         * glyphs-x.c (xbm_instantiate_1):
16813         * glyphs-x.c (x_xbm_instantiate):
16814         * glyphs-x.c (x_xface_instantiate):
16815         * glyphs-x.c (autodetect_instantiate):
16816         * glyphs-x.c (cursor_font_instantiate):
16817         * glyphs-x.c (x_widget_instantiate):
16818         * glyphs-x.c (x_widget_set_property):
16819         * glyphs-x.c (x_widget_property):
16820         * glyphs-x.c (BUILD_GLYPH_INST):
16821         * print.c (write_string_to_stdio_stream):
16822         * print.c (output_string):
16823         * print.c (Falternate_debugging_output):
16824         * print.c (Fexternal_debugging_output):
16825         * glyphs-msw.c (extract_xpm_color_names):
16826         * glyphs-msw.c (mswindows_xpm_instantiate):
16827         * glyphs-msw.c (bmp_instantiate):
16828         * glyphs-msw.c (resource_name_to_resource):
16829         * glyphs-msw.c (mswindows_resource_instantiate):
16830         * glyphs-msw.c (xbm_instantiate_1):
16831         * glyphs-msw.c (mswindows_xbm_instantiate):
16832         * glyphs-msw.c (mswindows_xface_instantiate):
16833         * glyphs-msw.c (mswindows_widget_instantiate):
16834         * glyphs-msw.c (add_tree_item):
16835         * glyphs-msw.c (add_tab_item):
16836         * glyphs-msw.c (mswindows_combo_box_instantiate):
16837         * glyphs-msw.c (mswindows_widget_property):
16838         * glyphs-msw.c (mswindows_combo_box_property):
16839         * glyphs-msw.c (mswindows_widget_set_property):
16840         * console.c (stuff_buffered_input):
16841         * objects-msw.c (mswindows_initialize_color_instance):
16842         * objects-msw.c (mswindows_valid_color_name_p):
16843         * objects-msw.c (mswindows_list_fonts):
16844         * objects-msw.c (mswindows_font_instance_truename):
16845         * bytecode.c (optimize_compiled_function):
16846         * select-x.c (symbol_to_x_atom):
16847         * select-x.c (x_atom_to_symbol):
16848         * select-x.c (hack_motif_clipboard_selection):
16849         * select-x.c (selection_data_to_lisp_data):
16850         * select-x.c (lisp_data_to_selection_data):
16851         * select-x.c (Fx_get_cutbuffer_internal):
16852         * select-x.c (Fx_store_cutbuffer_internal):
16853         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16854         * buffer.h (TO_INTERNAL_FORMAT): New function.
16855         * emacs.c (make_arg_list_1):
16856         * emacs.c (make_argc_argv):
16857         * emacs.c (main_1):
16858         * emacs.c (Fdump_emacs):
16859         * emacs.c (split_string_by_emchar_1):
16860         * file-coding.h:
16861         * lisp.h:
16862         * lstream.h:
16863         * symsinit.h:
16864         * device-x.c (x_init_device):
16865         * device-x.c (Fx_valid_keysym_name_p):
16866         * device-x.c (Fx_get_font_path):
16867         * device-x.c (Fx_set_font_path):
16868         * glyphs.c (bitmap_to_lisp_data):
16869         * glyphs.c (pixmap_to_lisp_data):
16870         * alloc.c (make_ext_string): Use coding system arguments.  Update
16871         all callers.
16872         * alloc.c (build_string):
16873         * callproc.c (child_setup):
16874         * callproc.c (init_callproc):
16875         * fileio.c (lisp_strerror):
16876         * fileio.c (directory_file_name):
16877         * fileio.c (Fexpand_file_name):
16878         * fileio.c (Ffile_truename):
16879         * fileio.c (Fsysnetunam):
16880         * fileio.c (Fdo_auto_save):
16881         * sysdep.c (sys_readdir):
16882         * tests.c: New file.  Allow adding C tests.
16883         Replace GET_* macros with a more comprehensible and flexible
16884         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16885         Modify all calls.
16886         Any coding system can be used to do format conversion.
16887         Eliminate enum external_data_format.
16888         Eliminate convert_to_external_format.
16889         Eliminate convert_to_internal_format.
16890         Make sure file-name, keyboard, terminal, and ctext are always
16891         defined as coding systems or aliases.  Make
16892         file-name-coding-system, terminal-coding-system, and
16893         keyboard-coding-system magical variables that are equivalent to
16894         defining the corresponding coding system aliases.
16895
16896         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16897         * file-coding.c (Fcoding_system_alias_p): New function.
16898         * file-coding.c (Fcoding_system_aliasee): New function.
16899         * file-coding.c (append_suffix_to_symbol): New function.
16900         * file-coding.c (dangling_coding_system_alias_p): New function.
16901         * file-coding.c (Ffind_coding_system):
16902         * file-coding.c (Fcopy_coding_system):
16903         * file-coding.c (encode_coding_no_conversion):
16904         * file-coding.c (syms_of_file_coding):
16905         * file-coding.c (vars_of_file_coding):
16906         Rewrite coding system alias code.
16907         Allow nested aliases, like symbolic links.
16908         Allow redefinition of coding system aliases.
16909         Prevent existence of dangling coding system aliases.
16910
16911         * dired.c (Fuser_name_completion_1):
16912         * dired.c (Fuser_name_all_completions):
16913         A crash would happen if user did QUIT in the middle of building
16914         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16915
16916         * lisp.h:
16917         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16918
16919         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16920         an unsigned char *.  Update all callers.
16921
16922 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16923
16924         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16925
16926 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16927
16928         * elhash.c (hentry_description): Use more portable definition.
16929         (resize_hash_table): Initialize new hentries using
16930         xnew_array_and_zero, thereby simplifying the code.
16931
16932         * mule-charset.c (make_charset): Make sure entire object is
16933         initialized, to avoid Purify warnings.
16934
16935         * alloc.c (resize_string): Fix unlikely crash with big strings.
16936
16937 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16938
16939         * realpath.c (xrealpath):
16940         Don't call getwd().
16941
16942 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16943
16944         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16945
16946 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16947
16948         * unexelfsgi.c (unexec): Change the way we decide which segment
16949         should be extended.
16950
16951         Assumption that .bss section should be outside the PT_LOADable
16952         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16953         it's present) is inside the 'data' segment. This would fail the
16954         test which was used to find a segment to grow and cover new
16955         heap. Instead of this assumption, I created another one - on IRIX
16956         the segment to grow should start below .bss and it's address
16957         should extent above the end of .bss. Once this segment is
16958         identified, it's grown to accommodate the new heap and new
16959         zero-length .bss section is added at the end of .data2.
16960
16961 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16962
16963         * eval.c (Feval): Wrong number of arguments should use original
16964         function, not the indirect_function version of it.
16965
16966 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16967
16968         * glyphs-x.c (x_button_instantiate): Don't add image if
16969         it is not a pixmap.
16970         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16971         is relative.
16972
16973 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16974
16975         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16976         declaration.
16977         (DEFVAR_INT_MAGIC): Ditto.
16978         (DEFVAR_BOOL_MAGIC): Ditto.
16979         * glyphs.h: Reindent backslash.
16980
16981 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16982
16983         * glyphs-widget.c (layout_query_geometry):
16984         (layout_layout): Use correct types for gheight, gwidth.
16985
16986 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16987
16988         * EmacsManager.c (QueryGeometry): Purified.
16989
16990 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16991
16992         * alloc.c (make_float): Make sure entire object is initialized, to
16993         avoid Purify warnings.
16994         (pdump_register_sub): Remove useless assignment.
16995         (pdump): Use xmalloc, not malloc.
16996         (pdump_load): Use xmalloc, not malloc.
16997
16998 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16999
17000         * callproc.c:
17001         * dired-msw.c:
17002         * fileio.c:
17003         * process-nt.c:
17004         * redisplay-msw.c:
17005         * sysdep.c: Removed redundant #include <windows.h>
17006
17007 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17008
17009         * frame.c (delete_frame_internal): Do not delete device when its
17010         implementation so declares.
17011         (delete_frame_internal): Set device selected frame to nil when
17012         last frame goes away.
17013
17014         * device-msw.c (msprinter_device_system_metrics): Implemented.
17015         (mswindows_device_system_metrics): Added 'device-dpi property.
17016
17017         * device.c: (Fdevice_printer_p): Added.
17018         Added 'offset-workspace device metric.
17019
17020         * console.h (device_metrics): Declared DM_offset_workspace.
17021
17022 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17023
17024         * fileio.c (Ffile_truename): Remove pointless and confusing
17025         initialization of elen.
17026
17027         * glyphs-widget.c: Compiler warning fixes.
17028
17029 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17030
17031         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17032         instead of a Lisp_Object as argument to make it consistent with
17033         the other LIVE_P macros.
17034         (CHECK_LIVE_PROCESS): New macro.
17035
17036         * process.c: Declare Qprocess_live_p.
17037         (Fprocess_live_p): New function.
17038         (create_process): Use PROCESS_LIVE_P.
17039         (read_process_output): Ditto.
17040         (set_process_filter): Ditto.
17041         (Fdelete_process): Ditto.
17042         (kill_buffer_processes): Ditto
17043         (process_send_signal): Use CHECK_LIVE_PROCESS.
17044         (Fprocess_input_coding_system): Check whether process is still
17045         alive (fix PR#1061).
17046         (Fprocess_output_coding_system): Ditto.
17047         (Fprocess_coding_system): Ditto.
17048         (Fset_process_input_coding_system): Ditto.
17049         (Fset_process_output_coding_system): Ditto.
17050
17051 2000-01-23  Andy Piper  <andy@xemacs.org>
17052
17053         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17054         layout and widget.
17055
17056         * glyphs.c (mark_image_instance): take into account changed
17057         image_instance format.
17058         (image_instance_equal): ditto.
17059         (image_instance_hash): ditto.
17060
17061         * glyphs-widget.c (widget_instantiate): Incorporate layout
17062         instantiation here. Delay layout of the layout until later.
17063         (layout_instantiate): deleted.
17064         (layout_query_geometry): new function. get the geometry of a
17065         layout.
17066         (layout_layout): layout a layout dynamically.
17067         (image_instantiator_widget): New function - splitting up
17068         image_instantiator_format_create_glyphs_widget for netwinder
17069         compilation.
17070         (image_instantiator_buttons):
17071         (image_instantiator_edit_fields):
17072         (image_instantiator_combo_box):
17073         (image_instantiator_scrollbar):
17074         (image_instantiator_progress_guage):
17075         (image_instantiator_tree_view):
17076         (image_instantiator_tab_control):
17077         (image_instantiator_labels):
17078         (image_instantiator_layout): ditto.
17079         (image_instantiator_format_create_glyphs_widget): Call preceding
17080         functions.
17081
17082 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17083
17084         * process.c (Fset_process_coding_system):
17085         * device-x.c (Fx_keysym_hash_table):
17086         Docstring fixes.
17087
17088         * lstream.c (Lstream_write): Return documented value, not 0.
17089
17090         * fileio.c (directory_file_name):
17091         (Fsubstitute_in_file_name):
17092         (Fsubstitute_insert_file_contents_internal):
17093         (Fwrite_region_internal):
17094         * emacs.c:
17095         * sysdep.c:
17096         * getloadavg.c:
17097         * systty.h:
17098         Remove vestigial APOLLO-conditional code.
17099
17100 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17101
17102         * getpagesize.h: Add guard macros.
17103         * libsst.h: Add guard macros.
17104         * libst.h: Add guard macros.
17105         * line-number.h: Add guard macros.
17106         * ndir.h: Add guard macros.
17107         * sysfloat.h: Add guard macros.
17108         * sysfile.h: Add guard macros.
17109         * sysproc.h: Add guard macros.
17110         * syswait.h: Add guard macros.
17111         * xintrinsic.h: Add guard macros.
17112         * xintrinsicp.h: Add guard macros.
17113         * xmmanager.h: Add guard macros.
17114         * xmmanagerp.h: Add guard macros.
17115         * xmprimitive.h: Add guard macros.
17116         * xmu.h: Add guard macros.
17117         * gpmevent.h: Add copyright statement. Add guard macros.
17118         * miscplay.h: Add guard macros.
17119         * *.h: Use consistent C-standards-approved guard macro names.
17120
17121         * opaque.c (make_opaque): Switch parameter order.
17122         * opaque.h (make_opaque): Switch parameter order.
17123         Update all callers.
17124         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17125
17126         * config.h.in (type_checking_assert): Added.
17127         (bufpos_checking_assert): Added.
17128
17129 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17130
17131         * alloc.c: Harmless pdump changes.
17132         - Use countof().
17133         - spell alignment correctly.
17134         * sysdep.c: Use countof()
17135
17136 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17137
17138         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17139         initially_selected_for_input() console method, default to 0.
17140         (semi_canonicalize_console_connection): Try to delegate to
17141         canonicalize_console_connection if no such console method.
17142         (canonicalize_console_connection): Vice versa.
17143         (print_console): Do not print nil connection.
17144
17145         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17146         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17147         (XDEVIMPF_FRAMELESS_OK): Added.
17148         (CONSOLE_INHERITS_METHOD): Added.
17149
17150         * console-msw.c (mswindows_canonicalize_console_connection):
17151         Added.
17152         (mswindows_canonicalize_device_connection): Added.
17153
17154         * console-msw.h (struct msprinter_device): Added this struct and
17155         accessor macros.
17156         (mswindows_device): Made fontlist a lisp object.
17157
17158         * device.c (semi_canonicalize_device_connection):  Try to delegate
17159         to canonicalize_device_connection if no such console method.
17160         (canonicalize_device_connection): Vice versa.
17161         (print_device): Do not print nil connection.
17162
17163         * device-msw.c (mswindows_init_device): Call InitCommonControls
17164         when have widgets.
17165         (mswindows_delete_device): Removed fontlist deallocation.
17166         (mswindows_mark_device): Added.
17167
17168         * events.c (event_equal): Added abort() at unreached code.
17169         (event_hash): Ditto.
17170
17171         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17172         fallback tags of Windows devices.
17173
17174         * general.c (syms_of_general): Initialized Qmsprinter.
17175
17176         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17177         of fallback tags of Windows devices.
17178
17179         * lisp.h: Declared Qmsprinter.
17180
17181         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17182         of strings.
17183         (mswindows_list_fonts): Ditto.
17184         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17185         that it can be used by both mswindows and msprinter devices.
17186         (initialize_font_instance): Added.
17187         (mswindows_initialize_font_instance): Use it.
17188         (msprinter_initialize_font_instance): Added.
17189
17190         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17191         and implementation flags check.
17192         (redisplay_without_hooks): Changed the call to the above.
17193         (Fredraw_device): Ditto.
17194         (Fredisplay_device): Ditto.
17195
17196         * redisplay-msw.c (get_frame_dc): Implemented.
17197         (get_frame_compdc): Implemented.
17198         (many functions): Use the two functions above to get device
17199         contexts, ether for a window or a printer.
17200
17201 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17202
17203         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17204         initialization here.
17205         (init_symbols_once_early): Call it.
17206         * emacs.c (main_1): Call it.
17207         * symsinit.h: Declare it.
17208
17209 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17210
17211         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17212         Lisp_Object.
17213         (pdump_backtrace): Ditto.
17214         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17215         (pdump_get_entry): Abort if trying to register a null pointer.
17216         (pdump_dump_data): Cleanup types when relocating.
17217         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17218         (pdump_dump_rtables): Remove bad casts.
17219         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17220         Lisp_Object instead of a EMACS_INT for the hashtable
17221         reorganization.
17222
17223 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17224
17225         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17226
17227         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17228
17229         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17230
17231         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17232
17233 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17234
17235         * faces.h (FACE_STRIKETHRU_P): Added.
17236
17237         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17238         of font variants.
17239
17240         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17241         (mswindows_set_dc_font): New function, aware of font variants,
17242         separated from mswindows_update_dc.
17243
17244         * objects-msw.h (struct mswindows_font_instance_data): Added
17245         definition.
17246
17247         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17248         cached fonts and the data structure.
17249         (mswindows_initialize_font_instance): Added creation of font data
17250         structure.
17251         (mswindows_print_font_instance): Print at least something.
17252         (mswindows_create_font_variant): Implemented.
17253         (mswindows_get_hfont): Implemented.
17254
17255 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17256
17257         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17258         prototyping problem with msvc.
17259
17260         * emacs.c (main_1): added syms_of_gui_mswindows() call
17261
17262         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17263         syms_of_gui_mswindows() function
17264
17265         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17266
17267 2000-01-18  Martin Buchholz <martin@xemacs.org>
17268
17269         * XEmacs 21.2.27 is released.
17270
17271 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17272
17273         * glyphs-eimage.c (struct tiff_error_struct):
17274         (tiff_error_func):
17275         (tiff_warning_func):
17276         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17277
17278         * unexmips.c:
17279         * unexhp9k3.c:
17280         * unexfreebsd.c:
17281         * unexec.c: Remove vestigial Lucid C code.
17282         * unexalpha.c:
17283         * unexaix.c:
17284         * termcap.c:
17285         * libsst.c: Ansify.
17286         Remove declarations of errno and strerror().
17287
17288         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17289
17290         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17291
17292 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17293
17294         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17295         Optimize.
17296
17297 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17298
17299         * md5.c:
17300         * file-coding.c:
17301         * file-coding.h:
17302         Change enum eol_type to eol_type_t.
17303
17304 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17305
17306         * gui.c (get_gui_callback): Check cons before accessing car.
17307
17308 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17309
17310         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17311         (XSETSPECIFIER_TYPE): Ditto.
17312
17313 2000-01-17  Didier Verna  <didier@xemacs.org>
17314
17315         * redisplay.c (generate_fstring_runes): compute string size in
17316         characters, not bytes.
17317
17318 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17319
17320         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17321
17322 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17323
17324         * print.c (print_error_message): Call print_prepare().
17325
17326 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17327
17328         * .dbxrc: Renamed from dbxrc.
17329
17330         * events.c (event_to_character):
17331         Use `assert (foo)' instead of `if (!foo) abort()'
17332
17333         * .gdbinit (xtype): Add documentation.
17334         * .gdbinit (check-temacs): New function.
17335         * .gdbinit (check-xemacs): New function.
17336         * dbxrc (check-xemacs): New function.
17337         * dbxrc (check-xemacs): New function.
17338
17339 2000-01-14  Andy Piper  <andy@xemacs.org>
17340
17341         * glyphs-widget.c (widget_query_geometry): Make sure that we
17342         calculate default dimensions correctly.
17343
17344 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17345
17346         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17347
17348         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17349         pdump_wire'd variable.
17350
17351         * emacs.c: (main_1): Conditionalized calls to
17352         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17353
17354 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17355
17356         * window.c (Fset_window_configuration):
17357         * sysdep.c (_start):
17358         * input-method-motif.c (res):
17359         * event-Xt.c (Xt_process_to_emacs_event):
17360         Simple compiler warning fixes.
17361
17362         * bytecode.c (funcall_compiled_function): Use the original
17363         function symbol on the backtrace list in preference to the
17364         compiled_function object in error messages.
17365
17366 2000-01-13  Andy Piper  <andy@xemacs.org>
17367
17368         * glyphs-x.c (update_widget_face): Make sure we update the widget
17369         background as well as foreground.
17370
17371 2000-01-13  Andy Piper  <andy@xemacs.org>
17372
17373         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17374         fields to subwindow.
17375         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17376         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17377         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17378         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17379
17380         * glyphs-widget.c (check_valid_tab_orientation): new function.
17381         (initialize_widget_image_instance): zero orientation and
17382         justification.
17383         (widget_instantiate): pick up orientation.
17384         (tab_control_query_geometry): return appropriate values for
17385         vertical tabs.
17386
17387         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17388         appropriate creation flags for left, right and bottom tabs.
17389
17390         * s/cygwin32.h: add tab definitions.
17391
17392 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17393
17394         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17395         frame upon hiding a subwindow.
17396         (mswindows_button_instantiate): Changed the push button style to
17397         BS_PUSHBUTTON.
17398         (mswindows_button_instantiate): Removed button BS_NOTIFY
17399         style.
17400         (mswindows_button_instantiate): Removed redundant check for
17401         a disabled gui item.
17402         (mswindows_button_instantiate): Made use of WS_TABSTOP
17403         consistent: "operable" controls (edit, button, tree, scroll) have
17404         this style, "display-only" ones (static, progress gauge) do
17405         not. This style is currently ignored by XEmacs though. Also,
17406         removed the WS_EX_CONTROLPARENT style - it is not for children,
17407         it is for their parents!
17408         (mswindows_edit_field_instantiate): Ditto.
17409         (mswindows_progress_gauge_instantiate): Ditto.
17410         (mswindows_tree_view_instantiate): Ditto.
17411         (mswindows_tab_control_instantiate): Ditto.
17412         (mswindows_scrollbar_instantiate): Ditto.
17413         (mswindows_combo_box_instantiate): Ditto.
17414         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17415         style to the "clip" window.
17416         (mswindows_button_instantiate): Removed compilation warning by
17417         equally typing terms of the ?: operator.
17418
17419 2000-01-12  Didier Verna  <didier@xemacs.org>
17420
17421         * redisplay.c (generate_fstring_runes): new parameter holding the
17422         last modeline-format extent.
17423         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17424         extent, fill the glyph block with it.
17425         (generate_fstring_runes): handle these parameters.
17426         (generate_formatted_string_db): ditto.
17427
17428         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17429         glyphs'extents in the modeline.
17430
17431 1999-01-11  Mike Woolley  <mike@bulsara.com>
17432
17433         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17434         256Mb, as a workaround for the non-starting problem many people
17435         have experienced.
17436
17437 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17438
17439         * console-tty.c (Fset_console_tty_output_coding_system):
17440         Force redrawing tty frame.
17441
17442 2000-01-10  Didier Verna  <didier@xemacs.org>
17443
17444         * redisplay.c (generate_fstring_runes): fix size computation bug.
17445
17446 2000-01-09  William M. Perry <wmperry@aventail.com>
17447
17448         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17449
17450 2000-01-09  Andy Piper  <andy@xemacs.org>
17451
17452         * glyphs-msw.c: index -> i to avoid shadows.
17453         (xbm_create_bitmap_from_data): make static.
17454         (check_valid_string_or_int): deleted.
17455         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17456
17457         * glyphs-x.c (x_update_subwindow): remove unused args.
17458
17459         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17460         back pointer - this is done in allocate_image_instance.
17461         (query_string_font): return Qnil to make the compiler happy.
17462         (unmap_subwindow): set to ~0 to make the compiler happy.
17463         (glyph_query_geometry): comment out until used.
17464         (glyph_layout): ditto.
17465
17466 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17467
17468         * insdel.c (signal_after_change): Remove extraneous unbind_to().