update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_circled_of): New variable.
4         (put_char_composition): Return `<-circled' instead of
5         `=decomposition' for compatibility mapping to single character
6         tagged `circle'.
7         (Fput_char_attribute): Convert char-specs in value of
8         `{<-|->}circled[^*]*' to characters and put reverse links.
9         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
10         for `<-circled'.
11         (syms_of_chartab): Add new symbol `<-circled'.
12
13 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (Qto_decomposition_at_circled): New variable.
16         (put_char_composition): Return `=>decomposition@circled' instead
17         of `=decomposition' for compatibility decomposition mapping tagged
18         `circle'.
19         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
20
21 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * chartab.c (Q_subscript_of): New variable.
24         (put_char_composition): Return `<-subscript' instead of
25         `=decomposition' for compatibility mapping to single character
26         tagged `sub'.
27         (Fput_char_attribute): Convert char-specs in value of
28         `{<-|->}subscript[^*]*' to characters and put reverse links.
29         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
30         for `<-subscript'.
31         (syms_of_chartab): Add new symbol `<-subscript'.
32
33 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * chartab.c (Q_superscript_of): New variable.
36         (put_char_composition): Return `<-superscript' instead of
37         `=decomposition' for compatibility mapping to single character
38         tagged `super'.
39         (Fput_char_attribute): Convert char-specs in value of
40         `{<-|->}superscript[^*]*' to characters and put reverse links.
41         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
42         for `<-superscript'.
43         (syms_of_chartab): Add new symbol `<-superscript'.
44
45 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * chartab.c (Qto_decomposition_at_compat): Deleted.
48         (Qto_decomposition_at_superscript): New variable.
49         (put_char_composition): Use `=>decomposition@superscript' instead
50         of `=decomposition' for compatibility decomposition mapping tagged
51         `super'.
52         (Fput_char_attribute): Fix condition about `put_char_composition'.
53         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
54         add news symbol `=>decomposition@superscript'.
55
56 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
59         for compatibility decomposition mapping tagged FOO.
60         (Fput_char_attribute): Modify for `put_char_composition'.
61
62 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * chartab.c (Qto_decomposition_at_compat): New variable.
65         (Q_compat_of): Renamed from `Q_compatibility_of'.
66         (put_char_composition): Rename `Q_compatibility_of' to
67         `Q_compat_of'; return `=>decomposition@compat' for compatibility
68         decomposition mapping.
69         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
70         `Q_compat_of'.
71         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
72         `<-compatibility' to `<-compat'.
73
74 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * chartab.c (Q_compatibility_of): New variable.
77         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
78         object is proved to be a cons cell; return `<-compatibility' if
79         the first element of argument `value' is `compat'.
80         (Fput_char_attribute): Eliminate the first value if
81         `put_char_composition' returns `<-compatibility'.
82         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
83         for `<-compatibility'.
84         (syms_of_chartab): Add new symbol `<-compatibility'.
85
86 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * chartab.c (Q_canonical): New variable.
89         (put_char_composition): Return a feature name: return
90         `->canonical' if argument `value' specifies single character.
91         (Fput_char_attribute): Use `put_char_composition' to determine
92         feature name for `=decomposition' or `->denotational'.
93         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
94         for `->canonical'.
95         (syms_of_chartab): Add new symbol `->canonical'.
96
97 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * chartab.c (Qmap_decomposition): New variable.
100         (Fput_char_attribute): Convert `->decomposition' to
101         `=decomposition'.
102         (syms_of_chartab): Add new symbol `=decomposition'.
103
104 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
105
106         * chartab.c (Fget_range_char_table): Fix serious problem when
107         `range' is nil.
108
109 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * chartab.c (char_table_get_db): Use `read_from_c_string'.
112
113 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * lread.c (read_from_c_string): New function.
116
117         * lisp.h (read_from_c_string): New prototype.
118
119 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * chartab.c (Fput_char_attribute): Convert char-specs in value of
122         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
123         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
124         for `{<-|->}Oracle-Bones[^*]*'.
125
126 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
129         (Kizu).
130
131 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * text-coding.c (Qccs_priority_list): New variable in XEmacs
134         CHISE.
135         (Fmake_coding_system): Support new property `ccs-priority-list' in
136         XEmacs CHISE.
137         (Fcoding_system_property): Likewise.
138         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
139         Vdefault_coded_charset_priority_list in XEmacs CHISE.
140         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
141         XEmacs CHISE.
142         (complex_vars_of_file_coding): Define new coding-system-property
143         `ccs-priority-list' in XEmacs CHISE.
144
145         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
146
147 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
150         changed to normal function.
151         (encode_char_2): Likewise.
152
153         * mule-charset.c (decoding_table_put_char): Copied from
154         char-ucs.h; changed to normal function.
155         (encode_char_2): Likewise.
156
157 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
160         New extern.
161         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
162         (encode_char_2_search_children): New inline function.
163         (encode_char_2): Refer
164         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
165         and use `encode_char_2_search_children'.
166
167 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
168
169         * mule-charset.c
170         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
171         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
172         (vars_of_mule_charset): Add new variable
173         `display-coded-charset-priority-use-inheritance' and
174         `display-coded-charset-priority-use-hierarchy-order'.
175
176 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * char-ucs.h (Q_subsumptive): New extern.
179         (Q_denotational): Likewise.
180         (encode_char_2): Search children specified by `->subsumptive' and
181         `->denotational'.
182
183 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * mule-charset.c (complex_vars_of_mule_charset): Modify the
186         X-registry of `ucs-bmp'.
187
188 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * chartab.c (char-variants): Refer `->subsumptive',
191         `->denotational' and `->identical' as same as `->ucs-unified'.
192
193 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * chartab.c (Fput_char_attribute): Convert char-specs in value of
196         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
197         links.
198
199 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * text-coding.c: Add EXFUN for `Fregexp_quote'.
202         (decode_add_er_char): Fix problem about infinite loop when a CCS
203         specified in `coded-charset-entity-reference-alist' is not
204         existed.
205
206 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule-charset.c (syms_of_mule_charset): Rename
209         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
210
211 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * fns.c (simplify_char_spec): Don't allocate new character-object
214         if specified char_spec does not have any CCS-features.
215
216         * chartab.h: Add EXFUN for Fdefine_char.
217
218         * chartab.c: Delete EXFUN for Fdefine_char.
219
220 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * fns.c (simplify_char_spec): Use Fdefine_char instead of
223         Ffind_char for char-spec.
224
225 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * lisp-disunion.h (XCHARVAL): Fix condition about
228         SIZEOF_EMACS_INT.
229
230 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
233         <int> for `code'.
234         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
235         point; use <Emchar> instead of <int> for character-id.
236
237 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
240         (make_char): Likewise.
241         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
242         environment.
243         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
244         instead of <int> as the type of return value; use <Lisp_Object>
245         instead of <Emchar> as the type of argument.
246         (XCHARVAL[macro version]): Cast the result into <Emchar>.
247
248         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
249         syntaxcode> instead of <int>.
250
251 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * chartab.c (put_char_composition): Use DECODE_CHAR to get
254         character corresponding with UCS code point.
255         (Fput_char_attribute): Likewise.
256
257         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
258         character in the UCS decoding-table if the char-id is not equal to
259         the UCS code point.
260
261 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
264         for aliases; write `description'; write
265         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
266         not 0.
267
268 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * chartab.c (Fsave_char_attribute_table): Don't use
271         `save_charset_properties'.
272
273         * mule-charset.c (Fsave_charset_properties): Renamed from
274         `save_charset_properties' and changed to Lisp function again;
275         write property `type' as `CCS'; write properties `final-byte' and
276         `mother' if they exists.
277         (syms_of_mule_charset): Revive builtin function
278         `save-charset-properties' when HAVE_LIBCHISE is defined.
279
280 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
283         instead of Vexec_directory.
284         (char_attribute_system_db_file): Likewise.
285
286 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * chartab.c (Fsave_char_attribute_table): Use
289         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
290         defined.
291
292         * mule-charset.c (save_charset_properties): Renamed from
293         `Fsave_charset_properties'; changed to non-Lisp function.
294         (syms_of_mule_charset): Abolish builtin function
295         `save-charset-properties'.
296
297 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * mule-charset.c (Fsave_charset_properties): New function when
300         HAVE_LIBCHISE is defined.
301         (syms_of_mule_charset): Add new builtin function
302         `save-charset-properties' when HAVE_LIBCHISE is defined.
303
304 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * chartab.c (Fput_char_attribute): Convert char-specs in value of
307         `{<-|->}ancient[^*]*' to characters and put reverse links.
308         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
309         for `{<-|->}ancient[^*]*'.
310
311 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * chartab.c (Fput_char_attribute): Convert char-specs in value of
314         `{<-|->}original[^*]*' to characters and put reverse links.
315         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
316         for `{<-|->}original[^*]*'.
317
318 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
321
322 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * mule-charset.c (Qsystem_char_id): New variable.
325
326         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
327         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
328
329 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * chartab.c (Fput_char_attribute): When processing a reference of
332         a character, put into the end of the reversed reference of each
333         target character.
334
335 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * chartab.c (Q_same): Deleted.
338         (Q_same_of): Deleted.
339         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
340         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
341         for `{<-|->}same'.
342         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
343
344 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * chartab.c (Q_vulgar): Deleted.
347         (Q_vulgar_of): Deleted.
348         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
349         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
350         for `{<-|->}vulgar'.
351         (syms_of_chartab): Don't define `{<-|->}vulgar'.
352
353 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * chartab.c (Fput_char_attribute): Convert char-specs in value of
356         `{<-|->}wrong[^*]*' to characters and put reverse links.
357         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
358         for `{<-|->}wrong[^*]*'.
359
360 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.c (Q_vulgar): New variable.
363         (Q_vulgar_of): New variable.
364         (Fput_char_attribute): Convert char-specs in value of
365         `{->|<-}vulgar' to characters and put reverse links.
366         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
367         for `{->|<-}vulgar'.
368         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
369
370 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
371
372         * text-coding.c (decode_add_er_char): Must to quote prefix string
373         as regexp.
374
375 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
376
377         * mule-charset.c (put_char_ccs_code_point): Store characters of
378         =ucs whose code_points >= 0xF0000.
379
380 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
383         CHISE.
384         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
385         CHISE.
386         (complex_vars_of_mule_charset): Add new coded-charset
387         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
388         builtin characters over 0xEFFFF.
389
390         * chartab.c (syms_of_chartab): Don't define symbol
391         `system-char-id' in every case.
392
393         * char-ucs.h (Qsystem_char_id): New extern variable.
394         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
395
396 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * text-coding.c (char_encode_utf8): Try to use entity-references
399         for U-000F0000 ...  U-0010FFFF.
400
401 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
402
403         * text-coding.c (ER_BUF_SIZE): New macro.
404         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
405         `er_buf'.
406         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
407         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
408
409 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.c (find_char_feature_in_family): New function.
412         (Fchar_feature): Use `find_char_feature_in_family' with
413         `->identical', `<-subsumptive' and `<-denotational'.
414
415 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * text-coding.c (char_encode_as_entity_reference): Allow prefix
418         within 8 characters; fix infinite loop.
419
420 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * chartab.c (Q_same): New variable.
423         (Q_same_of): New variable.
424         (Fput_char_attribute): Convert char-specs in value of
425         `{->|<-}same' to characters and put reverse links.
426         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
427         for `{->|<-}same'.
428         (syms_of_chartab): Add new symbols `{->|<-}same'.
429
430 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * chartab.c (Q_component): New variable.
433         (Q_component_of): Likewise.
434         (Fput_char_attribute): Convert char-specs in value of
435         `{->|<-}ideographic-component-forms' to characters and put reverse
436         links.
437         (syms_of_chartab): Add new symbols
438         `{->|<-}ideographic-component-forms'.
439
440 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
441
442         * chartab.c (Q_identical): New variable.
443         (Q_identical_from): New variable.
444         (Fchar_feature): Regard `->identical' as a feature to find
445         ancestors.
446         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
447         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
448         for `{->|<-}identical'.
449         (syms_of_chartab): Add new symbols `{->|<-}identical'.
450
451 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
452
453         * char-ucs.h (encode_char_2): New inline function.
454         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
455
456 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * chartab.c (Fput_char_attribute): Convert char-specs to
459         characters in value of `ideographic-structure'.
460         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
461         for `{<-|->}simplified(@...)'.
462         (Fdefine_char): Try to use predefined character's id.
463
464 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * fns.c (simplify_char_spec): Try to convert builtin chars to
467         defined chars.
468
469 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * chartab.c (Fput_char_attribute): Convert char-specs in value of
472         `<-simplified[^*]*' to characters and put reverse links.
473
474 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * chartab.c (Q_subsumptive): Renamed from Q_unified.
477         (Q_subsumptive_from): Renamed from Q_unified_from.
478         (Fchar_feature): Use `Q_subsumptive_from' instead of
479         `Q_unified_from'.
480         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
481         `Q_unified'.
482         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
483         `<-unified' to `<-subsumptive'.
484
485 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
488         inheritance itself; fix typo; stop recursive search if cyclic
489         inheritance is found.
490
491 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * chartab.c (Q_denotational): New variable.
494         (Q_denotational_from): New variable.
495         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
496         (put_char_attribute): New function.
497         (Fput_char_attribute): Use `put_char_attribute'; regard
498         `->denotational' and `<-denotational' as same as `->unified' and
499         `<-unified'.
500         (syms_of_chartab): Add new symbols `->denotational' and
501         `<-denotational'.
502
503 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
506         `Fget_char_attribute'.
507         (Fchar_variants): Likewise.
508         (get_char_table): Likewise.
509         (Fchar_feature): New function.
510         (put_char_composition): Use `Fchar_feature' instead of
511         `Fget_char_attribute'.
512         (Fput_char_attribute): Likewise; don't put the target character
513         into its `->unified' value.
514         (syms_of_chartab): Add new builtin function `char-feature'.
515
516 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
519         `Fget_char_attribute'.
520         (char_encode_utf8): Likewise.
521
522         * chartab.h: Add an EXFUN for `Fchar_feature'.
523
524 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * chartab.c (Vnext_defined_char_id): New variable.
527         (Fput_char_attribute): Accept characters in `->unified'.
528         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
529         new characters which are not related with builtin char-id ranges.
530         (vars_of_chartab): Add new variable `next-defined-char-id'.
531
532 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * chartab.c (Q_unified): New variable.
535         (Q_unified_from): New variable.
536         (Fput_char_attribute): Add code for `->unified'.
537         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
538         XEmacs CHISE.
539
540 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * mule-charset.c (decode_ccs_conversion): New function.
543         (decode_defined_char): Use `decode_ccs_conversion'.
544         (decode_builtin_char): Likewise.
545
546 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * char-ucs.h: Change some charset-ids of private coded-charsets.
549
550 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
553         (char_encode_as_entity_reference): Likewise.
554         (decode_coding_big5): Modify for `decode_defined_char' and
555         `DECODE_CHAR'.
556         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
557         avoid compiler warning.
558         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
559
560         * mule-charset.c (decode_defined_char): Add new argument
561         `without_inheritance'.
562         (Fdecode_char): Add new optional argument `without_inheritance'.
563         (Fdecode_builtin_char): Modify for `Fdecode_char'.
564
565         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
566         (simplify_char_spec): Likewise.
567
568         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
569         setting.
570
571         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
572         (map_char_table): Likewise.
573         (Fdefine_char): Use `Fdecode_char' without inheritance.
574         (Ffind_char): Modify for `Fdecode_char'.
575
576         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
577
578         * char-ucs.h (decode_defined_char): Add new argument
579         `without_inheritance'.
580         (DECODE_CHAR): Likewise.
581         (MAKE_CHAR): Modify for `DECODE_CHAR'.
582
583 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * chartab.c (Vchise_system_db_directory): New variable.
586         (vars_of_chartab): Add new variable `chise-system-db-directory'.
587
588 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * chartab.c: EXFUN `Fmount_char_attribute_table'.
591         (print_chartab_range): Don't define when `UTF2000' is defined.
592         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
593         `CHISE_DS_open'.
594
595 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
596
597         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
598         and optional argument `rehash' is specified, call
599         `open_chise_data_source_maybe' before
600         `chise_ds_foreach_char_feature_name' is called.
601
602 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
603
604         * chartab.c (char_attribute_list_reset_map_func): New function
605         when HAVE_LIBCHISE is defined.
606         (Fchar_attribute_list): Add new optional argument `rehash' when
607         HAVE_LIBCHISE is defined.
608         (open_chise_data_source_maybe): Use "chise-db" instead of
609         "char-db".
610         (char_attribute_system_db_file): Likewise.
611         (Fload_char_attribute_table): Use
612         `chise_feature_foreach_char_with_value' instead of
613         `chise_char_feature_value_iterate'.
614
615 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * chartab.c (Vchise_db_directory): New variable.
618         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
619
620 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
623         instead of HAVE_CHISE to specify using with libchise.
624
625         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
626
627         * chartab.h: Don't use HAVE_CHISE_CLIENT.
628
629         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
630         defined or HAVE_LIBCHISE_LIBCHISE is defined.
631         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
632         is defined.
633         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
634         HAVE_CHISE to specify using with libchise.
635         (syms_of_chartab): Don't define symbol `system-char-id' when
636         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
637
638 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
641         specify CHISE DB support.
642         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
643         of `char_attribute_system_db_file' to check feature DB file.
644
645         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
646         HAVE_CHISE_CLIENT to specify CHISE DB support.
647
648         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
649         specify CHISE DB support.
650         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
651         not defined.
652         (Freset_char_attribute_table): Use `chise_feature_setup_db'
653         instead of `char_attribute_system_db_file' to check feature DB
654         file.
655
656 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
659         `HAVE_CHISE_CLIENT'.
660
661 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
662
663         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
664         (Fsave_charset_mapping_table): Don't use
665         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
666
667         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
668         (HAVE_LIBCHISE): New macro.
669
670         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
671
672         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
673         (Fsave_char_attribute_table): Don't use
674         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
675
676 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
679         defined.
680         (save_uint16_byte_table): Likewise.
681         (save_byte_table): Likewise.
682         (char_table_get_db): Use `chise_ds_load_char_feature_value'
683         instead of `chise_char_load_feature_value'.
684         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
685
686 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * chartab.h (struct Lisp_Char_Table): Delete member
689         `feature_table' if CHISE is defined.
690
691         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
692         (Fcopy_char_table): Likewise.
693         (char_table_open_db_maybe): Likewise.
694         (char_table_close_db_maybe): Likewise.
695         (char_table_get_db): Likewise.
696         (Fmount_char_attribute_table): Likewise.
697         (Fload_char_attribute_table): Likewise.
698
699 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * mule-charset.c (load_char_decoding_entry_maybe): Use
702         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
703         `chise_ccs_decode'.
704
705 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
708         instead of `chise_open_data_source'.
709         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
710         `chise_ds_close'.
711
712 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
715         instead of `chise_ds_open_feature_table'.
716         (char_table_close_db_maybe): Don't use `chise_ft_close'.
717
718 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (Fsave_charset_mapping_table): Use
721         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
722         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
723         `chise_ccs_sync' instead of `chise_ccst_close'.
724         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
725
726         * chartab.c (open_chise_data_source_maybe): Modify for
727         `chise_open_data_source'.
728         (char_table_open_db_maybe): Modify for
729         `chise_ds_open_feature_table'.
730
731 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
732
733         * mule-charset.c (load_char_decoding_entry_maybe): Use
734         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
735         `chise_ccst_close'.
736
737 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
738
739         * mule-charset.c (Fsave_charset_mapping_table): Use
740         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
741         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
742         `chise_dt_put_char' and `chise_dt_close'.
743         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
744         `chise_ccs_decode' and `chise_ccst_close' instead of
745         `chise_ds_open_decoding_table', `chise_dt_get_char' and
746         `chise_dt_close'.
747
748         * chartab.c (char_table_get_db): Use
749         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
750         (load_char_attribute_table_map_func): Modify for
751         `chise_char_feature_value_iterate'.
752         (Fload_char_attribute_table): Use
753         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
754
755 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
758
759 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
760
761         * chartab.c (put_char_table): Modify for inherited coded-charsets
762         in XEmacs CHISE.
763
764 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
765
766         * chartab.c (Fput_char_table_map_function): Fixed.
767         (word_boundary_p): Don't check charset in XEmacs CHISE.
768
769 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
770
771         * mule-charset.c (Fsave_charset_mapping_table): Use
772         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
773         instead of `chise_open_decoding_table'; refer
774         `default_chise_data_source'; use `chise_dt_close' instead of
775         `chise_close_decoding_table'.
776         (load_char_decoding_entry_maybe): Likewise.
777
778         * chartab.c (default_chise_data_source): New variable when `CHISE'
779         is defined.
780         (Fcopy_char_table): `ct->ds' is deleted.
781         (open_chise_data_source_maybe): New function.
782         (Fclose_char_data_source): New function.
783         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
784         use `chise_ds_open_feature_table' instead of
785         `chise_open_feature_table'.
786         (char_table_close_db_maybe): Use `chise_ft_close' instead of
787         `chise_close_feature_table'; `cit->ds' is deleted.
788         (syms_of_chartab): Add new builtin function
789         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
790
791         * chartab.h (default_chise_data_source): New extern variable.
792         (open_chise_data_source_maybe): New prototype.
793         (struct Lisp_Char_Table): Delete `ds'.
794
795 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
796
797         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
798         `CHISE' is defined.
799
800 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
801
802         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
803         not defined; add code for non-libchise setting.
804         (char_table_close_db_maybe): Likewise.
805         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
806         defined.
807         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
808         even if `CHISE' is not defined.
809         (Freset_char_attribute_table): Likewise.
810         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
811         `char_table_close_db_maybe' even if `CHISE' is not defined; use
812         `char_table_get_db'.
813         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
814         `char_table_close_db_maybe' even if `CHISE' is not defined.
815
816 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * chartab.c (char_table_open_db_maybe): New function.
819         (char_table_close_db_maybe): New function.
820         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
821         (Freset_char_attribute_table): Likewise.
822         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
823         `char_table_close_db_maybe'.
824         (Fload_char_attribute_table): Likewise.
825
826 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
827
828         * chartab.c: Don't include <chise.h> because it is included in
829         chartab.h.
830         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
831         defined.
832         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
833         `CHISE' is defined.
834         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
835         `CHISE' is defined.
836         (Fclose_char_attribute_table): Close `ct->feature_table' and
837         `ct->ds' when `CHISE' is defined.
838         (Freset_char_attribute_table): Likewise.
839         (load_char_attribute_maybe): Use `cit->ds' and
840         `cit->feature_table' when `CHISE' is defined.
841         (Fload_char_attribute_table): Likewise.
842
843         * chartab.h: Include <chise.h> when `CHISE' is defined.
844         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
845         when `CHISE' is defined.
846
847 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
850         is defined.
851         (char_table_description): Likewise.
852         (Fmake_char_table): Likewise.
853         (Fcopy_char_table): Likewise.
854         (Fmount_char_attribute_table): Likewise.
855         (Fclose_char_attribute_table): Likewise.
856         (Freset_char_attribute_table): Likewise.
857         (load_char_attribute_maybe): Likewise.
858         (Fload_char_attribute_table): Likewise.
859
860         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
861         defined.
862
863 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * chartab.c (load_char_attribute_table_map_func): New function
866         when CHISE is defined.
867         (Qload_char_attribute_table_map_function): Don't define when CHISE
868         is defined.
869         (Fload_char_attribute_table_map_function): Likewise.
870         (Fload_char_attribute_table): Use libchise when `CHISE' is
871         defined.
872         (syms_of_chartab): Don't define
873         `load-char-attribute-table-map-function' when CHISE is defined.
874
875 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
876
877         * chartab.c: Include <chise.h> when `CHISE' is defined.
878         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
879
880 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
881
882         * mule-charset.c (charset_code_point): Fix problem when searching
883         in mother CCS fails with `defined_only' mode.
884
885 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
888         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
889         (put_char_composition): Likewise.
890         (Fput_char_attribute): Likewise.
891         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
892
893 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
894
895         * chartab.c (Q_ucs): Deleted.
896         (Fput_char_attribute): Don't refer `->ucs'.
897         (Fdefine_char): Likewise.
898         (Ffind_char): Likewise.
899         (syms_of_chartab): Delete `->ucs'.
900
901 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
902
903         * mule-charset.c (Qmap_cns11643_2): Renamed from
904         `Qchinese_cns11643_2'.
905         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
906         `chinese-cns11643-2'.
907         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
908         `=cns11643-2'.
909
910 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
911
912         * mule-charset.c (Qmap_cns11643_1): Renamed from
913         `Qchinese_cns11643_1'.
914         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
915         `chinese-cns11643-1'.
916         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
917         `=cns11643-1'.
918
919 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
920
921         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
922         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
923         `chinese-gb12345'.
924         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
925         `=gb12345'.
926
927 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
928
929         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
930         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
931         `chinese-gb2312'.
932         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
933         `=gb2312'.
934
935 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
936
937         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
938         (syms_of_mule_charset): Add new symbol `=big5' instead of
939         `chinese-big5'.
940         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
941
942 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
945         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
946         `korean-ksc5601'.
947         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
948         `=ks-x1001'.
949
950 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
951
952         * mule-charset.c (Qmap_jis_x0212): Renamed from
953         `Qjapanese_jisx0212'.
954         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
955         `japanese-jisx0212'.
956         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
957         `=jis-x0212'.
958
959 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
960
961         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
962         `Qjapanese_jisx0208'.
963         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
964         of `japanese-jisx0208'.
965         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
966         `=jis-x0208-1983'.
967
968 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
971         `Qjapanese_jisx0208_1978'.
972         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
973         of `japanese-jisx0208-1978'.
974         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
975         `=jis-x0208-1978'.
976
977 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
978
979         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
980         only for XEmacs CHISE.
981
982 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
983
984         * char-ucs.h: Compact non-ISO-IR charset-ids.
985         (LEADING_BYTE_UCS): Changed to -177.
986         (LEADING_BYTE_CONTROL_1): Changed to -77.
987         (LEADING_BYTE_UCS_BMP): Changed to -176.
988         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
989
990 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * mule-charset.c (Qiso_ir): New variable.
993         (Fmake_charset): Recognise new property `iso-ir'.
994         (syms_of_mule_charset): Add new symbol `iso-ir'.
995
996 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
997
998         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
999         n to -n; charset-id of non ISO-IR sets are changed to positive
1000         numbers.
1001
1002 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1003
1004         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1005         for &MCS-XXXXXXXX; values.
1006
1007 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1008
1009         * mule.c (Vxemacs_chise_version): Renamed from
1010         `Vutf_2000_version'.
1011         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1012         `utf-2000-version' as an alias for `xemacs-chise-version'.
1013
1014 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1015
1016         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1017         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1018         defined.
1019
1020         * config.h.in (CHISE): New macro.
1021
1022 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1023
1024         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1025         of `ucs'.
1026         (Qmap_ucs): New variable.
1027         (syms_of_mule_charset): Add new symbol `=ucs'.
1028         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1029
1030         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1031         (simplify_char_spec): Likewise.
1032
1033         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1034
1035         * char-ucs.h (Qmap_ucs): New extern variable.
1036
1037 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1040         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1041         don't define it when UTF2000 is not defined.
1042         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1043         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1044         when UTF2000 is not defined.
1045         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1046         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1047
1048 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1049
1050         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1051
1052         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1053         (Qucs_gb): Deleted.
1054         (syms_of_mule_charset): Delete `ucs-gb'.
1055         (complex_vars_of_mule_charset): Likewise.
1056
1057 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1058
1059         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1060
1061         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1062         (Qucs_cns): Deleted.
1063         (syms_of_mule_charset): Delete `ucs-cns'.
1064         (complex_vars_of_mule_charset): Likewise.
1065
1066 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1067
1068         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1069
1070         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1071         (Qucs_jis): Deleted.
1072         (syms_of_mule_charset): Delete `ucs-jis'.
1073         (complex_vars_of_mule_charset): Likewise.
1074
1075 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1076
1077         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1078
1079         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1080         (Qucs_ks): Deleted.
1081         (syms_of_mule_charset): Delete `ucs-ks'.
1082         (complex_vars_of_mule_charset): Likewise.
1083
1084 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1087         (Qideograph_daikanwa_2): Deleted.
1088         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1089         (complex_vars_of_mule_charset): Likewise.
1090
1091         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1092         (LEADING_BYTE_DAIKANWA_1): Deleted.
1093         (LEADING_BYTE_DAIKANWA_2): Deleted.
1094         (MIN_CHAR_DAIKANWA): Deleted.
1095         (MAX_CHAR_DAIKANWA): Deleted.
1096
1097 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1098
1099         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1100         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1101         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1102
1103         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1104         (Vcharset_ideograph_daikanwa): Deleted.
1105         (Qideograph_hanziku_{1..12}): Deleted.
1106         (Qideograph_daikanwa): Deleted.
1107         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1108         Vcharset_ideograph_daikanwa.
1109         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1110         `ideograph-hanziku-{1..12}'.
1111         (complex_vars_of_mule_charset): Likewise.
1112
1113 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1116
1117         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1118         (Qideograph_gt_pj_{1..11}): Deleted.
1119         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1120         (complex_vars_of_mule_charset): Likewise.
1121
1122 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1123
1124         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1125         (Vcharset_ideograph_gt): Deleted.
1126         (Qucs_big5): Deleted.
1127         (Qideograph_gt): Deleted.
1128         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1129         `ideograph-gt'.
1130         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1131         and `ideograph-gt'.
1132
1133         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1134         (LEADING_BYTE_GT): Deleted.
1135         (MIN_CHAR_GT): Deleted.
1136         (MAX_CHAR_GT): Deleted.
1137
1138 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1141
1142 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1145         (save_uint16_byte_table): Likewise.
1146         (save_byte_table): Likewise; convert values by it.
1147         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1148         for `ideographic-structure'.
1149         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1150         as the filter for `ideographic-structure'.
1151
1152 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1153
1154         * chartab.c (put_char_composition): New function.
1155         (Fput_char_attribute): Use `put_char_composition'; use
1156         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1157
1158         * fns.c (simplify_char_spec): New function.
1159         (char_ref_simplify_spec): New function.
1160         (Fchar_refs_simplify_char_specs): New function.
1161         (syms_of_fns): Add new builtin function
1162         `char-refs-simplify-char-specs'.
1163
1164 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1165
1166         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1167         (Qideograph_cbeta): Deleted.
1168         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1169         (complex_vars_of_mule_charset): Likewise.
1170
1171         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1172         (MIN_CHAR_CBETA): Comment out.
1173         (MAX_CHAR_CBETA): Likewise.
1174
1175 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1178         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1179         CHISE client feature.
1180
1181 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1184
1185 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1186
1187         * mule-charset.c (charset_lookup_description_1): Use
1188         `NUM_LEADING_BYTES' in UTF-2000.
1189
1190 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1191
1192         * char-ucs.h (GC_CHARSETP): Deleted.
1193
1194 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1195
1196         * char-ucs.h (MAX_CHAR_GT): Updated.
1197
1198 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1199
1200         * text-coding.c: Sync with XEmacs 21.4.10.
1201
1202 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1203
1204         * mule-charset.c (Vcharset_china3_jef): Deleted.
1205         (Qchina3_jef): Deleted.
1206         (syms_of_mule_charset): Don't define `china3-jef'.
1207         (complex_vars_of_mule_charset): Likewise.
1208
1209         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1210         (MIN_CHAR_CHINA3_JEF): Comment out.
1211         (MAX_CHAR_CHINA3_JEF): Comment out.
1212
1213 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * mule-charset.c (Vcharset_ucs_gb): New variable.
1216         (Qucs_gb): New variable.
1217         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1218         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1219
1220         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1221
1222 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (charset_code_point): if a coded-charset has a
1225         final-byte, don't inherit the builtin range of the mother CCS.
1226
1227 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * mule-charset.c (charset_code_point): Fix problem about
1230         inheritance.
1231
1232 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1233
1234         * mule-charset.c (decode_builtin_char): Reorganized.
1235
1236 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1237
1238         * text-coding.c (char_encode_as_entity_reference): Modify for
1239         `charset_code_point'.
1240         (char_encode_shift_jis): Likewise.
1241         (char_encode_big5): Likewise.
1242         (char_encode_utf8): Likewise.
1243         (char_encode_iso2022): Likewise.
1244
1245         * mule-charset.c (charset_code_point): Add new argument
1246         `defined_only'.
1247         (Fencode_char): Add new optional argument `defined_only'.
1248
1249         * chartab.c (put_char_table): Modify for `charset_code_point'.
1250
1251         * char-ucs.h (charset_code_point): Add new argument
1252         `defined_only'.
1253         (encode_char_1): Modify for `charset_code_point'.
1254
1255 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1256
1257         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1258         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1259
1260 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1263         (Qjis_x0208): Likewise.
1264         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1265         XCHARSET_FINAL(charset).
1266         (charset_code_point): Modify condition for final-byte based
1267         builtin-chars.
1268         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1269         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1270         in UTF-2000; specify `=jis-x0208' as the mother of
1271         `japanese-jisx0208-1978', `japanese-jisx0208' and
1272         `japanese-jisx0208-1990' in UTF-2000.
1273
1274 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1275
1276         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1277
1278 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * text-coding.c (decode_coding_utf16): Support UTF-16.
1281         (char_encode_utf16): Fixed.
1282
1283 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * text-coding.c (Qutf16): New variable in MULE.
1286         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1287         (Fcoding_system_type): Add `utf-16' in MULE.
1288         (struct detection_state): Add a structure for utf16 in MULE.
1289         (detect_coding_type): Setup st->utf16.mask in MULE.
1290         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1291         MULE.
1292         (reset_encoding_stream): Use `char_encode_utf16' and
1293         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1294         (detect_coding_utf16): New function [incomplete].
1295         (decode_coding_utf16): New function [support only UCS-2].
1296         (char_encode_utf16): New function.
1297         (char_finish_utf16): New function.
1298         (syms_of_file_coding): Add new symbol `utf-16'; setup
1299         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1300
1301         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1302         UTF-2000.
1303         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1304         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1305
1306 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1307
1308         * chartab.c (put_char_table): When a charset is specified as a
1309         range in UTF-2000, don't support builtin characters.
1310
1311 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1312
1313         * mule-charset.c (decode_defined_char): Don't refer external
1314         database if Qunbound or Qnil are found.
1315         (Fsave_charset_mapping_table): Don't define it if
1316         HAVE_CHISE_CLIENT is not defined.
1317         (Freset_charset_mapping_table): New function.
1318         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1319         found in external database.
1320         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1321         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1322         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1323
1324 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1325
1326         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1327         not.
1328
1329 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1330
1331         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1332         Q_lowercase, Q_uppercase in UTF-2000.
1333
1334         * chartab.c (get_char_table): Add special code for the standard
1335         case table to use character attribute `->downcase' and
1336         `->uppercase' for case operations in UTF-2000.
1337
1338         * casetab.c (Qflippedcase): New variable in UTF-2000.
1339         (Q_lowercase): Likewise.
1340         (Q_uppercase): Likewise.
1341         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1342         and `->uppercase' in UTF-2000.
1343         (complex_vars_of_casetab): Assign attribute name `downcase' to
1344         downcase and CANON table of Vstandard_case_table in UTF-2000;
1345         assign attribute name `flippedcase' to upcase and EQV table of
1346         Vstandard_case_table in UTF-2000.
1347
1348 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * text-coding.c (decode_add_er_char): Support isolated-chars.
1351         (char_encode_as_entity_reference): Likewise.
1352
1353 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1354
1355         * emacs.c (Vutf_2000_lisp_directory): New variable.
1356         (Vconfigure_utf_2000_lisp_directory): Likewise.
1357         (complex_vars_of_emacs): Add new variable
1358         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1359
1360 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * char-ucs.h (DECODE_CHAR): Delete special code for
1363         `chinese-big5-1' and `chinese-big5-2'.
1364
1365         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1366         (Qbig5_2): Likewise.
1367         (decode_defined_char): Support CONVERSION_BIG5_1 and
1368         CONVERSION_BIG5_2.
1369         (decode_builtin_char): Likewise.
1370         (charset_code_point): Likewise.
1371         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1372         'conversion in UTF-2000.
1373         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1374         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1375         `chinese-big5-2' as children of `chinese-big5'.
1376
1377         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1378         (CONVERSION_BIG5_2): New macro.
1379
1380 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1381
1382         * text-coding.c (char_encode_big5): Support entity-reference.
1383
1384 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1385
1386         * text-coding.c (char_encode_as_entity_reference): New function.
1387         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1388
1389 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1390
1391         * text-coding.c (decode_coding_big5): Support entity-reference
1392         decoding feature.
1393
1394 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1395
1396         * text-coding.c (allocate_coding_system): Initialize initial
1397         charsets for CODESYS_UTF8.
1398         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1399         charset-g2 for CODESYS_UTF8.
1400         (decode_coding_utf8): Use charset-g0.
1401         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1402         to force variants to map to UCS.
1403
1404 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1405
1406         * text-coding.c (Qutf_8_mcs): New variable.
1407         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1408         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1409         instead of `utf-8' in UTF-2000.
1410
1411 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1412
1413         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1414         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1415         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1416         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1417         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1418         CONVERSION_96x96x96x96 are introduced.
1419         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1420         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1421         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1422
1423         * char-ucs.h (CONVERSION_94): New macro.
1424         (CONVERSION_96): New macro.
1425         (CONVERSION_94x94): New macro.
1426         (CONVERSION_96x96): New macro.
1427         (CONVERSION_94x94x94): New macro.
1428         (CONVERSION_96x96x96): New macro.
1429         (CONVERSION_94x94x94x60): New macro.
1430         (CONVERSION_94x94x94x94): New macro.
1431         (CONVERSION_96x96x96x96): New macro.
1432
1433 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1434
1435         * chartab.c (Vcharacter_variant_table): Deleted.
1436         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1437         of `Vcharacter_variant_table'.
1438         (Fput_char_attribute): Likewise.
1439         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1440         (complex_vars_of_chartab): Likewise.
1441
1442 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1443
1444         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1445
1446         * fns.c (Qideographic_structure): New variable.
1447         (Qkeyword_char): New variable.
1448         (ids_format_unit): New function.
1449         (Fideographic_structure_to_ids): New function.
1450         (syms_of_fns): Add new symbols `ideographic-structure' and
1451         `:char'; add new builtin function `ideographic-structure-to-ids'.
1452
1453         * data.c (Fchar_ref_p): New function.
1454         (syms_of_data): Add new builtin function `char-ref-p'.
1455
1456         * chartab.h: Add an EXFUN for `Ffind_char'.
1457
1458 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * text-coding.c (Vcharacter_composition_table): Deleted.
1461         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1462         in every UTF-2000.
1463
1464         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1465         UTF-2000.
1466         (Vcharacter_composition_table): Deleted.
1467         (Fget_composite_char): Use the implementation for external-DB
1468         support in every UTF-2000.
1469         (Fput_char_attribute): Likewise.
1470         (char_attribute_system_db_file): Don't define if external-DB
1471         feature is not available.
1472         (Fsave_char_attribute_table): Likewise.
1473         (Fmount_char_attribute_table): Likewise.
1474         (Fclose_char_attribute_table): Likewise.
1475         (Freset_char_attribute_table): Likewise.
1476         (Fload_char_attribute_table): Likewise.
1477         (syms_of_chartab): Don't define `save-char-attribute-table',
1478         `mount-char-attribute-table', `reset-char-attribute-table',
1479         `close-char-attribute-table' and `load-char-attribute-table' if
1480         external-DB feature is not available.
1481         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1482
1483 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1484
1485         * text-coding.c (Qcomposition): Add extern if external-DB feature
1486         is supported.
1487         (Vcharacter_composition_table): Don't add extern if external-DB
1488         feature is supported.
1489         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1490         character composition rule if external-DB feature is supported.
1491
1492         * chartab.c (Vcharacter_composition_table): Don't define if
1493         external-DB feature is supported.
1494         (Qcomposition): New variable.
1495         (Fget_composite_char): New implementation for external-DB support.
1496         (Fput_char_attribute): Use `composition' property of each
1497         character instead of `Vcharacter_composition_table' to store
1498         character-composition rules if external-DB feature is supported.
1499         (syms_of_chartab): Add new symbol `composition'.
1500         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1501         external-DB feature is supported.
1502
1503 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1504
1505         * chartab.c (Vchar_db_stingy_mode): New variable.
1506         (load_char_attribute_maybe): Close database if
1507         Vchar_db_stingy_mode is not NIL.
1508         (Fload_char_attribute_table_map_function): Use
1509         `get_char_id_table_0' instead of `get_char_id_table'.
1510         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1511
1512         * chartab.h (get_char_id_table_0): New inline function.
1513         (get_char_id_table): Use `get_char_id_table_0'.
1514
1515 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1516
1517         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1518         and `COMPOSE_ADD_CHAR'.
1519         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1520
1521 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1522
1523         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1524         instead of `DECODE_ADD_UCS_CHAR'.
1525         (COMPOSE_ADD_CHAR): Likewise.
1526
1527 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1528
1529         * text-coding.c (decode_flush_er_chars): New inline function.
1530         (decode_add_er_char): New function.
1531         (decode_coding_utf8): Use `decode_flush_er_chars' and
1532         `decode_add_er_char'.
1533
1534 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1535
1536         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1537         done before `decode_output_utf8_partial_char'.
1538
1539         * mule-charset.c (complex_vars_of_mule_charset): Specify
1540         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1541         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1542
1543 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1544
1545         * mule-charset.c (decode_defined_char): New function; search
1546         mother.
1547         (decode_builtin_char): Don't search mother if
1548         XCHARSET_MAX_CODE(charset) == 0.
1549         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1550         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1551         (Fdecode_char): Use `decode_defined_char' instead of
1552         `DECODE_DEFINED_CHAR'.
1553         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1554         mother of `Vcharset_ucs_jis'.
1555
1556         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1557         instead of `DECODE_DEFINED_CHAR'.
1558
1559         * char-ucs.h (decode_defined_char): Renamed from
1560         `DECODE_DEFINED_CHAR'; changed to normal function.
1561         (DECODE_CHAR): Use `decode_defined_char' instead of
1562         `DECODE_DEFINED_CHAR'.
1563
1564         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1565
1566 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1567
1568         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1569
1570         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1571         variable.
1572         (Quse_entity_reference): New variable.
1573         (Qd): New variable.
1574         (Qx): New variable.
1575         (QX): New variable.
1576         (coding_system_description): Add description for
1577         `ccs_priority_list'.
1578         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1579         (allocate_coding_system): Initialize `ccs_priority_list' in
1580         UTF-2000.
1581         (Fmake_coding_system): Add description about
1582         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1583         (codesys).
1584         (Fcoding_system_property): Accept `disable-composition' and
1585         `use-entity-reference' in UTF-2000.
1586         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1587         in UTF-2000.
1588         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1589         (decode_coding_utf8): Decode entity-reference if
1590         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1591         (char_encode_utf8): Encode non-Unicode characters as
1592         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1593         (str->codesys).
1594         (syms_of_file_coding): Add new symbols `use-entity-reference',
1595         `d', `x', `X'.
1596         (vars_of_file_coding): Add new variable
1597         `coded-charset-entity-reference-alist'.
1598         (complex_vars_of_file_coding): Declare `disable-composition' and
1599         `use-entity-reference' to be coding-system-properties in UTF-2000.
1600
1601         * file-coding.h (struct Lisp_Coding_System): Add new member
1602         `use_entity_reference' and `ccs_priority_list'.
1603         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1604         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1605         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1606
1607 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1608
1609         * chartab.c (save_uint8_byte_table): Don't clear the table.
1610         (save_uint16_byte_table): Likewise.
1611         (save_byte_table): Likewise.
1612         (Fmount_char_attribute_table): New function.
1613         (syms_of_chartab): Add new builtin function
1614         `mount-char-attribute-table'.
1615
1616 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1617
1618         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1619         "w+" mode.
1620         (load_char_decoding_entry_maybe): Open database as read-only mode.
1621
1622         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1623         open database as "w+" mode.
1624         (load_char_attribute_maybe): Open database as read-only mode.
1625         (Fload_char_attribute_table): Likewise.
1626
1627 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1630         (char_table_description): Delete member `db_file'.
1631         (Fmake_char_table): Don't refer `ct->db_file'.
1632         (Fcopy_char_table): Likewise.
1633         (Fsave_char_attribute_table): Likewise.
1634         (Fclose_char_attribute_table): Likewise.
1635         (Freset_char_attribute_table): Likewise.
1636         (load_char_attribute_maybe): Likewise.
1637         (Fload_char_attribute_table): Likewise.
1638
1639         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1640
1641 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1642
1643         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1644         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1645         `ct->db' is living.
1646         (load_char_attribute_maybe): Likewise.
1647         (Fload_char_attribute_table): Likewise.
1648
1649 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1650
1651         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1652         `ct->db_file' unconditionally.
1653
1654 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1655
1656         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1657         UTF-2000.
1658         (char_table_description): Add description for `db_file' and `db'
1659         in UTF-2000.
1660         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1661         UTF-2000.
1662         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1663         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1664         (Fclose_char_attribute_table): New function.
1665         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1666         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1667         and `cit->db'.
1668         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1669         (syms_of_chartab): Add new builtin function
1670         `Fclose_char_attribute_table'.
1671
1672 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1673
1674         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1675         `db' in UTF-2000.
1676         (load_char_attribute_maybe): Change interface.
1677         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1678
1679 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1680
1681         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1682
1683 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1684
1685         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1686         instead of `DECODE_CHAR' for mother; don't use special code for
1687         chinese-big5 to use code space of chinese-big5-1 and
1688         chinese-big5-2.
1689         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1690         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1691
1692         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1693         (MAX_CHAR_BIG5_CDP): Revival.
1694
1695 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1698         the XLFD registry-encoding name of `chinese-big5'.
1699
1700 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1701
1702         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1703         (Qchinese_big5_cdp): Deleted.
1704         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1705         (complex_vars_of_mule_charset): Delete coded-charset
1706         `chinese-big5-cdp'.
1707
1708         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1709         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1710         `CHARSET_ID_OFFSET - n' for private CCS.
1711         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1712         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1713         of `MIN_LEADING_BYTE'.
1714         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1715         `(CHARSET_ID_OFFSET - 97)'.
1716         (MIN_CHAR_BIG5_CDP): Deleted.
1717         (MAX_CHAR_BIG5_CDP): Deleted.
1718
1719 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1720
1721         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1722
1723 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1724
1725         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1726         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1727         chartab.c].
1728
1729         * chartab.c (Vutf_2000_version): Moved to mule.c.
1730         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1731
1732 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1733
1734         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1735         when HAVE_CHISE_CLIENT is not defined.
1736
1737         * mule.c (vars_of_mule): Provide feature `chise' when
1738         HAVE_CHISE_CLIENT is defined.
1739
1740 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1741
1742         * config.h.in (UTF2000): Add comment.
1743         (HAVE_CHISE_CLIENT): New macro.
1744
1745 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1746
1747         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1748         CONSP.
1749         (Fput_char_attribute): Likewise.
1750         (char_attribute_system_db_file): Encode file-name of attribute.
1751         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1752         the initial value.
1753
1754 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1755
1756         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1757         (Fsave_charset_mapping_table): Use
1758         `char_attribute_system_db_file'.
1759         (load_char_decoding_entry_maybe): Likewise.
1760
1761         * chartab.h (Qsystem_char_id): New external variable.
1762         (char_attribute_system_db_file): New prototype.
1763
1764         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1765         (char_attribute_system_db_file): New function.
1766         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1767         (Freset_char_attribute_table): Likewise.
1768         (load_char_attribute_maybe): Likewise.
1769         (Fload_char_attribute_table): Likewise.
1770         (syms_of_chartab): Add new symbol `system-char-id'.
1771
1772 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1773
1774         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1775         `XCHARSET_GRAPHIC(ccs)'.
1776
1777 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1778
1779         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1780
1781 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1782
1783         * chartab.c (Q_ucs_variants): New variable.
1784         (syms_of_chartab): Add new symbol `->ucs-variants'.
1785         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1786         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1787         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1788
1789         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1790
1791         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1792         `HAVE_DATABASE' is defined.
1793         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1794         `HAVE_DATABASE' is defined.
1795
1796 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1797
1798         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1799         attribute-table.
1800         (Freset_char_attribute_table): New function.
1801         (syms_of_chartab): Add new builtin function
1802         `reset-char-attribute-table'.
1803
1804 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1805
1806         * chartab.c (load_char_attribute_maybe): Don't make directories.
1807
1808 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1809
1810         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1811
1812         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1813         for decoding-table.
1814
1815 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1816
1817         * mule-charset.c (Fsave_charset_mapping_table): Use
1818         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1819
1820         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1821         instead of `XCHARSET_CHARS'.
1822
1823 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1824
1825         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1826         (XCHARSET_BYTE_SIZE): Likewise.
1827
1828         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1829         mule-charset.c].
1830         (XCHARSET_BYTE_SIZE): Likewise.
1831
1832 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1833
1834         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1835         data-directory to store database.
1836         (Fsave_char_attribute_table): Likewise.
1837         (load_char_attribute_maybe): Likewise.
1838         (Fload_char_attribute_table): Likewise.
1839
1840 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1841
1842         * mule-charset.c (Fsave_charset_mapping_table): New function.
1843         (syms_of_mule_charset): Add new builtin function
1844         `save-charset-mapping-table'.
1845
1846 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1849         (get_ccs_octet_table): New inline function.
1850         (put_ccs_octet_table): Likewise.
1851         (decoding_table_put_char): Use `get_ccs_octet_table' and
1852         `put_ccs_octet_table'.
1853         (decoding_table_remove_char): Use `decoding_table_put_char'.
1854         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1855
1856         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1857         into encoding_table.
1858         (make_charset): Use Qunbound instead Qnil as initial value of
1859         decoding_table.
1860
1861 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1862
1863         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1864         element is Qunloaded.
1865         (map_over_uint16_byte_table): Likewise.
1866         (map_over_byte_table): Likewise.
1867         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1868         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1869         database support, load encoding-table of the specified
1870         coded-charset if it is not loaded yet.
1871         (save_uint8_byte_table): New function of UTF-2000 with external
1872         database support.
1873         (save_uint16_byte_table): Likewise.
1874         (save_byte_table): Likewise.
1875         (Fput_char_attribute): Don't store value into external database
1876         even if the external database feature is supported in UTF-2000;
1877         set `attribute' as name of char-table if the external database
1878         feature is supported.
1879         (Fsave_char_attribute_table): New function in UTF-2000.
1880         (syms_of_chartab): Add new builtin function
1881         `save-char-attribute-table' in UTF-2000.
1882
1883 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1884
1885         * chartab.c (char_attribute_table_to_put): New variable in
1886         UTF-2000.
1887         (Qput_char_table_map_function): Likewise.
1888         (value_to_put): Likewise.
1889         (Fput_char_table_map_function): New function in UTF-2000.
1890         (put_char_table): Use `Fmap_char_attribute' for
1891         CHARTAB_RANGE_CHARSET in UTF-2000.
1892         (Fput_char_attribute): Store symbol instead of string in
1893         `XCHAR_TABLE_NAME (table)'.
1894         (load_char_attribute_maybe): Likewise.
1895         (syms_of_chartab): Add new symbol/function
1896         `put-char-table-map-function'.
1897
1898 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1899
1900         * database.h: Add new EXFUN for `Fmap_database'.
1901
1902         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1903         (syms_of_database): Likewise.
1904
1905         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1906         UTF-2000.
1907         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1908         (XCHAR_TABLE_UNLOADED): Likewise.
1909
1910         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1911         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1912         HAVE_DATABASE is defined.
1913         (char_attribute_table_to_load): New variable of UTF-2000 with
1914         external database support.
1915         (Qload_char_attribute_table_map_function): Likewise.
1916         (Fload_char_attribute_table_map_function): New function of
1917         UTF-2000 with external database support.
1918         (Fload_char_attribute_table): New function of UTF-2000.
1919         (Fmap_char_attribute): Call Fload_char_attribute_table if
1920         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1921         (syms_of_chartab): Add new symbol and function
1922         `load-char-attribute-table-map-function' in UTF-2000 with external
1923         database support; add new function `load-char-attribute-table' in
1924         UTF-2000.
1925
1926 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * chartab.h (load_char_attribute_maybe): New prototype for
1929         UTF-2000 with DATABASE support.
1930         (get_char_id_table): Use `load_char_attribute_maybe' if
1931         HAVE_DATABASE is defined.
1932
1933         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1934         with DATABASE support.
1935
1936 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * chartab.c (Fput_char_attribute): Use S-expression as key of
1939         external database.
1940
1941         * chartab.h (get_char_id_table): Use S-expression as key of
1942         external database.
1943
1944 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1945
1946         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1947         if an element is not loaded, load the corresponding attributes
1948         from an external database.
1949         (map_over_uint16_byte_table): Likewise.
1950         (map_over_byte_table): Likewise.
1951         (map_char_table): Modify for `map_over_uint8_byte_table',
1952         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1953         element is not loaded, load the corresponding attributes from an
1954         external database.
1955         (Fput_char_attribute): Change initial values to Qunloaded.
1956
1957         * chartab.h (get_char_id_table): If a character attribute is not
1958         loaded and the attribute value is not found in an external
1959         database, store Qunbound as the attribute value.
1960
1961 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1962
1963         * chartab.c (BT_UINT8_unloaded): New macro.
1964         (UINT8_VALUE_P): Accept Qunloaded.
1965         (UINT8_ENCODE): Likewise.
1966         (UINT8_DECODE): Likewise.
1967         (BT_UINT16_unloaded): New macro.
1968         (UINT16_VALUE_P): Accept Qunloaded.
1969         (UINT16_ENCODE): Likewise.
1970         (UINT16_DECODE): Likewise.
1971         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1972         BT_UINT16_unloaded.
1973         (mark_char_table): Mark `ct->name' in UTF-2000.
1974         (char_table_description): Add `name' in UTF-2000.
1975         (Fmake_char_table): Initialize `ct->name'.
1976         (Fcopy_char_table): Copy `ct->name'.
1977         (Fput_char_attribute): Store value into an external database if
1978         HAVE_DATABASE is defined.
1979
1980         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1981         UTF-2000.
1982         (CHAR_TABLE_NAME): New macro in UTF-2000.
1983         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1984         (get_char_id_table): Try to read an external database if Qunloaded
1985         is stored in a table.
1986
1987         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1988         Qunloaded.
1989
1990 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1991
1992         * database.h: Add EXFUN definitions for Fopen_database,
1993         Fput_database, Fget_database and Fclose_database.
1994
1995         * data.c (Qunloaded): New variable in UTF-2000.
1996
1997         * lisp.h (Qunloaded): New variable in UTF-2000.
1998
1999 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * mule-charset.c (put_char_ccs_code_point): Modify for
2002         `decoding_table_remove_char' and `decoding_table_put_char'.
2003         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2004
2005         * char-ucs.h (decoding_table_remove_char): Change arguments to
2006         hide decoding_table vector.
2007         (decoding_table_put_char): Likewise.
2008
2009 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2010
2011         * mule-charset.c (decoding_table_remove_char): Moved to
2012         char-ucs.h.
2013         (decoding_table_put_char): Likewise.
2014
2015         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2016         from mule-charset.c].
2017         (decoding_table_remove_char): New inline function [moved from
2018         mule-charset.c].
2019         (decoding_table_put_char): Likewise.
2020
2021 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2022
2023         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2024         extension.
2025
2026 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2027
2028         * mule-charset.c (decode_builtin_char): Support mother charsets.
2029
2030 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2031
2032         * mule-charset.c (Q94x94x60): New variable.
2033         (charset_code_point): Support conversion `94x94x60'.
2034         (Fmake_charset): Likewise.
2035         (syms_of_mule_charset): Add new symbol `94x94x60'.
2036
2037         * char-ucs.h (CONVERSION_94x94x60): New macro.
2038
2039 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2040
2041         * mule-charset.c (charset_code_point): Unify code about
2042         `code-offset'.
2043
2044 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2045
2046         * mule-charset.c (charset_code_point): Merge code about builtin
2047         characters into code about mother charsets; don't use
2048         `range_charset_code_point'.
2049         (range_charset_code_point): Deleted.
2050
2051 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * mule-charset.c (Qcode_offset): New variable.
2054         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2055         `max-code'; accept new property `code-offset'.
2056         (syms_of_mule_charset): Add new symbol `code-offset'.
2057
2058 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (range_charset_code_point): Fixed.
2061
2062 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2063
2064         * mule-charset.c (decode_builtin_char): Change semantics of
2065         code-offset of coded-charset.
2066         (charset_code_point): Likewise.
2067         (range_charset_code_point): Likewise.
2068         (complex_vars_of_mule_charset): Modify for the change.
2069
2070 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * mule-charset.c (Fencode_char): Reverse arguments.
2073
2074         * mule-charset.c (charset_code_point): Fixed.
2075
2076 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * mule-charset.c (Vcharset_mojikyo): Deleted.
2079         (Vcharset_mojikyo_2022_1): Deleted.
2080         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2081         (Qmin_code): New variable in UTF-2000.
2082         (Qmax_code): Likewise.
2083         (Qmother): Likewise.
2084         (Qconversion): Likewise.
2085         (Q94x60): Likewise.
2086         (Qmojikyo): Deleted.
2087         (Qmojikyo_2022_1): Deleted.
2088         (Qmojikyo_pj_{1..22}): Deleted.
2089         (mark_charset): Mark `cs->mother'.
2090         (charset_description): Add description for `mother'.
2091         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2092         new arguments `mother' and `conversion'; use
2093         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2094         (charset_code_point): Moved from char-ucs.h; support `mother'
2095         charset feature.
2096         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2097         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2098         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2099         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2100         allow 2 as the value of `graphic' in UTF-2000; add new properties
2101         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2102         require `final' in UTF-2000; modify for `make_charset'.
2103         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2104         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2105         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2106         (Fencode_char): New function.
2107         (syms_of_mule_charset): Add new builtin function `encode-char' in
2108         UTF-2000; add new symbols `min-code', `max-code', `mother',
2109         `conversion' and `94x60'; delete symbols `mojikyo',
2110         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2111         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2112         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2113         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2114
2115         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2116         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2117
2118         * char-ucs.h (Vcharset_mojikyo): Deleted.
2119         (Vcharset_mojikyo_2022_1): Deleted.
2120         (LEADING_BYTE_MOJIKYO): Deleted.
2121         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2122         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2123         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2124         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2125         add new member `mother'; add new member `conversion'.
2126         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2127         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2128         (CHARSET_MOTHER): New macro.
2129         (CHARSET_CONVERSION): New macro.
2130         (CONVERSION_IDENTICAL): New macro.
2131         (CONVERSION_94x60): New macro.
2132         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2133         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2134         (XCHARSET_MOTHER): New macro.
2135         (XCHARSET_CONVERSION): New macro.
2136         (MIN_CHAR_MOJIKYO): Deleted.
2137         (MAX_CHAR_MOJIKYO): Deleted.
2138         (DECODE_MOJIKYO_2022): Deleted.
2139         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2140         (charset_code_point): Changed to non-inline function.
2141         (encode_char_1): Use `charset_code_point'.
2142         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2143
2144 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * lread.c (read_compiled_function): Fix prototype.
2147         (read_vector): Likewise.
2148
2149 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * lrecord.h (struct lrecord_header): Delete `older'.
2152         (set_lheader_implementation): Delete code for `older'.
2153         (set_lheader_older_implementation): Deleted.
2154         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2155         (OLDER_RECORD_P): Deleted.
2156         (OLDER_RECORD_HEADER_P): Deleted.
2157         (alloc_older_lcrecord): Deleted.
2158         (alloc_older_lcrecord_type): Deleted.
2159
2160         * alloc.c (all_older_lcrecords): Deleted.
2161         (alloc_older_lcrecord): Deleted.
2162         (disksave_object_finalization_1): Delete code for older objects.
2163         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2164         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2165
2166 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2167
2168         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2169         instead of `make_older_vector'.
2170         (put_char_ccs_code_point): Likewise.
2171         (mark_charset): Mark `cs->decoding_table'.
2172         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2173
2174         * lisp.h (make_older_vector): Deleted.
2175         (make_vector_newer): Deleted.
2176
2177         * config.h.in (HAVE_GGC): Deleted.
2178
2179         * alloc.c (make_older_vector): Deleted.
2180         (make_vector_newer_1): Deleted.
2181         (make_vector_newer): Deleted.
2182
2183 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2184
2185         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2186         (Qideograph_daikanwa_2): New variable.
2187         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2188         (complex_vars_of_mule_charset): Add new coded-charset
2189         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2190         `LEADING_BYTE_DAIKANWA'.
2191
2192         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2193         (LEADING_BYTE_DAIKANWA_1): New macro.
2194         (LEADING_BYTE_DAIKANWA_2): New macro.
2195         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2196
2197 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2198
2199         * mule-charset.c (complex_vars_of_mule_charset): Change
2200         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2201         the second revised version.
2202
2203 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2204
2205         * mule-charset.c (Vcharset_ucs_smp): New variable.
2206         (Vcharset_ucs_sip): New variable.
2207         (Qucs_smp): New variable.
2208         (Qucs_sip): New variable.
2209         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2210         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2211         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2212         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2213         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2214         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2215
2216         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2217         (LEADING_BYTE_UCS_SIP): New macro.
2218         (MIN_CHAR_SMP): New macro.
2219         (MAX_CHAR_SMP): New macro.
2220         (MIN_CHAR_SIP): New macro.
2221         (MAX_CHAR_SIP): New macro.
2222
2223 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2224
2225         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2226         utf-2000.
2227
2228 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2229
2230         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2231         value; don't store value into `encoding_table' of `Lisp_Charset'.
2232         (mark_charset): `encoding_table' was deleted.
2233         (charset_description): Likewise.
2234         (make_charset): Likewise.
2235         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2236         `put_char_ccs_code_point'.
2237
2238         * chartab.h (Fput_char_attribute): New EXFUN.
2239
2240         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2241         is unified with normal symbol space.
2242         (Fget_char_attribute): Likewise.
2243         (Fput_char_attribute): Likewise; behavior of
2244         `put_char_ccs_code_point' is changed.
2245
2246         * char-ucs.h: Include "elhash.h".
2247         (Vchar_attribute_hash_table): New external variable.
2248         (struct Lisp_Charset): Delete `encoding_table'.
2249         (CHARSET_ENCODING_TABLE): New implementation; refer
2250         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2251         `Lisp_Charset'.
2252
2253 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2254
2255         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2256         (cs) == 0.
2257
2258 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2259
2260         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2261         `chinese-big5'.
2262
2263 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2264
2265         * chartab.c (uint8_byte_table_description): New constant.
2266         (uint8-byte-table): Use `uint8_byte_table_description'.
2267         (uint16_byte_table_description): New constant.
2268         (uint16-byte-table): Use `uint16_byte_table_description'.
2269
2270 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2271
2272         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2273         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2274
2275 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2276
2277         * mule-charset.c (Vcharset_ucs_ks): New variable.
2278         (Qucs_ks): New variable.
2279         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2280         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2281
2282         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2283
2284 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2285
2286         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2287         (Fdecode_char): Likewise.
2288
2289         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2290         chartab.h.
2291         (Fdefine_char): Modify for Fdecode_char.
2292         (Ffind_char): Likewise.
2293
2294         * mule-charset.c (Fdecode_char): Add new optional argument
2295         `defined-only'.
2296         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2297
2298 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2299
2300         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2301         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2302         (allocate_coding_system): Initialize initial-charsets of
2303         CODESYS_BIG5 in XEmacs UTF-2000.
2304         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2305         CODESYS_BIG5 in XEmacs UTF-2000.
2306         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2307         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2308
2309         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2310         variables.
2311         (Qideograph_hanziku_{1 .. 12}): Likewise.
2312         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2313         .. 12}'.
2314         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2315         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2316         `ideograph-hanziku-{1 .. 12}'.
2317
2318         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2319         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2320         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2321         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2322         (DECODE_DEFINED_CHAR): New inline function.
2323         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2324
2325 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2326
2327         * mule-charset.c (Vcharset_china3_jef): Renamed from
2328         `Vcharset_japanese_jef_china3'.
2329         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2330         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2331         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2332         (syms_of_mule_charset): Rename `china3-jef' from
2333         `japanese-jef-china3'.
2334         (complex_vars_of_mule_charset): Likewise; rename
2335         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2336
2337         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2338         `LEADING_BYTE_JEF_CHINA3'.
2339         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2340         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2341
2342 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * mule-charset.c (encode_builtin_char_1): Comment out special code
2345         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2346
2347         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2348         (MAX_CHAR_MOJIKYO_0): Comment out.
2349         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2350         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2351         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2352         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2353
2354 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2355
2356         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2357         (Qideograph_cbeta): New variable.
2358         (encode_builtin_char_1): Comment out special code for
2359         coded-charset `mojikyo' and `japanese-jef-china3'.
2360         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2361         (complex_vars_of_mule_charset): Add new coded-charset
2362         `ideograph-cbeta'.
2363
2364         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2365         (MIN_CHAR_CBETA): New macro.
2366         (MAX_CHAR_CBETA): New macro.
2367
2368 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2369
2370         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2371         (LEADING_BYTE_JEF_CHINA3): New macro.
2372         (MIN_CHAR_JEF_CHINA3): New macro.
2373         (MAX_CHAR_JEF_CHINA3): Likewise.
2374         (DECODE_CHAR): Fixed.
2375
2376 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2377
2378         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2379         (Qjapanese_jef_china3): New variable.
2380         (encode_builtin_char_1): Support `japanese-jef-china3'.
2381         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2382         (complex_vars_of_mule_charset): Add new coded-charset
2383         `japanese-jef-china3'.
2384
2385 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2388         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2389         94^4, 96^3, 96^4, 128^n and 256^n set.
2390         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2391         (map_char_table): Likewise.
2392
2393 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2394
2395         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2396         UTF-2000.
2397
2398 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2399
2400         * chartab.h (get_char_id_table): New inline function.
2401
2402         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2403         function.
2404
2405 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2406
2407         * chartab.h (decode_char_table_range): New prototype in XEmacs
2408         UTF-2000.
2409         (put_char_id_table): New inline function in XEmacs UTF-2000.
2410
2411         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2412         function.
2413         (decode_char_table_range): Delete static declaration in XEmacs
2414         UTF-2000.
2415
2416 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2417
2418         * chartab.c (put_char_id_table): Use `put_char_table'.
2419
2420 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2421
2422         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2423         (map_over_uint16_byte_table): Likewise.
2424         (map_over_byte_table): Likewise.
2425         (map_char_table): Modify for `map_over_uint8_byte_table',
2426         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2427         UTF-2000.
2428
2429 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2430
2431         * chartab.c (struct map_char_table_for_charset_arg): New
2432         structure.
2433         (map_char_table_for_charset_fun): New function.
2434         (map_char_table): Use `map_char_table' for encoding_table of
2435         `range->charset'.
2436
2437 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * chartab.c (map_char_table): Check a character is found in
2440         range->charset instead of non default value is defined in
2441         char-table when range is CHARTAB_RANGE_ROW.
2442
2443 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2444
2445         * chartab.c (map_char_id_table): Deleted.
2446         (Fmap_char_attribute): Use `map_char_table' instead of
2447         `map_char_id_table'.
2448
2449 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2450
2451         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2452         UTF-2000.
2453         (update_syntax_table): Deleted in XEmacs UTF-2000.
2454
2455         * syntax.c (find_defun_start): Use `syntax_table' instead of
2456         `mirror_syntax_table' in XEmacs UTF-2000.
2457         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2458         UTF-2000.
2459         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2460         XEmacs UTF-2000.
2461         (Fmatching_paren): Likewise.
2462         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2463         in XEmacs UTF-2000.
2464         (find_start_of_comment): Likewise.
2465         (find_end_of_comment): Likewise.
2466         (Fforward_comment): Likewise.
2467         (scan_lists): Likewise.
2468         (char_quoted): Likewise.
2469         (Fbackward_prefix_chars): Likewise.
2470         (scan_sexps_forward): Likewise.
2471         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2472         (update_syntax_table): Likewise.
2473
2474         * search.c (skip_chars): Use `syntax_table' instead of
2475         `mirror_syntax_table' in XEmacs UTF-2000.
2476         (wordify): Likewise.
2477         (Freplace_match): Likewise.
2478
2479         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2480         `mirror_syntax_table' in XEmacs UTF-2000.
2481         (WORDCHAR_P_UNSAFE): Likewise.
2482         (re_match_2_internal): Likewise.
2483
2484         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2485         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2486
2487         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2488         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2489
2490         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2491         XEmacs UTF-2000.
2492
2493         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2494         UTF-2000.
2495         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2496         (char_table_description): Delete `mirror_table' in XEmacs
2497         UTF-2000.
2498         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2499         UTF-2000.
2500         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2501         (Fcopy_char_table): Likewise.
2502         (put_char_table): Don't call `update_syntax_table' in XEmacs
2503         UTF-2000.
2504
2505         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2506         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2507         (casify_region_internal): Likewise.
2508
2509         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2510
2511         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2512         `mirror_syntax_table' in XEmacs UTF-2000.
2513
2514         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2515         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2516         (Fexpand_abbrev): Likewise.
2517
2518 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2519
2520         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2521
2522 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2523
2524         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2525         (map_over_uint16_byte_table): Likewise.
2526         (map_over_byte_table): Likewise.
2527         (get_char_id_table): Refer `cit->default_value'.
2528         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2529         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2530         of character-id ranges.
2531         (mark_char_table): Mark `ct->default_value'.
2532         (char_table_description): Add `default_value'.
2533         (fill_char_table): Use `default_value'.
2534         (decode_char_table_range): Decode `nil' as
2535         `CHARTAB_RANGE_DEFAULT'.
2536         (get_char_id_table): Refer `cit->default_value'.
2537         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2538         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2539         temporary hack; check value of char-table is bound or not.
2540         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2541
2542         * chartab.h (struct Lisp_Char_Table): Add new member
2543         `default_value' in XEmacs UTF-2000.
2544         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2545         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2546         UTF-2000.
2547
2548 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2549
2550         * chartab.h (Lisp_Char_ID_Table): Deleted.
2551
2552         * chartab.c (char_table_description): Fix typo.
2553         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2554         `Lisp_Char_ID_Table'.
2555
2556 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2559         `CHAR_ID_TABLE_P'.
2560
2561         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2562         `CHAR_ID_TABLE_P'.
2563
2564         * chartab.h (XCHAR_ID_TABLE): Deleted.
2565         (XSETCHAR_ID_TABLE): Deleted.
2566         (CHAR_ID_TABLE_P): Deleted.
2567
2568         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2569         `CHAR_ID_TABLE_P'.
2570         (Fget_composite_char): Likewise.
2571         (put_char_table): Likewise.
2572         (add_char_attribute_alist_mapper): Fixed.
2573         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2574         `CHAR_ID_TABLE_P'.
2575         (Fget_char_attribute): Likewise.
2576         (Fget_char_attribute): Likewise.
2577         (Fmap_char_attribute): Likewise.
2578
2579         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2580         `CHAR_ID_TABLE_P'.
2581         (encode_char_1): Likewise.
2582
2583 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2584
2585         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2586         `XCHAR_ID_TABLE'.
2587
2588         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2589         instead of `XCHAR_ID_TABLE'.
2590         (remove_char_ccs): Likewise.
2591
2592         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2593         `XCHAR_ID_TABLE'.
2594         (Fget_composite_char): Likewise.
2595         (Fchar_variants): Likewise.
2596         (put_char_table): Likewise.
2597         (add_char_attribute_alist_mapper): Likewise.
2598         (Fchar_attribute_alist): Likewise.
2599         (Fget_char_attribute): Likewise.
2600         (Fput_char_attribute): Likewise.
2601         (Fmap_char_attribute): Likewise.
2602         (Fmap_char_attribute): Likewise.
2603
2604         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2605         `XCHAR_ID_TABLE'.
2606         (encode_char_1): Likewise.
2607
2608 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2611         `Lisp_Char_ID_Table'.
2612         (mark_char_id_table): Deleted.
2613         (print_char_id_table): Likewise.
2614         (char_id_table_equal): Likewise.
2615         (char_id_table_hash): Likewise.
2616         (char_id_table_description): Likewise.
2617         (char_id_table): Likewise.
2618         (make_char_id_table): Use `Fmake_char_table' and
2619         `fill_char_table'.
2620         (get_char_id_table): Use `Lisp_Char_Table' instead of
2621         `Lisp_Char_ID_Table'.
2622         (put_char_id_table): Likewise.
2623         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2624         `XCHAR_ID_TABLE'.
2625         (Fremove_char_attribute): Likewise.
2626         (syms_of_chartab): Don't define type `char-id-table'.
2627
2628         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2629         (char_id_table): Likewise.
2630         (GC_CHAR_ID_TABLE_P): Likewise.
2631         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2632         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2633         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2634         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2635         (get_char_id_table): Use `Lisp_Char_Table' instead of
2636         `Lisp_Char_ID_Table'.
2637         (put_char_id_table_0): Likewise.
2638         (put_char_id_table): Likewise.
2639
2640 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2641
2642         * chartab.h: Lisp_Byte_Table related codes are moved from
2643         chartab.h.
2644
2645         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2646
2647 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2648
2649         * chartab.h: Don't include "chartab.h".
2650         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2651         (Lisp_Char_ID_Table): Likewise.
2652         (char_id_table): Likewise.
2653         (XCHAR_ID_TABLE): Likewise.
2654         (XSETCHAR_ID_TABLE): Likewise.
2655         (CHAR_ID_TABLE_P): Likewise.
2656         (GC_CHAR_ID_TABLE_P): Likewise.
2657         (get_char_id_table): Likewise.
2658
2659         * char-ucs.h: Include "chartab.h".
2660         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2661         (Lisp_Char_ID_Table): Likewise.
2662         (char_id_table): Likewise.
2663         (XCHAR_ID_TABLE): Likewise.
2664         (XSETCHAR_ID_TABLE): Likewise.
2665         (CHAR_ID_TABLE_P): Likewise.
2666         (GC_CHAR_ID_TABLE_P): Likewise.
2667         (get_char_id_table): Likewise.
2668
2669 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2670
2671         * chartab.c (copy_uint8_byte_table): New function.
2672         (copy_uint16_byte_table): New function.
2673         (copy_byte_table): New function.
2674         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2675         characters to call.
2676         (map_over_uint16_byte_table): Likewise.
2677         (map_over_byte_table): Likewise.
2678         (get_byte_table): Move prototype to chartab.h.
2679         (put_byte_table): Likewise.
2680         (put_char_id_table_0): Moved to chartab.h.
2681         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2682         (char_table_entry_equal): Likewise.
2683         (char_table_entry_hash): Likewise.
2684         (char_table_entry_description): Likewise.
2685         (char_table_entry): Likewise.
2686         (make_char_table_entry): Likewise.
2687         (copy_char_table_entry): Likewise.
2688         (get_non_ascii_char_table_value): Likewise.
2689         (map_over_charset_ascii): Likewise.
2690         (map_over_charset_control_1): Likewise.
2691         (map_over_charset_row): Likewise.
2692         (map_over_other_charset): Likewise.
2693         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2694         (print_char_table): Likewise.
2695         (char_table_equal): Likewise.
2696         (char_table_hash): Likewise.
2697         (char_table_description): Likewise.
2698         (fill_char_table): Likewise.
2699         (Fcopy_char_table): Likewise.
2700         (get_char_table): Likewise.
2701         (Fget_range_char_table): Likewise.
2702         (put_char_table): Likewise.
2703         (map_char_table): Likewise.
2704         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2705         UTF-2000.
2706
2707 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2708
2709         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2710         `Vauto_fill_chars' in XEmacs UTF-2000.
2711
2712         * chartab.h (get_byte_table): New prototype [moved from
2713         chartab.c].
2714         (put_byte_table): Likewise [moved from chartab.c].
2715         (put_char_id_table_0): New inline function [moved from chartab.c].
2716         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2717         (Lisp_Char_Table_Entry): Likewise.
2718         (char_table_entry): Likewise.
2719         (XCHAR_TABLE_ENTRY): Likewise.
2720         (XSETCHAR_TABLE_ENTRY): Likewise.
2721         (CHAR_TABLE_ENTRYP): Likewise.
2722         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2723         (NUM_ASCII_CHARS): Likewise.
2724         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2725         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2726
2727 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2728
2729         * chartab.c (get_char_id_table): Change interface.
2730         (put_char_id_table_0): New function.
2731         (put_char_id_table): Change interface; new implementation.
2732         (Fget_composite_char): Modify for interface change of
2733         `get_char_id_table'.
2734         (Fchar_variants): Likewise.
2735         (add_char_attribute_alist_mapper): Likewise.
2736         (Fchar_attribute_alist): Likewise.
2737         (Fget_char_attribute): Likewise.
2738         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2739         as same as character as the first argument like `put-char-table';
2740         modify for interface change of `put_char_id_table'.
2741         (Fremove_char_attribute): Modify for interface change of
2742         `put_char_id_table'.
2743
2744 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * text-coding.c: Sync up with XEmacs 21.2.41.
2747         (COMPOSE_ADD_CHAR): Modify for interface change of
2748         `get_char_id_table'.
2749
2750         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2751         change of `put_char_id_table'.
2752         (remove_char_ccs): Likewise.
2753
2754         * chartab.h (put_char_id_table): Change interface.
2755
2756         * char-ucs.h (get_char_id_table): Change interface.
2757         (charset_code_point): Modify for interface change of
2758         `get_char_id_table'.
2759         (encode_char_1): Likewise.
2760
2761 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2764         argument `ccs'.
2765         (map_over_uint16_byte_table): Likewise.
2766         (map_over_byte_table): Likewise.
2767         (map_char_id_table): Add new argument `range' like
2768         `map_char_table'.
2769         (Fmap_char_attribute): Add new argument `range' like
2770         `Fmap_char_table'.
2771
2772 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2773
2774         * chartab.c (map_over_uint8_byte_table): Change interface of
2775         mapping function to use struct chartab_range instead of Emchar.
2776         (map_over_uint16_byte_table): Likewise.
2777         (map_over_byte_table): Likewise.
2778         (map_char_id_table): Likewise.
2779         (struct slow_map_char_id_table_arg): Deleted.
2780         (slow_map_char_id_table_fun): Deleted.
2781         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2782         function `slow_map_char_table_fun' instead of struct
2783         `slow_map_char_id_table_arg' and function
2784         `slow_map_char_id_table_fun'.
2785
2786 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2787
2788         * mule-charset.c: Move char-it-table related codes to chartab.c.
2789         (Vutf_2000_version): Moved to chartab.c.
2790         (Fdefine_char): Likewise.
2791         (Ffind_char): Likewise.
2792         (syms_of_mule_charset): Move types `uint8-byte-table',
2793         `uint16-byte-table', `byte-table' and `char-id-table' to
2794         chartab.c; move functions `char_attribute_list,
2795         `find_char_attribute_table, `char_attribute_alist,
2796         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2797         `map_char_attribute, `define_char, `find_char, `char_variants and
2798         `get_composite_char to chartab.c; move symbols `=>ucs',
2799         `->decomposition', `compat', `isolated', `initial', `medial',
2800         `final', `vertical', `noBreak', `fraction', `super', `sub',
2801         `circle', `square', `wide', `narrow', `small' and `font' to
2802         chartab.c.
2803         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2804         setting codes for `Vcharacter_composition_table' and
2805         `Vcharacter_variant_table' to chartab.c.
2806         (complex_vars_of_mule_charset): Move setting code for
2807         `Vchar_attribute_hash_table' to chartab.c.
2808
2809         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2810         (make_char_id_table): New prototype.
2811         (put_char_id_table): Likewise.
2812         (Fget_char_attribute): Likewise.
2813
2814         * chartab.c: Move char-id-table related code from mule-charset.c.
2815         (Vutf_2000_version): Moved from mule-charset.c.
2816
2817         * char-ucs.h (Qucs): New external variable.
2818         (put_char_ccs_code_point): New prototype.
2819         (remove_char_ccs): Likewise.
2820
2821 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2822
2823         * mule-charset.c (Vcharset_ucs_jis): New variable.
2824         (Qucs_jis): Likewise.
2825         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2826         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2827
2828         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2829
2830 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2831
2832         * mule-charset.c (map_over_uint8_byte_table): New function.
2833         (map_over_uint16_byte_table): Likewise.
2834         (map_over_byte_table): Likewise.
2835         (map_char_id_table): Likewise.
2836         (slow_map_char_id_table_fun): Likewise.
2837         (Fmap_char_attribute): Likewise.
2838         (syms_of_mule_charset): Add new function `map-char-attribute'.
2839
2840 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2841
2842         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2843         (syms_of_mule_charset): Add new function `find-char'.
2844
2845 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2848         XEmacs UTF-2000.
2849         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2850         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2851         XEmacs UTF-2000.
2852         (complex_vars_of_mule_charset): Add new coded-charset
2853         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2854         `ideograph-gt-pj-*'.
2855
2856         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2857
2858 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2859
2860         * mule-charset.c (encode_builtin_char_1): Purge codes about
2861         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2862         {MIN|MAX}_CHAR_HEBREW.
2863         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2864         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2865
2866         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2867         (MAX_CHAR_GREEK): Purged.
2868         (MIN_CHAR_CYRILLIC): Purged.
2869         (MAX_CHAR_CYRILLIC): Purged.
2870         (MIN_CHAR_HEBREW): Commented out.
2871         (MAX_CHAR_HEBREW): Likewise.
2872
2873 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2874
2875         * mule-charset.c (Qto_ucs): New variable.
2876         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2877         (Fdefine_char): Likewise.
2878         (syms_of_mule_charset): Add new symbol `=>ucs'.
2879
2880 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * mule-charset.c (Fdecode_char): Fixed.
2883
2884 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2885
2886         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2887         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2888         "tcvn5712-1".
2889
2890 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2891
2892         * mule-charset.c (Vcharset_ucs_big5): New variable.
2893         (Qucs_big5): Likewise.
2894         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2895         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2896
2897         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2898
2899 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2900
2901         * mule-charset.c (decode_builtin_char): Check Big5 code range
2902         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2903
2904 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2905
2906         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2907         (Qchinese_gb12345): Likewise.
2908         (Fdecode_builtin_char): Fixed.
2909         (syms_of_mule_charset): Add `chinese-gb12345'.
2910         (complex_vars_of_mule_charset): Add coded-charset
2911         `chinese-gb12345'.
2912
2913         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2914         (LEADING_BYTE_CHINESE_GB12345): New macro.
2915
2916 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2917
2918         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2919         and `latin-viscii-upper' for `latin-viscii'.
2920
2921 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2922
2923         * mule-charset.c (Fdecode_builtin_char): Comment out
2924         regularization code for ISO-IR GR representation.
2925
2926 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * mule-charset.c (decode_builtin_char): New function; renamed from
2929         `make_builtin_char'; return -1 instead of signal.
2930         (Fdecode_builtin_char): Use `decode_builtin_char'.
2931
2932         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2933         `make_builtin_char'.
2934         (DECODE_CHAR): Use `decode_builtin_char' instead of
2935         `make_builtin_char'; use mapping table of `chinese-big5' for
2936         `chinese-big5-{1,2}'.
2937
2938 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * text-coding.c (char_encode_big5): New function.
2941         (char_finish_big5): Likewise.
2942         (reset_encoding_stream): Use `char_encode_big5' and
2943         `char_finish_big5' for CODESYS_BIG5.
2944         (mule_encode): Don't use `encode_coding_big5'.
2945         (encode_coding_big5): Deleted.
2946
2947 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2948
2949         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2950         0x81- in XEmacs UTF-2000.
2951         (detect_coding_big5): Likewise.
2952
2953 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2956         generate character-id if the CCS property does not have
2957         corresponding predefined character.
2958         (make_builtin_char): Return -1 if corresponding predefined
2959         character is not found.
2960         (Fdecode_char): Return nil if corresponding character is not
2961         found.
2962         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2963         don't map to builtin ucs space.
2964
2965 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2966
2967         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2968         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2969
2970 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2971
2972         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2973         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2974         (Qideograph_gt): Likewise.
2975         (Qideograph_gt_pj_{1..11}): Likewise.
2976         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2977         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2978         `ideograph-gt-pj-11'.
2979         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2980         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2981         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2982
2983         * char-ucs.h (LEADING_BYTE_GT): New macro.
2984         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2985         (MIN_CHAR_GT): Likewise.
2986         (MAX_CHAR_GT): Likewise.
2987
2988 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2989
2990         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2991         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2992
2993         * doprnt.c (unsigned_int_converters): Add `c'.
2994         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2995
2996         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2997         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2998         `MIN_CHAR_MOJIKYO'.
2999         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3000         (MAX_CHAR_MOJIKYO_0): New macro.
3001         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3002
3003 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3004
3005         * mule-charset.c (Fdefine_char): Delete cemented out code.
3006         (encode_builtin_char_1): Modify for new allocation of builtin
3007         Mojikyo characters.
3008
3009         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3010
3011 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3012
3013         * mule-charset.c (Vcharset_ucs_cns): New variable.
3014         (Qucs_cns): New variable.
3015         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3016         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3017
3018 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3019
3020         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3021
3022 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3023
3024         * search.c (search_buffer): Make `charset_base_code' as
3025         character-id >> 6 to eliminate the corresponding last byte in
3026         UTF-8 representation [I'm not sure it is right thing].
3027         (boyer_moore): Likewise.
3028
3029 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3030
3031         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3032         representation in MULE.
3033
3034 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3035
3036         * text-coding.c (Fmake_coding_system): Use
3037         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3038         `EXTERNAL_PROPERTY_LIST_LOOP'.
3039
3040 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3041
3042         * text-coding.c (decode_output_utf8_partial_char): New function.
3043         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3044
3045 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3046
3047         * text-coding.c (decode_coding_utf8): Output original byte
3048         sequence if it is broken; change order of conditions.
3049
3050         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3051         of conditions.
3052
3053         * mb-multibyte.h (BYTE_ASCII_P):
3054         Use bit ops for char-signedness safety.
3055         (BYTE_C0_P): Use bit ops for char-signedness safety.
3056         (BYTE_C1_P): Use bit ops for char-signedness safety.
3057
3058         * character.h: (XCHAR_OR_CHAR_INT):
3059         Always use inline function.
3060         Remove redundant type checking assert() - XINT will abort quite
3061         nicely.
3062
3063 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3064
3065         * text-coding.c: (Fencode_shift_jis_char):
3066         (Fencode_big5_char):
3067         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3068         Replace 0 with '\0' when working with bytes.
3069         Replace initial "(" with "\(" in docstrings.
3070
3071         (Fmake_coding_system):
3072         When type is ccl and value is vector, register it with a proper
3073         symbol.  And checks whether the given ccl program is valid.
3074         (mule_decode): When calling ccl_driver, if src indicates
3075         NULL pointer, set an empty string instead.
3076         (mule_encode): Likewise.
3077
3078         (detect_eol_type):
3079         (detect_coding_sjis):
3080         (decode_coding_sjis):
3081         (detect_coding_big5):
3082         (decode_coding_big5):
3083         (detect_coding_ucs4):
3084         (decode_coding_ucs4):
3085         (detect_coding_utf8):
3086         (decode_coding_utf8):
3087         (detect_coding_iso2022):
3088         (decode_coding_iso2022):
3089         (decode_coding_no_conversion):
3090         (mule_decode):
3091         Make all detecting and decoding functions take an Extbyte * arg.
3092         (text_encode_generic):
3093         (encode_coding_big5):
3094         (encode_coding_no_conversion):
3095         (mule_encode):
3096         Make all encoding functions take a Bufbyte * arg.
3097         Use size_t instead of unsigned int for memory sizes.
3098         Only cast to unsigned char whenever dereferencing Extbyte *.
3099
3100         (struct lrecord_description fcd_description_1): Use countof.
3101         (complex_vars_of_file_coding):
3102         Use countof instead of sizeof.
3103         Use CHECK_NATNUM instead of CHECK_INT.
3104
3105 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3106
3107         * mule-charset.c (Fget_char_attribute): Add new optional argument
3108         `default-value'.
3109         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3110         (remove_char_ccs): Likewise.
3111
3112 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3113
3114         * text-coding.c (char_encode_shift_jis): New implementation in
3115         UTF-2000.
3116         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3117         ...)'.
3118
3119         * mule-charset.c (Vcharset_chinese_big5): New variable in
3120         UTF-2000.
3121         (Qchinese_big5): New variable in UTF-2000.
3122         (BIG5_SAME_ROW): New macro in UTF-2000.
3123         (make_builtin_char): Use builtin characters of
3124         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3125         characters of `Vcharset_chinese_big5'.
3126         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3127         (complex_vars_of_mule_charset): Add new coded-charset
3128         `chinese-big5' in UTF-2000.
3129
3130         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3131         (Vcharset_chinese_big5): New external variable declaration.
3132         (Vcharset_japanese_jisx0208_1990): Likewise.
3133
3134 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3135
3136         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3137         function.
3138         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3139
3140 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3141
3142         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3143         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3144         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3145         `mojikyo-pj-*'.
3146
3147 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3148
3149         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3150
3151 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3154         to 0.17.
3155
3156 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3157
3158         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3159         for `CHARSET_BY_ATTRIBUTES'.
3160         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3161         `CHARSET_BY_ATTRIBUTES'.
3162
3163         * text-coding.c (struct decoding_stream): Rename member `CH' to
3164         `CPOS'.
3165         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3166         (decode_coding_sjis): Likewise.
3167         (decode_coding_big5): Likewise.
3168         (decode_coding_ucs4): Likewise.
3169         (decode_coding_utf8): Likewise.
3170         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3171         `CHARSET_BY_ATTRIBUTES'.
3172         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3173         `str->counter'; decode 3, 4 bytes sets.
3174         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3175         sets.
3176         (decode_coding_no_conversion): Use `str->cpos' instead of
3177         `str->ch'.
3178
3179         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3180         (Qmojikyo_2022_1): New variable.
3181         (make_charset): Don't use `CHARSET_TYPE_*'.
3182         (range_charset_code_point): Support coded-charset
3183         `mojikyo-2022-1'.
3184         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3185         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3186         `CHARSET_BY_ATTRIBUTES'.
3187         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3188         `CHARSET_BY_ATTRIBUTES'.
3189         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3190         (complex_vars_of_mule_charset): Add new coded-charset
3191         `mojikyo-2022-1'.
3192
3193         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3194         interface; changed to inline function.
3195
3196         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3197         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3198         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3199         (CHARSET_TYPE_94): Deleted.
3200         (CHARSET_TYPE_94X94): Deleted.
3201         (CHARSET_TYPE_96): Deleted.
3202         (CHARSET_TYPE_96X96): Deleted.
3203         (CHARSET_TYPE_128): Deleted.
3204         (CHARSET_TYPE_128X128): Deleted.
3205         (CHARSET_TYPE_256): Deleted.
3206         (CHARSET_TYPE_256X256): Deleted.
3207         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3208         to inline function.
3209         (DECODE_MOJIKYO_2022): New inline function.
3210         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3211         `Vcharset_mojikyo_2022_1'.
3212
3213 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3214
3215         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3216         instead of `EQ'.
3217         (put_byte_table): Likewise.
3218         (char_id_table_equal): Use `get_byte_table' [new implementation].
3219
3220 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3221
3222         * mule-charset.c: Include <limits.h> in UTF-2000.
3223         (BT_UINT8_MIN): New macro in UTF-2000.
3224         (BT_UINT8_MAX): New macro in UTF-2000.
3225         (BT_UINT8_t): New macro in UTF-2000.
3226         (BT_UINT8_nil): New macro in UTF-2000.
3227         (BT_UINT8_unbound): New macro in UTF-2000.
3228         (INT_UINT8_P): New inline function in UTF-2000.
3229         (UINT8_VALUE_P): New inline function in UTF-2000.
3230         (UINT8_ENCODE): New inline function in UTF-2000.
3231         (UINT8_DECODE): New inline function in UTF-2000.
3232         (mark_uint8_byte_table): New function in UTF-2000.
3233         (print_uint8_byte_table): New function in UTF-2000.
3234         (uint8_byte_table_equal): New function in UTF-2000.
3235         (uint8_byte_table_hash): New function in UTF-2000.
3236         (make_uint8_byte_table): New function in UTF-2000.
3237         (uint8_byte_table_same_value_p): New function in UTF-2000.
3238         (BT_UINT16_MIN): New macro in UTF-2000.
3239         (BT_UINT16_MAX): New macro in UTF-2000.
3240         (BT_UINT16_t): New macro in UTF-2000.
3241         (BT_UINT16_nil): New macro in UTF-2000.
3242         (BT_UINT16_unbound): New macro in UTF-2000.
3243         (INT_UINT16_P): New inline function in UTF-2000.
3244         (UINT16_VALUE_P): New inline function in UTF-2000.
3245         (UINT16_ENCODE): New inline function in UTF-2000.
3246         (UINT16_DECODE): New inline function in UTF-2000.
3247         (UINT8_TO_UINT16): New inline function in UTF-2000.
3248         (mark_uint16_byte_table): New function in UTF-2000.
3249         (print_uint16_byte_table): New function in UTF-2000.
3250         (uint16_byte_table_equal): New function in UTF-2000.
3251         (uint16_byte_table_hash): New function in UTF-2000.
3252         (make_uint16_byte_table): New function in UTF-2000.
3253         (uint16_byte_table_same_value_p): New function in UTF-2000.
3254         (print_byte_table): New function in UTF-2000.
3255         (byte-table): Use `print_byte_table' as printer.
3256         (make_byte_table): Delete second argument `older'.
3257         (byte_table_same_value_p): New function in UTF-2000.
3258         (copy_byte_table): Deleted.
3259         (get_byte_table): New function in UTF-2000.
3260         (put_byte_table): New function in UTF-2000.
3261         (print_char_id_table): New function in UTF-2000.
3262         (char-id-table): Use `print_char_id_table' as printer.
3263         (make_char_id_table): Delete second argument `older'.
3264         (get_char_id_table): Use `get_byte_table [new implementation].
3265         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3266         implementation].
3267         (Ffind_char_attribute_table): New function in UTF-2000.
3268         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3269         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3270         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3271         (syms_of_mule_charset): Add new function
3272         `find-char-attribute-table' in UTF-2000.
3273
3274         * lrecord.h (enum lrecord_type): Add
3275         `lrecord_type_uint16_byte_table' and
3276         `lrecord_type_uint8_byte_table'.
3277
3278         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3279         (Lisp_Uint8_Byte_Table): New type.
3280         (XUINT8_BYTE_TABLE): New macro.
3281         (XSETUINT8_BYTE_TABLE): New macro.
3282         (UINT8_BYTE_TABLE_P): New macro.
3283         (GC_UINT8_BYTE_TABLE_P): New macro.
3284         (struct Lisp_Uint16_Byte_Table): New structure.
3285         (Lisp_Uint16_Byte_Table): New type.
3286         (XUINT16_BYTE_TABLE): New macro.
3287         (XSETUINT16_BYTE_TABLE): New macro.
3288         (UINT16_BYTE_TABLE_P): New macro.
3289         (GC_UINT16_BYTE_TABLE_P): New macro.
3290
3291 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3292
3293         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3294         (Vcharacter_ideographic_strokes_table): Deleted.
3295         (Vcharacter_total_strokes_table): Deleted.
3296         (Vcharacter_morohashi_daikanwa_table): Deleted.
3297         (Vcharacter_decomposition_table): Deleted.
3298         (Qname): Deleted because it is duplicated.
3299         (Qideographic_radical): Deleted.
3300         (Qideographic_strokes): Deleted.
3301         (Qtotal_strokes): Deleted.
3302         (Qmorohashi_daikanwa): Deleted.
3303         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3304         `ideographic-radical', `ideographic-strokes', `total-strokes',
3305         `morohashi-daikanwa' and `->decomposition'.
3306         (Fget_char_attribute): Likewise.
3307         (Fput_char_attribute): Likewise; use `make-vector' instead of
3308         `make_older_vector' for `->decomposition' value.
3309         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3310         `ideograph-daikanwa'.
3311         (syms_of_mule_charset): Delete builtin symbols `name',
3312         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3313         `morohashi-daikanwa'.
3314         (vars_of_mule_charset): Don't setup
3315         `Vcharacter_ideographic_radical_table',
3316         `Vcharacter_ideographic_strokes_table',
3317         `Vcharacter_total_strokes_table',
3318         `Vcharacter_morohashi_daikanwa_table' and
3319         `Vcharacter_decomposition_table'.
3320
3321 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3322
3323         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3324         `make_older_vector', `make_vector_newer_1' and
3325         `make_vector_newer'.
3326
3327         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3328         `make_older_vector' and `make_vector_newer'.
3329
3330         * config.h.in (HAVE_GGC): New macro.
3331
3332 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3333
3334         * mule-charset.c (struct char_attribute_list_closure): New
3335         structure in UTF-2000.
3336         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3337         (Fchar_attribute_list): Likewise.
3338         (Fset_charset_mapping_table): Use `make_vector_newer'.
3339         (Fdecode_builtin_char): New function in UTF-2000.
3340         (syms_of_mule_charset): Add new function `char-attribute-list' and
3341         `decode-builtin-char' in UTF-2000.
3342
3343         * lisp.h (make_vector_newer): New prototype.
3344
3345         * alloc.c (make_vector_newer_1): New function.
3346         (make_vector_newer): New function.
3347
3348 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3351         50100)'.
3352
3353 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3354
3355         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3356         (Vcharacter_attribute_table): Deleted.
3357         (Vcharacter_name_table): Deleted.
3358         (put_char_attribute): Deleted.
3359         (remove_char_attribute): Deleted.
3360         (struct char_attribute_alist_closure): New structure.
3361         (add_char_attribute_alist_mapper): New function.
3362         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3363         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3364         (Fget_char_attribute): Likewise.
3365         (Fput_char_attribute): Likewise.
3366         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3367         of `remove_char_attribute'.
3368         (Fdefine_char): Return character.
3369         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3370         and `Vcharacter_name_table'.
3371         (complex_vars_of_mule_charset): Likewise
3372         `Vchar_attribute_hash_table'.
3373
3374 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3375
3376         * character.h (CHARC_CHARSET): New macro.
3377         (CHARC_CHARSET_ID): New macro.
3378         (CHARC_CODE_POINT): New macro.
3379         (CHARC_COLUMNS): New macro.
3380         (CHARC_TO_CHAR): New inline function.
3381         (CHARC_EQ): New inline function.
3382         (CHARC_ASCII_EQ): New inline function.
3383         (CHARC_IS_SPACE): New inline function.
3384         (ASCII_TO_CHARC): New inline function.
3385
3386         * char-ucs.h (encode_char_2): Deleted.
3387         (ENCODE_CHAR): Use `encode_char_1' again.
3388         (breakup_char_1): Likewise.
3389         (CHAR_TO_CHARC): New inline function.
3390
3391         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3392
3393 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3394
3395         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3396         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3397         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3398         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3399         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3400         `CHARC_IS_SPACE'.
3401         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3402
3403         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3404         `CHARC_CODE_POINT'.
3405         (x_output_display_block): Use `CHARC_CHARSET' and
3406         `CHARC_ASCII_EQ'.
3407
3408         * redisplay-tty.c (tty_output_display_block): Use
3409         `CHARC_ASCII_EQ'.
3410         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3411
3412         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3413
3414         * insdel.c (find_charsets_in_charc_string): Use
3415         `CHARC_CHARSET_ID'.
3416         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3417         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3418         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3419         (convert_charc_string_into_malloced_string): Likewise.
3420
3421 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3422
3423         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3424         instead of <Emchar_dynarr *> for buf; use
3425         `convert_bufbyte_string_into_charc_dynarr' instead of
3426         `convert_bufbyte_string_into_emchar_dynarr'; use
3427         `find_charsets_in_charc_string' instead of
3428         `find_charsets_in_emchar_string'.
3429
3430         * redisplay.h:
3431         - Include "character.h".
3432         (struct rune): New member `cglyph'; delete member `chr'.
3433
3434         * redisplay.c (redisplay_text_width_charc_string): New function;
3435         delete `redisplay_text_width_emchar_string'.
3436         (rtw_charc_dynarr): New variable; renamed from
3437         `rtw_emchar_dynarr'.
3438         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3439         `rtw_emchar_dynarr'; use
3440         `convert_bufbyte_string_into_charc_dynarr' instead of
3441         `convert_bufbyte_string_into_emchar_dynarr'; use
3442         `redisplay_text_width_charc_string' instead of
3443         `redisplay_text_width_emchar_string'.
3444         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3445         instead of `rtw_emchar_dynarr'; use
3446         `convert_bufbyte_string_into_charc_dynarr' instead of
3447         `convert_bufbyte_string_into_emchar_dynarr'.
3448         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3449         `redisplay_text_width_charc_string' instead of
3450         `redisplay_text_width_emchar_string'.
3451         (create_text_block): Modify for <struct rune> change.
3452         (generate_formatted_string_db): Likewise.
3453         (create_string_text_block): Likewise.
3454         (pixel_to_glyph_translation): Likewise.
3455
3456         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3457         instead of <const Emchar *>.
3458         (x_text_width): Likewise.
3459         (x_output_display_block): Use <Charc_dynarr *> instead
3460         <Emchar_dynarr *>; modify for <structure rune> change.
3461         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3462         *>.
3463
3464         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3465         <const Emchar *>; use `charc_string_displayed_columns' instead of
3466         `emchar_string_displayed_columns'.
3467         (tty_output_display_block): Use <Charc_dynarr *> instead of
3468         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3469         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3470         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3471         `tty_output_emchar_dynarr_dynarr'.
3472         (tty_output_charc_dynarr): New function; delete
3473         `tty_output_charc_dynarr'.
3474
3475         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3476         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3477         <Emchar_dynarr *> for buf; use
3478         `convert_bufbyte_string_into_charc_dynarr' instead of
3479         `convert_bufbyte_string_into_emchar_dynarr'.
3480
3481         * frame.c (title_string_charc_dynarr): New variable; renamed from
3482         `title_string_emchar_dynarr'.
3483         (generate_title_string): Use `title_string_charc_dynarr' instead
3484         of `title_string_emchar_dynarr'; use
3485         `convert_charc_string_into_malloced_string' instead of
3486         `convert_emchar_string_into_malloced_string'.
3487         (init_frame): Use `title_string_charc_dynarr' instead of
3488         `title_string_emchar_dynarr'.
3489
3490         * console.h:
3491         - Include "character.h".
3492         (struct console_methods): Use <const Charc *> instead of <const
3493         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3494         <Emchar_dynarr *> in output_string_method.
3495
3496         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3497         <Emchar_dynarr *>.
3498
3499         * console-stream.c (stream_text_width): Use <const Charc *>
3500         instead of <const Emchar *>.
3501
3502         * character.h (Charc_dynarr): New type.
3503
3504         * char-ucs.h (structure Charc): New structure; define new type
3505         `Charc'.
3506
3507         * char-lb.h (DECODE_CHAR): New inline function.
3508         (encode_char_1): New inline function.
3509         (ENCODE_CHAR): New macro.
3510         (structure Charc): New structure; define new type `Charc'.
3511
3512         * char-1byte.h (Vcharset_control_1): New macro.
3513         (Vcharset_latin_iso8859_1): New macro.
3514         (DECODE_CHAR): New inline function.
3515         (encode_char_1): New inline function.
3516         (ENCODE_CHAR): New macro.
3517         (structure Charc): New structure; define new type `Charc'.
3518
3519         * insdel.c (find_charsets_in_charc_string): New function; delete
3520         `find_charsets_in_emchar_string'.
3521         (charc_string_displayed_columns): New function; delete
3522         `emchar_string_displayed_columns'.
3523         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3524         `convert_bufbyte_string_into_emchar_dynarr'.
3525         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3526         `convert_charc_string_into_bufbyte_dynarr'.
3527         (convert_charc_string_into_malloced_string): New function; delete
3528         `convert_charc_string_into_malloced_string'.
3529
3530         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3531         `find_charsets_in_emchar_string'.
3532         (charc_string_displayed_columns): New prototype; delete
3533         `emchar_string_displayed_columns'.
3534         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3535         `convert_charc_string_into_bufbyte_dynarr'.
3536         (convert_charc_string_into_malloced_string): New prototype; delete
3537         `convert_charc_string_into_malloced_string'.
3538
3539 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3540
3541         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3542
3543 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3544
3545         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3546
3547         * char-ucs.h: Use <short> for <Charset_ID>.
3548
3549         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3550         <Charset_ID>.
3551
3552 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3553
3554         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3555         to 0.16.
3556
3557 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3558
3559         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3560         variable.
3561         (Qmorohashi_daikanwa): New variable.
3562         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3563         for `morohashi-daikanwa' attribute.
3564         (Fget_char_attribute): Likewise.
3565         (Fput_char_attribute): Likewise.
3566         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3567         has the same value of `ideograph-daikanwa'.
3568         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3569         (vars_of_mule_charset): Setup
3570         `Vcharacter_morohashi_daikanwa_table'.
3571
3572 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3573
3574         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3575         attributes.
3576         (add_charset_to_list_mapper): Add `key' instead of
3577         `XCHARSET_NAME (value)' to return aliases.
3578
3579 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3580
3581         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3582         variable.
3583         (Vcharacter_ideographic_strokes_table): New variable.
3584         (Qideographic_radical): New variable.
3585         (Qideographic_strokes): New variable.
3586         (Fchar_attribute_alist): Use
3587         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3588         attribute; use `Vcharacter_ideographic_strokes_table' for
3589         `ideographic-strokes' attribute.
3590         (Fget_char_attribute): Likewise.
3591         (Fput_char_attribute): Likewise.
3592         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3593         `ideographic-strokes'.
3594         (vars_of_mule_charset): Setup
3595         `Vcharacter_ideographic_radical_table' and
3596         `Vcharacter_ideographic_strokes_table'.
3597
3598 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3599
3600         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3601         (Qtotal_strokes): New variable.
3602         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3603         `total-strokes' attribute.
3604         (Fget_char_attribute): Likewise.
3605         (Fput_char_attribute): Likewise.
3606         (syms_of_mule_charset): Add new symbol `total-strokes'.
3607         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3608
3609 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3610
3611         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3612         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3613         are found.
3614         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3615         `->decomposition' attribute.
3616         (Fput_char_attribute): Likewise.
3617         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3618
3619 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3620
3621         * mule-charset.c (decoding_table_check_elements): New function.
3622         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3623
3624 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3625
3626         * mule-charset.c (Fset_charset_mapping_table): Use
3627         `put_char_ccs_code_point'.
3628
3629 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3630
3631         * mule-charset.c (decoding_table_put_char): New inline function.
3632         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3633
3634 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3635
3636         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3637         (XCHARSET_BYTE_SIZE): New macro.
3638         (decoding_table_remove_char): New inline function.
3639         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3640         `decoding_table_remove_char'.
3641         (remove_char_ccs): Use `decoding_table_remove_char'.
3642         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3643
3644 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3645
3646         * mule-charset.c (Vcharacter_name_table): New variable.
3647         (Qname): New variable.
3648         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3649         attribute.
3650         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3651         `Vcharacter_name_table' for `name' attribute.
3652         (Fremove_char_attribute): Use function `remove_char_ccs'.
3653         (put_char_ccs_code_point): New function.
3654         (remove_char_ccs): New function.
3655         (syms_of_mule_charset): Add new symbol `name'.
3656         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3657
3658 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3659
3660         * mule-charset.c (make_byte_table): Add new argument `older'.
3661         (make_char_id_table): Likewise.
3662         (copy_char_id_table): Comment out because it is not used.
3663         (put_char_id_table): Modify for `make_byte_table'.
3664         (Fput_char_attribute): Make encoding_table as older object;
3665         inherit older bit of `Vcharacter_composition_table'.
3666         (mark_charset): Don't mark `cs->encoding_table'.
3667         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3668         normal object; make `Vcharacter_composition_table' as an older
3669         object; delete staticpro for `Vcharacter_composition_table'; make
3670         `Vcharacter_variant_table' as a normal object.
3671
3672         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3673         (mark_object): Don't check older object in UTF-2000.
3674
3675         * lrecord.h (struct lrecord_header): Add new member `older' in
3676         UTF-2000.
3677         (set_lheader_implementation): Setup `SLI_header->older' in
3678         UTF-2000.
3679         (set_lheader_older_implementation): New macro in UTF-2000.
3680         (OLDER_RECORD_P): New macro in UTF-2000.
3681         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3682         (alloc_older_lcrecord): New prototype in UTF-2000.
3683         (alloc_older_lcrecord_type): New macro in UTF-2000.
3684
3685 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3686
3687         * mule-charset.c (byte_table_description): Use
3688         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3689         (char_id_table_description): Delete bogus `, 1'.
3690         (Fget_char_attribute): Refer encoding_table of each coded-charset
3691         to get value of coded-charset attribute of a character.
3692         (Fput_char_attribute): Use `make_older_vector' instead of
3693         `make_vector'; use encoding_table of each coded-charset to store
3694         value of coded-charset attribute of a character.
3695         (Fremove_char_attribute): Use encoding_table of each coded-charset
3696         to store value of coded-charset attribute of a character.
3697         (mark_charset): Mark `cs->encoding_table'; don't mark
3698         `cs->decoding_table'.
3699         (charset_description): Add description of new member
3700         `encoding_table'.
3701         (make_charset): Initialize `encoding_table'.
3702
3703         * char-ucs.h (struct Lisp_Charset): Add new member
3704         `encoding_table'.
3705         (CHARSET_ENCODING_TABLE): New macro.
3706         (XCHARSET_ENCODING_TABLE): New macro.
3707         (charset_code_point): New implementation.
3708         (encode_char_1): Likewise.
3709
3710         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3711         (disksave_object_finalization_1): Call finalizers of
3712         `all_older_lcrecords' in UTF-2000.
3713         (make_older_vector): New function in UTF-2000.
3714         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3715         UTF-2000.
3716
3717         * lisp.h (make_older_vector): New prototype in UTF-2000.
3718
3719 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3720
3721         * lrecord.h (enum lrecord_type): Rename
3722         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3723
3724         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3725         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3726         `get_char_code_table'.
3727
3728         * mule-charset.c (mark_char_id_table): Renamed from
3729         `mark_char_code_table'.
3730         (char_id_table_equal): Renamed from `char_code_table_equal'.
3731         (char_id_table_hash): Renamed from `char_code_table_hash'.
3732         (make_char_id_table): Renamed from `make_char_code_table'.
3733         (copy_char_id_table): Renamed from `copy_char_code_table'.
3734         (get_char_id_table): Renamed from `get_char_code_table'.
3735         (put_char_id_table): Renamed from `put_char_code_table'.
3736         (to_char_id): Renamed from `to_char_code'.
3737
3738         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3739         `Lisp_Char_Code_Table'.
3740         (char_id_table): Renamed from `char_code_table'.
3741         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3742         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3743         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3744         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3745         (get_char_id_table): Renamed from `get_char_code_table'.
3746
3747 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3748
3749         * lrecord.h (enum lrecord_type): Rename
3750         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3751
3752         * mule-charset.c (mark_byte_table): Renamed from
3753         `mark_char_byte_table'.
3754         (byte_table_equal): Renamed from `char_byte_table_equal'.
3755         (byte_table_hash): Renamed from `byte_table_hash'.
3756         (make_byte_table): Renamed from `make_byte_table'.
3757         (copy_byte_table): Renamed from `copy_char_byte_table'.
3758
3759         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3760         `Lisp_Char_Byte_Table'.
3761         (byte_table): Renamed from `char_byte_table'.
3762         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3763         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3764         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3765         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3766
3767 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3768
3769         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3770         (dfc_convert_to_internal_format): Likewise.
3771         
3772         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3773         * text-coding.c (Fcoding_system_alias_p): New function.
3774         * text-coding.c (Fcoding_system_aliasee): New function.
3775         * text-coding.c (append_suffix_to_symbol): New function.
3776         * text-coding.c (dangling_coding_system_alias_p): New function.
3777         * text-coding.c (Ffind_coding_system):
3778         * text-coding.c (Fcopy_coding_system):
3779         * text-coding.c (encode_coding_no_conversion):
3780         * text-coding.c (syms_of_file_coding):
3781         * text-coding.c (vars_of_file_coding):
3782         Rewrite coding system alias code.
3783         Allow nested aliases, like symbolic links.
3784         Allow redefinition of coding system aliases.
3785         Prevent existence of dangling coding system aliases.
3786         Eliminate convert_to_external_format.
3787         Eliminate convert_to_internal_format.
3788         
3789         * text-coding.c: Change enum eol_type to eol_type_t.
3790
3791 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3792
3793         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3794         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3795
3796         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3797         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3798
3799 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3800
3801         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3802         `ideograph-daikanwa'.
3803
3804         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3805         (Vcharset_ucs_bmp): Likewise.
3806         (Vcharset_mojikyo): Add new extern variable definition.
3807         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3808         (Vcharset_latin_iso8859_3): Likewise.
3809         (Vcharset_latin_iso8859_4): Likewise.
3810         (Vcharset_latin_iso8859_9): Likewise.
3811         (Vcharset_latin_viscii_lower): Likewise.
3812         (Vcharset_latin_viscii_upper): Likewise.
3813         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3814         `mojikyo' code-point is used to decode.
3815         (encode_char_2): New function [to convert `mojikyo' code-point to
3816         Mojikyo font encoding].
3817         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3818         (breakup_char_1): Likewise.
3819         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3820
3821 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3822
3823         * text-coding.c (Fmake_coding_system): Add document about
3824         `disable-composition' property.
3825
3826 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3827
3828         * text-coding.c (Qdisable_composition): New variable; delete
3829         `Qcomposite'.
3830         (Fmake_coding_system): Add new property `disable-composite';
3831         delete property `composite'.
3832         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3833         instead of `!CODING_SYSTEM_COMPOSITE'.
3834         (syms_of_file_coding): Add new symbol `disable-composition';
3835         delete symbol `composite'.
3836
3837         * file-coding.h (struct Lisp_Coding_System): Add
3838         `disable_composition'; delete `enable_composition'.
3839         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3840         `CODING_SYSTEM_COMPOSITE'.
3841         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3842         `XCODING_SYSTEM_COMPOSITE'.
3843
3844 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3845
3846         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3847         to 0.15.
3848
3849 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3850
3851         * text-coding.c (Qcomposite): New variable.
3852         (Fmake_coding_system): Add new property `composite'.
3853         (struct decoding_stream): Add `combined_char_count',
3854         `combined_chars' and `combining_table' in UTF-2000.
3855         (COMPOSE_FLUSH_CHARS): New macro.
3856         (COMPOSE_ADD_CHAR): New macro.
3857         (reset_decoding_stream): Reset `str->combined_char_count' and
3858         `str->combining_table' in UTF-2000.
3859         (decode_coding_iso2022): Modify for character-decomposition.
3860         (syms_of_file_coding): Add new symbol `composite'.
3861
3862 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3863
3864         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3865         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3866         of `Vcharacter_composition_table' if `->decomposition' property
3867         has only 1 element.
3868         (Qlatin_tcvn5712): New variable.
3869         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3870         (complex_vars_of_mule_charset): Add new coded-charset
3871         `latin-tcvn5712'.
3872
3873         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3874
3875 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3876
3877         * file-coding.h (struct Lisp_Coding_System): Add
3878         `enable_composition'.
3879         (CODING_SYSTEM_COMPOSITE): New macro.
3880         (XCODING_SYSTEM_COMPOSITE): New macro.
3881
3882 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3883
3884         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3885
3886 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3887
3888         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3889         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3890
3891 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3892
3893         * mule-charset.c (Vcharset_mojikyo): New variable.
3894         (Fdefine_char): Don't use coded-charset which does not have
3895         non-builtin character range to allocate character-id.
3896         (Qmojikyo): New variable.
3897         (syms_of_mule_charset): Add new symbol `mojikyo'.
3898         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3899
3900         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3901         (LEADING_BYTE_MOJIKYO): New macro.
3902         (MIN_CHAR_MOJIKYO): New macro.
3903         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3904         (MAX_CHAR_MOJIKYO): New macro.
3905
3906 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3907
3908         * mule-charset.c (remove_char_attribute): Fixed.
3909
3910 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3911
3912         * mule-charset.c (remove_char_attribute): New function.
3913         (Fremove_char_attribute): New function.
3914         (encode_builtin_char_1): Comment out builtin-support for
3915         greek-iso8859-7 and cyrillic-iso8859-5.
3916         (Fdecode_char): Check `code' is an integer.
3917         (syms_of_mule_charset): Add `remove-char-attribute'.
3918         (MIN_CHAR_GREEK): Deleted.
3919         (MAX_CHAR_GREEK): Likewise.
3920         (MIN_CHAR_CYRILLIC): Likewise.
3921         (MAX_CHAR_CYRILLIC): Likewise.
3922         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3923         MAX_CHAR_GREEK for `greek-iso8859-7'.
3924
3925         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3926         (MAX_CHAR_GREEK): Likewise.
3927         (MIN_CHAR_CYRILLIC): Likewise.
3928         (MAX_CHAR_CYRILLIC): Likewise.
3929
3930 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3931
3932         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3933         format is used without `ucs' property.
3934         (Fdecode_char): Fix problem with GR representation.
3935         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3936         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3937
3938 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3939
3940         * mule-charset.c (make_builtin_char): New function.
3941         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3942         (Fset_charset_mapping_table): Modify for new representation of
3943         code-point.
3944         (Fdecode_char): New function.
3945         (syms_of_mule_charset): Add new builtin function `decode-char' in
3946         UTF-2000.
3947
3948         * char-ucs.h (make_builtin_char): New prototype.
3949         (DECODE_CHAR): New inline function.
3950         (MAKE_CHAR): Use `DECODE_CHAR'.
3951
3952 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3953
3954         * text-coding.c (parse_charset_conversion_specs): Use
3955         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3956         `XCHARSET_TYPE'.
3957         (iso2022_designate): Likewise.
3958
3959         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3960         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3961
3962         * mule-charset.c (Vcharset_ucs): New variable.
3963         (print_charset): Change design; use `CHARSET_CHARS' and
3964         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3965         (make_charset): Change signature to specify `chars' and
3966         `dimension' instead of `type'.
3967         (range_charset_code_point): Modify for 256^n-set.
3968         (encode_builtin_char_1): Encode as `ucs' in default.
3969         (Fmake_charset): Modify for `make_charset'.
3970         (Fmake_reverse_direction_charset): Likewise.
3971         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3972         UTF-2000.
3973         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3974         for `make_charset'.
3975
3976         * char-ucs.h (Vcharset_ucs): New variable.
3977         (LEADING_BYTE_UCS): New macro.
3978         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3979         and `chars' to `unsigned short' from `unsigned int'.
3980         (CHARSET_TYPE): Deleted.
3981         (XCHARSET_TYPE): Deleted.
3982
3983 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3984
3985         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3986
3987         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3988         (ENCODE_CHAR): New macro.
3989
3990 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3991
3992         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3993         to 0.14 (Kawachi-Katakami).
3994
3995 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3996
3997         * text-coding.c (char_encode_shift_jis): Modify for
3998         `charset_code_point'.
3999         (char_encode_iso2022): Likewise.
4000
4001         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4002         (integer) instead of list of <Lisp_Object>s (integers) as the
4003         format of code-point of a coded-charset.
4004         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4005         (encode_builtin_char_1): New function; delete
4006         `split_builtin_char'.
4007         (charset_code_point): Return <int> instead of <Lisp_Object>.
4008         (Fsplit_char): Don't use `SPLIT_CHAR'.
4009
4010         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4011         prototype for `split_builtin_char'.
4012         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4013         (charset_code_point): Likewise.
4014         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4015         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4016
4017 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4018
4019         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4020         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4021
4022 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4023
4024         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4025
4026         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4027         (MAX_CHAR_OBS_94x94): Deleted.
4028
4029 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4030
4031         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4032
4033         * char-ucs.h (MAX_CHAR_BMP): New macro.
4034
4035 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4036
4037         * text-coding.c: Sync with r21-2-24.
4038
4039 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4040
4041         * file-coding.c: Modify for UTF-2000.
4042
4043 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4044
4045         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4046         to 0.13 (Takaida).
4047
4048 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4049
4050         * mule-charset.c (split_builtin_char): Delete builtin support for
4051         `katakana-jisx0201'.
4052         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4053         BMP area in builtin representation.
4054
4055         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4056         `Vcharset_katakana_jisx0201'.
4057
4058 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4059
4060         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4061         (Qisolated): New variable.
4062         (Qinitial): New variable.
4063         (Qmedial): New variable.
4064         (Qfinal): New variable.
4065         (Qvertical): New variable.
4066         (Qsmall): New variable.
4067         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4068         `Qvertical' and `Qsmall'.
4069         (Qmojikyo_pj_[1 .. 21]): New variable.
4070         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4071         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4072         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4073         .. 21]'.
4074
4075 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4076
4077         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4078         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4079         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4080
4081 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4082
4083         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4084         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4085         BMP.
4086         (Qjapanese_jisx0208_1990): New variable.
4087         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4088         (complex_vars_of_mule_charset): Add new coded-charset
4089         `japanese-jisx0208-1990'.
4090
4091         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4092         (MIN_CHAR_JIS_X0208_1990): New macro.
4093         (MAX_CHAR_JIS_X0208_1990): New macro.
4094
4095 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4096
4097         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4098         coded-charset is not found.
4099
4100 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4101
4102         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4103         (Fdefine_char): Use `Fmake_char'.
4104
4105 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4106
4107         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4108         (Vcharset_hiragana_jisx0208): Deleted.
4109         (Vcharset_katakana_jisx0208): Deleted.
4110         (Qideograph_daikanwa): New variable.
4111         (Qhiragana_jisx0208): Deleted.
4112         (Qkatakana_jisx0208): Deleted.
4113         (split_builtin_char): Split `ideograph-daikanwa'.
4114         (Fsplit_char): New implementation for UTF-2000.
4115         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4116         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4117         (complex_vars_of_mule_charset): Add new coded-charset
4118         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4119         `katakana-jisx0208'.
4120
4121         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4122         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4123         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4124         (MIN_CHAR_DAIKANWA): New macro.
4125         (MAX_CHAR_DAIKANWA): New macro.
4126
4127 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4128
4129         * data.c (Fstring_to_number): Don't recognize floating point if
4130         base is not 10.
4131
4132 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4133
4134         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4135
4136 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4137
4138         * mule-charset.c (Qsquare): New variable.
4139         (to_char_code): Add `Qsquare'.
4140         (syms_of_mule_charset): Add new symbol `square'.
4141
4142 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4143
4144         * mule-charset.c (Qcircle): New variable.
4145         (to_char_code): Add `Qcircle'.
4146         (syms_of_mule_charset): Add new symbol `circle'.
4147
4148 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4149
4150         * mule-charset.c (Qfont): New variable.
4151         (to_char_code): Add `Qfont'.
4152         (syms_of_mule_charset): Add new symbol `font'.
4153
4154 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4155
4156         * mule-charset.c (Qsub): New variable.
4157         (to_char_code): Add `Qsub'.
4158         (syms_of_mule_charset): Add new symbol `sub'.
4159
4160 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4161
4162         * mule-charset.c (Fput_char_attribute): Convert each element of
4163         VALUE to GL position if ATTRIBUTE is a GR-set,
4164
4165 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4166
4167         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4168         coded-charset is a GR-set.
4169
4170 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4171
4172         * mule-charset.c (Fput_char_attribute): Check each element of
4173         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4174
4175 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4176
4177         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4178         UTF-2000.
4179         (Qethiopic_ucs): New variable in UTF-2000.
4180         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4181         (complex_vars_of_mule_charset): Add new coded-charset
4182         `ethiopic-ucs' in UTF-2000.
4183
4184         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4185         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4186         9)'.
4187         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4188         10)'.
4189         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4190
4191 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4192
4193         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4194         `ascii'.
4195
4196 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4197
4198         * mule-charset.c (Vcharacter_variant_table): New variable.
4199         (Q_ucs): New variable.
4200         (Fchar_variants): New function.
4201         (Fput_char_attribute): Register `->ucs' value to
4202         `Vcharacter_variant_table'.
4203         (syms_of_mule_charset): Add new function `char-variants' and new
4204         symbol `->ucs'.
4205         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4206
4207 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4208
4209         * mule-charset.c (get_char_code_table): Allow negative character
4210         code.
4211         (put_char_code_table): Likewise.
4212         (Vcharacter_composition_table): New variable.
4213         (Q_decomposition): New variable.
4214         (Qwide): New variable.
4215         (Qnarrow): New variable.
4216         (Qcompat): New variable.
4217         (QnoBreak): New variable.
4218         (Qsuper): New variable.
4219         (Qfraction): New variable.
4220         (to_char_code): New function.
4221         (Fget_composite_char): New function.
4222         (Fput_char_attribute): Register `->decomposition' value to
4223         `Vcharacter_composition_table'.
4224         (syms_of_mule_charset): Add new function `get-composite-char', new
4225         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4226         `super' and `fraction'.
4227         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4228
4229 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4230
4231         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4232         character; copy the return value.
4233
4234 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4235
4236         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4237
4238         * mule-charset.c (range_charset_code_point): Must use make_int.
4239         (split_builtin_char): New function.
4240
4241 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4242
4243         * mule-charset.c (char_byte_table): Change name from
4244         "char-code-table" to "char-byte-table".
4245         (mark_char_code_table): New function.
4246         (char_code_table_equal): New function.
4247         (char_code_table_hash): New function.
4248         (char_code_table_description): New constant.
4249         (char_code_table): New type.
4250         (make_char_code_table): New function.
4251         (copy_char_code_table): New function.
4252         (get_char_code_table): Modify for `char_code_table' type.
4253         (put_char_code_table): Likewise.
4254         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4255         (Kashiwara).
4256
4257         * char-ucs.h (char_code_table): New type.
4258         (XCHAR_CODE_TABLE): New macro.
4259         (XSETCHAR_CODE_TABLE): New macro.
4260         (CHAR_CODE_TABLE_P): New macro.
4261         (GC_CHAR_CODE_TABLE_P): New macro.
4262         (struct Lisp_Char_Code_Table): New structure.
4263
4264 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4265
4266         * mule-charset.c (Fmake_charset): Setup byte_offset for
4267         {94|96}^n-set.
4268
4269 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4270
4271         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4272         character.
4273
4274 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4275
4276         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4277         is found.
4278
4279 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4280
4281         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4282         charset, it is regarded as a charset.
4283         (put_char_attribute): New function in UTF-2000.
4284         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4285         charset, mapping-table of the charset is modified.
4286         (Fdefine_char): New function in UTF-2000.
4287         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4288         `Fput_char_attribute'.
4289         (syms_of_mule_charset): Add new function `define-char' and new
4290         symbol `ucs' in UTF-2000.
4291         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4292
4293 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4294
4295         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4296         non-UTF-2000 configuration.
4297
4298 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4299
4300         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4301         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4302
4303         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4304         deleted.
4305         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4306         (Fset_charset_mapping_table): Likewise.
4307
4308         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4309         (CHARSET_ENCODING_TABLE): Delete.
4310         (XCHARSET_ENCODING_TABLE): Delete.
4311         (charset_code_point): New interface.
4312
4313 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4314
4315         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4316         instead of `charset_get_byte1' and `charset_get_byte2'.
4317
4318         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4319         (charset_get_byte2): Deleted.
4320
4321 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4322
4323         * char-ucs.h (SPLIT_CHAR): New inline function.
4324         (breakup_char_1): Use `SPLIT_CHAR'.
4325
4326         * mule-charset.c (range_charset_code_point): New function.
4327         (charset_code_point): New function.
4328
4329         * char-ucs.h (range_charset_code_point): New interface.
4330         (breakup_char_1): Use `range_charset_code_point'.
4331
4332 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4333
4334         * mule-charset.c (Fmake_charset): Delete unused local variable
4335         `code_offset'.
4336
4337         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4338         (breakup_char_1): Find a charset and code-point in
4339         `Vcharacter_attribute_table'.
4340
4341 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4342
4343         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4344         to 0.10 (Yao).
4345
4346 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4347
4348         * mule-charset.c (Vcharacter_attribute_table): New variable.
4349         (Fchar_attribute_alist): New function.
4350         (Fget_char_attribute): New function.
4351         (Fput_char_attribute): New function.
4352         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4353         too.
4354         (syms_of_mule_charset): Add new function `char-attribute-alist',
4355         `get-char-attribute' and `put-char-attribute'.
4356         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4357
4358 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4359
4360         * mule-charset.c (Fmake_charset): Just use
4361         `get_unallocated_leading_byte'.
4362
4363         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4364         sets; don't use final-byte based number for private sets.
4365
4366 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4367
4368         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4369         integer.
4370
4371 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4372
4373         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4374         to 0.9.
4375
4376 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4377
4378         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4379         of `CHAR_LEADING_BYTE' in UTF-2000.
4380
4381         * insdel.c (find_charsets_in_bufbyte_string): Use
4382         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4383         (find_charsets_in_emchar_string): Likewise.
4384
4385         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4386         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4387
4388         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4389         (CHAR_CHARSET_ID): New macro.
4390
4391 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4392
4393         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4394         charset-id - MIN_LEADING_BYTE.
4395         (put_char_table): Likewise.
4396
4397 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4398
4399         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4400         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4401         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4402         (CHARSET_ID_OFFSET): New macro.
4403         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4404         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4405         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4406         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4407         4).
4408         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4409         5).
4410         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4411         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4412         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4413         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4414         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4415
4416 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4417
4418         * mule-charset.c (next_allocated_leading_byte): New variable in
4419         UTF-2000.
4420         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4421         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4422         (get_unallocated_leading_byte): Simply use
4423         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4424         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4425         UTF-2000.
4426
4427         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4428         (MAX_LEADING_BYTE_PRIVATE): New macro.
4429         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4430         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4431
4432 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4433
4434         * mule-charset.c (Fmake_charset): Allocate final-byte based
4435         charset-id for 94-set, 96-set and 94x94-set.
4436
4437 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4438
4439         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4440         ambiguous `else'.
4441         (Fmake_charset): Likewise.
4442         (complex_vars_of_mule_charset): Modify the font registry of
4443         `ucs-bmp' not to match `Ethiopic-Unicode'.
4444
4445 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4446
4447         * mule-charset.c (complex_vars_of_mule_charset): Add font
4448         registory of `ucs-bmp'.
4449
4450 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4451
4452         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4453         coded-charsets in `default-coded-charset-priority-list' when
4454         breaking up a character.
4455
4456         * mule-charset.c (Vcharset_latin_viscii): New variable.
4457         (Qlatin_viscii): New variable.
4458         (make_charset): Don't use `decoding_table'.
4459         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4460         byte_offset.
4461         (Fset_charset_mapping_table): New implementation.
4462         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4463         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4464         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4465         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4466         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4467         charset `latin_viscii'.
4468
4469         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4470         (CHARSET_TYPE_94X94): Change to 1 from 2.
4471         (CHARSET_TYPE_96): Change to 2 from 1.
4472         (CHARSET_TYPE_128): New macro.
4473         (CHARSET_TYPE_128X128): Change to 5 from 4.
4474         (CHARSET_TYPE_256): New macro.
4475         (CHARSET_TYPE_256X256): Change to 7 from 5.
4476         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4477
4478 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4479
4480         * text-coding.c (char_encode_shift_jis): Refer
4481         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4482         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4483
4484         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4485         (char_byte_table_equal): New function in UTF-2000.
4486         (char_byte_table_hash): New function in UTF-2000.
4487         (char_byte_table_description): New constant in UTF-2000.
4488         (char_byte_table): New type in UTF-2000.
4489         (make_char_byte_table): New function in UTF-2000.
4490         (copy_char_byte_table): New function in UTF-2000.
4491         (make_char_code_table): New macro in UTF-2000.
4492         (get_char_code_table): New function in UTF-2000.
4493         (put_char_code_table): New function in UTF-2000.
4494         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4495         (charset_description): Add setting in UTF-2000.
4496         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4497         `CHARSET_TO_BYTE1_TABLE(cs)'.
4498         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4499         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4500         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4501         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4502         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4503         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4504         `CHARSET_TO_BYTE2_TABLE(cs)'.
4505
4506         * char-ucs.h (char_byte_table): New type.
4507         (XCHAR_BYTE_TABLE): New macro.
4508         (XSETCHAR_BYTE_TABLE): New macro.
4509         (CHAR_BYTE_TABLE_P): New macro.
4510         (GC_CHAR_BYTE_TABLE_P): New macro.
4511         (struct Lisp_Char_Byte_Table): New structure.
4512         (get_char_code_table): New interface.
4513         (Emchar_to_byte_table): Deleted.
4514         (get_byte_from_character_table): Deleted.
4515         (struct Lisp_Charset): Add `encoding_table'; delete
4516         `to_byte1_table' and `to_byte2_table'.
4517         (CHARSET_ENCODING_TABLE): New macro.
4518         (CHARSET_TO_BYTE1_TABLE): Deleted.
4519         (CHARSET_TO_BYTE2_TABLE): Deleted.
4520         (XCHARSET_ENCODING_TABLE): New macro.
4521         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4522         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4523
4524 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4525
4526         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4527         `vietnamese-viscii-*'.
4528
4529 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4530
4531         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4532         (Qvietnamese_viscii_upper): New variable.
4533         (Fdefine_charset_alias): New function.
4534         (syms_of_mule_charset): Add new function `define-charset-alias'.
4535         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4536         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4537         `latin-viscii-*'.
4538
4539 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4540
4541         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4542         (MAX_CHAR_OBS_94x94): New macro.
4543         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4544         for 94x94 sets.
4545
4546         * mule-charset.c (put_byte_from_character_table): Change unit size
4547         from 128 to 256.
4548         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4549         not defined.
4550         (Fmake_reverse_direction_charset): Modify dummy argument of
4551         `make_charset' for non-UTF-2000 environment.
4552
4553 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4554
4555         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4556
4557         * mule-charset.c (destroy_byte_from_character_table): New macro.
4558         (latin_jisx0201_to_ucs): Deleted.
4559         (latin_iso8859_2_to_ucs): Deleted.
4560         (latin_iso8859_3_to_ucs): Deleted.
4561         (latin_iso8859_4_to_ucs): Deleted.
4562         (latin_iso8859_9_to_ucs): Deleted.
4563         (latin_viscii_lower_to_ucs): Deleted.
4564         (latin_viscii_upper_to_ucs): Deleted.
4565         (mark_charset): Mark `cs->decoding_table'.
4566         (Fcharset_mapping_table): Fix DOC-string.
4567         (Fset_charset_mapping_table): New function.
4568         (syms_of_mule_charset): Add nwe function
4569         `set-charset-mapping-table'.
4570         (complex_vars_of_mule_charset): Don't setup and use
4571         `latin_*_to_ucs'.
4572
4573 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4574
4575         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4576         charset.
4577
4578 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4579
4580         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4581         (Vcharset_katakana_jisx0208): New variable.
4582         (Qhiragana_jisx0208): New variable.
4583         (Qkatakana_jisx0208): New variable.
4584         (make_charset): Add new argument `byte_offset'.
4585         (charset_get_byte1): Modify for new coded-charset definition; use
4586         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4587         `XCHARSET_BYTE_OFFSET'.
4588         (Fmake_charset): Modify for `make_charset'.
4589         (Fmake_reverse_direction_charset): Likewise.
4590         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4591         `katakana-jisx0208'.
4592         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4593         `.'  in font registry of charset `katakana-jisx0201',
4594         `latin-jisx0201', `vietnamese-viscii-lower' and
4595         `vietnamese-viscii-upper'; modify DOC-string of charset
4596         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4597         registry of charset `japanese-jisx0208' not to use font for JIS
4598         X0208:1990; add new charset `hiragana-jisx0208' and
4599         `katakana-jisx0208'.
4600
4601         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4602         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4603         (struct Lisp_Charset): Add `byte_offset'.
4604         (CHARSET_BYTE_OFFSET): New macro.
4605         (XCHARSET_UCS_MIN): New macro.
4606         (XCHARSET_UCS_MAX): New macro.
4607         (XCHARSET_CODE_OFFSET): New macro.
4608         (XCHARSET_BYTE_OFFSET): New macro.
4609         (MIN_CHAR_HIRAGANA): New macro.
4610         (MAX_CHAR_HIRAGANA): New macro.
4611         (MIN_CHAR_KATAKANA): New macro.
4612         (MAX_CHAR_KATAKANA): New macro.
4613         (MAKE_CHAR): Modify for new coded-charset definition; use
4614         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4615         `XCHARSET_BYTE_OFFSET'.
4616
4617 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4618
4619         * mule-charset.c (CHAR96): Deleted.
4620         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4621         <Lisp_Object>.
4622         (latin_iso8859_2_to_ucs): Likewise.
4623         (latin_iso8859_3_to_ucs): Likewise.
4624         (latin_iso8859_4_to_ucs): Likewise.
4625         (latin_iso8859_9_to_ucs): Likewise.
4626         (latin_viscii_lower_to_ucs): Likewise.
4627         (latin_viscii_upper_to_ucs): Likewise.
4628         (latin_tcvn5712_to_ucs): Commented out.
4629         (make_charset): Change type of argument `decoding_table' from
4630         <Emchar*> to <Lisp_Object> [vector of characters].
4631         (Fmake_charset): Modify for `make_charset'.
4632         (Fmake_reverse_direction_charset): Likewise.
4633         (Fcharset_mapping_table): New function in UTF-2000.
4634         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4635         UTF-2000.
4636         (complex_vars_of_mule_charset): Modify for type change of
4637         `*_to_ucs'; modify for `make_charset'.
4638
4639         * char-ucs.h (struct Lisp_Charset): Change type of
4640         `decoding_table' from <Emchar*> to <Lisp_Object>.
4641         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4642
4643 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4644
4645         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4646         error with non-UTF-2000-Mule.
4647
4648 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4649
4650         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4651         in lisp again].
4652         (Vcharset_chinese_cns11643_4): Likewise.
4653         (Vcharset_chinese_cns11643_5): Likewise.
4654         (Vcharset_chinese_cns11643_6): Likewise.
4655         (Vcharset_chinese_cns11643_7): Likewise.
4656         (Qchinese_cns11643_3): Likewise.
4657         (Qchinese_cns11643_4): Likewise.
4658         (Qchinese_cns11643_5): Likewise.
4659         (Qchinese_cns11643_6): Likewise.
4660         (Qchinese_cns11643_7): Likewise.
4661         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4662         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4663         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4664         (complex_vars_of_mule_charset): Likewise.
4665
4666 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4667
4668         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4669         96-set.
4670         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4671         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4672
4673 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4674
4675         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4676         0xFF60.
4677         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4678         (breakup_char_1): Likewise.
4679
4680         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4681         one of them includes the specified character.
4682
4683 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4684
4685         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4686
4687 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4688
4689         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4690
4691 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4692
4693         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4694         definition for non-UTF-2000 Mule.
4695         (latin_iso8859_3_to_ucs): Likewise.
4696         (latin_iso8859_4_to_ucs): Likewise.
4697         (latin_iso8859_9_to_ucs): Likewise.
4698         (latin_jisx0201_to_ucs): Likewise.
4699         (MIN_CHAR_THAI): Likewise.
4700         (MAX_CHAR_THAI): Likewise.
4701         (MIN_CHAR_GREEK): Likewise.
4702         (MAX_CHAR_GREEK): Likewise.
4703         (MIN_CHAR_HEBREW): Likewise.
4704         (MAX_CHAR_HEBREW): Likewise.
4705         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4706         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4707         (MIN_CHAR_CYRILLIC): Likewise.
4708         (MAX_CHAR_CYRILLIC): Likewise.
4709
4710 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4711
4712         * char-ucs.h (breakup_char_1): Use
4713         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4714         thai-tis620 and katakana-jisx0201 area.
4715
4716 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4717
4718         * char-ucs.h (breakup_char_1): Use
4719         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4720         area.
4721
4722         * text-coding.c (reset_encoding_stream): Fixed.
4723         (char_encode_ucs4): Delete `& 255'.
4724
4725         * char-ucs.h (breakup_char_1): Use
4726         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4727
4728 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4729
4730         * file-coding.c (Fmake_coding_system): Don't set up
4731         `codesys->fixed.size'.
4732         (encode_coding_no_conversion): Don't refer
4733         `str->codesys->fixed.size'.
4734
4735 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4736
4737         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4738         (latin_a_char_to_byte1): Deleted.
4739         (latin_a_char_to_byte2): Deleted.
4740
4741 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4742
4743         * mule-charset.c (make_charset): Add new argument `ucs_min',
4744         `ucs_max' and `code_offset'.
4745         (charset_get_byte1): New implementation [delete specific charset
4746         depended implementations].
4747         (Fmake_charset): Modify for `make_charset'.
4748         (Fmake_reverse_direction_charset): Likewise.
4749         (complex_vars_of_mule_charset): Likewise.
4750
4751         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4752         `code_offset'.
4753         (CHARSET_UCS_MIN): New macro.
4754         (CHARSET_UCS_MAX): New macro.
4755         (CHARSET_CODE_OFFSET): New macro.
4756         (MAKE_CHAR): Delete charset depended definitions [except
4757         katakana-jisx0201].
4758
4759 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4760
4761         * char-ucs.h (breakup_char_1): Use
4762         `Vdefault_coded_charset_priority_list' for C0-Controls,
4763         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4764
4765 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4766
4767         * char-ucs.h (charset_get_byte1): New function.
4768         (XCHARSET_GET_BYTE1): Deleted.
4769         (charset_get_byte2): New function.
4770         (XCHARSET_GET_BYTE2): Deleted.
4771         (Vdefault_coded_charset_priority_list): New external variable.
4772         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4773         `Vdefault_preferred_coded_charset_list'.
4774
4775         * mule-charset.c (charset_get_byte1): New function.
4776         (charset_get_byte2): New function.
4777         (Vdefault_coded_charset_priority_list): New variable.
4778         (vars_of_mule_charset): Add new variable
4779         `default-coded-charset-priority-list'.
4780
4781 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4782
4783         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4784         (XCHARSET_GET_BYTE2): New inline function.
4785         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4786         `XCHARSET_GET_BYTE2'.
4787
4788 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4789
4790         * mule-charset.c (make_charset): Initialize
4791         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4792         NULL if table is not defined.
4793
4794 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4795
4796         * text-coding.c (char_encode_shift_jis): Use
4797         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4798         `ucs_to_latin_jisx0201'.
4799
4800         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4801         (ucs_to_latin_iso8859_2): Deleted.
4802         (ucs_to_latin_iso8859_3): Deleted.
4803         (ucs_to_latin_iso8859_4): Deleted.
4804         (ucs_to_latin_iso8859_9): Deleted.
4805         (ucs_to_latin_viscii_lower): Deleted.
4806         (ucs_to_latin_viscii_upper): Deleted.
4807         (ucs_to_latin_tcvn5712): Deleted.
4808         (make_charset): Add new argument `decoding_table'; set up
4809         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4810         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4811         `decoding_table' is defined in UTF-2000.
4812         (Fmake_charset): Modify for `make_charset'.
4813         (Fmake_reverse_direction_charset): Likewise.
4814         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4815         and `GENERATE_96_SET'.
4816
4817         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4818         (ucs_to_latin_jisx0201): Deleted.
4819         (latin_iso8859_2_to_ucs): Deleted.
4820         (ucs_to_latin_iso8859_2): Deleted.
4821         (latin_iso8859_3_to_ucs): Deleted.
4822         (ucs_to_latin_iso8859_3): Deleted.
4823         (latin_iso8859_4_to_ucs): Deleted.
4824         (ucs_to_latin_iso8859_4): Deleted.
4825         (latin_iso8859_9_to_ucs): Deleted.
4826         (ucs_to_latin_iso8859_9): Deleted.
4827         (latin_viscii_lower_to_ucs): Deleted.
4828         (ucs_to_latin_viscii_lower): Deleted.
4829         (latin_viscii_upper_to_ucs): Deleted.
4830         (ucs_to_latin_viscii_upper): Deleted.
4831         (struct Lisp_Charset): Renamed `encoding_table' to
4832         `to_byte1_table'; add `to_byte2_table'.
4833         (CHARSET_DECODING_TABLE): New macro.
4834         (CHARSET_TO_BYTE1_TABLE): New macro.
4835         (CHARSET_TO_BYTE2_TABLE): New macro.
4836         (XCHARSET_DECODING_TABLE): New macro.
4837         (XCHARSET_TO_BYTE1_TABLE): New macro.
4838         (XCHARSET_TO_BYTE2_TABLE): New macro.
4839         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4840         tables.
4841         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4842         don't use `ucs_to_*' tables.
4843
4844 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4845
4846         * text-coding.c (Fmake_coding_system): Don't set up
4847         `codesys->fixed.size'.
4848         (encode_coding_no_conversion): Use `if' instead of `switch'.
4849
4850         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4851
4852 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4853
4854         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4855         (Fmake_charset): Modify for `make_charset'.
4856         (Fmake_reverse_direction_charset): Likewise.
4857         (complex_vars_of_mule_charset): Likewise.
4858
4859 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4860
4861         * text-coding.c (char_encode_shift_jis): Use table
4862         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4863
4864 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4865
4866         * text-coding.c (text_encode_generic): Use `if' instead of
4867         `switch'.
4868         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4869         decode JIS-Latin.
4870
4871 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4872
4873         * text-coding.c (encode_coding_sjis): Deleted.
4874         (char_encode_shift_jis): New function.
4875         (char_finish_shift_jis): New function.
4876         (reset_encoding_stream): Set up `encode_char' and `finish' for
4877         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4878         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4879         (char_encode_utf8): Treat `eol_type'.
4880
4881 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4882
4883         * file-coding.c (decode_coding_iso2022): Use
4884         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4885
4886 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4887
4888         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4889         to 0.7 (Hirano).
4890
4891 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4892
4893         * char-lb.h (CHAR_COLUMNS): New macro.
4894
4895 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4896
4897         * text-coding.c (char_encode_ucs4): New function.
4898         (char_finish_ucs4): New function.
4899         (encode_coding_ucs4): Deleted.
4900         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4901         (text_encode_generic): Delete local variable `charset' and `half'.
4902         (ucs_to_mule_table): Deleted.
4903         (mule_to_ucs_table): Deleted.
4904         (Fset_ucs_char): Deleted.
4905         (ucs_to_char): Deleted.
4906         (Fucs_char): Deleted.
4907         (Fset_char_ucs): Deleted.
4908         (Fchar_ucs): Deleted.
4909         (decode_ucs4): Deleted.
4910         (mule_char_to_ucs4): Deleted.
4911         (encode_ucs4): Deleted.
4912         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4913         (decode_coding_utf8): Likewise.
4914         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4915         (char_encode_iso2022): Fixed.
4916         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4917         `Fset_char_ucs' and `Fchar_ucs'.
4918         (complex_vars_of_file_coding): Don't initialize
4919         `ucs_to_mule_table'.
4920
4921         * objects-tty.c (tty_initialize_font_instance): Don't use
4922         `XCHARSET_COLUMNS'.
4923
4924         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4925         UTF-2000.
4926
4927         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4928         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4929
4930         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4931         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4932         (emchar_string_displayed_columns): Likewise.
4933
4934         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4935         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4936         (string_column_at_point): Likewise.
4937         (Fmove_to_column): Likewise.
4938
4939         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4940         `encoding_table' and `decoding_table'.
4941         (CHARSET_REP_BYTES): Deleted.
4942         (XCHARSET_REP_BYTES): Deleted.
4943         (XCHARSET_COLUMNS): Deleted.
4944         (CHAR_COLUMNS): New macro.
4945         (lookup_composite_char): Deleted unconditionally.
4946         (composite_char_string): Likewise.
4947
4948 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4949
4950         * char-ucs.h (Emchar_to_byte_table): New type.
4951         (get_byte_from_character_table): New function interface.
4952         (Vcharset_latin_jisx0201): New variable.
4953         (latin_jisx0201_to_ucs): New variable.
4954         (ucs_to_latin_jisx0201): New variable.
4955         (Vcharset_latin_iso8859_2): New variable.
4956         (latin_iso8859_2_to_ucs): New variable.
4957         (ucs_to_latin_iso8859_2): New variable.
4958         (Vcharset_latin_iso8859_3): New variable.
4959         (latin_iso8859_3_to_ucs): New variable.
4960         (ucs_to_latin_iso8859_3): New variable.
4961         (Vcharset_latin_iso8859_4): New variable.
4962         (latin_iso8859_4_to_ucs): New variable.
4963         (ucs_to_latin_iso8859_4): New variable.
4964         (Vcharset_latin_iso8859_9): New variable.
4965         (latin_iso8859_9_to_ucs): New variable.
4966         (ucs_to_latin_iso8859_9): New variable.
4967         (Vcharset_latin_viscii_lower): New variable.
4968         (latin_viscii_lower_to_ucs): New variable.
4969         (ucs_to_latin_viscii_lower): New variable.
4970         (Vcharset_latin_viscii_upper): New variable.
4971         (latin_viscii_upper_to_ucs): New variable.
4972         (ucs_to_latin_viscii_upper): New variable.
4973         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4974         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4975         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4976         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4977         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4978         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4979         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4980         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4981         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4982         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4983
4984         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4985         (Vcharset_latin_viscii_upper): New variable.
4986         (make_byte_from_character_table): New function.
4987         (put_byte_from_character_table): New function.
4988         (get_byte_from_character_table): New function.
4989         (CHAR96): New macro.
4990         (ucs_to_latin_jisx0201): New variable.
4991         (latin_jisx0201_to_ucs): New variable.
4992         (ucs_to_latin_iso8859_2): New variable.
4993         (latin_iso8859_2_to_ucs): New variable.
4994         (ucs_to_latin_iso8859_3): New variable.
4995         (latin_iso8859_3_to_ucs): New variable.
4996         (ucs_to_latin_iso8859_4): New variable.
4997         (latin_iso8859_4_to_ucs): New variable.
4998         (ucs_to_latin_iso8859_9): New variable.
4999         (latin_iso8859_9_to_ucs): New variable.
5000         (ucs_to_latin_viscii_lower): New variable.
5001         (latin_viscii_lower_to_ucs): New variable.
5002         (ucs_to_latin_viscii_upper): New variable.
5003         (latin_viscii_upper_to_ucs): New variable.
5004         (ucs_to_latin_tcvn5712): New variable.
5005         (latin_tcvn5712_to_ucs): New variable.
5006         (Qlatin_viscii_lower): New variable.
5007         (Qlatin_viscii_upper): New variable.
5008         (syms_of_mule_charset): Set up new symbol
5009         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5010         (complex_vars_of_mule_charset): Set up new charset
5011         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5012         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5013         `ucs_to_<CHARSET>' tables.
5014
5015 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5016
5017         * text-coding.c: New file.
5018
5019 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5020
5021         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5022
5023         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5024         (MAKE_CHAR): Modify for `ucs-bmp'.
5025         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5026         non-MULE characters of BMP.
5027
5028 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5029
5030         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5031         to 0.6.
5032
5033 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5034
5035         * lstream.h:
5036         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5037         - Include character.h for `CHAR_ASCII_P'.
5038
5039         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5040
5041         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5042         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5043
5044         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5045         (BYTE_C0_P): Likewise.
5046         (BYTE_C1_P): Likewise.
5047         (Lstream_get_emchar_1): Likewise.
5048         (Lstream_fput_emchar): Likewise.
5049         (Lstream_funget_emchar): Likewise.
5050         (copy_internal_to_external): Likewise.
5051         (copy_external_to_internal): Likewise.
5052
5053         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5054         (BYTE_C0_P): Likewise.
5055         (BYTE_C1_P): Likewise.
5056         (Lstream_get_emchar_1): Likewise.
5057         (Lstream_fput_emchar): Likewise.
5058         (Lstream_funget_emchar): Likewise.
5059         (copy_internal_to_external): Likewise.
5060         (copy_external_to_internal): Likewise.
5061
5062         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5063         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5064
5065         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5066         (BYTE_ASCII_P): Moved to mb-1byte.h.
5067
5068 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5069
5070         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5071
5072         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5073         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5074         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5075         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5076         (VALIDATE_CHARPTR_FORWARD): Likewise.
5077         (simple_charptr_emchar): Moved to mb-multibyte.h.
5078         (simple_set_charptr_emchar): Likewise.
5079         (simple_charptr_copy_char): Likewise.
5080         (non_ascii_charptr_emchar): Likewise.
5081         (non_ascii_set_charptr_emchar): Likewise.
5082         (non_ascii_charptr_copy_char): Likewise.
5083         (charptr_emchar): Moved to mb-*byte.h.
5084         (set_charptr_emchar): Likewise.
5085         (charptr_copy_char): Likewise.
5086
5087         * mb-1byte.h, mb-multibyte.h: New files.
5088
5089 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5090
5091         * mb-utf-8.h (MULTIBYTE): New macro.
5092         (MAX_EMCHAR_LEN): Moved from buffer.h.
5093         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5094
5095         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5096
5097         * mb-lb.h, multibyte.h: New files.
5098
5099         * char-1byte.h (Charset_ID): Moved from buffer.h.
5100         (MIN_LEADING_BYTE): Likewise.
5101         (LEADING_BYTE_ASCII): Likewise.
5102         (NUM_LEADING_BYTES): Likewise.
5103         (CHARSETP): Likewise.
5104         (CHARSET_BY_LEADING_BYTE): Likewise.
5105         (XCHARSET_LEADING_BYTE): Likewise.
5106         (XCHARSET_GRAPHIC): Likewise.
5107         (XCHARSET_COLUMNS): Likewise.
5108         (XCHARSET_DIMENSION): Likewise.
5109         (CHAR_CHARSET): Likewise.
5110         (CHAR_LEADING_BYTE): Likewise.
5111         (BREAKUP_CHAR): Likewise.
5112         (Vcharset_ascii): Likewise.
5113
5114         * buffer.h: Include multibyte.h unconditionally.
5115         (VALID_CHARPTR_P): Moved to multibyte.h.
5116         (ASSERT_VALID_CHARPTR): Likewise.
5117         (REAL_INC_CHARPTR): Likewise.
5118         (REAL_INC_CHARBYTIND): Likewise.
5119         (REAL_DEC_CHARPTR): Likewise.
5120         (INC_CHARPTR): Likewise.
5121         (INC_CHARBYTIND): Likewise.
5122         (DEC_CHARPTR): Likewise.
5123         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5124         (VALIDATE_CHARPTR_FORWARD): Likewise.
5125         (charptr_n_addr): Likewise.
5126         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5127         (simple_charptr_emchar): Moved to multibyte.h.
5128         (simple_set_charptr_emchar): Likewise.
5129         (simple_charptr_copy_char): Likewise.
5130         (non_ascii_charptr_emchar): Likewise.
5131         (non_ascii_set_charptr_emchar): Likewise.
5132         (non_ascii_charptr_copy_char): Likewise.
5133         (charptr_emchar): Likewise.
5134         (set_charptr_emchar): Likewise.
5135         (charptr_copy_char): Likewise.
5136         (charptr_emchar_n): Likewise.
5137         (Charset_ID): Moved to char-1byte.h.
5138         (Vcharset_ascii): Likewise.
5139         (CHAR_CHARSET): Likewise.
5140         (CHAR_LEADING_BYTE): Likewise.
5141         (LEADING_BYTE_ASCII): Likewise.
5142         (NUM_LEADING_BYTES): Likewise.
5143         (MIN_LEADING_BYTE): Likewise.
5144         (CHARSETP): Likewise.
5145         (CHARSET_BY_LEADING_BYTE): Likewise.
5146         (XCHARSET_LEADING_BYTE): Likewise.
5147         (XCHARSET_GRAPHIC): Likewise.
5148         (XCHARSET_COLUMNS): Likewise.
5149         (XCHARSET_DIMENSION): Likewise.
5150         (BREAKUP_CHAR): Likewise.
5151
5152 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5153
5154         * character.h: Add document about interface for characters.
5155
5156         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5157         (MAKE_CHAR): Delete comment about
5158         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5159         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5160         (BREAKUP_CHAR): Modify name of arguments.
5161         (CHAR_CHARSET): Modify name of argument.
5162
5163         * buffer.h: Delete document about Emchar accessors.
5164
5165 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5166
5167         * character.h (CHAR_INTP): Moved from buffer.h
5168         (CHAR_OR_CHAR_INTP): Likewise.
5169         (XCHAR_OR_CHAR_INT): Likewise.
5170         (CHECK_CHAR_COERCE_INT): Likewise.
5171
5172         * buffer.h (CHAR_INTP): Moved to character.h
5173         (CHAR_OR_CHAR_INTP): Likewise.
5174         (XCHAR_OR_CHAR_INT): Likewise.
5175         (CHECK_CHAR_COERCE_INT): Likewise.
5176
5177 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5178
5179         * character.h:
5180         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5181         - Include char-1byte.h, char-lb.h or char-ucs.h.
5182
5183         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5184
5185         * buffer.h: Include character unconditionally.
5186         (valid_char_p): Moved to char-*.h.
5187         (non_ascii_valid_char_p): Moved to char-lb.h.
5188
5189         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5190
5191 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5192
5193         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5194         in UTF-2000 because it is not ported yet and not to use
5195         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5196         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5197         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5198
5199         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5200         (CHAR_ASCII_P): Moved from character.h.
5201
5202         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5203         (CHAR_ASCII_P): Likewise.
5204         (CHAR_FIELD1_MASK): Deleted.
5205         (CHAR_FIELD2_MASK): Deleted.
5206         (CHAR_FIELD3_MASK): Deleted.
5207         (MAX_CHAR_BASIC_LATIN): New macro.
5208         (CHAR_FIELD1): Deleted.
5209         (CHAR_FIELD2_INTERNAL): Deleted.
5210         (CHAR_FIELD3_INTERNAL): Deleted.
5211         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5212         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5213         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5214         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5215         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5216         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5217         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5218         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5219         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5220         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5221         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5222         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5223         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5224         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5225         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5226         (MIN_CHAR_COMPOSITION): Deleted.
5227         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5228         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5229
5230 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5231
5232         * buffer.h: Include mb-utf-8.h in UTF-2000.
5233
5234         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5235
5236         * mb-utf-8.h: New file.
5237
5238 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5239
5240         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5241         instead of `int'.
5242
5243         * mule-charset.h, buffer.h (Charset_ID): New type.
5244
5245 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5246
5247         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5248         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5249         instead of `MULE_CHAR_PRIVATE_OFFSET',
5250         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5251         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5252         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5253
5254         * character.h (Vcharset_japanese_jisx0212): New variable
5255         definition.
5256
5257 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5258
5259         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5260         (charset_by_attributes): Delete array about direction.
5261         (latin_a_char_to_charset): New variable in UTF-2000.
5262         (latin_a_char_to_byte1): New variable in UTF-2000.
5263         (latin_a_char_to_byte2): New variable in UTF-2000.
5264         (Qucs_bmp): New variable.
5265         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5266         `Bufbyte'.
5267         (next_allocated_2_byte_leading_byte): Likewise.
5268         (non_ascii_set_charptr_emchar): Likewise.
5269         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5270         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5271         `charset_by_attributes'.
5272         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5273         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5274         and `CHARSET_BY_LEADING_BYTE'.
5275         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5276         `utf-2000-version' to `vars_of_mule_charset'.
5277         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5278         define `leading-code-private-11' in UTF-2000; move setting of
5279         `utf-2000-version' from `syms_of_mule_charset'.
5280         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5281         UTF-2000.
5282
5283         * character.h (Charset_ID): New type.
5284         (LEADING_BYTE_UCS_BMP): New macro.
5285         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5286         (CHARSET_ID_OFFSET_94): New macro.
5287         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5288         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5289         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5290         final-byte.
5291         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5292         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5293         (CHARSET_ID_OFFSET_96): New macro.
5294         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5295         CHARSET_ID_OFFSET_96 and final-byte.
5296         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5297         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5298         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5299         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5300         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5301         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5302         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5303         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5304         (LEADING_BYTE_THAI_TIS620): Likewise.
5305         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5306         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5307         (CHARSET_ID_OFFSET_94x94): New macro.
5308         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5309         CHARSET_ID_OFFSET_94x94 and final-byte.
5310         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5311         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5312         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5313         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5314         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5315         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5316         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5317         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5318         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5319         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5320         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5321         (CHARSET_TYPE_128X128): New macro.
5322         (CHARSET_TYPE_256X256): New macro.
5323         (XCHARSET_PRIVATE_P): Delete unconditionally.
5324         (charset_by_attributes): Delete array about direction.
5325         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5326         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5327         (MIN_CHAR_94): New macro.
5328         (MAX_CHAR_94): New macro.
5329         (MIN_CHAR_96): New macro.
5330         (MAX_CHAR_96): New macro.
5331         (MIN_CHAR_94x94): New macro.
5332         (MAX_CHAR_94x94): New macro.
5333         (MIN_CHAR_96x96): New macro.
5334         (MAX_CHAR_96x96): New macro.
5335         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5336         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5337         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5338         - 32)'.
5339         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5340         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5341         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5342         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5343         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5344         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5345         `XCHARSET_LEADING_BYTE' to make code-point.
5346         (latin_a_char_to_charset): New variable.
5347         (latin_a_char_to_byte1): New variable.
5348         (latin_a_char_to_byte2): New variable.
5349         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5350         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5351         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5352
5353         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5354         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5355         (find_charsets_in_emchar_string): Likewise.
5356         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5357
5358         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5359         `int'.
5360         (decode_coding_iso2022): Likewise.
5361
5362         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5363         of `unsigned char'.
5364
5365         * redisplay.c (redisplay_text_width_emchar_string): Use
5366         `Charset_ID' instead of `unsigned char'.
5367         (redisplay_frame_text_width_string): Likewise.
5368
5369         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5370         `unsigned char'.
5371
5372         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5373         instead of `unsigned char'.
5374         (face_cachel_charset_font_metric_info): Likewise.
5375
5376         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5377         (get_non_ascii_char_table_value): Likewise.
5378         (get_char_table): Likewise.
5379         (put_char_table): Likewise.
5380         (map_over_other_charset): Likewise.
5381         (map_char_table): Likewise.
5382
5383         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5384         instead of `unsigned char'.
5385
5386 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5387
5388         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5389         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5390
5391         * mule-charset.c (leading_code_private_11): Don't define in
5392         UTF-2000.
5393
5394         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5395         in UTF-2000 because it is not ported yet and not to use
5396         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5397
5398 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5399
5400         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5401
5402 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5403
5404         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5405         in UTF-2000.
5406
5407         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5408         of unsigned char to store leading-byte.
5409
5410         * chartab.c (get_non_ascii_char_table_value): Don't use
5411         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5412
5413         * file-coding.c (encode_coding_big5): Delete bogus implementation
5414         in UTF2000.
5415
5416         * character.h (LEADING_BYTE_*): Delete definition for
5417         non-UTF-2000.
5418         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5419         (LEADING_BYTE_PREFIX_P): Deleted.
5420         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5421         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5422         (BUFBYTE_LEADING_BYTE_P): Deleted.
5423         (CHARSET_PRIVATE_P): Deleted unconditionally.
5424         (rep_bytes_by_first_byte): Deleted unconditionally.
5425         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5426         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5427         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5428         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5429         (CHAR_FIELD2): Deleted.
5430         (CHAR_FIELD3): Deleted.
5431         (MAKE_CHAR): Delete definition for non-UTF-2000.
5432         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5433         (breakup_char_1): New implementation.
5434         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5435         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5436
5437 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5438
5439         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5440         condition.
5441
5442 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5443
5444         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5445         (CHARSET_PRIVATE_P): Likewise.
5446         (XCHARSET_PRIVATE_P): Likewise.
5447         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5448
5449         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5450         UTF2000.
5451         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5452
5453 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5454
5455         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5456         (NUM_LEADING_BYTES): Changed from 128 to 256.
5457         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5458         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5459         UTF2000.
5460         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5461
5462         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5463         UTF2000.
5464         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5465         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5466         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5467         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5468         (Qchinese_cns11643_3): New variable in UTF2000.
5469         (Qchinese_cns11643_4): New variable in UTF2000.
5470         (Qchinese_cns11643_5): New variable in UTF2000.
5471         (Qchinese_cns11643_6): New variable in UTF2000.
5472         (Qchinese_cns11643_7): New variable in UTF2000.
5473         (syms_of_mule_charset): Define `chinese-cns11643-3',
5474         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5475         and `chinese-cns11643-7' in UTF2000.
5476         (vars_of_mule_charset): Initialize
5477         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5478         + 1 in UTF2000.
5479         (complex_vars_of_mule_charset): Setup charset
5480         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5481         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5482
5483 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5484
5485         * mule-charset.c: Move setting for `leading-code-private-11' from
5486         `syms_of_mule_charset' to `vars_of_mule_charset'.
5487
5488 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5489
5490         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5491         and `NUM_LEADING_BYTES' in assert.
5492
5493 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5494
5495         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5496         instead of 128.
5497         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5498         `NUM_LEADING_BYTES' instead of 128.
5499
5500 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5501
5502         * mule-charset.h (charset_by_leading_byte): Use
5503         `NUM_LEADING_BYTES' instead of 128.
5504         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5505
5506         * mule-charset.c (charset_by_leading_byte): Use
5507         `NUM_LEADING_BYTES' instead of 128.
5508         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5509
5510         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5511         128.
5512
5513 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5514
5515         * mule-charset.c (syms_of_mule_charset): Update to
5516         0.4 (Shin-Imamiya).
5517
5518 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5519
5520         * file-coding.c (encode_coding_sjis): New implementation for
5521         UTF2000.  (decode_coding_sjis): Ditto.
5522
5523 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5524
5525         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5526         Don't define in UTF2000.
5527
5528         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5529         defined.
5530
5531         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5532         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5533         MULE.
5534
5535 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5536
5537         * config.h.in (CHAR_IS_UCS4): New macro.
5538
5539         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5540         conventional MULE representation.
5541         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5542
5543         * mule-charset.h: Reverted to original.
5544
5545         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5546         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5547         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5548
5549         * character.h: New file.
5550
5551         * file-coding.c (Fmake_coding_system): Set 1 to
5552         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5553         defined.
5554         (encode_coding_no_conversion): New implementation for UTF2000.
5555
5556         * file-coding.h (struct Lisp_Coding_System): Add new member
5557         `fixed.size'.
5558
5559 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5560
5561         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5562         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5563         (encode_coding_iso2022): New implementation for UTF2000.
5564
5565 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5566
5567         * mule-canna.c (c2mu): New implementation for UTF2000.
5568         (m2c): Likewise.
5569
5570 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5571
5572         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5573
5574 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5575
5576         * file-coding.c (reset_encoding_stream): Set 0 to
5577         `str->iso2022.current_char_boundary' in UTF2000.
5578         (encode_utf8): Don't define in UTF2000.
5579         (encode_coding_utf8): New implementation for UTF-8 representation
5580         of UTF2000.
5581         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5582
5583 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5584
5585         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5586
5587         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5588         UTF2000.
5589         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5590
5591         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5592
5593         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5594         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5595         as UTF-8 in UTF2000.
5596         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5597         (non_ascii_valid_char_p): Don't define in UTF2000.
5598         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5599         (Lstream_get_emchar_1): Likewise.
5600         (utf-2000-version): New variable in UTF2000.
5601
5602         * lread.c (read_escape): Add new reader `u'.
5603
5604         * insdel.c (three_to_one_table): Don't define in UTF2000.
5605         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5606         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5607         UTF2000.
5608         (bytind_to_bufpos_func): Likewise.
5609         (buffer_mule_signal_inserted_region): Likewise.
5610         (vars_of_insdel): Don't initialize `three_to_one_table'.
5611         (init_buffer_text): Use `buf->text->mule_size' instead of
5612         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5613         UTF2000.
5614
5615         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5616         UTF-8 representation in UTF2000.
5617         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5618         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5619         (decode_coding_iso2022): Don't define local variable `lb' in
5620         UTF2000; don't use LEADING_BYTE in UTF2000; use
5621         `DECODE_ADD_UCS_CHAR' in UTF2000.
5622         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5623
5624         * config.h.in (UTF2000): New macro.
5625
5626         * buffer.h (struct buffer_text): Add new member `mule_size' and
5627         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5628         (valid_char_p): Return always 1 in UTF2000.
5629         (MAX_EMCHAR_LEN): 6 in UTF2000.
5630         (three_to_one_table): Don't define in UTF2000.
5631         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5632         UTF2000.
5633         (real_bytind_to_bufpos): Likewise.
5634
5635         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5636
5637 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5638
5639         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5640         representation change.
5641         (Vutf_2000_version): New variable.
5642         (leading_code_private_11): New variable.
5643         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5644         `leading-code-private-11'.
5645
5646         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5647         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5648         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5649         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5650         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5651         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5652         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5653         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5654         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5655         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5656         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5657         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5658         (MIN_CHAR_GREEK): New macro.
5659         (MAX_CHAR_GREEK): New macro.
5660         (MIN_CHAR_CYRILLIC): New macro.
5661         (MAX_CHAR_CYRILLIC): New macro.
5662         (MIN_CHAR_HEBREW): New macro.
5663         (MAX_CHAR_HEBREW): New macro.
5664         (MIN_CHAR_THAI): New macro.
5665         (MAX_CHAR_THAI): New macro.
5666         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5667         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5668         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5669         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5670         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5671         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5672         (CHAR_FIELD2): New inline function.
5673         (CHAR_FIELD3): New inline function.
5674         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5675         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5676         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5677         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5678         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5679         (MIN_CHAR_COMPOSITION): Likewise.
5680         (CHAR_LEADING_BYTE): Modified for character representation change.
5681         (MAKE_CHAR): Likewise.
5682
5683         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5684         (Vcharset_greek_iso8859_7): Likewise.
5685         (Vcharset_cyrillic_iso8859_5): Likewise.
5686         (Vcharset_hebrew_iso8859_8): Likewise.
5687         (Vcharset_thai_tis620): Likewise.
5688         (Vcharset_katakana_jisx0201): Likewise.
5689
5690 2005-02-06  Vin Shelton <acs@xemacs.org>
5691
5692         * XEmacs 21.4.17 is released
5693
5694 2005-01-31  Ben Wing  <ben@xemacs.org>
5695
5696         * emacs.c:
5697         Define assert_failed() always.
5698         * lisp.h:
5699         Always define ABORT().
5700
5701 2005-01-25  Ben Wing  <ben@xemacs.org>
5702
5703         * Makefile.in.in:
5704         * Makefile.in.in (%.o):
5705         Don't compile executable as Windows (-mwindows) under Cygwin.
5706         Semi-recent changes to Cygwin's executable-startup handling make
5707         it impossible to access the TTY this way.
5708
5709         Don't use special linker file under Cygwin (cygwin.sc) except
5710         when non-PDUMP (even in this case it is highly questionable); you
5711         get errors like
5712
5713       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5714    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5715
5716 2005-01-29  Ben Wing  <ben@xemacs.org>
5717
5718         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5719
5720         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5721
5722 2005-01-29  Ben Wing  <ben@xemacs.org>
5723
5724         * bytecode.c (optimize_compiled_function):
5725         * print.c (FROB):
5726         * print.c (long_to_string):
5727         Add casts to avoid warning.
5728         
5729         * glyphs-eimage.c:
5730         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5731         #### The better solution is to move the TIFF and JPEG code to
5732         different files.
5733         
5734         * glyphs-msw.c (mswindows_xbm_instantiate):
5735         Define __STDC__ to avoid problems with compface.h.
5736         
5737         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5738         * EmacsShell-sub.c:
5739         * EmacsShell-sub.c (ABORT):
5740         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5741         * EmacsShell-sub.c (RootGeometryManager):
5742         * EmacsShell.c:
5743         * EmacsShell.c (ABORT):
5744         * EmacsShell.c (EmacsShellUpdateSizeHints):
5745         * alloc.c (free_lcrecord):
5746         * alloca.c (i00afunc):
5747         * buffer.c (delete_from_buffer_alist):
5748         * buffer.c (MARKED_SLOT):
5749         * bytecode.c (execute_rare_opcode):
5750         * bytecode.c (optimize_byte_code):
5751         * bytecode.c (Ffetch_bytecode):
5752         * chartab.c (char_table_type_to_symbol):
5753         * chartab.c (Freset_char_table):
5754         * chartab.c (decode_char_table_range):
5755         * chartab.c (Fget_range_char_table):
5756         * chartab.c (check_valid_char_table_value):
5757         * chartab.c (map_char_table):
5758         * chartab.c (slow_map_char_table_fun):
5759         * chartab.c (chartab_instantiate):
5760         * cm.c (cmcheckmagic):
5761         * console-msw.c (DHEADER):
5762         * console.c (MARKED_SLOT):
5763         * data.c (finish_marking_weak_lists):
5764         * data.c (encode_weak_list_type):
5765         * debug.h (DASSERT):
5766         * device-gtk.c (gtk_init_device):
5767         * device-msw.c (mswindows_get_default_margin):
5768         * device-tty.c (tty_init_device):
5769         * device-x.c (get_device_from_display):
5770         * device-x.c (x_get_visual_depth):
5771         * doprnt.c (parse_doprnt_spec):
5772         * doprnt.c (get_doprnt_args):
5773         * dumper.c (pdump_get_indirect_count):
5774         * dumper.c (pdump_register_sub):
5775         * dumper.c (pdump_register_object):
5776         * dumper.c (pdump_register_struct):
5777         * dumper.c (pdump_dump_data):
5778         * dumper.c (pdump_reloc_one):
5779         * elhash.c (print_hash_table):
5780         * elhash.c (make_standard_lisp_hash_table):
5781         * elhash.c (hash_table_instantiate):
5782         * emacs.c:
5783         * emacs.c (Fforce_debugging_signal):
5784         * emacs.c (sort_args):
5785         * emacs.c (main):
5786         * emacs.c (assert_failed):
5787         * eval.c (throw_or_bomb_out):
5788         * eval.c (signal_1):
5789         * eval.c (Fsignal):
5790         * event-Xt.c:
5791         * event-Xt.c (emacs_Xt_mapping_action):
5792         * event-Xt.c (Xt_process_to_emacs_event):
5793         * event-msw.c:
5794         * event-stream.c (check_event_stream_ok):
5795         * event-stream.c (Fadd_timeout):
5796         * event-stream.c (Fadd_async_timeout):
5797         * event-stream.c (Fdiscard_input):
5798         * event-stream.c (execute_internal_event):
5799         * event-stream.c (Frecent_keys):
5800         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5801         * event-stream.c (lookup_command_event):
5802         * event-unixoid.c (poll_fds_for_input):
5803         * events.c:
5804         * events.c (mark_event):
5805         * events.c (event_equal):
5806         * events.c (event_hash):
5807         * events.c (Fmake_event):
5808         * events.c (Fdeallocate_event):
5809         * events.c (event_chain_find_previous):
5810         * events.c (event_to_character):
5811         * events.c (format_event_object):
5812         * events.c (Fevent_type):
5813         * events.c (event_pixel_translation):
5814         * events.c (Fevent_properties):
5815         * extents.c (extent_in_region_p):
5816         * extents.c (print_extent):
5817         * extents.c (process_extents_for_insertion_mapper):
5818         * extents.c (report_extent_modification_mapper):
5819         * extents.c (glyph_layout_to_symbol):
5820         * faces.c (face_validate):
5821         * file-coding.c (eol_type_to_symbol):
5822         * file-coding.c (subsidiary_coding_system):
5823         * file-coding.c (Fcoding_system_type):
5824         * file-coding.c (Fcoding_system_property):
5825         * file-coding.c (mule_decode):
5826         * file-coding.c (mule_encode):
5827         * file-coding.c (encode_coding_ucs4):
5828         * file-coding.c (encode_coding_utf8):
5829         * file-coding.c (parse_iso2022_esc):
5830         * file-coding.c (encode_coding_iso2022):
5831         * fileio.c:
5832         * fns.c (concat):
5833         * fns.c (Fsubseq):
5834         * fns.c (mapcar1):
5835         * fns.c (Fbase64_encode_region):
5836         * fns.c (Fbase64_encode_string):
5837         * fns.c (Fbase64_decode_region):
5838         * fns.c (Fbase64_decode_string):
5839         * font-lock.c (find_context):
5840         * font-lock.c (context_to_symbol):
5841         * frame-gtk.c (gtk_set_frame_pointer):
5842         * frame-gtk.c (gtk_update_frame_external_traits):
5843         * frame-x.c (x_wm_mark_shell_size_user_specified):
5844         * frame-x.c (x_wm_mark_shell_position_user_specified):
5845         * frame-x.c (x_wm_set_shell_iconic_p):
5846         * frame-x.c (x_wm_set_cell_size):
5847         * frame-x.c (x_wm_set_variable_size):
5848         * frame-x.c (x_wm_store_class_hints):
5849         * frame-x.c (x_wm_maybe_store_wm_command):
5850         * frame-x.c (x_initialize_frame_size):
5851         * frame-x.c (x_update_frame_external_traits):
5852         * frame.c:
5853         * frame.c (delete_frame_internal):
5854         * frame.c (mouse_pixel_position_1):
5855         * frame.c (change_frame_size_1):
5856         * free-hook.c (check_free):
5857         * free-hook.c (check_realloc):
5858         * free-hook.c (note_block_input):
5859         * free-hook.c (log_gcpro):
5860         * gccache-gtk.c (gc_cache_lookup):
5861         * glyphs-eimage.c (tiff_memory_write):
5862         * glyphs-gtk.c (gtk_finalize_image_instance):
5863         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5864         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5865         * glyphs-gtk.c (gtk_xpm_instantiate):
5866         * glyphs-gtk.c (gtk_unmap_subwindow):
5867         * glyphs-gtk.c (gtk_map_subwindow):
5868         * glyphs-gtk.c (gtk_button_redisplay):
5869         * glyphs-msw.c:
5870         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5871         * glyphs-x.c (init_image_instance_from_xbm_inline):
5872         * glyphs-x.c (extract_xpm_color_names):
5873         * glyphs-x.c (x_xpm_instantiate):
5874         * glyphs.c (get_image_instantiator_governing_domain):
5875         * glyphs.c (print_image_instance):
5876         * glyphs.c (image_instance_equal):
5877         * glyphs.c (image_instance_hash):
5878         * glyphs.c (encode_image_instance_type):
5879         * glyphs.c (make_image_instance_1):
5880         * glyphs.c (inherit_instantiate):
5881         * glyphs.c (image_instantiate):
5882         * glyphs.c (allocate_glyph):
5883         * glyphs.c (Fglyph_type):
5884         * glyphs.c (redisplay_subwindow):
5885         * glyphs.c (display_table_entry):
5886         * gtk-glue.c (xemacs_list_to_gtklist):
5887         * gtk-glue.c (xemacs_gtklist_to_list):
5888         * gtk-glue.c (xemacs_list_to_array):
5889         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5890         * gutter.c (gutter_was_visible):
5891         * gutter.c (get_gutter_coords):
5892         * input-method-xlib.c (get_XIM_input):
5893         * insdel.c (bufpos_to_bytind_func):
5894         * insdel.c (bytind_to_bufpos_func):
5895         * insdel.c (move_gap):
5896         * intl.c (x_get_composed_input):
5897         * keymap.c (keymap_lookup_directly):
5898         * keymap.c (keymap_delete_inverse_internal):
5899         * keymap.c (ensure_meta_prefix_char_keymapp):
5900         * keymap.c (accessible_keymaps_mapper_1):
5901         * keymap.c (where_is_recursive_mapper):
5902         * lisp.h:
5903         * lisp.h (ABORT):
5904         * lread.c (read_atom):
5905         * lstream.c (Lstream_delete):
5906         * lstream.c (make_lisp_buffer_stream_1):
5907         * macros.c (pop_kbd_macro_event):
5908         * malloc.c (malloc):
5909         * malloc.c (free):
5910         * marker.c (bi_marker_position):
5911         * marker.c (set_bi_marker_position):
5912         * menubar-gtk.c (menu_descriptor_to_widget_1):
5913         * menubar-msw.c (prune_menubar):
5914         * menubar-x.c (set_frame_menubar):
5915         * mule-charset.c (get_unallocated_leading_byte):
5916         * mule-charset.h (CHAR_LEADING_BYTE):
5917         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5918         * nt.c (init_environment):
5919         * nt.c (generate_inode_val):
5920         * ntproc.c (delete_child):
5921         * ntproc.c (_sys_read_ahead):
5922         * ntproc.c (create_child):
5923         * objects.c (color_instantiate):
5924         * objects.c (font_instantiate):
5925         * objects.c (face_boolean_instantiate):
5926         * print.c (printing_major_badness):
5927         * process-nt.c (nt_send_process):
5928         * process-unix.c (unix_send_process):
5929         * process.c (get_process):
5930         * ralloc.c (obtain):
5931         * ralloc.c (relinquish):
5932         * ralloc.c (relocate_blocs):
5933         * ralloc.c (resize_bloc):
5934         * ralloc.c (r_alloc_free):
5935         * ralloc.c (r_re_alloc):
5936         * ralloc.c (r_alloc_thaw):
5937         * ralloc.c (init_ralloc):
5938         * ralloc.c (Free_Addr_Block):
5939         * ralloc.c (r_alloc):
5940         * redisplay-gtk.c (gtk_output_display_block):
5941         * redisplay-msw.c (mswindows_output_display_block):
5942         * redisplay-output.c (get_next_display_block):
5943         * redisplay-output.c (get_cursor_size_and_location):
5944         * redisplay-output.c (redisplay_output_layout):
5945         * redisplay-output.c (redisplay_clear_region):
5946         * redisplay-tty.c (tty_output_display_block):
5947         * redisplay-x.c (x_output_display_block):
5948         * redisplay.c (add_propagation_runes):
5949         * redisplay.c (add_glyph_rune):
5950         * redisplay.c (create_text_block):
5951         * redisplay.c (add_margin_runes):
5952         * redisplay.c (create_left_glyph_block):
5953         * redisplay.c (create_right_glyph_block):
5954         * redisplay.c (create_string_text_block):
5955         * redisplay.c (regenerate_window):
5956         * redisplay.c (REGEN_INC_FIND_START_END):
5957         * redisplay.c (redisplay_frame):
5958         * redisplay.c (point_in_line_start_cache):
5959         * regex.c:
5960         * regex.c (ABORT):
5961         * regex.c (re_compile_fastmap):
5962         * regex.c (re_match_2_internal):
5963         * regex.c (regerror):
5964         * scrollbar-gtk.c (gtk_scrollbar_loop):
5965         * scrollbar-gtk.c (scrollbar_cb):
5966         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5967         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5968         * scrollbar-x.c (x_update_scrollbar_instance_status):
5969         * scrollbar-x.c (x_scrollbar_loop):
5970         * scrollbar-x.c (x_update_frame_scrollbars):
5971         * search.c (search_command):
5972         * search.c (Fmatch_data):
5973         * select-x.c (motif_clipboard_cb):
5974         * signal.c (interrupt_signal):
5975         * specifier.c (specifier_add_spec):
5976         * specifier.c (specifier_instance_from_inst_list):
5977         * specifier.c (specifier_instance):
5978         * specifier.h:
5979         * specifier.h (struct specifier_methods):
5980         * strftime.c (add_num_time_t):
5981         * sunplay.c (init_device):
5982         * symbols.c (Fsetplist):
5983         * symbols.c (do_symval_forwarding):
5984         * symbols.c (store_symval_forwarding):
5985         * symbols.c (Fset):
5986         * symbols.c (Fbuilt_in_variable_type):
5987         * symbols.c (decode_magic_handler_type):
5988         * symbols.c (handler_type_from_function_symbol):
5989         * syntax.c (update_syntax_cache):
5990         * sysdep.c (init_baud_rate):
5991         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5992         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5993         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5994         * toolbar.c (get_toolbar_coords):
5995         * ui-gtk.c (build_gtk_boxed):
5996         * ui-gtk.c (describe_gtk_arg):
5997         * ui-gtk.c (gtk_type_to_lisp):
5998         * ui-gtk.c (lisp_to_gtk_type):
5999         * ui-gtk.c (lisp_to_gtk_ret_type):
6000         * ui-gtk.c (lisp_to_flag):
6001         * unexnt.c (read_in_bss):
6002         * unexnt.c (map_in_heap):
6003         * window.c (real_window):
6004         * window.c (window_display_lines):
6005         * window.c (window_display_buffer):
6006         * window.c (set_window_display_buffer):
6007         * window.c (window_modeline_height):
6008         * window.c (unshow_buffer):
6009         * window.c (window_loop):
6010         * window.c (Fget_lru_window):
6011         * window.c (Fsplit_window):
6012         * window.c (Fset_window_configuration):
6013         * window.c (saved_window_index):
6014         * xgccache.c (gc_cache_lookup):
6015         abort() -> ABORT().  Eliminate preprocessor games with abort()
6016         since it creates huge problems in VC7, solvable only by including
6017         massive amounts of files in every compile (and not worth it).
6018
6019         * sysdep.c:
6020         * sysproc.h:
6021         Inclusion of process.h does not need to be before lisp.h any more.
6022         Move later and remove comment about abort().
6023
6024 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6025
6026         * regex.c (re_match_2_internal):
6027         Correctly initialize loop which clears uninitialized registers.
6028
6029 2005-01-28  Vin Shelton  <acs@xemacs.org>
6030
6031         * sheap.c (more_static_core): Applied Ben's version of the long
6032         string patch.
6033
6034 2005-01-24  Vin Shelton  <acs@xemacs.org>
6035
6036         * sheap.c (more_static_core): Reformatted printf string so
6037         gcc-3.3.3 will compile this on Cygwin.
6038
6039 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6040
6041         * console.c (function_key_map): Reference `key-binding'.
6042
6043         * keymap.c (Vkey_translation_map): Improve docstring.
6044
6045 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6046
6047         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6048         * window.c (window_loop): [fix] Take into account
6049         `allow-deletion-of-last-visible-frame' variable.
6050         * window.c (replace-buffer-in-windows): Ditto.
6051
6052 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6053
6054         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6055
6056 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6057
6058         * event-gtk.c: Recognise AltGr as a valid modifier.
6059
6060 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6061
6062         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6063
6064 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6065
6066         Fix backreference bug caught by test suite.
6067
6068         * regex.c (regex_compile):
6069         Make backref duplicate internal register.
6070
6071 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6072
6073         Documentation, code clarification, and warning suppression.
6074         
6075         * regex.c (regex_compile):
6076         Improve comments.
6077         (re_match_2_internal):
6078         Improve comments and avoid redundant braces.  [Most of the big hunk
6079         at l. 4710 is indentation; use diff -w to see the real changes.]
6080         (alt_match_null_string_p):
6081         (common_op_match_null_string_p):
6082         Avoid shadowing global on Mac OS X 10.4, at least.
6083
6084 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6085
6086         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6087         introduced with shy groups fix).  [Already applied, probably
6088         with the second "fix shy groups" patch of 2004-10-07.] 
6089
6090 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6091
6092         From Andrey Slusar <anrays@gmail.com>:
6093
6094         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6095
6096 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6097
6098         * Makefile (RECURSIVE_MAKE): Removed.
6099         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6100         handling parallel builds.
6101
6102 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6103
6104         * Makefile.in.in: Enable support for parallel builds.
6105
6106 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6107
6108         From Andrey Slusar <anrays@gmail.com>:
6109
6110         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6111         FreeBSD version is >= 199701 _and_ < 600006.
6112
6113 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6114
6115         * scrollbar.c (compute_scrollbar_instance_usage):
6116         Only call device method compute_scrollbar_instance_usage() if it
6117         is defined.
6118
6119 2004-12-05  Vin Shelton <acs@xemacs.org>
6120
6121         * XEmacs 21.4.16 is released
6122
6123 2004-12-04  Vin Shelton  <acs@xemacs.org>
6124
6125         * depend: Regenerated.
6126
6127 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6128
6129         * regex.c (re_match_2_internal): Map internal to external
6130         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6131         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6132
6133 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6134
6135         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6136         to fix a crash.  Also, check the buffer is live and it
6137         really exists in buffer_list.  If the buffer is not in the list,
6138         prepend it.
6139
6140 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6141
6142         Fix shy groups by implementing recording of all groups for
6143         repetition and backtracking.  Backport from 21.5.
6144         
6145         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6146         external_to_internal_register, external_to_internal_register_size,
6147         and update comments for re_nsub.
6148
6149         * regex.c (re_opcode_t): Update comments.
6150         (print_compiled_pattern): Ouput external_to_internal_register,
6151         external_to_internal_register_size, and re_ngroups for debugging.
6152         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6153         (regex_compile): Update header comment.
6154         Ensure that all groups are recorded so that repeat matches and
6155         backtracking work correctly.  Comment related warning for groups >
6156         255.
6157         (re_search_2): Construct map of API indexes (which count only
6158         nonshy groups) to internal register numbers, and keep it updated.
6159
6160 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6161
6162         * frame-gtk.c (gtk_make_frame_visible):
6163         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6164         show/hide.  This is what X uses and is prevents previously hidden
6165         widgets from suddenly reappearing.
6166         * gtk-xemacs.c (gtk_xemacs_paint):
6167         * gtk-xemacs.c (gtk_xemacs_draw):
6168         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6169         drawable.
6170         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6171         size and location changes so that they can be seen before the next
6172         idle event.  Without this rapid changes to scrollbar properties
6173         are not seen.
6174
6175 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6176
6177         * console-gtk.h:
6178         * console-gtk.h (struct gtk_frame):
6179         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6180           Add hash tables track tab_control callback data.
6181           Added #defines for GTK object data names.
6182           Declaration of gtk_widget_to_frame().
6183         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6184         * frame-gtk.c (gtk_widget_to_frame): New.
6185         * frame-gtk.c (gtk_create_widgets):
6186         * frame-gtk.c (allocate_gtk_frame_struct):
6187         * frame-gtk.c (gtk_mark_frame):
6188         Manage frame callbakc hash tables.
6189         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6190         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6191         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6192         of widget size.
6193         * glyphs-gtk.c (gtk_widget_query_geometry): New
6194         * glyphs-gtk.c (gtk_register_gui_item): New
6195         * glyphs-gtk.c (gtk_add_tab_item): New
6196         * glyphs-gtk.c (gtk_tab_control_callback): New
6197         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6198         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6199         Use correct list when loading item.
6200         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6201         Register new methods.
6202         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6203         default size, for widgets.
6204         * gui-x.c:  Improved comment.
6205         * menubar-gtk.c (__generic_button_callback): Use
6206         gtk_widget_to_frame instead of __get_channel.
6207         * scrollbar-gtk.c:
6208         * ui-gtk.c: Use symbolic names for GTK object data.
6209
6210 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6211
6212         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6213
6214 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6215
6216         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6217
6218 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6219
6220         * malloc.c (morecore): siz is a long because in some architectures
6221         (eg ia-64) an int cannot hold the address range.  Additional patch
6222         from the SuSe distribution.
6223
6224 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6225
6226         * emacs.c:
6227         * malloc.c: lim_data is a long because in some architectures
6228         (eg ia-64) an int cannot hold the address range.
6229         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6230         instead of ulimit() because ulimit() always returns -1.
6231
6232 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6233
6234         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6235
6236 2004-06-11  David Kastrup  <dak@gnu.org>
6237
6238         * search.c (match_limit): Don't flag an error if match-data
6239         exceeding the allocated search_regs.num_regs gets requested, just
6240         return Qnil.
6241
6242 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6243
6244         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6245         replace symbolic color entries with the real colors specified in
6246         xpm-color-symbols, before passing the XPM to gtk.
6247         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6248         instead of a GTK specific field, so that it is used in by generic
6249         code.
6250
6251 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6252
6253        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6254         coredump from deref of NULL ptr (ExtData)
6255
6256 2004-04-19  Jerry James  <james@xemacs.org>
6257
6258         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6259         VALBITS to compute the location of the sign bit.
6260         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6261         of VALBITS with EMACS_INT_MAX.
6262         * events.c (Fevent_timestamp): Ditto.
6263         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6264         compute the halfway point to timestamp wraparound.
6265         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6266         EMACS_INT_MIN instead of using VALBITS.
6267         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6268         incorrect number with VALBITS.
6269         * fns.c (Frandom): Correct number of integer bits in docstring.
6270         Use INT_VALBITS instead of VALBITS to compute the denominator.
6271         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6272         build random numbers.
6273
6274 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6275         * event-gtk.c:
6276         * event-gtk.c (gtk_event_to_emacs_event):
6277         * menubar-gtk.c:
6278         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6279         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6280         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6281         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6282         * menubar-gtk.c (__activate_menu):
6283         * menubar-gtk.c (convert_underscores):
6284         * menubar-gtk.c (remove_underscores):
6285         * menubar-gtk.c (menu_convert):
6286         * menubar-gtk.c (menu_descriptor_to_widget_1):
6287         * menubar-gtk.c (menu_descriptor_to_widget):
6288         * menubar-gtk.c (menu_can_reuse_widget):
6289         * menubar-gtk.c (menu_create_menubar):
6290         * menubar-gtk.c (gtk_popup_menu):
6291         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6292         Added support for Gtk menu bar and menu item mnemonics.
6293
6294 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6295
6296         * sysdll.c: (dll_function): Added support for finding symbols in
6297         Darwin shared libraries as well in Darwin bundles.
6298         * sysdll.c (image_for_address): New
6299         * sysdll.c (my_find_image): New
6300         * sysdll.c (search_linked_libs): New
6301
6302 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6303
6304         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6305         return to GTK requires a different API to marshalling data to use
6306         as GTK parameters.
6307         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6308
6309 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6310
6311         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6312
6313 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6314
6315         * glyphs.c (process_image_string_instantiator):
6316         (Fset_console_type_image_conversion_list):
6317         Stop GCC from warning about shadowing of `exp'.
6318
6319         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6320
6321 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6322
6323         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6324
6325 2004-02-03  Vin Shelton  <acs@xemacs.org>
6326
6327         * glyphs.c (image_instance_layout): Remove pointless assertion.
6328         * regex.c (regex_grow_registers): Return type is void.
6329
6330 2004-02-02  Vin Shelton <acs@xemacs.org>
6331
6332         * XEmacs 21.4.15 is released
6333
6334 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6335
6336         * device-x.c (x_error_handler): Don't call stderr_out
6337
6338 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6339
6340         * buffer.c (other-buffer): Clarify documentation of order of
6341         arguments for FSF Emacs.
6342
6343 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6344
6345         * window.c (Fdelete_window): Dirty the mirror structure _before_
6346         marking the window deleted.
6347
6348 2003-09-15  Jerry James  <james@xemacs.org>
6349
6350         * event-msw.c (debug_mswin_messages): Conditionally compile
6351         messages missing from the Cygwin headers.
6352
6353 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6354
6355         * data.c (eq_with_ebola_notice): Fix typo in comment.
6356         (Ftrue_list_p): Improve docstring.
6357
6358 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6359
6360         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6361
6362 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6363
6364         * search.c (trivial_regexp_p): Regexps containing "\{" are
6365         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6366         Stefan Monnier for suggesting a diagnosis.
6367
6368 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6369
6370         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6371
6372 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6373
6374         * search.c (Fsearch_forward):
6375         (Fsearch_backward):
6376         Document negative count.
6377
6378 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6379
6380         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6381
6382 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6383
6384         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6385
6386 2003-09-15  Vin Shelton  <acs@xemacs.org>
6387
6388         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6389         21.5.
6390
6391 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6392
6393         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6394         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6395         (re_match_2_internal): Use TRANSLATE instead of
6396         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6397         non-ASCII char case conversion.
6398
6399 2003-09-08  Mike Sperber  <mike@xemacs.org>
6400
6401         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6402         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6403
6404 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6405
6406        * .gdbinit (pobj): fix printing of symbol name.
6407
6408 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6409
6410         * frame-x.c (x_layout_widgets): When resizing is about to cause
6411         frame size slip, mark it for redisplay.
6412
6413 2003-08-18  Jerry James  <james@xemacs.org>
6414
6415         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6416
6417 2003-09-03  Vin Shelton <acs@xemacs.org>
6418
6419         * XEmacs 21.4.14 is released
6420
6421 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6422
6423         * config.h.in (REGEX_MALLOC): Make it configure'able.
6424
6425 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6426
6427         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6428         linking.
6429         * sysdll.c (dll_init):
6430         * sysdll.c (dll_open):
6431         * sysdll.c (dll_close):
6432         * sysdll.c (dll_function):
6433         * sysdll.c (dll_variable):
6434         * sysdll.c (dll_error):
6435         Add support for loading bundles using Darwin/MacOSX
6436         native API.
6437
6438 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6439
6440         * process.c (start-process-internal): Document coding systems.
6441
6442 2003-07-30  Jerry James  <james@xemacs.org>
6443
6444         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6445
6446 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6447
6448         * event-msw.c (mswindows_enqueue_mouse_button_event):
6449         * event-msw.c (mswindows_wnd_proc):
6450           enqueue button event when scrollwheel event isn't handled by 
6451           mswindows_handle_mousewheel_event, such as when the scrollbars
6452           are not showing.
6453
6454 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6455
6456         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6457
6458 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6459
6460         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6461
6462 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6463
6464         * regex.c (re_match_2_internal): Fix matching degenerate word
6465         boundaries.
6466
6467 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6468
6469         * XEmacs 21.4.13 is released
6470
6471 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6472
6473         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6474         * lisp.h (<inttypes.h>):
6475         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6476         the definition.
6477
6478 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6479
6480         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6481         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6482         Result: "temacs can only be run in -batch mode."
6483         Fix: Check xemacs executable candidate for directory-ness.
6484
6485 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6486
6487         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6488           they conflict with <sys/types.h>.
6489
6490 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6491
6492         * database.c: Berkeley DB wants __STDC__ to be defined.
6493
6494 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6495
6496         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6497
6498 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6499
6500         * process-unix.c (unix_send_process): Fix C++ compile error.
6501
6502 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6503
6504         * Added .dylib as an acceptable shared library file extension
6505         * to support MacOSX.
6506
6507 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6508
6509         * EmacsFrameP.h (EmacsFramePart):
6510         Kludge to allow compiling with Motif1, but linking with Motif2.
6511
6512 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6513
6514         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6515
6516
6517 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6518
6519         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6520
6521 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6522
6523         * sysdll.c: Included lisp.h to define needed alloca_array.
6524
6525 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6526
6527         Make XEmacs redisplay 10 times faster.
6528         If, that is, you're using a slow X connection and MoveOpaque.
6529         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6530         Use compress_motion = TRUE.
6531         * EmacsFrame.c (emacsFrameClassRec): 
6532         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6533         * EmacsManager.c (emacsManagerClassRec):
6534         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6535
6536 2003-01-30  Vin Shelton  <acs@xemacs.org>
6537
6538         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6539
6540 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6541
6542         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6543         Patch by Martin Buchholz.
6544
6545 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6546
6547         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6548         Thanks to icc for warning and Martin Buchholz for reporting.
6549
6550 2003-01-29  Vin Shelton <acs@xemacs.org>
6551
6552         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6553
6554         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6555         remember to multiply by the element size.
6556
6557 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6558
6559         * XEmacs 21.4.12 "Portable Code" is released.
6560
6561 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6562
6563         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6564         * s/cygwin.sc: new linker file.
6565
6566 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6567
6568         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6569
6570         * redisplay-x.c (x_output_string): Use X11-specified types.
6571         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6572         * emacs.c (__free_hook): Use typeof with Intel compiler.
6573         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6574
6575 2003-01-08  Andy Piper  <andy@xemacs.org>
6576
6577         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6578         reserve size during unexec().
6579
6580 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6581
6582         * process-unix.c (unix_create_process): Don't let outchannel block.
6583
6584 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6585
6586         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6587         Needed for IsBadReadPtr().
6588
6589 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6590
6591         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6592
6593 2002-12-14  Ben Wing  <ben@xemacs.org>
6594
6595         * callint.c: Declaration error.
6596         * dumper.c (pdump):
6597         * dumper.c (pdump_load): Warning fix.
6598         * process.c: GCPRO error.
6599         * glyphs.c (unmap_subwindow):
6600         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6601         * event-stream.c (maybe_kbd_translate): Wrong argument to
6602         character_to_event().
6603
6604         * alloc.c (garbage_collect_1):
6605         * emacs.c:
6606         * emacs.c (debug_can_access_memory):
6607         * emacs.c (fatal_error_signal):
6608         * emacs.c (mswindows_handle_hardware_exceptions):
6609         * emacs.c (main_1):
6610         * emacs.c (main):
6611         * emacs.c (assert_failed):
6612         * emacs.c (syms_of_emacs):
6613         * lisp.h:
6614         * print.c:
6615         * print.c (std_handle_out_va):
6616         * print.c (write_string_to_stdio_stream):
6617         * print.c (write_fmt_string):
6618         * print.c (printing_badness):
6619         * print.c (printing_major_badness):
6620         * print.c (print_internal):
6621         * print.c (debug_print_no_newline):
6622         * print.c (debug_backtrace):
6623         Be more defensive in handling bad values when printing.  Add code
6624         from trunk involving inhibit_non_essential_printing_operations.
6625         When going down or in debug_print(), don't do external conversion
6626         and such and try really, really hard when printing to avoid core
6627         dumping.  Add force-debugging-signal, debug_break().
6628
6629 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6630
6631         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6632         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6633
6634 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6635
6636         * database.c: Fix open_database. Berkeley DB API has changed in
6637         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6638
6639 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6640
6641         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6642
6643 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6644
6645         * event-Xt.c (Xt_timeout):
6646         (Xt_timeout_callback):
6647         (emacs_Xt_add_timeout):
6648         (emacs_Xt_remove_timeout):
6649         (Xt_timeout_to_emacs_event):
6650         Turn completed_timeouts from a stack into a queue.  Fixes
6651         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6652
6653 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6654
6655         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6656         * emacs.c (main): Assert that mmap'd allocation is disabled.
6657
6658 2002-10-14  Andy Piper  <andy@xemacs.org>
6659
6660         * glyphs-widget.c (layout_query_geometry): add in fiddle
6661         factor. Include border text in width layout calculation.
6662         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6663
6664 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6665
6666         * XEmacs 21.4.10 "Military Intelligence" is released.
6667
6668 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6669
6670         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6671         using the NAS private array SoundFileInfo that no longer exists in
6672         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6673         and earlier.  This is broken for some versions between 1.5a and
6674         1.5f.
6675
6676 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6677
6678         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6679
6680         * emacs.c (shut_down_emacs): Improve crash message.
6681
6682 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6683
6684         * file-coding.c (determine_real_coding_system): Check for coding
6685         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6686         shebangs and Python PEP 263.
6687
6688 2002-10-08  Andy Piper  <andy@xemacs.org>
6689
6690         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6691         if static sizes haven't been set.
6692
6693 2002-08-30  Mike Alexander  <mta@arbortext.com>
6694
6695         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6696         to close a socket.
6697
6698 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6699
6700         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6701
6702 2002-09-20  Mike Sperber <mike@xemacs.org>
6703
6704         (This partially gets back my patch from 2002-07-20 without the
6705         bug.)
6706         * callproc.c (child_setup): Remove Ben's comment noting confusion
6707         over the file descriptors >= 3: close_process_descs() doesn't
6708         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6709         * process-unix.c (unix_create_process): Call
6710         begin_dont_check_for_quit to inhibit unwanted interaction (and
6711         thus breaking of X event synchronicity) in the child.
6712
6713 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6714
6715         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6716         widget.
6717
6718 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6719
6720         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6721         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6722         the xemacs process did not exit, but looped infinitely here.  This
6723         fixes that problem.
6724
6725 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6726
6727         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6728         (find_context): Improve comments.
6729
6730         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6731         (re_match_2): An XCHAR_TABLE operation was missing.
6732
6733         Many of the following changes were inspired by Andy Piper's (now
6734         obsolete) patch to make syntax-table text property lookup optional.
6735
6736         [Documentation]
6737
6738         * syntax.h (top level): Document semantics of syntax flags.
6739         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6740         * syntax.c, syntax.h (top level): Document syntax cache better in
6741         comments.
6742
6743         [Instrument syntax caching (temporary change)]
6744
6745         * syntax.h (enum syntax_cache_statistics_functions, struct
6746         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6747         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6748         * syntax.c (scan_words, Fforward_comment, scan_lists,
6749         Fbackward_prefix_characters):
6750         * font-lock.c (find_context):
6751         Use them to instrument syntax caching. 
6752         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6753         syntax_cache_statistics_function_names): New type and variables.
6754         * syntax.c (update_syntax_cache): Update and report statistics.
6755
6756         [Major syntax cache optimizations]
6757
6758         syntax.c (lookup_syntax_properties): Default off.
6759
6760         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6761         * syntax.c (update_syntax_cache):
6762         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6763
6764         [Minor syntax cache optimizations and code clarifications]
6765
6766         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6767         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6768         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6769         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6770         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6771         (Code clarification.)
6772
6773         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6774         scan_lists): Compute code from syncode, use Boolean macros instead
6775         of redundant masking operations.  (Code clarification; any decent
6776         compiler can do this optimization.)
6777
6778         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6779         for clarity.
6780
6781         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6782         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6783         use F*_single_property_change instead of F*_extent_change.
6784         Currently F*_single_property_change is _much_ less efficient.
6785
6786         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6787         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6788         syntax_cache.object properly, don't leave Qt or Qnil.
6789         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6790         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6791         tests for Qt or Qnil.
6792
6793 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6794
6795         * redisplay.c (point_in_line_start_cache): 
6796         * extents.c (print_extent_1):
6797         Fix warnings.
6798
6799         * extents.c (Fset_extent_property): Document `syntax-table' property.
6800
6801         * extents.h (Fnext_single_property_change): EXFUN it.
6802
6803 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6804
6805         * search.c (clear_unused_search_regs): New static function.
6806         (search_buffer): 
6807         (simple_search): 
6808         (boyer_moore):
6809         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6810         Minor clarifications in comments.
6811
6812         * regex.c (re_match_2_internal): Ensure no stale submatches.
6813
6814 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6815
6816         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6817
6818 2002-08-29  Jerry James  <james@xemacs.org>
6819
6820         * lisp.h: structrures -> structures.
6821
6822 2002-06-03  Andy Piper  <andy@xemacs.org>
6823
6824         * frame.c (frame_conversion_internal): add conversion appropriate
6825         for setting frame dimensions in pixels.
6826
6827         * console.h (struct console_methods): add device-specific widget
6828         layout functions.
6829
6830         * emacs.c (main_1): initialize glyph vars.
6831
6832         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6833         (handle_focus_event_2): new function. Allow focus to
6834         be set to a particular window and widget.
6835         (enqueue_focus_event): new function. Create a
6836         synthetic focus event.
6837         (emacs_Xt_handle_magic_event): call
6838         handle_focus_event_2.
6839
6840         * frame.c (Fset_frame_pixel_height): new function. Allow
6841         pixel-based sizing. Does the right thing on character-oriented
6842         displays.
6843         (Fset_frame_pixel_width): ditto.
6844         (Fset_frame_pixel_size): ditto.
6845         (syms_of_frame): declare.
6846
6847         * general-slots.h: add :vertically-justify and
6848         :horizontally-justify.
6849
6850         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6851         (mswindows_widget_border_width): new function.
6852         (mswindows_combo_box_instantiate): set border widths.
6853         (console_type_create_glyphs_mswindows): declare.
6854
6855         * glyphs-widget.c:
6856         (check_valid_justification): allow vertical and horizontal
6857         justification.
6858         (widget_border_width): new function. Call device methods.
6859         (widget_instance_border_width): ditto.
6860         (logical_unit_height): new function. Determine the height of a
6861         logical-unit. Logical units are intended to provide grid-like
6862         layout for subcontrols in a layout. If the layout is
6863         :vertically-justify top then subcontrols will be positioned on
6864         logical-unit boundaries, thus allowing adjacent subcontrols to
6865         line up.
6866         (widget_logical_unit_height): ditto for widgets.
6867         (redisplay_widget): misc cleanup.
6868         (widget_spacing): new function. Call device specific
6869         methods. Intended to be the default gap between adjacent widgets.
6870         (widget_query_geometry): use new spacing functions to determine
6871         appropriate geometry.
6872         (initialize_widget_image_instance): initialize horizontal and
6873         vertical justification.
6874         (widget_instantiate): use logica-units where appropriate for
6875         sizing large widgets.
6876         (button_query_geometry): use widget_instance_border_width.
6877         (tree_view_query_geometry): ditto.
6878         (tab_control_query_geometry): ditto.
6879         (edit_field_query_geometry): new function.
6880         (layout_update): pick up :justify, :horizontally-justify and
6881         :vertically-justify none of which worked previously. :justify is
6882         used as a fallback for both horizontal and vertical justification.
6883         (layout_query_geometry): use logical units to size appropriately.
6884         (layout_layout): ditto.
6885         (Fwidget_logical_to_character_width): new function. Allow users to
6886         convert from logical units to characters so that frame sizes can
6887         be set appropriately.
6888         (Fwidget_logical_to_character_height): ditto.
6889         (syms_of_glyphs_widget): declare.
6890         (image_instantiator_edit_fields): add edit_field_query_geometry.
6891         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6892         :horizontally-justify.
6893         (specifier_vars_of_glyphs_widget): new function. Declare
6894         Vwidget_border_width which is not yet used.
6895
6896         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6897         (x_widget_border_width): new function.
6898         (x_widget_instantiate): create a sensible name for widgets.
6899         (console_type_create_glyphs_x): declare x_widget_border_width.
6900
6901         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6902         (struct Lisp_Image_Instance): add :vertically-justify and
6903         :horizontally-justify.
6904         (LAYOUT_JUSTIFY_TOP): new.
6905         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6906         (ROUND_UP): new macro. Round argument up to next integral
6907         interval.
6908
6909         * redisplay-output.c (redisplay_output_layout): misc formatting.
6910
6911         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6912
6913 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6914
6915         * XEmacs 21.4.9 "Informed Management" is released.
6916
6917 2002-08-19  Andy Piper  <andy@xemacs.org>
6918
6919         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6920         win32 format.
6921
6922         * realpath.c (xrealpath): normalize drive spec also so that dir
6923         sep chars are not mixed on cygwin.
6924
6925 2002-08-06  Jerry James  <james@xemacs.org>
6926
6927         * window.c (Fsplit_window): Count only half of the divider width
6928         against the left window when splitting horizontally. 
6929
6930 2002-06-24  Andy Piper  <andy@xemacs.org>
6931
6932         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6933         toolbar was cleared.
6934
6935         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6936         function. Split out from mswindows_output_frame_toolbars.
6937         (mswindows_output_frame_toolbars): move clear pieces to
6938         mswindows_output_frame_toolbars.
6939
6940         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6941         out from gtk_output_frame_toolbars.
6942         (gtk_output_frame_toolbars): move clear pieces to
6943         gtk_clear_frame_toolbars.
6944
6945         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6946         the frame is cleared. How this ever worked before is a mystery.
6947         (x_output_frame_toolbars): Only output toolbars.
6948         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6949
6950         * gutter.c (update_gutter_geometry):
6951         Mark frame layout changed.
6952         (update_frame_gutter_geometry, update_frame_gutters):
6953         Respect frame_layout_changed.
6954
6955         * console.h (struct console_methods): add
6956         clear_frame_toolbars_method.
6957
6958         * redisplay.c (redisplay_frame): call
6959         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6960
6961         * toolbar.h: declare update_frame_toolbars_geometry.
6962
6963         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6964         out from update_frame_toolbars.  Call clear_frame_toolbars.
6965         (update_frame_toolbars): only output, do not change geometry.
6966
6967         * redisplay.c: add frame_layout_changed.
6968
6969         * redisplay.h: add frame_layout_changed.
6970         (CLASS_RESET_CHANGED_FLAGS): set it.
6971         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6972         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6973         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6974
6975         * device.h (struct device): add frame_layout_changed.
6976         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6977
6978         * frame.h (struct frame): add frame_layout_changed.
6979         (MARK_FRAME_LAYOUT_CHANGED): new.
6980
6981 2002-06-30  Mike Alexander  <mta@arbortext.com>
6982
6983         * event-msw.c (mswindows_need_event): Don't wait for a new message
6984         if the queue is not empty.  Suggested by Paul Moore.
6985
6986 2002-06-12  Andy Piper  <andy@xemacs.org>
6987
6988         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6989         for printing on accurately.
6990
6991 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6992
6993         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6994         WM_ACTIVATE message. Make sure that the frame is visible if the
6995         window is visible. This seemss to fix the problem where XEmacs
6996         appears to freeze after switching desktops with certain virtual
6997         window managers.
6998         (debug_output_mswin_message): Added code to output message
6999         parameters for WM_WINDOWPOSCHANGED, 
7000         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7001
7002 2002-05-25  Andy Piper  <andy@xemacs.org>
7003
7004         * select-x.c (vars_of_select_x): Fix docstring of
7005         x-selection-strict-motif-ownership
7006
7007 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7008
7009         * keymap.c (get_keymap):
7010         Add comment about do_autoload GCPROs own args.
7011
7012 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7013
7014         * bytecode.c (execute_optimized_program): check_opcode ifdef
7015         ERROR_CHECK_BYTE_CODE.
7016
7017 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7018
7019         Thanks to Ben Wing and Michael Sperber.
7020
7021         * eval.c (Fcommand_execute):
7022         (Feval):
7023         (Ffuncall):
7024         (Fmacroexpand_internal):
7025         (function_argcount):
7026         callint.c (Fcall_interactively):
7027         Add comment about do_autoload GCPROs own args.
7028
7029         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7030
7031         * eval.c (Ffuncall): Extra braces to placate GCC.
7032
7033 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7034
7035         * backtrace.h (grow_specpdl):
7036         (SPECPDL_RESERVE):
7037         * EmacsFrame.c (EmacsFrameSetValues):
7038         * eval.c (grow_specpdl):
7039         * ExternalShell.c (hack_event_masks_1):
7040         * glyphs-x.c (convert_EImage_to_XImage): 
7041         (x_finalize_image_instance):
7042         * ralloc.c (page_size):
7043         (r_alloc_sbrk):
7044         * xgccache.c (gc_cache_hash):
7045         Fix unsigned comparison warnings.
7046
7047 2002-07-29  Jerry James  <james@xemacs.org>
7048
7049         * lread.c (locate_file): Any nonnegative return value indicates
7050         success if MODE is nonnegative.
7051
7052 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7053
7054         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7055         argument. 
7056
7057 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7058
7059         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7060
7061         * dumper.c (pdump_get_indirect_count):
7062         (pdump_scan_by_alignment):
7063         (pdump_dump_root_struct_ptrs):
7064         (pdump_dump_rtables):
7065         (pdump_dump_root_objects):
7066         (pdump):
7067         * nas.c (WaveOpenDataForReading):
7068         * fns.c (print_bit_vector):
7069         * font-lock.c (SINGLE_SYNTAX_STYLE):
7070         * glyphs.c (check_for_ignored_expose):
7071         (find_matching_subwindow):
7072         * glyphs-eimage.c:
7073         * imgproc.c (get_histogram):
7074         * redisplay.c (point_in_line_start_cache):
7075         * redisplay-output.c (redisplay_unmap_subwindows):
7076         * symbols.c (defsymbol_massage_name_1):
7077         (defkeyword_massage_name):
7078         (deferror_massage_name_and_message):
7079         * redisplay-x.c (x_output_string): 
7080         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7081         * frame.h (struct frame):
7082         * filelock.c (current_lock_owner):
7083         * doprnt.c (emacs_doprnt_1):
7084         * lisp.h (struct Lisp_Bit_Vector):
7085         (DO_REALLOC):
7086         Fix warnings.
7087
7088 2002-02-13  Ben Wing  <ben@xemacs.org>
7089
7090         * event-stream.c (reset_key_echo):
7091         * event-stream.c (reset_this_command_keys):
7092         * event-stream.c (execute_command_event):
7093         If console is dead as a result of C-x 5 0, then post-command stuff
7094         needs to be careful and do only non-console-specific stuff.
7095
7096 2002-07-01  Mike Sperber <mike@xemacs.org>
7097
7098         * process-unix.c (unix_send_process): Mark coding_outstream as
7099         non-open upon SIGPIPE.
7100
7101         * event-stream.c (Fnext_event): Reorder switch cases to something
7102         that makes sense.
7103
7104 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7105
7106         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7107         Don't bogusly reinitialize ascii_character property.
7108
7109 2002-07-08  Mike Sperber <mike@xemacs.org>
7110
7111         * process.c (Fstart_process_internal): Do error checking before we
7112         fork off the child, so the child can't muck with the state of the
7113         parent.
7114
7115 2002-07-08  Mike Sperber <mike@xemacs.org>
7116
7117         * ralloc.c (init_ralloc): Allocate properly for pdump.
7118
7119 2002-06-12  Andy Piper  <andy@xemacs.org>
7120
7121         * glyphs.c (query_string_geometry): check the string.
7122
7123         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7124         widget names.
7125
7126 2002-06-17  Jerry James  <james@xemacs.org>
7127
7128         * sysdll.c: Remove RTLD_GLOBAL initialization.
7129         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7130
7131 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7132
7133         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7134
7135 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7136
7137         * sysdep.c (sys_rename): Make sys_rename work for the case where
7138         Windows rename sets errno to EACCES if target file exists.
7139
7140 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7141
7142         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7143         Fix detection of metric units to work on Win95
7144
7145 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7146
7147         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7148
7149 2002-04-25  Andy Piper  <andy@xemacs.org>
7150
7151         * redisplay.c (create_text_block): Remove extra comment trailer.
7152
7153 2002-04-24  Andy Piper  <andy@xemacs.org>
7154
7155         * redisplay.c (create_text_block): Don't actually add propagation
7156         data if the line ends after we have added a glyph.
7157
7158 2002-04-22  Andy Piper  <andy@xemacs.org>
7159
7160         * extents.c (extent_fragment_update): check for glyphs we have
7161         previously displayed.
7162         * extents.c (print_extent_1): warning removal.
7163         * extents.h: change prototype.
7164         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7165         widths correctly for wide glyphs.
7166         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7167         * redisplay.c (prop_type): add PROP_GLYPH.
7168         * redisplay.c (struct prop_block): add glyph type
7169         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7170         to the propagation data.
7171         * redisplay.c (create_text_block): if there is a glyph in the
7172         propagation data use it to salt extent_fragment_update.
7173         * redisplay.c (create_string_text_block): ditto.
7174
7175 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7176
7177         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7178         * redisplay-output.c (compare_runes): Compare them.
7179         * redisplay.c: Update copyright date.
7180         * redisplay.c (pos_data): Add need_baseline_computation field.
7181         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7182         need_baseline_computation; zero yoffset. Set max_pixmap_height
7183         for all pixmaps, not just automatically positioned ones.
7184         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7185         * redisplay.c (calculate_baseline): New, compute textual baseline.
7186         * redisplay.c (add_glyph_rune): Call them.
7187         * redisplay.c (create_text_block): Likewise.
7188         * redisplay.c (create_overlay_glyph_block): Likewise.
7189         * redisplay.c (add_margin_runes): Likewise.
7190         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7191
7192         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7193         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7194         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7195         * redisplay-msw.c (mswindows_output_string): Likewise.
7196         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7197         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7198         * redisplay-x.c (x_output_display_block): Likewise.
7199
7200 2002-03-28  Ben Wing  <ben@xemacs.org>
7201
7202         * redisplay.c: Fixed bug in redisplay
7203         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7204         and down of the lines, since they're bigger than the line
7205         size. (It was seen most obviously when there's a horizontal scroll
7206         bar, e.g. do C-h a glyph or something like that.) The problem was
7207         that the glyph-contrib-p setting on glyphs was ignored even if it
7208         was set properly, which it wasn't until now.
7209
7210 2002-04-24  Andy Piper  <andy@xemacs.org>
7211
7212         * lisp.h (Dynarr_end): Fix definition.
7213
7214 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7215
7216         * redisplay.c (mark_redisplay): Remove call to
7217         update_frame_window_mirror.
7218
7219 2001-11-15  Andy Piper  <andy@xemacs.org>
7220
7221         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7222         cygwin (again).
7223
7224 2002-02-13  Andy Piper  <andy@xemacs.org>
7225
7226         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7227         we did in fact enqueue the XM_MAPFRAME event.
7228
7229 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7230
7231         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7232         to fix problem switching between virtual desktops under virtuawin
7233         virtual window manager.
7234
7235 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7236
7237         * event-msw.c: Typo fix.
7238         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7239         magic XM_MAPFRAME event has been sent.
7240
7241 2001-11-23  Andy Piper  <andy@xemacs.org>
7242
7243         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7244
7245 2001-11-21  Andy Piper  <andy@xemacs.org>
7246
7247         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7248         mouse events outside the frame.
7249
7250 2002-03-20  Andy Piper  <andy@xemacs.org>
7251
7252         * menubar-msw.c (mswindows_popup_menu): warning removal.
7253         * dialog-msw.c (dialog_popped_down): ditto.
7254
7255 2001-12-11  Andy Piper  <andy@xemacs.org>
7256
7257         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7258         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7259         popup_up_p.
7260         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7261         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7262         * menubar-msw.c (mswindows_popup_menu): ditto.
7263
7264 2001-10-29  Andy Piper  <andy@xemacs.org>
7265
7266         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7267         cancels.
7268
7269 2002-01-03  Andy Piper  <andy@xemacs.org>
7270
7271         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7272         letters.
7273         (xrealpath): ditto.
7274
7275 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7276
7277         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7278         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7279         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7280         Detect and handle case where machine is set up for metric units
7281
7282 2002-04-02  Andy Piper  <andy@xemacs.org>
7283
7284         * dired-msw.c (mswindows_get_files): 
7285         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7286         completely handled by XEmacs. Suggested by Thomas Vogler
7287         <mail@thomas-vogler.de>.
7288
7289 2001-11-14  Andy Piper  <andy@xemacs.org>
7290
7291         * nt.c (REG_ROOT): change registry key to XEmacs.
7292
7293 2002-04-27  Andy Piper  <andy@xemacs.org>
7294
7295         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7296
7297 2002-04-26  Andy Piper  <andy@xemacs.org>
7298
7299         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7300         behavior.
7301
7302 2002-03-14  Mike Alexander  <mta@arbortext.com>
7303
7304         * event-msw.c (mswindows_unwait_process): New, remove process from
7305         wait list
7306         * process-nt.c (nt_finalize_process_data): Call
7307         mswindows_unwait_process
7308         * console-msw.h: Declare mswindows_unwait_process
7309
7310 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7311
7312         * editfns.c (Fdecode_time):
7313         (Fformat_time_string):
7314         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7315         (make_time): Warning elimination (change arg name).
7316
7317 2001-11-24  Andy Piper  <andy@xemacs.org>
7318
7319         * window.c (Fsplit_window): Doc return type.
7320
7321 2002-04-01  Andy Piper  <andy@xemacs.org>
7322
7323         * emacs.c (Fkill_emacs): Only output message box in interactive
7324         mode.
7325
7326 2002-04-26  Andy Piper  <andy@xemacs.org>
7327  
7328         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7329         cygwin.
7330
7331 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7332
7333         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7334         bit platform.
7335
7336 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7337
7338         * XEmacs 21.4.8 "Honest Recruiter" is released.
7339
7340 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7341
7342         Supersedes 2002-04-17 patch.
7343
7344         * process.h (PROCESS_LIVE_P): Use the process status as
7345         evidence of health, not the state of the input stream.
7346         (PROCESS_READABLE_P): Say if the process is readable
7347         from. (It may be dead nonetheless.)
7348         (CHECK_READABLE_PROCESS): Test for that condition.
7349
7350         * process.c (create_process): Use PROCESS_READABLE_P.
7351         (read_process_output, set_process_filter): Likewise.
7352
7353         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7354         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7355
7356         This code is #if 0'd, this is not the time to add new functions:
7357
7358         * process.c (Fprocess_readable_p): Report readability status.
7359         * process.c (Qprocess_readable_p): New, associated symbol...
7360         * process.c (syms_of_process): ... initialize it.
7361
7362 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7363
7364         * XEmacs 21.4.7 "Economic Science" is released.
7365
7366 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7367
7368         * process.h (PROCESS_LIVE_P): Use the process status as
7369         evidence of health, not the state of the input stream.
7370
7371 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7372
7373         * sysdep.c (sys_siglist): change "signum" to "signal"
7374
7375 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7376
7377         * s/darwin.h: New file.
7378         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7379         
7380 2002-04-23  Andreas Jaeger  <aj@suse.de>
7381
7382         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7383         which use lib64 for 64-bit libs.
7384         (START_FILES): Likewise.
7385
7386 2002-02-11  Mike Sperber  <mike@xemacs.org>
7387
7388         * device-x.c: 
7389         (x_IO_error_handler):
7390         (x_init_device): Temporarily keep device in static variable
7391         `device_being_initialized' so we can recover gracefully from
7392         internal XOpenDevice failure.  (XOpenDevice is documented to
7393         return NULL on failure, but sometimes calls the IO error handler
7394         instead.)
7395
7396 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7397
7398         * dired.c (Ffile_name_all_completions): Change documentation --
7399         remove reference to completion-ignored-extensions.
7400         * dired.c (vars_of_dired): Change documentation for
7401         completion-ignored-extensions -- remove reference to
7402         file-name-all-completions.
7403
7404 2002-03-06  Jerry James  <james@xemacs.org>
7405
7406         * emodules.c (emodules_load): Fix multiple loading of same module.
7407
7408 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7409         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7410         RTLD_LAZY to avoid incorrect symbol binding when using nested
7411         shared libraries on Solaris.
7412
7413 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7414
7415         * fileio.c (Ffind_file_name_handler): Improve docstring.
7416
7417 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7418
7419         * fns.c (Fmapconcat): Improve docstring.
7420
7421 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7422
7423         * device-gtk.c: Add prototype for
7424         emacs_gtk_selection_clear_event_handle.
7425         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7426         selection.  Setup signal handler for "selection_clear_event"
7427         (emacs_gtk_selection_clear_event_handle).
7428
7429         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7430         other applications owning the clipboard (based on
7431         x_handle_selection_clear).
7432
7433 2001-12-23  William M. Perry  <wmperry@gnu.org>
7434
7435         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7436         
7437 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7438
7439         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7440
7441 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7442
7443         * XEmacs 21.4.6 "Common Lisp" is released.
7444
7445 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7446
7447         * search.c (Freplace_match): Add missing sub-expression functionality.
7448
7449         * buffer.c (decode_buffer): Add a check for pointer type to
7450         decode_buffer, before gcc's CSE optimization reorders a
7451         dereference in front of the allow_string test.
7452
7453 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7454
7455         * window.c (window_loop): Fix bug that sometimes prevented
7456         window_loop() from iterating across multiple devices.  Also, at
7457         Ben's request, changed infloop-detecting code to abort() instead
7458         of silently terminating window_loop().
7459
7460 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7461
7462         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7463         * editfns.c (make_time): New function.
7464         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7465         * lisp.h (make_time): Prototype and comment it.
7466         * dired.c (wasteful_word_to_lisp): Deprecate.
7467         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7468
7469 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7470
7471         * fileio.c (auto_save_1): Use current coding system, not
7472         escape-quoted.
7473
7474 2001-11-13  Ben Wing  <ben@xemacs.org>
7475
7476         * window.c:
7477         * window.c (window_truncation_on):
7478         * window.c (syms_of_window):
7479         truncate-partial-width-windows should respect the buffer being
7480         displayed, like other redisplay vars.
7481
7482 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7483
7484         * event-stream.c (Fread_key_sequence): save current buffer.
7485
7486 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7487
7488         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7489
7490 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7491
7492         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7493
7494 2001-10-26  Mike Alexander  <mta@arbortext.com>
7495
7496         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7497
7498 2001-10-25  Andy Piper  <andy@xemacs.org>
7499
7500         * ChangeLog:
7501         * dialog-msw.c (handle_directory_proc): new function.
7502          (handle_directory_dialog_box): new fucntion.
7503          (handle_file_dialog_box): use new directory dialog support.
7504          (mswindows_make_dialog_box_internal): ditto.
7505         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7506         handling.
7507         (mswindows_find_frame): make global.
7508         * fileio.c (Fexpand_file_name): build fix.
7509         * general-slots.h: add Qdirectory.
7510         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7511         handling.
7512         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7513         cygwin not leaving win32 paths unchanged.
7514         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7515         cygwin runtime to do path conversion.
7516         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7517         (syms_of_win32): add new function.
7518         * window.c (window_loop): build fix.
7519
7520 2001-10-15  Andy Piper  <andy@xemacs.org>
7521
7522         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7523
7524 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7525
7526         * XEmacs 21.4.5 "Civil Service" is released.
7527
7528 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7529
7530         * glyphs-x.c: Force buffer-tab highlight update when moving the
7531         buffer, avoiding an ugly black border, used for keyboard focus
7532         indication, on a widget that can never have keyboard focus, the
7533         buffer tab.
7534
7535 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7536
7537         * process-unix.c (unix_open_multicast_group): Remove too much
7538         conversion between host and network byte order.
7539
7540 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7541
7542         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7543         before replacing them.
7544
7545         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7546         operation.
7547
7548         * src/window.c (undedicate_windows): Use it.
7549         * src/window.h: Add prototype.
7550
7551 2001-09-17  Ben Wing  <ben@xemacs.org>
7552
7553         * fileio.c (normalize_filename):
7554         * fileio.c (Fexpand_file_name):
7555         Fix various C++ compile errors in Andy's recent code.
7556         
7557         * callint.c (Fcall_interactively):
7558         * editfns.c (Ftemp_directory):
7559         * editfns.c (Fuser_full_name):
7560         * emacs.c (argmatch):
7561         * lread.c (locate_file_map_suffixes):
7562         * redisplay-x.c (x_ring_bell):
7563         Fix sign-compare warnings.
7564         
7565 2001-09-08  Andy Piper  <andy@xemacs.org>
7566
7567         * fileio.c (normalize_filename): copied from nt.c
7568         * (Ffile_name_directory): enable win32 paths under cygwin.
7569         * (Ffile_name_nondirectory): ditto.
7570         * (directory_file_name): ditto.
7571         * (Fexpand_file_name): ditto.
7572         * (Ffile_truename): ditto.
7573         * (Fsubstitute_in_file_name): ditto.
7574         * (Ffile_name_absolute_p): ditto.
7575         * (Ffile_readable_p): ditto.
7576
7577 2001-09-08  Andy Piper  <andy@xemacs.org>
7578
7579         * device-msw.c (mswindows_finish_init_device): remove dde
7580         initialization.
7581         * device-msw.c (mswindows_init_dde): factor out from
7582         mswindows_finish_init_device()
7583         * device-msw.c (init_mswindows_very_early): new function
7584         initialize but don't enable dde.
7585         * emacs.c (main_1): call init_mswindows_very_early.
7586         * event-msw.c:
7587         * event-msw.c (mswindows_dde_callback): only execute when we are
7588         ready.
7589         * symsinit.h: declare init_mswindows_very_early.
7590
7591 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7592
7593         [sjt: This has been in 21.5 for months with no complaints.]
7594
7595         * console.h (struct console_methods): Added flags member.
7596         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7597         (CONMETH_IMPL_FLAG):
7598         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7599         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7600
7601         * device.c (window_system_pixelated_geometry): Use the above macros.
7602
7603         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7604         implememntation flag.
7605         * device.h (DEVICE_DISPLAY_P): Use it.
7606
7607         * frame.c (delete_frame_internal): Use the above macro.
7608
7609         * redisplay.c (redisplay_device): Use it.
7610         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7611         (redisplay_frame): Ditto.
7612
7613         * device-msw.c (mswindows_device_implementation_flags): Removed.
7614         (msprinter_device_implementation_flags): Removed.
7615         (console_type_create_device_mswindows): Removed references to
7616         implementation_flags methods, set implementation flags here.
7617         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7618
7619         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7620         (console_type_create_device_gtk): Removed method declaration.
7621         Added commented out statement which semantically matches the
7622         commented out statement in the above removed method.
7623
7624 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7625
7626         The attached patch fixes a few warnings. 
7627
7628         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7629         * src/frame-gtk.c: guard against GNOME calls in GTK only
7630         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7631         * src/select-gtk.c: prototype lisp_to_time
7632
7633 2001-06-08  Ben Wing  <ben@xemacs.org>
7634
7635         ------ gc-in-window-procedure fixes ------
7636         
7637         * alloc.c:
7638         * alloc.c (struct post_gc_action):
7639         * alloc.c (register_post_gc_action):
7640         * alloc.c (run_post_gc_actions):
7641         * alloc.c (garbage_collect_1):
7642         Create "post-gc actions", to avoid those dreaded "GC during window
7643         procedure" problems.
7644
7645         * event-msw.c:
7646         Abort, clean and simple, when GC in window procedure.  We want
7647         to flush these puppies out.
7648
7649         * glyphs-msw.c:
7650         * glyphs-msw.c (finalize_destroy_window):
7651         * glyphs-msw.c (mswindows_finalize_image_instance):
7652         Use a post-gc action when destroying subwindows.
7653
7654         * lisp.h:
7655         Declare register_post_gc_action().
7656
7657         * scrollbar-msw.c:
7658         * scrollbar-msw.c (unshow_that_mofo):
7659         Use a post-gc action when unshowing scrollbar windows, if in gc.
7660
7661         * redisplay.c (mark_redisplay):
7662         Add comment about the utter evilness of what's going down here.
7663
7664         ------ cygwin setitimer fixes ------
7665         
7666         * Makefile.in.in (sheap_objs):
7667         * Makefile.in.in (profile_objs):
7668         * Makefile.in.in (objs):
7669         Compile profile.c only when HAVE_SETITIMER.
7670         
7671         * nt.c (mswindows_sigset):
7672         * nt.c (mswindows_sighold):
7673         * nt.c (mswindows_sigrelse):
7674         * nt.c (mswindows_sigpause):
7675         * nt.c (mswindows_raise):
7676         * nt.c (close_file_data):
7677         Style fixes.
7678         
7679         * nt.c:
7680         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7681         
7682         * profile.c:
7683         * profile.c (Fstart_profiling):
7684         * profile.c (Fstop_profiling):
7685         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7686         instead of just plain setitimer().
7687         
7688         * signal.c:
7689         * signal.c (set_one_shot_timer):
7690         * signal.c (alarm):
7691         Define qxe_setitimer() as an encapsulation around setitimer() --
7692         call setitimer() directly unless Cygwin or MS Win, in which case
7693         we use our simulated version in win32.c.
7694         
7695         * systime.h:
7696         * systime.h (struct itimerval):
7697         * systime.h (ITIMER_REAL):
7698         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7699         comment about "qxe" and the policy regarding encapsulation.
7700
7701         * win32.c:
7702         * win32.c (setitimer_helper_proc):
7703         * win32.c (setitimer_helper_period):
7704         * win32.c (setitimer_helper):
7705         * win32.c (mswindows_setitimer):
7706         Move setitimer() emulation here, so Cygwin can use it.
7707         Rename a couple of functions and variables to be longer and more
7708         descriptive.  In setitimer_helper_proc(), send the signal
7709         using either mswindows_raise() or (on Cygwin) kill().  If for
7710         some reason we are still getting lockups, we'll change the kill()
7711         to directly invoke the signal handlers.
7712
7713         ------ windows shell fixes ------
7714         
7715         * callproc.c:
7716         * ntproc.c:
7717         Comments about how these two files must die.
7718
7719         * callproc.c (init_callproc):
7720         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7721         not just COMSPEC. (more correct and closer to FSF.) Don't
7722         force a value for SHELL into the environment. (Comments added
7723         to explain why not.)
7724         
7725         * nt.c (init_user_info):
7726         Don't shove a fabricated SHELL into the environment.  See above.
7727
7728 2001-06-01  Ben Wing  <ben@xemacs.org>
7729
7730         * Makefile.in.in (ldflags):
7731         eliminate that pesky "defaulting to 00401000" warning.
7732         * nt.h:
7733         eliminate warnings.
7734
7735 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7736
7737         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7738         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7739
7740 2001-04-24  Jerry James <james@xemacs.org>
7741
7742         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7743         correct order.
7744
7745 2001-06-01  Ben Wing  <ben@xemacs.org>
7746
7747         * event-msw.c (debug_mswin_messages):
7748         conditionalize the messages that were causing compile errors.
7749         (if only macros could generate #ifdef statements ...)
7750
7751 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7752
7753         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7754
7755 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7756
7757         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7758
7759 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7760
7761         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7762         * process-unix.c (unix_canonicalize_host_name):
7763         sysdep.c (init_system_name):
7764         Use it to conditionally support IPv6 canonicalization.
7765
7766 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7767
7768         * event-msw.c:
7769         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7770
7771 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7772
7773         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7774         attempt is made to scroll when no scroll bar is available.
7775
7776 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7777
7778         * input-method-motif.c (XIM_delete_frame): New callback.
7779         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7780         got deleted from 21.4.3.)
7781
7782 2001-06-01  Ben Wing  <ben@xemacs.org>
7783
7784         * nt.c (mswindows_utime):
7785         * nt.c (close_file_data):
7786         fix off-by-one-indirection error.
7787
7788 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7789
7790         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7791         because set_file_times() now takes Lisp_Object path, instead of
7792         char*.
7793         * nt.c: Include buffer.h.
7794         * nt.c (convert_from_time_t): New.
7795         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7796         not set mtime correctly.
7797         * nt.h: Declare mswindows_utime().
7798         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7799         path, instead of char*.
7800         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7801
7802 2001-05-30  Ben Wing  <ben@xemacs.org>
7803
7804         For 21.4:
7805
7806         (Stephen, just take all event-msw.c patches.  This includes
7807         the "iconify" fix below.)
7808
7809         * event-msw.c:
7810         * event-msw.c (mswindows_dequeue_dispatch_event):
7811         * event-msw.c (assert):
7812         * event-msw.c (emacs_mswindows_quit_p):
7813         * event-msw.c (debug_mswin_messages):
7814         * event-msw.c (debug_output_mswin_message):
7815         * event-msw.c (vars_of_event_mswindows):
7816         Fix yet more problems with C-g handling.
7817         Implement debug-mswindows-events.
7818         
7819 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7820
7821         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7822         
7823 2001-05-23  Ben Wing  <ben@xemacs.org>
7824
7825         * event-msw.c (winsock_writer):
7826         * event-msw.c (winsock_closer):
7827         prior kludgy code was clobbering the buffer, thinking it was
7828         "unused" space to store an unneeded return value; instead, use
7829         the variable we've already got staring us in the face.
7830
7831 2001-05-17  Andy Piper  <andy@xemacs.org>
7832
7833         * sysfile.h: don't assume that file attributes are boolean
7834
7835 2001-05-23  Ben Wing  <ben@xemacs.org>
7836
7837         * device-msw.c (msprinter_init_device):
7838         signal an error rather than crash with an unavailable network
7839         printer (from Mike Alexander).
7840         
7841         * event-msw.c:
7842         * event-msw.c (struct winsock_stream):
7843         * event-msw.c (winsock_writer):
7844         * event-msw.c (winsock_closer):
7845         * event-msw.c (make_winsock_stream_1):
7846         cleanup headers.  fix (hopefully) an error with data corruption
7847         when sending to a network connection.
7848
7849         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7850         to handle the ~user prefix by (a) always assuming we're referencing
7851         ourselves and not even verifying the user -- hence any file with
7852         a tilde as its first char is invalid! (b) if there wasn't a slash
7853         following the filename, the pointer was set *past* the end of
7854         file and we started reading from uninitialized memory.  Now we
7855         simply treat these as files, always.
7856
7857         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7858         
7859 2001-05-19  Ben Wing  <ben@xemacs.org>
7860
7861         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7862
7863         * process-nt.c:
7864         * process-nt.c (vars_of_process_nt):
7865         remove unused mswindows-quote-process-args.  rec for 21.4.
7866         
7867 2001-05-12  Ben Wing  <ben@xemacs.org>
7868
7869         * event-msw.c (mswindows_dde_callback):
7870         * event-msw.c (mswindows_wnd_proc):
7871         eliminate cygwin warnings.
7872
7873 2001-05-06  Ben Wing  <ben@xemacs.org>
7874
7875         * console-msw.h:
7876         * device-msw.c:
7877         * device-msw.c (print_dialog_worker):
7878         * device-msw.c (mswindows_handle_print_dialog_box):
7879         * device-msw.c (syms_of_device_mswindows):
7880         * dialog-msw.c (mswindows_make_dialog_box_internal):
7881         * general-slots.h:
7882         implement printing the selection when it's selected.
7883
7884 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7885
7886         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7887
7888 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7889
7890         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7891         EMACS_INT is signed.
7892
7893 2001-04-15  Michael Lausch  <mla@1012surf.net>
7894
7895         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7896         gtk_widget_request_size() to give scrollbar >0 width for
7897         GTK >1.2.8.
7898
7899 2001-05-30  William M. Perry  <wmperry@gnu.org>
7900
7901         * event-gtk.c: Check for buttons as modifier keys.
7902
7903 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7904
7905         * s\mingw32.h:
7906         Properly find MinGW's <process.h> inside Cygwin's restructured
7907         include directories.  Don't try to include <cygwin/version.h>
7908         since we are dropping support for MinGW in versions of Cygwin
7909         earlier than b21.
7910         * nt.c:
7911         Drop support for MinGW in versions of Cygwin before b21.
7912         * sysdep.c:
7913         Properly find MinGW's <process.h> inside Cygwin's restructured
7914         include directories.
7915         * syswindows.h:
7916         Drop support for MinGW in versions of Cygwin before b21.
7917         * unexcw.c:
7918         Even though a.out.h is no longer detected by configure, allow
7919         MinGW to use it until we figure out how to do the job with Win32.
7920
7921 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7922
7923         * syntax.c (find_start_of_comment):
7924         Fix `unbalanced parentheses' bug when dealing with mixed comment
7925         styles in c++/java/etc. mode
7926
7927 2001-05-29  Mike Alexander  <mta@arbortext.com>
7928
7929         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7930         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7931
7932 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7933
7934         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7935
7936 2001-03-31  Mike Sperber <mike@xemacs.org>
7937
7938         * search.c (Freplace_match): Support FSF-style specification of
7939         match subexpression when applied to a buffer.
7940
7941 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7942
7943         * event-stream.c (is_scrollbar_event): add missing semicolon
7944
7945 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7946
7947         * Makefile.in.in: Use TAR macro instead of hardcoding
7948           tar.  Allows use of GNU tar instead of system tar
7949
7950 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7951
7952         * event-stream.c (is_scrollbar_event): add missing semicolon
7953
7954 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7955
7956         * XEmacs 21.4.3 "Academic Rigor" is released.
7957
7958 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7959
7960         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7961
7962 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7963
7964         * buffer.c (Vcase_fold_search): Remove obsolete
7965           comment about non ASCII case-fold-search.  This
7966           bug has been fixed by case-table changes.
7967
7968 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7969
7970         * event-msw.c: Restore include of events-mod.h.
7971
7972 2001-04-22   zhaoway  <zw@debian.org>
7973
7974         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7975         !HAVE_SCROLLBARS.
7976
7977 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7978
7979         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7980
7981 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7982
7983         * mule-charset.c (Fmake_charset): Add missing else.
7984
7985 2001-04-23  Ben Wing  <ben@xemacs.org>
7986
7987         * event-msw.c (FAKE_MOD_QUIT):
7988         * event-msw.c (mswindows_dequeue_dispatch_event):
7989         * event-msw.c (mswindows_wnd_proc):
7990         * event-msw.c (emacs_mswindows_quit_p):
7991         Get critical quit working.
7992
7993 2001-05-05  Ben Wing  <ben@xemacs.org>
7994
7995         * console-msw.h:
7996         * device-msw.c:
7997         * device-msw.c (mswindows_get_default_margin):
7998         * frame-msw.c (mswindows_size_frame_internal):
7999         * frame-msw.c (msprinter_init_frame_1):
8000         * frame-msw.c (vars_of_frame_mswindows):
8001         Change top/bottom margin defaults to 0.5 inches.
8002
8003 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8004
8005         Fix link error with gcc 3.0 on Linux.
8006         * terminfo.c (UP): Remove.
8007         * terminfo.c (BC): Remove.
8008         * terminfo.c (PC): Remove.
8009         They weren't used, and in any case, these symbols should be
8010         defined in the *library*.
8011
8012 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8013
8014         * s/aix4.h: Fix crash with xlc -O3.
8015         Improve comment explaining how -O3 works.
8016
8017 2001-04-15  Ben Wing  <ben@xemacs.org>
8018
8019         * event-stream.c:
8020         * event-stream.c (Fnext_event):
8021         * event-stream.c (is_scrollbar_event):
8022         * event-stream.c (execute_command_event):
8023         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8024         crash' problem.  His fix introduces other problems.  We filter
8025         out scrollbar events specifically, making them somewhat invisible
8026         to command-building, and not appearing in `this-command-keys'.
8027         More work is still needed (see comments in event-stream.c), but
8028         this fixes all the major problems.
8029
8030 2001-04-20  Ben Wing  <ben@xemacs.org>
8031
8032         * .cvsignore: Added stuff for Windows.
8033
8034 2001-04-28  Ben Wing  <ben@xemacs.org>
8035
8036         * buffer.c (Ferase_buffer):
8037         * editfns.c (buffer_insert1):
8038         * editfns.c (Finsert_before_markers):
8039         * editfns.c (Finsert_string):
8040         * editfns.c (Finsert_char):
8041         * editfns.c (Fdelete_region):
8042         * editfns.c (Fwiden):
8043         * editfns.c (Fnarrow_to_region):
8044         remove bogus lines setting zmacs_region_stays to 0.
8045         
8046 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8047
8048         * process-unix.c (unix_open_network_stream): If connect() fails
8049         invalidate file descriptor after closing it.
8050
8051 2001-03-08  Mike Alexander  <mta@arbortext.com>
8052
8053         * event-msw.c (mswindows_need_event_in_modal_loop):
8054         Don't dispatch a message if we didn't get one.
8055         (mswindows_need_event):
8056         Terminate the correct process when one exits instead of the first
8057         one on Vprocess_list and look for process termination when in
8058         mswindows_protect_modal_loop.
8059
8060 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8061
8062         * XEmacs 21.4.1 "Copyleft" is released.
8063
8064 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8065
8066         * input-method-motif.c (XIM_delete_frame): New callback.
8067         (XIM_init_frame): Register it.
8068
8069 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8070
8071         * XEmacs 21.4.0 "Solid Vapor" is released.
8072
8073 2001-04-15  Ben Wing  <ben@xemacs.org>
8074
8075         * cmdloop.c (call_command_loop):
8076         Fix braino in bit-rotting code.
8077         
8078 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8079
8080         * extents.c (Fset_extent_endpoints): Force creation of extent info
8081         in buffer_or_string.
8082
8083         * extents.c (process_extents_for_insertion_mapper): Correctly
8084         check for open-open zero-length extents.
8085
8086 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8087
8088         * lisp.h: New typedefs Memory_count, Element_count.
8089         * regex.c:
8090         * regex.h:
8091         Sign-compare warning elimination: several unsigned -> signed.
8092         Based on work by Ben Wing <ben@xemacs.org>.
8093
8094 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8095
8096         * XEmacs 21.2.47 "Zephir" is released.
8097
8098 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8099
8100         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8101
8102 2001-04-03  Mike Sperber <mike@xemacs.org>
8103
8104         * search.c: Revert previous patch due because of release.
8105
8106 2001-03-30  Ben Wing  <ben@xemacs.org>
8107
8108         * s\cygwin32.h:
8109         Add missing killpg prototype.
8110
8111         * elhash.c:
8112         Add a comment about fixing problems when a new entry is added
8113         while mapping.
8114
8115         * frame-msw.c (mswindows_init_frame_1):
8116         Fix compile warnings.
8117
8118         * menubar.c (vars_of_menubar):
8119         Provide `menu-accelerator-support' to indicate that we properly
8120         support %_ in menu specifications, so that package code can
8121         conditionalize on this (and remove %_ from menu specifications
8122         on older versions).
8123
8124         * event-msw.c:
8125         * scrollbar-msw.c:
8126         * scrollbar-msw.c (can_scroll):
8127         * scrollbar-msw.h:
8128         Fix handling of mouse wheel under Windows to follow standards --
8129         now scrolls window under pointer, not selected window.
8130
8131 2001-03-31  Mike Sperber <mike@xemacs.org>
8132
8133         * search.c (Freplace_match): Support FSF-style specification of
8134         match subexpression when applied to a buffer.
8135
8136 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8137
8138         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8139         function to modify KEYMAP, so map over a copy of the hash table.
8140
8141 2001-03-21  Martin Buchholz <martin@xemacs.org>
8142
8143         * XEmacs 21.2.46 "Urania" is released.
8144
8145 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8146
8147         * realpath.c (xrealpath): Make file-truename work with symlinks to
8148         /cygdrive paths on cygwin. Always lowercase drive-letters on
8149         native windows.
8150         (cygwin_readlink): Don't try to find canonical filename unless
8151         file exists.
8152
8153 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8154
8155         * ChangeLog: Log GTK merge.
8156
8157         * dumper.c:
8158         * select-x.c:
8159         * specifier.c:
8160         * symeval.h:
8161         Revert gratuitous whitespace changes from GTK merge.
8162
8163         * emacs.c: Document end of complex #ifdef @ l. 1495.
8164
8165
8166 2001-03-12  Andy Piper  <andy@xemacs.org>
8167
8168         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8169         have to do likewise.
8170
8171 2001-03-12  Andy Piper  <andy@xemacs.org>
8172
8173         * sysdep.c: we only support mingw now.
8174
8175 2001-03-09  Andy Piper  <andy@xemacs.org>
8176
8177         * unexcw.c (copy_executable_and_dump_data_section): making approx
8178         overrun a warning only.
8179
8180 2001-03-10  William M. Perry  <wmperry@aventail.com>
8181
8182         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8183         satisfy Stephen's identical-after-cpp plea.
8184
8185 2001-03-02  Ben Wing  <ben@xemacs.org>
8186
8187         * cmds.c:
8188         * cmds.c (Fforward_char):
8189         * syntax.c:
8190         * window.c:
8191
8192         Augment documentation of the most common motion commands to make
8193         note of the shifted-motion support.
8194         
8195 2001-03-02  Ben Wing  <ben@xemacs.org>
8196
8197         * nt.c (mswindows_fstat):
8198         * nt.c (mswindows_stat):
8199         * search.c (boyer_moore):
8200         Fix compile warnings under Windows.
8201         
8202         * sysdep.c (sys_readdir):
8203         Fix buggy filename-conversion code under Mule.
8204
8205 2001-03-09  William M. Perry  <wmperry@aventail.com>
8206
8207         * Makefile.in.in:
8208         * config.h.in:
8209         * console.c:
8210         * console.h:
8211         * device.c:
8212         * device.h:
8213         * dragdrop.c:
8214         * emacs.c:
8215         * event-stream.c:
8216         * events.c:
8217         * events.h:
8218         * faces.c:
8219         * frame.h:
8220         * general-slots.h:
8221         * glyphs.c:
8222         * gutter.c:
8223         * inline.c:
8224         * lisp.h:
8225         * lrecord.h:
8226         * make-src-depend:
8227         * redisplay-output.c:
8228         * redisplay.c:
8229         * symsinit.h:
8230         * sysfile.h:
8231         * toolbar.c:
8232         * window.c:
8233         The Great GTK Merge.
8234
8235         * ChangeLog.GTK:
8236         * console-gtk.c:
8237         * console-gtk.h:
8238         * device-gtk.c:
8239         * emacs-marshals.c:
8240         * emacs-widget-accessors.c:
8241         * event-gtk.c:
8242         * frame-gtk.c:
8243         * gccache-gtk.c:
8244         * gccache-gtk.h:
8245         * glade.c:
8246         * glyphs-gtk.c:
8247         * glyphs-gtk.h:
8248         * gtk-glue.c:
8249         * gtk-xemacs.c:
8250         * gtk-xemacs.h:
8251         * gui-gtk.c:
8252         * gui-gtk.h:
8253         * menubar-gtk.c:
8254         * native-gtk-toolbar.c:
8255         * objects-gtk.c:
8256         * objects-gtk.h:
8257         * redisplay-gtk.c:
8258         * scrollbar-gtk.c:
8259         * scrollbar-gtk.h:
8260         * select-gtk.c:
8261         * toolbar-gtk.c:
8262         * ui-byhand.c:
8263         * ui-gtk.c:
8264         * ui-gtk.h:
8265         The Great GTK Merge: new files.
8266
8267 2001-02-26  Ben Wing  <ben@xemacs.org>
8268
8269         Reapplied Lstream change.
8270
8271 2001-02-26  Ben Wing  <ben@xemacs.org>
8272
8273         Undid the last change, since it is more controversial than I
8274         thought.  It should be back in at some point soon.
8275         
8276 2001-02-25  Ben Wing  <ben@xemacs.org>
8277
8278         * buffer.c:
8279         * callproc.c (Fold_call_process_internal):
8280         * event-msw.c (ntpipe_slurp_reader):
8281         * event-msw.c (ntpipe_shove_writer):
8282         * event-msw.c (winsock_reader):
8283         * event-msw.c (winsock_writer):
8284         * file-coding.c:
8285         * file-coding.c (detect_eol_type):
8286         * file-coding.c (detect_coding_type):
8287         * file-coding.c (determine_real_coding_system):
8288         * file-coding.c (Fdetect_coding_region):
8289         * file-coding.c (decoding_reader):
8290         * file-coding.c (decoding_writer):
8291         * file-coding.c (mule_decode):
8292         * file-coding.c (Fdecode_coding_region):
8293         * file-coding.c (encoding_reader):
8294         * file-coding.c (encoding_writer):
8295         * file-coding.c (mule_encode):
8296         * file-coding.c (Fencode_coding_region):
8297         * file-coding.c (detect_coding_sjis):
8298         * file-coding.c (decode_coding_sjis):
8299         * file-coding.c (encode_coding_sjis):
8300         * file-coding.c (detect_coding_big5):
8301         * file-coding.c (decode_coding_big5):
8302         * file-coding.c (encode_coding_big5):
8303         * file-coding.c (detect_coding_ucs4):
8304         * file-coding.c (decode_coding_ucs4):
8305         * file-coding.c (encode_coding_ucs4):
8306         * file-coding.c (detect_coding_utf8):
8307         * file-coding.c (decode_coding_utf8):
8308         * file-coding.c (encode_coding_utf8):
8309         * file-coding.c (detect_coding_iso2022):
8310         * file-coding.c (decode_coding_iso2022):
8311         * file-coding.c (encode_coding_iso2022):
8312         * file-coding.c (decode_coding_no_conversion):
8313         * file-coding.c (encode_coding_no_conversion):
8314         * glyphs-x.c (write_lisp_string_to_temp_file):
8315         * gpmevent.c (tty_get_foreign_selection):
8316         * lisp.h:
8317         * lstream.c:
8318         * lstream.c (Lstream_flush_out):
8319         * lstream.c (Lstream_adding):
8320         * lstream.c (Lstream_write_1):
8321         * lstream.c (Lstream_write):
8322         * lstream.c (Lstream_raw_read):
8323         * lstream.c (Lstream_read_more):
8324         * lstream.c (Lstream_read):
8325         * lstream.c (Lstream_unread):
8326         * lstream.c (Lstream_fputc):
8327         * lstream.c (stdio_reader):
8328         * lstream.c (stdio_writer):
8329         * lstream.c (filedesc_reader):
8330         * lstream.c (filedesc_writer):
8331         * lstream.c (lisp_string_reader):
8332         * lstream.c (struct fixed_buffer_stream):
8333         * lstream.c (make_fixed_buffer_input_stream):
8334         * lstream.c (make_fixed_buffer_output_stream):
8335         * lstream.c (fixed_buffer_reader):
8336         * lstream.c (fixed_buffer_writer):
8337         * lstream.c (struct resizing_buffer_stream):
8338         * lstream.c (resizing_buffer_writer):
8339         * lstream.c (dynarr_writer):
8340         * lstream.c (lisp_buffer_reader):
8341         * lstream.c (lisp_buffer_writer):
8342         * lstream.h:
8343         * lstream.h (lstream_implementation):
8344         * lstream.h (struct lstream):
8345         * md5.c (Fmd5):
8346         * process-nt.c (nt_send_process):
8347         * process-unix.c (unix_send_process):
8348         
8349         Correct Lstream lossage due to mixing of signed and unsigned
8350         quantities.  All Lstream uses of size_t and ssize_t are now a
8351         single signed data type Lstream_data_count.  This fixes problems
8352         under Windows with sending large quantities of data to a process,
8353         and may well fix other subtle bugs.
8354
8355 2001-02-23  Martin Buchholz <martin@xemacs.org>
8356
8357         * XEmacs 21.2.45 "Thelxepeia" is released.
8358
8359 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8360
8361         * lisp-union.h (XSETINT): 
8362         (XSETCHAR):
8363         (XSETOBJ): 
8364         Reverse previous change of 2001-02-06.
8365
8366 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8367
8368         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8369         buffers.
8370         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8371         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8372         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8373         * regex.c (POS_AS_IN_BUFFER): removed
8374         * regex.c (re_search_2):
8375         * regex.c (re_match_2):
8376         Don't use an offset of 1 when calculating buffer positions, since
8377         `BI_BUF_BEGV' does it already.
8378
8379 2001-02-18  Wim Dumon  <wim@easics.be>
8380
8381         * insdel.c (prepare_to_modify_buffer): Also check for
8382         supersession when clash-detection is enabled. 
8383
8384 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8385
8386         * regex.c (re_match_2_internal):
8387         Convert temp characters from 'const unsigned char' to 're_char'.
8388         Fix crashing bug with extended characters under mule.
8389         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8390         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8391         font-lock, pdump, and new syntax-table code.
8392         * syntax.c (find_start_of_comment):
8393         (find_end_of_comment):
8394         (forward-comment):
8395         Fix crashing bugs involving moving beyond end of buffer.
8396         * syntax.c (find_start_of_comment):
8397         Fixed logic to allow proper detection of cases where the same
8398         character is used to end both a two-char comment start and a
8399         two-char comment end sequence. Fixes `(forward-comment -1)'.
8400         * syntax.c (find_start_of_comment):
8401         Return position just past last comment-end character for all cases
8402         (previously was only done for two-char comment-end sequences).
8403         * syntax.c (forward-comment):
8404         Take value returned from `find_end_of_comment', rather than
8405         incrementing it.
8406         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8407         Properly deal with BUFFERP (syntax_cache.object)
8408
8409 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8410
8411         * alloc.c (Fgarbage_collect): 
8412         * alloc.c (make_bit_vector_from_byte_vector):
8413         -Wsign-compare-correctness.
8414
8415 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8416
8417         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8418         (XSETCHAR): Likewise.
8419         (XSETOBJ): Likewise.
8420
8421 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8422
8423         * mule-canna.c (canna-func-delete_previous): 
8424         Rename to canna-func-delete-previous.
8425
8426 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8427
8428         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8429
8430 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8431
8432         * font-lock.c (find_context): Fix C++ compile errors introduced by
8433         recent patch
8434
8435 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8436
8437         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8438         pragma, but earlier ones barf on the same pragma.
8439
8440 2001-02-06  Mike Sperber <mike@xemacs.org>
8441
8442         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8443         `configure-mule-lisp-directory'.
8444
8445 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8446
8447         Make sure dump-id.c is compiled in the same way as other .c's.
8448         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8449         * dump-id.h: Remove.
8450         * emacs.c: Move dump-id.h into dumper.h.
8451         * dumper.h: Move dump-id.h into dumper.h.
8452         * Makefile.in.in:
8453         Use standard .c.o rule for building dump-id.o.
8454         Remove preprocessor flags from link command.
8455         Add dump-id.o to ${otherobjs} if PDUMP.
8456
8457 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8458
8459         Port FSF 20.7 syntax table improvements.
8460         * syntax.c.
8461         * syntax.h.
8462
8463         Fixups for new syntax table stuff.
8464         * dired.c: Include syntax.c.
8465         (Fdirectory_files): Initialize regex_match_object and
8466         regex_emacs_buffer.
8467         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8468         and Fget_char_property.
8469
8470         Use ported FSF 20.7 syntax table improvements.
8471         * font-lock.c.
8472         * regex.c.
8473         * search.c.
8474         
8475 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8476
8477         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8478         Unixware's enum boolean from sys/types.h.
8479
8480 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8481
8482         Fix support for building with latest Purify.
8483         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8484         (PURIFY_FLAGS): Likewise.
8485
8486 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8487
8488         * fileio.c (lisp_string_set_file_times): New.
8489         * fileio.c (Fcopy_file): Use it.
8490         Fixes bug:
8491         (copy-file filename non-ascii-filename t t)
8492         ==> No such file or directory, non-ascii-filename
8493
8494 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8495
8496         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8497         USHRT_MAX seems clearer than ~0 anyways.
8498
8499 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8500
8501         dumper improvements.  Inspired by Olivier.
8502         * dumper.c (pdump_max_align): New.
8503         * dumper.c (pdump_add_entry): Use pdump_max_align.
8504         * dumper.c (pdump_get_entry_list): Likewise.
8505         * dumper.c (pdump_scan_by_alignment): Likewise.
8506         Don't iterate through unnecessary alignments.
8507         * dumper.c (pdump_file_get): No need to align result of malloc().
8508         * dumper.c (pdump_mallocadr): Remove.  
8509         The result of malloc() is guaranteed to be maximally aligned.
8510         * dumper.c: s/elmt/elt/g;
8511         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8512         * dumper.c (pdump_alert_undump_object): Likewise.
8513         * dumper.c (pdump_align_table): 
8514         Don't support alignments > 64.
8515         Store ALIGNOF's, not shift counts, in table.
8516
8517 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8518
8519         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8520         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8521         * systime.h: Use HAVE_UTIME.
8522         * sysdep.c (struct utimbuf): Remove.
8523         * sysdep.c (set_file_times): Prefer utime() to utimes().
8524         * config.h.in (HAVE_UTIME): New.
8525         * config.h.in (HAVE_UTIME_H): Remove.
8526         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8527
8528 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8529
8530         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8531
8532 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8533
8534         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8535
8536 2001-02-08  Martin Buchholz <martin@xemacs.org>
8537
8538         * XEmacs 21.2.44 "Thalia" is released.
8539
8540 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8541
8542         Fixes crashes in kill-emacs on some systems.
8543         * process-unix.c (unix_kill_child_process):
8544         It's OK for kill() to fail with ESRCH.
8545
8546 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8547
8548         Contortions to make .gdbinit tricks work on most systems.
8549         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8550         * alloc.c (dbg_valmask): Make non-const.
8551         * alloc.c (dbg_typemask): Make non-const.
8552         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8553         * alloc.c (dbg_valbits): Make non-const.
8554         * alloc.c (dbg_gctypebits): Make non-const.
8555         * .gdbinit (decode_object): Make it work with AIX cc.
8556
8557 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8558
8559         * elhash.c (make_general_lisp_hash_table):
8560         Use simpler and more efficient calloc to clear entries.
8561
8562 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8563
8564         * window.c (window_scroll): Work around an AIX C compiler bug.
8565         Fixes 'scroll-up' does nothing problem with xlC.
8566
8567 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8568
8569         * .gdbinit: Remove obsolete comment.
8570
8571 2001-01-31  Mike Alexander  <mta@arbortext.com>
8572
8573         * select.c (Fown_selection_internal): Set owned_p for device
8574         method correctly.
8575
8576 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8577
8578         Port to g++ 2.97.
8579         "not" cannot be used as a macro name as it is an operator in C++
8580         * config.h.in: Stop #defining `not'.
8581         * chartab.c (check_category_char): not ==> not_p
8582         * chartab.h: Likewise.
8583         * regex.c (re_match_2_internal): Likewise.
8584
8585 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8586
8587         * lisp-disunion.h: Fix up comments.
8588
8589 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8590
8591         * keymap.c (define_key_check_and_coerce_keysym):
8592         (syms_of_keymap):
8593         Support mouse-6 and mouse-7 bindings in the obvious way.
8594
8595 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8596
8597         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8598
8599 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8600
8601         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8602         Previous patch missed DEFVAR_INT_MAGIC.
8603         Make sure future DEFVAR_foo use correct types.
8604         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8605         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8606         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8607         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8608         * (DEFVAR_INT): Likewise.
8609         * redisplay.c (vertical_clip): Should be of type Fixnum.
8610         * redisplay.c (horizontal_clip): Likewise.
8611         * lisp.h (dump_add_opaque_int): New.
8612         (dump_add_opaque_fixnum): New.
8613
8614 2001-01-29  Andy Piper  <andy@xemacs.org>
8615
8616         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8617         since they can be eval'ed
8618
8619 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8620
8621         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8622         Oops, XEmacs redefines `class'.  Use `typename' instead.
8623
8624 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8625
8626         * dumper.c: Fix C++ compile errors.
8627
8628 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8629
8630         * tparam.c: Use correct prototypes.
8631
8632 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8633
8634         * sysproc.h: #include util.h for NetBSD's openpty.
8635
8636 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8637
8638         More 64-bit correctness.
8639         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8640         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8641         Fix up comments.
8642         This finally finishes the 64-bit SGI port.
8643         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8644         * symbols.c: Fix up comments and type casts.
8645         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8646         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8647         * symeval.h (Fixnum): New type.
8648         * symeval.h (symbol_value_type): Fix up comment.
8649
8650         * commands.h:
8651         * nt.c:
8652         * emacs.c:
8653         * data.c:
8654         * redisplay.c:
8655         * abbrev.c:
8656         * dired-msw.c:
8657         * event-Xt.c:
8658         * eldap.c:
8659         * window.c:
8660         * sound.c:
8661         * event-stream.c:
8662         * eval.c:
8663         * buffer.c:
8664         * mule-canna.c: A million DEFVAR_INTs here...
8665         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8666         * extents.c:
8667         * cmdloop.c:
8668         * lisp.h:
8669         * select-x.c:
8670         * console-x.h:
8671         * event-msw.c:
8672         * mule-wnnfns.c:
8673         * hpplay.c:
8674         * ralloc.c:
8675         * alloc.c:
8676         * keymap.c:
8677         * profile.c:
8678         s/int/Fixnum/g in DEFVAR_INT declarations.
8679
8680 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8681
8682         Port pdump to SGI alignment-sensitive environment.
8683         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8684         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8685         properly aligned.
8686         Define and use aligned reading and writing macros.
8687         Use buffered stdio instead of posix i/o for faster dumping.
8688         Eliminate kludgy 256 byte space for header.
8689         Read and write from dump file using structs for alignment safety.
8690         * dumper.c (pdump_align_stream): New.
8691         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8692         * dumper.c (PDUMP_READ_ALIGNED): New.
8693         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8694         * dumper.c (pdump_static_Lisp_Object): New struct.
8695         * dumper.c (pdump_static_pointer): New struct.
8696         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8697         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8698         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8699         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8700
8701         * dumper.c (pdump_backtrace):
8702         * dumper.c (pdump_get_indirect_count):
8703         * dumper.c (pdump_register_object):
8704         * dumper.c (pdump_register_struct):
8705         * dumper.c (pdump_reloc_one):
8706         * dumper.c (pdump_scan_by_alignment):
8707         * dumper.c (pdump_dump_from_root_struct_ptrs):
8708         * dumper.c (pdump_dump_opaques):
8709         * dumper.c (pdump_dump_rtables):
8710         * dumper.c (pdump_dump_from_root_objects):
8711         * dumper.c (pdump):
8712         * dumper.c (pdump_load_finish):
8713         Use aligned reading and writing.
8714
8715         * dumper.c (pdump_free): Make static.
8716         * dumper.c (pdump_hFile): Likewise.
8717         * dumper.c (pdump_hMap): Likewise.
8718
8719 2001-01-26  Martin Buchholz <martin@xemacs.org>
8720
8721         * XEmacs 21.2.43 "Terspichore" is released.
8722
8723 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8724
8725         Type fiddling for window_config.saved_windows_count
8726         * window.c (struct window_config): 
8727         Make saved_windows_count member unsigned.
8728         * window.c (sizeof_window_config_for_n_windows): 
8729         Make parameter unsigned.
8730         * window.c (mark_window_config):
8731         * window.c (window_config_equal):
8732         * window.c (free_window_configuration):
8733         * window.c (Fset_window_configuration):
8734         * window.c (count_windows):
8735         * window.c (Fcurrent_window_configuration):
8736         * window.c (reinit_vars_of_window):
8737         Update all callers and users.
8738
8739 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8740
8741         Alignment correctness for flexible arrays.
8742         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8743         Make alignment-correct. Add interesting comments.
8744         * alloc.c (size_vector):
8745         * alloc.c (make_vector_internal):
8746         * alloc.c (make_bit_vector_internal):
8747         * alloc.c (sweep_bit_vectors_1):
8748         * fns.c (size_bit_vector):
8749         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8750         * window.c (sizeof_window_config_for_n_windows): 
8751         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8752
8753 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8754
8755         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8756
8757 2001-01-23  Andy Piper  <andy@xemacs.org>
8758
8759         * select.c (Fown_selection_internal): pass owned_p
8760
8761         * select-msw.c (mswindows_own_selection): New Signature.
8762
8763         * console.h (struct console_methods): add owned_p to
8764         _own_selection.
8765
8766         * select-x.c (x_own_selection): pass owned_p
8767         (hack_motif_clipboard_selection): use owned_p
8768         (vars_of_select_x): new variable -
8769         x_selection_strict_motif_ownership.
8770
8771 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8772
8773         * specifier.h (specifier_data_offset): Remove pointless parens.
8774         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8775
8776 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8777
8778         Make Lisp_Object sizeof methods be alignment-correct.
8779         pdump must restore objects to the same alignment as the C compiler
8780         assumes.  It really matters on SGIs.
8781         * lstream.c (aligned_sizeof_lstream): New.
8782         (sizeof_lstream): Use aligned_sizeof_lstream.
8783         (Lstream_new): Likewise.
8784         * opaque.c (aligned_sizeof_opaque): New.
8785         (sizeof_opaque): Use aligned_sizeof_opaque.
8786         (make_opaque): Likewise.
8787         * specifier.c (aligned_sizeof_specifier): New.
8788         (sizeof_specifier): Use aligned_sizeof_specifier.
8789         (make_specifier_internal): Likewise.
8790
8791 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8792
8793         * lstream.h (struct lstream): Use max_align_t for trailing data.
8794         * specifier.h (struct Lisp_Specifier): Likewise.
8795
8796 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8797
8798         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8799         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8800         (CCL_SUSPEND): Likewise.
8801         (CCL_INVALID_CMD): Likewise.
8802         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8803         (ccl_driver): Likewise.
8804         (CCL_WRITE_CHAR): Macro hygiene.
8805         (CCL_WRITE_STRING): Macro hygiene.
8806
8807 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8808
8809         Port "portable" dumper to SunOS 4 and HP-UX.
8810         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8811         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8812         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8813
8814 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8815
8816         * lisp.h (ALIGNOF): A better definition for C++.
8817
8818 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8819
8820         Macro hygiene.
8821         Fix printf warnings: int format, long int arg.
8822         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8823         (PUSH_FAILURE_POINT): Use correct printf formats.
8824         (POP_FAILURE_POINT): Use correct printf formats.  
8825         Use do {...} while (0)
8826
8827 2001-01-20  Martin Buchholz <martin@xemacs.org>
8828
8829         * XEmacs 21.2.42 "Poseidon" is released.
8830
8831 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8832
8833         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8834
8835 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8836
8837         De-kludgify FIXED_TYPE free list frobbing.
8838         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8839         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8840         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8841         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8842         * alloc.c (LRECORD_FREE_P): New.
8843         * alloc.c (MARK_LRECORD_AS_FREE): New.
8844         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8845         * alloc.c (STRUCT_FREE_P): Deleted.
8846         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8847         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8848         * alloc.c (STRING_CHARS_FREE_P): New.
8849         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8850         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8851         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8852         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8853         * alloc.c (resize_string): Use new definitions.
8854         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8855         * alloc.c (verify_string_chars_integrity): Use new definitions.
8856         * alloc.c (compact_string_chars): Use new definitions.
8857         * alloc.c: Update monster comments.
8858         * lrecord.h (lrecord_type): Add some new lrecord types for
8859         alloc.c's use.
8860
8861 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8862
8863         Improve alignment hackery.
8864         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8865         (max_align_t): Moved from opaque.h - general purpose.
8866         (ALIGN_PTR): Use size_t, not long.
8867         * opaque.h (max_align_t): Move to lisp.h.
8868
8869 2001-01-18  Norbert Koch  <nk@LF.net>
8870
8871         * gui.h: Fix and add prototypes to fix build problems.
8872
8873 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8874
8875         temacs is going away, so `dump-temacs' is now a bad name.
8876         * .dbxrc (dump-temacs): Rename to `dmp'.
8877         * .gdbinit (dump-temacs): Rename to `dmp'.
8878
8879 2001-01-17  Andy Piper  <andy@xemacs.org>
8880
8881         * glyphs.c (print_image_instance): comment to make martin happy.
8882
8883         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8884         change.
8885
8886         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8887         activation.
8888         (mswindows_tab_control_redisplay): warning suppression.
8889
8890         * glyphs-widget.c (widget_update): re-write to cope with updated
8891         items.
8892         (widget_instantiate): use new gui_item functions.
8893         (tab_control_update): deleted.
8894         (progress_gauge_update): deleted.
8895         (image_instantiator_progress_guage): take out update reference.
8896         (image_instantiator_tree_view): ditto.
8897         (image_instantiator_tab_control): ditto.
8898
8899         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8900         Right the new way.
8901         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8902         return whether anything was changed.
8903         (update_gui_item_keywords): as it sounds.
8904
8905         * gui.h: declare widget_gui_parse_item_keywords.
8906
8907         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8908         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8909
8910 2001-01-17  Martin Buchholz <martin@xemacs.org>
8911
8912         * XEmacs 21.2.41 "Polyhymnia" is released.
8913
8914 2001-01-16  Didier Verna  <didier@xemacs.org>
8915
8916         * glyphs.c (image_instantiate): don't use fallbacks when
8917         instantiating a face's background pixmap by inheritance.
8918
8919 2001-01-14  Mike Sperber <mike@xemacs.org>
8920
8921         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8922         Conditionalize accordingly.
8923
8924 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8925
8926         * dumper.c (pdump_file_get): Fix a compiler warning.
8927
8928 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8929
8930         Make Purify happy when pdumping.
8931         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8932         iniitalizing all bits of new lisp object memory.
8933         * symbols.c (Fmake_local_variable): Likewise.
8934         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8935         * symbols.c (Fdefvaralias): Likewise.
8936         * mule-charset.c (vars_of_mule_charset): Likewise.
8937
8938 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8939         Add the `-nd' flag when running pre-dump operations under the debugger.
8940         * .dbxrc (run-temacs): Add `-nd'.
8941         * .dbxrc (update-elc): Likewise.
8942         * .dbxrc (dump-temacs): Likewise.
8943         * .gdbinit (run-temacs): Likewise.
8944         * .gdbinit (check-temacs): Likewise.
8945         * .gdbinit (update-elc): Likewise.
8946         * .gdbinit (dump-temacs): Likewise.
8947
8948 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8949
8950         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8951         export OBJECT_MODE=64
8952         configure --pdump --use-union-type=no
8953         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8954         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8955
8956         * miscplay.c (sndcnv8U_2mono):
8957         Avoid two uses of `++' in the same expression.
8958         Suppresses a GCC warning.
8959
8960 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8961
8962         Make sure future compilers don't miscompile alloc.c.
8963         * alloc.c:
8964         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8965         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8966
8967 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8968
8969         * dumper.c: A little post-pdump-rename comment fixup.
8970
8971 2001-01-09  Jerry James  <james@eecs.ku.edu>
8972
8973         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8974
8975 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8976
8977         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8978         script:
8979         #!/bin/sh
8980         replace_symbol () {
8981           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8982         }
8983
8984         replace_symbol pdump_wire_lists pdump_weak_object_chains
8985         replace_symbol pdump_wire_list dump_add_weak_object_chain
8986
8987         replace_symbol pdump_wires pdump_root_objects
8988         replace_symbol pdump_wire dump_add_root_object
8989
8990         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8991         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8992
8993         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8994         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8995         replace_symbol dumpstructinfo pdump_root_struct_ptr
8996         replace_symbol dumpstruct dump_add_root_struct_ptr
8997
8998         replace_symbol dumpopaque dump_add_opaque
8999         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9000         replace_symbol dumpopaqueinfos pdump_opaques
9001         replace_symbol dumpopaqueinfo pdump_opaque
9002
9003         replace_symbol nb_structdump nb_root_struct_ptrs
9004         replace_symbol nb_opaquedump nb_opaques
9005
9006         replace_symbol align_table pdump_align_table
9007         replace_symbol dump_header pdump_header
9008
9009         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9010         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9011
9012
9013 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9014
9015         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9016         optimizing bytecount_to_charcount().
9017
9018 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9019
9020         * config.h.in:
9021         (HAVE_DLFCN_H): Removed.
9022         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9023
9024 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9025
9026         Portable dumper maintainability improvements.
9027         * alloc.c (staticpro):
9028         * alloc.c (staticpro_nodump):
9029         * alloc.c (garbage_collect_1):
9030         * alloc.c (reinit_alloc_once_early):
9031         * alloc.c (init_alloc_once_early):
9032         * alloc.c: Move dumper functions to alloc.c.
9033         * dumper.c (pdump_backtrace):
9034         * dumper.c (pdump_dump_structs):
9035         * dumper.c (pdump_dump_opaques):
9036         * dumper.c (pdump_dump_rtables):
9037         * dumper.c (pdump_dump_wired):
9038         * dumper.c (pdump):
9039         * dumper.c (pdump_load_check):
9040         * dumper.c (pdump_load_finish):
9041         * dumper.c (pdump_file_unmap):
9042         * dumper.c (pdump_file_get):
9043         * dumper.c (pdump_resource_free):
9044         * dumper.c (pdump_resource_get):
9045         * dumper.c (pdump_file_free):
9046         * dumper.c (pdump_file_try):
9047         * dumper.c (pdump_load):
9048         Remove fixed size limits on staticpro(), staticpro_nodump(),
9049         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9050         Remove custom code for dumping lrecord_implementations_table - use
9051         dumpopaque instead.
9052         Remove (most of the) custom code for dumping staticpros - dump it
9053         like any other dynarr.
9054
9055         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9056         * dumper.c: Moved functions from alloc.c.
9057         * alloc.c (dumpstruct): Moved to dumper.c.
9058         * alloc.c (dumpopaque): Likewise.
9059         * alloc.c (pdump_wire): Likewise.
9060         * alloc.c (pdump_wire_list): Likewise.
9061
9062         * lisp.h (Dynarr_sizeof): New.
9063         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9064         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9065         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9066
9067         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9068         * lisp.h (dumpopaque): ditto.
9069         * lisp.h (pdump_wire): ditto.
9070         * lisp.h (pdump_wire_list): ditto.
9071
9072 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9073
9074         * make-src-depend (PrintPatternDeps):
9075         Use `sort' to make output independent of perl version.
9076
9077 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9078
9079         Port to Netbsd 1.5.
9080         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9081         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9082
9083 2001-01-03  Didier Verna  <didier@xemacs.org>
9084
9085         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9086         that `focus_frame' is alive before thinking of calling
9087         `redisplay_redraw_cursor' on it.
9088
9089 2001-01-08  Martin Buchholz <martin@xemacs.org>
9090
9091         * XEmacs 21.2.40 is released.
9092
9093 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9094
9095         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9096
9097 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9098
9099         * alloc.c (dbg_valmask): Make const.
9100         * alloc.c (dbg_typemask): Make const.
9101         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9102         * alloc.c (dbg_valbits): Make const.
9103         * alloc.c (dbg_gctypebits): Make const.
9104
9105 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9106
9107         * redisplay-x.c (x_bevel_area):
9108         redisplay.h (struct rune):
9109         Typo fixes in comments.
9110
9111 2001-01-05  Andy Piper  <andy@xemacs.org>
9112
9113         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9114         adjustment.
9115
9116         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9117
9118 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9119
9120         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9121
9122         * mule-ccl.c (stack_idx_of_map_multiple):
9123         Non const global data must not be initialized!
9124         Found by MIYASHITA Hisashi.
9125
9126 2001-01-02  Andy Piper  <andy@xemacs.org>
9127
9128         * frame.c (change_frame_size): make sure frame size is always
9129         marked as changed.
9130
9131         * glyphs.c (image_instance_layout): minor code reuse.
9132
9133         * window.c (Fcurrent_window_configuration): revert previous
9134         change.
9135
9136 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9137
9138         * glyphs.h:
9139         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9140
9141 2000-12-31  Andy Piper  <andy@xemacs.org>
9142
9143         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9144         when widget gets unmapped.
9145
9146         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9147         function. Make sure widgets losing focus don't just drop it.
9148         (handle_focus_event_1): record the widget with focus.
9149
9150 2000-12-31  Andy Piper  <andy@xemacs.org>
9151
9152         * window.c (allocate_window): use
9153         make_image_instance_cache_hash_table.
9154         (make_dummy_parent): ditto.
9155         (Fset_window_configuration): ditto.
9156
9157         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9158
9159         * glyphs.c (process_image_string_instantiator): use
9160         INSTANTIATOR_TYPE.
9161         (get_image_instantiator_governing_domain): ditto.
9162         (normalize_image_instantiator): ditto.
9163         (instantiate_image_instantiator): ditto.
9164         (make_image_instance_1): ditto.
9165         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9166         (instantiator_eq_equal): new function for use with instance hash
9167         tables.
9168         (instantiator_eq_hash): ditto.
9169         (make_image_instance_cache_hash_table): create a suitable hash
9170         table for storing image instances.
9171
9172         * elhash.h (hash_table_weakness): new internal weakness type
9173         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9174         declare new functions.
9175
9176         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9177         another weakness type for glyphs.
9178         (make_standard_lisp_hash_table): new function split out from
9179         make_general_lisp_hash_table.
9180         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9181         (hash_table_instantiate): ditto.
9182         (Fmake_hash_table): ditto.
9183
9184 2000-12-31  Martin Buchholz <martin@xemacs.org>
9185
9186         * XEmacs 21.2.39 is released.
9187
9188 2000-12-29  Andy Piper  <andy@xemacs.org>
9189
9190         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9191
9192         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9193         the frame has changed so that we pick up geometry changes such as
9194         menubar visibility.
9195
9196 2000-12-28  Andy Piper  <andy@xemacs.org>
9197
9198         * lastfile.c (my_ebss): make a char array so we can pad the
9199         bss. Fixes cygwin unexec.
9200
9201         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9202
9203 2000-12-26  Andy Piper  <andy@xemacs.org>
9204
9205         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9206         comments and try and be more precise about a non-/SIGIO world.
9207         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9208         SIGIO.
9209
9210         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9211         we don't normalize to zero width or height.
9212
9213 2000-12-24  Andy Piper  <andy@xemacs.org>
9214
9215         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9216
9217 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9218
9219         * s/sco5.h: SCO 5 has pty support.
9220
9221 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9222
9223         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9224         input-method-xlib.c contains whole contents of input-method-xfs.c,
9225         so we can use input-method-xlib.c's code for USE_XFONTSET
9226         using #ifdefs.
9227         * input-method-xfs.c: removed.
9228
9229 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9230
9231         * file-coding.h (enum coding_category_type): reorder enumerators to
9232         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9233         (now one greater than largest real coding_category_type enumerator).
9234         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9235         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9236         Fcoding_category_list, Fset_coding_priority_list,
9237         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9238         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9239
9240 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9241
9242         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9243         * redisplay-output.c (redisplay_output_window): Clear top of window
9244         when face is changed.
9245         * redisplay-x.c (x_redraw_exposed_window): Call
9246         redisplay_clear_top_of_window.
9247         * redisplay.h: Publish redisplay_clear_top_of_window.
9248
9249 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9250
9251         * buffer.c (Fkill_buffer): Map over all devices.
9252         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9253         (list_windows): New function.
9254         (list_all_windows): Ditto.
9255         (Freplace_buffer_in_windows): Use them.
9256
9257 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9258
9259         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9260         (Fopen_database): Use `db_create' instead of `db_open'.
9261         (syms_of_database): Initialize Qqueue.
9262
9263 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9264
9265         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9266         buffer_local_face_property.
9267         * buffer.h (struct buffer): New member buffer_local_face_property.
9268         * window.c (Fset_window_buffer):  Mark window's face as changed
9269         when buffer has buffer local face.
9270         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9271         * objects.c (color_after_change): Set buffer_local_face_property
9272         when locale of face specifier is buffer.
9273         * objects.c (font_after_change): Ditto.
9274         * objects.c (face_boolean_after_change): Ditto.
9275         * glyphs.c (image_after_change): Ditto.
9276
9277 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9278
9279         * nt.c (mswindows_fstat): Report file permissions, volume serial
9280         number, etc. Code adapted from FSF Emacs 20.7.
9281
9282 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9283
9284         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9285         of stat when we don't have symbolic links, to make sure
9286         mswindows_stat is called on mswindows.
9287
9288 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9289
9290         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9291
9292 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9293
9294         * doprnt.c (emacs_doprnt_1): More printing fixes.
9295         Make printing of numbers compatible with libc and FSF Emacs.
9296         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9297         Use the system printf to do most of the hard work of formatting,
9298         instead of doprnt_1().
9299         Calculate memory to allocate for format string.
9300         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9301         (doprnt_1): Cleaner code and documentation.
9302
9303 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9304
9305         * Makefile.in.in: Use the loop variable to install headers.
9306
9307 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9308
9309         * window.c (Fsplit_window): Don't invalidate face cache.
9310
9311 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9312
9313         * minibuf.c (Fall_completions): Undo the previous change
9314         which removed checking elements start with space.
9315
9316 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9317
9318         * mule-canna.c: Didier suppression.
9319
9320 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9321
9322         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9323         (warning suppression).  Add English comment translations.
9324
9325 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9326
9327         * unexelfsgi.c (unexec): Better test for mmap failure.
9328
9329 2000-12-05  Martin Buchholz <martin@xemacs.org>
9330
9331         * XEmacs 21.2.38 is released.
9332
9333 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9334
9335         * redisplay.c (bar-cursor): Make a user variable.
9336
9337         * symsinit.h: Add init_postgresql_from_environment.
9338
9339 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9340
9341         * regex.c: Convert to clean C.
9342
9343 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9344
9345         * realpath.c:
9346         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9347         initialization.
9348         (sys_readlink): renamed to system_readlink to avoid conflict with
9349         the other sys_readlink.
9350
9351 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9352
9353         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9354
9355 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9356
9357         * postgresql.c (init_postgresql_from_environment): new function.
9358         (vars_of_postgresql): Move code initializing Lisp variables out and
9359         into init_postgresql_from_environment.
9360         emacs.c (main_1): Call init_postgresql_from_environment if and only
9361         if running a dumped XEmacs.
9362
9363 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9364
9365         * buffer.c: Make find-file-compare-truenames default to true on
9366         windows.
9367
9368         * realpath.c (win32_abs_start):
9369         (cygwin_readlink):
9370         (win32_readlink): New functions.
9371         (xrealpath): Return really real filenames on windows.
9372
9373         * fileio.c (Ffile_truename): Make file-truename work on windows.
9374
9375 2000-11-29  Didier Verna  <didier@xemacs.org>
9376
9377         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9378         * faces.c (update_face_cachel_data): use it.
9379         * faces.c (add_face_cachel): use it. Complete background pixmap
9380         frobbing in face cache if `update_face_cachel_data' has not done so.
9381
9382 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9383
9384         * search.c (string_match_1): Don't set last_thing_searched
9385         when search failed.
9386
9387 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9388
9389         * buffer.c: Include casetab.h
9390         (common_init_complex_vars_of_buffer): Use new case-table object.
9391         * buffer.h: Include casetab.h
9392         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9393         (DOWNCASE_TABLE_OF): Ditto.
9394         * bufslots.h: Remove char-tables and add case-table.
9395         * casetab.c: Include casetab.h
9396         (CASE_TABLE_P): Removed.
9397         (mark_case_table): New function.
9398         (allocate_case_table): New function.
9399         (Fcase_table_p): Use new case-table.
9400         (case_table_char): New function.
9401         (Fget_case_table): Ditto.
9402         (Fput_case_table): Ditto.
9403         (Fput_case_table_pair): Ditto.
9404         (Fcopy_case_table): Ditto.
9405         (Fcurrent_case_table): Return case-table.
9406         (Fstandard_case_table): Return case-table.
9407         (Fset_case_table): Fix doc-string.
9408         (set_case_table): Use case-table
9409         (syms_of_casetab): DEFSUBR new functions.
9410         (complex_vars_of_casetab): Set up standard case-table.
9411         * casetab.h: New file.
9412         * editfns.c: Include casetab.h
9413         (Fcompare_buffer_substrings): Use case-table.
9414         * inline.c: Include casetab.h
9415         * lisp.h: Remove bogus extern.
9416         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9417         * search.c: Include casetab.h
9418         (TRANSLATE_ASCII): Removed.
9419         (TRANSLATE): Unconditionally translate character.
9420         (looking_at_1): Use case-table.
9421         (string_match_1): Ditto.
9422         (fast_string_match): Ditto.
9423         (search_command): Ditto.
9424         (search_buffer): Separate boyer_moore.  Check whether
9425         boyer_moore is possible.
9426         (simple_search): New function.
9427         (boyer_moore): Separated from search_buffer. Translate char.
9428
9429 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9430
9431         * regex.c (RE_TR_ASCII): Removed.
9432         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9433         (PATFETCH): Call PATFETCH_RAW.
9434         (PATFETCH_RAW): Fetch Emchar.
9435         (PATUNFETCH): Decrement charptr.
9436         (GET_BUFFER_SPACE): Rename b to buf_end.
9437         (BUF_PUSH): Ditto.
9438         (BUF_PUSH_2): Ditto.
9439         (BUF_PUSH_3): Ditto.
9440         (EXTEND_BUFFER): Ditto.
9441         (SET_LIST_BIT): Ditto.
9442         (regex_compile): Ditto.  Translate non ASCII char.
9443         (compile_range): Ditto.
9444         (re_search_2): Ditto.
9445         (re_match_2_internal): Compare Emchar.
9446         (bcmp_translate): Ditto.
9447
9448 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9449
9450         * lisp.h (basic char/int typedefs):  comment improvement.
9451
9452 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9453
9454         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9455         unstomp inhibit_site_lisp.  Improve comments.
9456
9457 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9458
9459         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9460
9461 2000-11-28  Andy Piper  <andy@xemacs.org>
9462
9463         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9464         clipped display for windows in the gutter also.
9465         (redisplay_display_boxes_in_window_p): change semantics of return
9466         codes to be more intuitive.
9467
9468         * gutter.h: declare display_boxes_in_gutter_p.
9469
9470         * gutter.c (display_boxes_in_gutter_p): new function for
9471         redisplay.
9472
9473 2000-11-22  Andy Piper  <andy@xemacs.org>
9474
9475         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9476         autodetect domain.
9477
9478 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9479
9480         * callproc.c (Fold_call_process_internal):
9481         * gpm.c (Freceive_gpm_event):
9482         (tty_get_foreign_selection): Might be just warning supression.
9483         * fileio.c (Fwrite_region_internal):
9484         (Fset_visited_file_modtime):
9485         * keymap.c (event_matches_key_specifier_p):
9486         Initialize GCPROed variable.
9487
9488         * menubar-x.c (command_builder_find_menu_accelerator):
9489         Initialize before use.
9490
9491 2000-11-23  Andy Piper  <andy@xemacs.org>
9492
9493         * unexcw.c (unexec): make the resulting executable executable.
9494
9495 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9496
9497         * doc.c (get_doc_string):
9498         Use size_t, not int, for result of XSTRING_LENGTH.
9499
9500         * cmds.c (Fdelete_char):
9501         * cmds.c (Fpoint_at_eol):
9502         * cmds.c (Fself_insert_command):
9503         Use EMACS_INT, not int, for result of XINT.
9504         Someday, someone will want to insert more than 2**31 identical characters.
9505
9506         * cmds.c (Fdelete_char):
9507         * cmds.c (Fdelete_backward_char):
9508         * syntax.c (Fforward_word):
9509         * syntax.c (Fforward_comment):
9510         Make COUNT argument optional, for consistency with forward-char et al.
9511
9512 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9513
9514         * lisp.h:
9515         * print.c (long_to_string):
9516         Return a useful value: the pointer at end of data written.
9517
9518         * doprnt.c:
9519         Use `static const char * const' for constant strings.
9520         (union printf_arg): Delete `i', `ui' members.
9521         (get_doprnt_args):
9522         (emacs_doprnt_1):
9523         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9524         Do all printf-ing via the `l' specifier.
9525         Use EMACS_INT instead of int.
9526         Optimize.
9527
9528 2000-11-20  Didier Verna  <didier@xemacs.org>
9529
9530         * faces.c (update_face_cachel_data): don't frob the background
9531         pixmap when the window is being created. The face is needed but
9532         does not exist yet.
9533
9534 2000-11-20  Andy Piper  <andy@xemacs.org>
9535
9536         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9537         messing with a debug environment.
9538
9539 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9540
9541         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9542
9543 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9544
9545         * casetab.c (Fcase_table_p): Fix compile error and crash.
9546
9547 2000-11-18  Philip Aston  <philipa@mail.com>
9548
9549         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9550
9551 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9552
9553         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9554         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9555
9556 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9557
9558         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9559         * unexelf.c: Use HAVE_ELF_H.
9560         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9561         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9562         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9563         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9564         for testing.
9565         So this is an unexelfsgi.c from a different line of development.
9566
9567 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9568
9569         * regex.c (RE_TR_ASCII): New function.
9570         (RE_TRANSLATE): Call it.
9571
9572 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9573
9574         * buffer.h (TRT_TABLE_OF): Remove assert.
9575         (IN_TRT_TABLE_DOMAIN): Removed.
9576
9577 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9578
9579         * free-hook.c (log_gcpro):
9580         (show_gcprohist): Add support for GCPRO5.
9581
9582 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9583
9584         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9585
9586 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9587
9588         * symeval.h: Declare flush_all_buffer_local_cache.
9589
9590         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9591         (flush_buffer_local_cache): Added.
9592         (flush_all_buffer_local_cache): Added.
9593
9594         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9595
9596         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9597         (pdump_dump_data): Ditto.
9598         (pdump_reloc_one): Ditto.
9599         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9600         before dumping.
9601
9602
9603 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9604
9605         * buffer.c: Remove if 0'ed entry.
9606         * buffer.h: Rewrite TRT to use char-table.
9607         * bufslots.h: Remove mirror tables.
9608         * casetab.c: Remove mirror tables.
9609         (CASE_TABLE_P): New macro.
9610         (Fcase_table_p): Element of a case table is string or char-table.
9611         (make_mirror_trt_table): Removed.
9612         (set_case_table): Setup char-table from strings for backward
9613         compatibility.
9614         * dired.c (Fdirectory_files):
9615         * dired-msw.c: (mswindows_get_files):
9616         * lisp.h: Change prototype of re_pattern_buffer.
9617         * regex.c: (RE_TRANSLATE): New macro.
9618         (TRANSLATE_P): Ditto.
9619         Change translate to type RE_TRANSLATE_TYPE.
9620         * regex.h: Define RE_TRANSLATE_TYPE
9621         * search.c (TRANSLATE): New macro.
9622         (TRANSLATE_ASCII): New macro.
9623         Translate table is changed to Lisp_Object.
9624         (signal_failure): Inhibit return.
9625
9626 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9627
9628         * device-msw.c:
9629         * eldap.c:
9630         * event-Xt.c:
9631         * event-stream.c:
9632         * print.c:
9633         Do UNGCPRO before return.
9634
9635 2000-11-14  Martin Buchholz <martin@xemacs.org>
9636
9637         * XEmacs 21.2.37 is released.
9638
9639 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9640
9641         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9642         Add comments about discarded return value.
9643
9644 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9645
9646         * callint.c:
9647         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9648
9649 2000-10-27  Andy Piper  <andy@xemacs.org>
9650
9651         * gutter.c (Fset_default_gutter_position): default left and right
9652         gutters to visible.
9653         (calculate_gutter_size): calculate resonable heuristic for left
9654         and right gutter sizes.
9655         (specifier_vars_of_gutter): change left and right gutter sizes to
9656         autodetect.
9657         (calculate_gutter_size_from_display_lines): new function.
9658         (output_gutter): check for resizing on left and right gutters.
9659         (clear_gutter): don't special case top and left gutters.
9660         (specifier_vars_of_gutter): use new signature for
9661         set_specifier_caching.
9662
9663         * glyphs-x.c (x_redisplay_widget): spelling fix.
9664         * glyphs.c (specifier_vars_of_glyphs):
9665         * menubar.c (specifier_vars_of_menubar):
9666         * redisplay.c (specifier_vars_of_redisplay):
9667         * toolbar.c (specifier_vars_of_toolbar):
9668         * window.c (specifier_vars_of_window):
9669         * scrollbar.c (specifier_vars_of_scrollbar):
9670         (complex_vars_of_scrollbar): use new signature for
9671         set_specifier_caching.
9672
9673         * specifier.c (set_specifier_caching): include recompute flag.
9674         (recompute_one_cached_specifier_in_window): always recompute if
9675         flag set.
9676         (recompute_one_cached_specifier_in_frame): ditto.
9677
9678         * specifier.h (struct specifier_caching): add recompute flag.
9679
9680 2000-10-24  Andy Piper  <andy@xemacs.org>
9681
9682         * unexcw.c (copy_executable_and_dump_data_section): add new
9683         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9684         5.0 happy.
9685
9686 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9687
9688         * console-x.h (x_device): New member modifier_release_time.
9689         * event-Xt.c (x_handle_sticky_modifiers):
9690         Bound interval modifier keys are sticky.
9691         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9692         * events.h: extern it.
9693
9694 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9695
9696         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9697
9698 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9699
9700         * event-stream.c (execute_command_event): Preserve current_events
9701         and the like when event is misc-user-event.
9702         Inhibit quit during the call to maybe_echo_keys.
9703
9704 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9705
9706         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9707         symlink when buffer is killed.
9708         (inhibit_clash_detection): New variable.
9709
9710 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9711
9712         * console.c (Fset_input_method): Trigger redisplay on tty.
9713
9714 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9715
9716         * process.c (Fprocess_status): Revert to previous behavior:
9717         (process-status "nosuchprocess") ==> nil
9718
9719 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9720
9721         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9722         Work around another GCC 2.95.2 optimizer bug.
9723
9724 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9725
9726         * process.c (Fget_process): Use LIST_LOOP_2.
9727         (kill_buffer_processes): Use LIST_LOOP_2.
9728
9729         * minibuf.c (Fall_completions):
9730         Delete old non-functional code for FSF fourth argument.
9731
9732         * frame.c (frame_matches_frame_spec):
9733         Renamed from `frame_matches_frametype'.  Update all callers.
9734         (device_matches_device_spec):
9735         Renamed from 'device_matches_console_spec'.  Update all callers.
9736
9737         * doc.c (Fsubstitute_command_keys):
9738         Remove buffer overflow crash.  Small code cleanups.
9739
9740         * casetab.c (check_case_table): Simpler code.
9741
9742         * window.c (Freplace_buffer_in_windows):
9743         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9744         (and similar implementation) as Fdelete_windows_on.
9745         Update all callers.
9746
9747         * alloc.c (Fmake_list):
9748         * alloc.c (make_vector):
9749         * alloc.c (Fmake_vector):
9750         * alloc.c (make_bit_vector):
9751         * alloc.c (Fmake_bit_vector):
9752         * alloc.c (Fbit_vector):
9753         * alloc.c (Fmake_string):
9754         * alloc.c (Fpurecopy):
9755         * alloc.c (Fmemory_limit):
9756         * buffer.c:
9757         * buffer.c (Fget_buffer):
9758         * buffer.c (Fkill_buffer):
9759         * buffer.c (complex_vars_of_buffer):
9760         * bytecode.c (Fcompiled_function_stack_depth):
9761         * callint.c (Fprefix_numeric_value):
9762         * event-stream.c:
9763         * event-stream.c (Fread_key_sequence):
9764         * casetab.c:
9765         * casetab.c (Fcase_table_p):
9766         * casetab.c (check_case_table):
9767         * casetab.c (Fset_case_table):
9768         * casetab.c (Fset_standard_case_table):
9769         * chartab.c:
9770         * chartab.c (Fchar_table_type):
9771         * chartab.c (Freset_char_table):
9772         * chartab.c (Fget_char_table):
9773         * chartab.c (Fget_range_char_table):
9774         * chartab.c (Fput_char_table):
9775         * chartab.c (Fmap_char_table):
9776         * chartab.c (Fcategory_table_p):
9777         * chartab.c (Fcheck_category_at):
9778         * chartab.c (Fchar_in_category_p):
9779         * chartab.c (Fcategory_table):
9780         * chartab.c (Fcopy_category_table):
9781         * chartab.c (Fset_category_table):
9782         * chartab.c (Fcategory_designator_p):
9783         * chartab.c (Fcategory_table_value_p):
9784         * cmds.c (Fdelete_char):
9785         * cmds.c (Fdelete_backward_char):
9786         * cmds.c (Fself_insert_command):
9787         * cmds.c (Fself_insert_internal):
9788         * console.c (Fvalid_console_type_p):
9789         * console.c (Fcdfw_console):
9790         * console.c (Fconsole_type):
9791         * console.c (Fconsole_name):
9792         * console.c (Fconsole_device_list):
9793         * console.c (Fconsole_on_window_system_p):
9794         * data.c:
9795         * data.c (Feq):
9796         * data.c (Fold_eq):
9797         * data.c (Fsubr_interactive):
9798         * data.c (Fchar_to_int):
9799         * data.c (Fint_to_char):
9800         * data.c (Fsetcar):
9801         * data.c (Fsetcdr):
9802         * data.c (Fnumber_to_string):
9803         * data.c (Fstring_to_number):
9804         * data.c (Frem):
9805         * database.c (mark_database):
9806         * database.c (finalize_database):
9807         * database.c (Fdatabase_live_p):
9808         * database.c (Fdatabasep):
9809         * device-x.c (Fx_get_resource):
9810         * device.c (Fdfw_device):
9811         * dired.c:
9812         * dired.c (Ffile_name_completion):
9813         * dired.c (Ffile_name_all_completions):
9814         * dired.c (Fuser_name_completion):
9815         * dired.c (Fuser_name_completion_1):
9816         * dired.c (Fuser_name_all_completions):
9817         * doc.c (Fdocumentation):
9818         * doc.c (Fdocumentation_property):
9819         * doc.c (Fsubstitute_command_keys):
9820         * editfns.c:
9821         * editfns.c (Fchar_to_string):
9822         * editfns.c (Fstring_to_char):
9823         * editfns.c (Ftemp_directory):
9824         * editfns.c (Finsert_char):
9825         * editfns.c (Fbuffer_substring_no_properties):
9826         * editfns.c (Fnarrow_to_region):
9827         * editfns.c (Fchar_equal):
9828         * editfns.c (Fchar_Equal):
9829         * editfns.c (Ftranspose_regions):
9830         * emacs.c (Fdump_emacs):
9831         * eval.c (Fthrow):
9832         * eval.c (Fcommand_execute):
9833         * eval.c (Fautoload):
9834         * eval.c (Fbacktrace):
9835         * eval.c (Fbacktrace_frame):
9836         * events.c:
9837         * events.c (Fcopy_event):
9838         * events.c (Fcharacter_to_event):
9839         * events.c (Fevent_button):
9840         * events.c (Fevent_process):
9841         * extents.c:
9842         * extents.c (Fnext_extent_change):
9843         * extents.c (Fextent_property):
9844         * faces.c (Ffacep):
9845         * faces.c (Fmake_face):
9846         * file-coding.c:
9847         * file-coding.c (Fencode_shift_jis_char):
9848         * file-coding.c (Fencode_big5_char):
9849         * fileio.c (Ffile_name_directory):
9850         * fileio.c (Ffile_name_nondirectory):
9851         * fileio.c (Ffile_name_as_directory):
9852         * fileio.c (Fdirectory_file_name):
9853         * fileio.c (Ffile_truename):
9854         * fileio.c (Fsubstitute_in_file_name):
9855         * fileio.c (Ffile_modes):
9856         * fileio.c (Fset_file_modes):
9857         * fileio.c (Fset_default_file_modes):
9858         * fileio.c (Fverify_visited_file_modtime):
9859         * floatfns.c (Facos):
9860         * floatfns.c (Fasin):
9861         * floatfns.c (Fatan):
9862         * floatfns.c (Fcos):
9863         * floatfns.c (Fsin):
9864         * floatfns.c (Ftan):
9865         * floatfns.c (Fbessel_j0):
9866         * floatfns.c (Fbessel_j1):
9867         * floatfns.c (Fbessel_jn):
9868         * floatfns.c (Fbessel_y0):
9869         * floatfns.c (Fbessel_y1):
9870         * floatfns.c (Fbessel_yn):
9871         * floatfns.c (Ferf):
9872         * floatfns.c (Ferfc):
9873         * floatfns.c (Flog_gamma):
9874         * floatfns.c (Fexp):
9875         * floatfns.c (Fexpt):
9876         * floatfns.c (Flog):
9877         * floatfns.c (Flog10):
9878         * floatfns.c (Fsqrt):
9879         * floatfns.c (Fcube_root):
9880         * floatfns.c (Facosh):
9881         * floatfns.c (Fasinh):
9882         * floatfns.c (Fatanh):
9883         * floatfns.c (Fcosh):
9884         * floatfns.c (Fsinh):
9885         * floatfns.c (Ftanh):
9886         * floatfns.c (Fabs):
9887         * floatfns.c (Ffloat):
9888         * floatfns.c (Flogb):
9889         * floatfns.c (Fceiling):
9890         * floatfns.c (Ffloor):
9891         * floatfns.c (Fround):
9892         * floatfns.c (Ftruncate):
9893         * floatfns.c (Ffceiling):
9894         * floatfns.c (Fffloor):
9895         * floatfns.c (Ffround):
9896         * floatfns.c (Fftruncate):
9897         * fns.c (Fstring_equal):
9898         * fns.c (Fstring_lessp):
9899         * fns.c (concat2):
9900         * fns.c (concat3):
9901         * fns.c (vconcat2):
9902         * fns.c (vconcat3):
9903         * fns.c (Fsubstring):
9904         * fns.c (Fassoc):
9905         * fns.c (Fold_assoc):
9906         * fns.c (assoc_no_quit):
9907         * fns.c (Fassq):
9908         * fns.c (Fold_assq):
9909         * fns.c (assq_no_quit):
9910         * fns.c (Frassoc):
9911         * fns.c (Fold_rassoc):
9912         * fns.c (Frassq):
9913         * fns.c (Fold_rassq):
9914         * fns.c (rassq_no_quit):
9915         * fns.c (Fremassoc):
9916         * fns.c (remassoc_no_quit):
9917         * fns.c (Fremassq):
9918         * fns.c (remassq_no_quit):
9919         * fns.c (Fremrassoc):
9920         * fns.c (Fremrassq):
9921         * fns.c (remrassq_no_quit):
9922         * fns.c (Fsort):
9923         * fns.c (Fplist_get):
9924         * fns.c (Fplist_put):
9925         * fns.c (Fplist_remprop):
9926         * fns.c (Fplist_member):
9927         * fns.c (Flax_plist_get):
9928         * fns.c (Flax_plist_put):
9929         * fns.c (Flax_plist_remprop):
9930         * fns.c (Flax_plist_member):
9931         * fns.c (Fequal):
9932         * fns.c (Fold_equal):
9933         * fns.c (Frequire):
9934         * fns.c (Fbase64_encode_region):
9935         * fns.c (Fbase64_encode_string):
9936         * fns.c (Fbase64_decode_region):
9937         * frame.c:
9938         * frame.c (frame_matches_frame_spec):
9939         * frame.c (device_matches_device_spec):
9940         * frame.c (next_frame):
9941         * frame.c (previous_frame):
9942         * frame.c (Fnext_frame):
9943         * frame.c (Fprevious_frame):
9944         * frame.c (Fframe_property):
9945         * frame.c (Fset_frame_height):
9946         * frame.c (Fset_frame_size):
9947         * frame.h:
9948         * glyphs.c:
9949         * glyphs.c (if):
9950         * glyphs.c (decode_error_behavior_flag):
9951         * glyphs.c (Fmake_image_instance):
9952         * indent.c (Findent_to):
9953         * intl.c (Fignore_defer_gettext):
9954         * keymap.c (Fkeymapp):
9955         * keymap.c (Flookup_key):
9956         * lread.c:
9957         * lread.c (Fload_internal):
9958         * lread.c (Feval_buffer):
9959         * lread.c (Feval_region):
9960         * macros.c (Fexecute_kbd_macro):
9961         * marker.c (set_marker_internal):
9962         * marker.c (Fset_marker):
9963         * marker.c (set_marker_restricted):
9964         * marker.c (Fcopy_marker):
9965         * marker.c (noseeum_copy_marker):
9966         * menubar.c:
9967         * menubar.c (Fpopup_menu):
9968         * minibuf.c:
9969         * mule-charset.c (Fcharset_name):
9970         * mule-charset.c (Fchar_charset):
9971         * mule-charset.c (Fchar_octet):
9972         * mule-charset.c (Fsplit_char):
9973         * mule-wnnfns.c (Fwnn_open):
9974         * mule-wnnfns.c (Fwnn_dict_comment):
9975         * mule-wnnfns.c (Fwnn_quit_henkan):
9976         * mule-wnnfns.c (Fwnn_word_toroku):
9977         * mule-wnnfns.c (Fwnn_word_sakujo):
9978         * mule-wnnfns.c (Fwnn_word_use):
9979         * mule-wnnfns.c (Fwnn_hindo_set):
9980         * objects.c:
9981         * objects.c (Fmake_color_instance):
9982         * objects.c (Fmake_font_instance):
9983         * print.c (Fwrite_char):
9984         * process.c:
9985         * process.c (mark_process):
9986         * process.c (print_process):
9987         * process.c (get_process_from_usid):
9988         * process.c (Fprocessp):
9989         * process.c (Fprocess_live_p):
9990         * process.c (Fget_process):
9991         * process.c (Fget_buffer_process):
9992         * process.c (get_process):
9993         * process.c (Fprocess_id):
9994         * process.c (Fprocess_name):
9995         * process.c (Fprocess_command):
9996         * process.c (init_process_io_handles):
9997         * process.c (start_process_unwind):
9998         * process.c (Fstart_process_internal):
9999         * process.c (Fopen_multicast_group_internal):
10000         * process.c (Fset_process_window_size):
10001         * process.c (read_process_output):
10002         * process.c (send_process):
10003         * process.c (Fprocess_tty_name):
10004         * process.c (Fset_process_buffer):
10005         * process.c (Fprocess_buffer):
10006         * process.c (Fprocess_mark):
10007         * process.c (set_process_filter):
10008         * process.c (Fset_process_filter):
10009         * process.c (Fprocess_filter):
10010         * process.c (Fprocess_send_region):
10011         * process.c (Fprocess_send_string):
10012         * process.c (exec_sentinel):
10013         * process.c (Fset_process_sentinel):
10014         * process.c (Fprocess_sentinel):
10015         * process.c (status_notify):
10016         * process.c (Fprocess_status):
10017         * process.c (Fprocess_exit_status):
10018         * process.c (process_send_signal):
10019         * process.c (Fprocess_send_eof):
10020         * process.c (deactivate_process):
10021         * process.c (remove_process):
10022         * process.c (Fdelete_process):
10023         * process.c (kill_buffer_processes):
10024         * process.c (Fprocess_kill_without_query):
10025         * process.c (Fprocess_kill_without_query_p):
10026         * rangetab.c:
10027         * rangetab.c (Fget_range_table):
10028         * rangetab.c (Fput_range_table):
10029         * rangetab.c (Fremove_range_table):
10030         * rangetab.c (Fclear_range_table):
10031         * search.c:
10032         * search.c (Fskip_chars_forward):
10033         * search.c (Fskip_chars_backward):
10034         * search.c (Fskip_syntax_forward):
10035         * search.c (Fskip_syntax_backward):
10036         * search.c (search_command):
10037         * search.c (Freplace_match):
10038         * search.c (Fregexp_quote):
10039         * select.c (Fown_selection_internal):
10040         * select.c (Fselection_owner_p):
10041         * select.c (Fselection_exists_p):
10042         * select.c (Fget_selection_internal):
10043         * specifier.c:
10044         * symbols.c:
10045         * symbols.c (Fintern):
10046         * symbols.c (Fintern_soft):
10047         * symbols.c (Funintern):
10048         * symbols.c (Fapropos_internal):
10049         * symbols.c (Fset_default):
10050         * syntax.c:
10051         * syntax.c (Fsyntax_table_p):
10052         * syntax.c (Fcopy_syntax_table):
10053         * syntax.c (Fset_syntax_table):
10054         * syntax.c (Fchar_syntax):
10055         * syntax.c (syntax_match):
10056         * syntax.c (Fmatching_paren):
10057         * syntax.c (Fforward_word):
10058         * syntax.c (scan_lists):
10059         * syntax.c (Fscan_lists):
10060         * syntax.c (Fscan_sexps):
10061         * syntax.c (Fparse_partial_sexp):
10062         * toolbar.c (Fcheck_toolbar_button_syntax):
10063         * tooltalk.doc:
10064         * window.c:
10065         * window.c (Fwindowp):
10066         * window.c (Fwindow_live_p):
10067         * window.c (Fwindow_point):
10068         * window.c (Fdelete_window):
10069         * window.c (Fnext_window):
10070         * window.c (Fprevious_window):
10071         * window.c (Fother_window):
10072         * window.c (window_loop):
10073         * window.c (Fget_lru_window):
10074         * window.c (Fsplit_window):
10075         * window.c (Fenlarge_window):
10076         * window.c (Fenlarge_window_pixels):
10077         * window.c (Fshrink_window):
10078         * window.c (Fshrink_window_pixels):
10079         * window.c (change_window_height):
10080         * window.c (Fwindow_configuration_p):
10081         * window.c (Fcurrent_window_configuration):
10082         * window.h:
10083         * casefiddle.c (casify_object):
10084         * casefiddle.c (Fupcase):
10085         * casefiddle.c (Fdowncase):
10086         * casefiddle.c (Fcapitalize):
10087         * casefiddle.c (Fupcase_initials):
10088         * casefiddle.c (casify_region_internal):
10089         * casefiddle.c (casify_region):
10090         * casefiddle.c (Fupcase_region):
10091         * casefiddle.c (Fdowncase_region):
10092         * casefiddle.c (Fcapitalize_region):
10093         * casefiddle.c (Fupcase_initials_region):
10094         * casefiddle.c (Fupcase_word):
10095         * casefiddle.c (Fdowncase_word):
10096         * casefiddle.c (Fcapitalize_word):
10097         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10098         Replace 0 with '\0' when working with bytes.
10099         Replace initial "(" with "\(" in docstrings.
10100
10101 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10102
10103         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10104
10105         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10106
10107 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10108
10109         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10110
10111 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10112
10113         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10114         correctly.
10115
10116 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10117
10118         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10119         (inhibit_auto_save_session): New variable.
10120         (vars_of_fileio): Declare and initialize them.
10121         * fileio.c (Fdo_auto_save): Don't create session file if
10122         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10123
10124 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10125
10126         * sgiplay.c (play_internal): C++ compilability.
10127         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10128         * callproc.c (Fold_call_process_internal):
10129         Remove unused vars `env', `first'.
10130         * scrollbar.c (update_scrollbar_instance):
10131         #### unused var `current_window'.
10132         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10133         etc. within #ifdef NOT_YET.
10134         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10135         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10136         * specifier.c (specifier_instance):
10137         #### unused var `tag'.
10138         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10139
10140 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10141
10142         * fns.c (Fbutlast):
10143         * fns.c (list_sort):
10144         * fns.c (Ffillarray):
10145         * fns.c (bytecode_nconc2):
10146         * fns.c (Fnconc):
10147         * fns.c (mapcar1):
10148         * fns.c (Fmapconcat):
10149         Be pedantically 64-bit correct.  For the time when someone will
10150         want to have a list with length > 2**32.
10151
10152         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10153         Work around MIPSpro compiler bug.
10154
10155         * process-unix.c (unix_kill_child_process): Add snarky comment.
10156         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10157
10158         * config.h.in: Oops, _getpt ==> _getpty
10159
10160 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10161
10162         * config.h.in:
10163         * regex.c:
10164         Use void*, not char*, as return type of alloca().
10165
10166         * alloc.c (free_marker): Side effect inside assert expression!
10167
10168 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10169
10170         * mule-charset.c (Fset_charset_ccl_program): To check
10171         if the given ccl program is valid, use setup_ccl_program()
10172         instead of CHECK_VECTOR().
10173         (Fmake_charset): Likewise.
10174
10175 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10176
10177         * faces.c (get_extent_fragment_face_cache_index):
10178         Fix cachel.merged_faces memory leak.
10179
10180 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10181
10182         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10183         Reset MSB of octets obtained by DECODE_SJIS
10184         because of the incompatibility with Emacs.
10185         (ccl_driver)<CCL_ENCODE_SJIS>:
10186         Set MSB of octets before passing them to
10187         ENCODE_SJIS because of the incompatibility
10188         with Emacs.
10189
10190 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10191
10192         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10193         (DECLARE_LRECORD): Undo the last change.
10194         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10195
10196 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10197
10198         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10199         the implementation to lrecord_implementations_table.
10200
10201 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10202
10203         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10204         initial value of `lrecord_type_##c_name' and
10205         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10206         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10207         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10208         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10209         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10210
10211 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10212
10213         * miscplay.c (sndcnv8S_2mono):
10214         (sndcnv2monounsigned):
10215         (sndcnvULaw_2linear):
10216         (sndcnv16swap):
10217         Remove implementation-defined behavior.
10218
10219 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10220
10221         * input-method-xlib.c: Warning suppression.
10222
10223 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10224
10225         * mule-ccl.c: Sync up with Emacs 21.0.90.
10226         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10227         Do nothing.
10228         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10229         Likewise.
10230         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10231         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10232         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10233         leading char belongs to official 2-dimensional charset.
10234         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10235         write the given character as is.  Otherwise,
10236         if it is a multibyte char, convert it by
10237         non_ascii_set_charptr_emchar, then write it.
10238         (CCL_WRITE_STRING): Likewise.
10239         (ccl_get_compiled_code): New function.
10240         (setup_ccl_program): When ccl_prog is invalid,
10241         return -1.
10242         (Fregister_code_conversion_map): New function.
10243         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10244
10245         * mule-ccl.h: Sync up with Emacs 21.0.90.
10246         (Fregister_ccl_program): export it.
10247
10248         * redisplay-msw.c (separate_textual_runs):
10249         If ccl program is not valid, don't do ccl conversion.
10250
10251         * redisplay-x.c (separate_textual_runs): Ditto.
10252
10253         * file-coding.c (Fmake_coding_system):
10254         When type is ccl and value is vector, register it
10255         with a proper symbol.  And checks whether the
10256         given ccl program is valid.
10257         (mule_decode): When calling ccl_driver, if src indicates
10258         NULL pointer, set an empty string instead.
10259         (mule_encode): Likewise.
10260
10261 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10262
10263         The following large batch of changes gets us back to a state of
10264         C++ compilability.  Extbyte is now a char, which means that
10265         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10266
10267         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10268
10269         * sound.c (Fplay_sound): Type correctness.
10270
10271         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10272         (x_get_window_property): Type correctness.
10273         (receive_incremental_selection): unsigned char ==> Extbyte
10274         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10275         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10276         (Fx_store_cutbuffer_internal): Type correctness.
10277
10278         * process-unix.c (try_to_initialize_subtty): Type correctness.
10279
10280         * objects-x.c (x_print_color_instance): Type correctness.
10281         (x_print_font_instance): Type correctness.
10282         (x_list_fonts): SExtbyte ==> Extbyte.
10283         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10284         (x_find_charset_font): SExtbyte ==> Extbyte.
10285         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10286         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10287         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10288         Use bufbyte_strcmp.
10289
10290         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10291         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10292         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10293         (BYTE_C0_P): Use bit ops for char-signedness safety.
10294         (BYTE_C1_P): Use bit ops for char-signedness safety.
10295         (CHARSET_BY_LEADING_BYTE):
10296         (CHARSET_BY_ATTRIBUTES):
10297         Always use inline function.
10298         Use type_checking_assert.
10299         Hide chlook.
10300
10301         * mule-charset.c (non_ascii_charptr_copy_char):
10302         Modify to work with both ASCII and non-ASCII characters.
10303         Improve docs and variable names.
10304         Replace over-clever fall-through switch with a simple loop.
10305         (Lstream_get_emchar_1):
10306         Replace over-clever fall-through switch with a simple loop.
10307
10308         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10309         Warning suppression.
10310
10311         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10312         the return value of Lstream_getc, which could be EOF as well.
10313
10314         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10315
10316         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10317         APIs can be used on Extbytes without casts.  Risky!
10318         (SExtbyte): Remove.
10319         (UExtbyte): Remove.
10320
10321         * input-method-xlib.c (XIM_init_device):
10322         Use Xlib.h instead of IntrinsicP.h.
10323         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10324         which will break in X11R7.
10325         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10326         to call XRegisterIMInstantiateCallback with correct types.
10327
10328         * gui-x.c (button_item_to_widget_value): Type correctness.
10329
10330         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10331
10332         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10333         (xbm_instantiate_1): Type correctness.
10334         (BUILD_GLYPH_INST):  Type correctness.
10335
10336         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10337
10338         * file-coding.c:
10339         (decode_coding_sjis):
10340         (decode_coding_big5):
10341         (decode_coding_ucs4):
10342         (decode_coding_utf8):
10343         (decode_coding_iso2022):
10344         (decode_coding_no_conversion):
10345         Make all decoding functions take an Extbyte * arg.
10346         (encode_coding_sjis):
10347         (encode_coding_big5):
10348         (encode_coding_ucs4):
10349         (encode_coding_utf8):
10350         (encode_coding_iso2022):
10351         (encode_coding_no_conversion):
10352         Make all encoding functions take a Bufbyte * arg.
10353         Use size_t instead of unsigned int for memory sizes.
10354         Only cast to unsigned char whenever dereferencing Extbyte *.
10355
10356         * doc.c (unparesseuxify_doc_string): Type correctness.
10357
10358         * console-x.c (split_up_display_spec):
10359         Rewrite without using details of internal string representation.
10360         (x_semi_canonicalize_device_connection): Type correctness.
10361
10362         * config.h.in:
10363         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10364         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10365         (HAVE_XFREE386): Removed.
10366
10367         * buffer.h (DEC_CHARPTR): `const' correctness.
10368         (bufbyte_strcmp): New.
10369         (bufbyte_memcmp): New.
10370
10371         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10372
10373         * buffer.h (XCHAR_OR_CHAR_INT):
10374         Always use inline function.
10375         Remove redundant type checking assert() - XINT will abort quite nicely.
10376
10377 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10378
10379         * search.c (Freplace_match): Set newtext to an empty string.
10380
10381 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10382
10383         * s/decosf1-3.h: Remove #include of stropts.h
10384         * s/ptx.h: Remove #include of stropts.h
10385         * s/usg5-4.h: Remove #include of stropts.h
10386         * sysproc.h:
10387         * config.h.in:
10388         Use stropts.h, not sys/stropts.h.
10389         Use strtio.h, not sys/strtio.h.
10390
10391 2000-10-04  Martin Buchholz <martin@xemacs.org>
10392
10393         * XEmacs 21.2.36 is released.
10394
10395 2000-09-21  Andy Piper  <andy@xemacs.org>
10396
10397         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10398         changes still involve copying the widget tree.
10399         (update_widget_face): make sure a change is register in the widget
10400         tree. Call update_tab_widget_face appropriately.
10401         (update_tab_widget_face): ditto.
10402         (x_tab_control_redisplay): make sure non-structural changes still
10403         involve copying the widget tree.
10404
10405 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10406
10407         * lread.c (locate_file): Check the path element is non-nil.
10408
10409 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10410
10411         * lisp.h: Warning suppression for SCO compilers.
10412
10413         * redisplay-tty.c (reset_tty_modes): Fix crash.
10414         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10415
10416 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10417
10418         Big signal/process handling overhaul.  Bugs fixed:
10419         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10420         M-x comint-kill-subjob should work for both values nil and t of
10421         process-connection-type. It was broken on most platforms.
10422         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10423         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10424         * process-unix.c: Signal/Process handling overhaul.
10425         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10426         (allocate_pty): Use all available modern methods of allocating
10427         ptys, falling back to old style BSD allocation as a last resort.
10428         Use allegedly more secure Unix98 pty allocation by default.
10429         (allocate_pty_the_old_fashioned_way): New. the last resort.
10430         (unix_create_process): Push ptem, ldterm, ttcompat where
10431         available.  Autoconfiscate.
10432         (try_to_initialize_subtty): New.
10433         (unix_kill_child_process): Proper signal handling for ptys on most
10434         platforms, using special knowledge of AIX, BSD, etc...
10435         (unix_create_process): Always disconnect_controlling_terminal() for
10436         subprocesses, whether using ptys or not.
10437         * process.h: Remove old getpt-dependent PTY code.
10438         * process.c (Fprocess_send_signal): New, obvious generic function.
10439         (decode_signal): New.
10440         (Finterrupt_process):
10441         (Fkill_process):
10442         (Fquit_process):
10443         (Fstop_process):
10444         (Fcontinue_process):
10445         (Fsignal_process): Use decode_signal.
10446         (process_send_signal):
10447         Many docstring corrections.
10448         Allow any signal to be sent to a process object.
10449         * config.h.in: Add symbols for big signal/process overhaul.
10450         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10451         * sysproc.h: Include process-related headers, where available:
10452         sys/stropts.h sys/strtio.h pty.h libutil.h
10453         * s/irix4-0.h:
10454         * s/irix5-0.h:
10455         * s/cygwin32.h:
10456         * s/gnu.h:
10457         * s/linux.h:
10458         * s/hpux.h:
10459         * s/aix3-1.h:
10460         Remove old S&M pty stuff.
10461         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10462         * systty.h: Simplify cpp hackery, improve comments.
10463         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10464
10465         * editfns.c (Fformat_time_string):
10466         Be a little more paranoid with the return value of ctime.
10467
10468         * fileio.c (check_executable):
10469         (check_writable):
10470         Use symbolic constants X_OK, W_OK.
10471
10472         * console-x.c (split_up_display_spec): Fix a warning.
10473
10474 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10475
10476         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10477         * ntproc.c (sys_spawnve): make_string ==> build_string
10478         Small clarity improvements.
10479
10480 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10481
10482         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10483
10484         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10485
10486         * config.h.in (HAVE_STRCASECMP): Remove.
10487
10488 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10489
10490         * redisplay-output.c (redisplay_output_pixmap):
10491         Cleaner and possibly more 64-bit correct code.
10492
10493 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10494
10495         * dumper.c (pdump_load_finish): move restoration of
10496         `noninteractive1' to emacs.c (main_1).
10497         * emacs.c (main_1): protect LISP-visible command-line flags
10498         from pdump_load().
10499
10500 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10501
10502         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10503         DUMP_TARGET instead of literal program names.
10504
10505 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10506
10507         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10508
10509 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10510
10511         * *: Spelling mega-patch
10512
10513 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10514
10515         * fns.c (bad_bad_turtle):
10516         Delete "Eek!" comment, since we fixed the bug to which it refers.
10517
10518 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10519
10520         * alloca.c: Replace REGISTER with register.
10521
10522 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10523
10524         * file-coding.c (ucs_to_char): Use countof.
10525
10526 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10527
10528         * file-coding.c: (ucs_to_char):
10529         (complex_vars_of_file_coding):
10530         Use countof instead of sizeof.
10531         Use CHECK_NATNUM instead of CHECK_INT.
10532
10533         * sysdep.c (strcasecmp): Remove.
10534         * device-x.c (ascii_strcasecmp): New.
10535         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10536         Avoid using non-standard non-portable strcasecmp.
10537
10538 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10539
10540         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10541         * font-lock.c: remove reference to emacsfns.h.
10542         * search.c: small doc improvement.
10543         * event-Xt.c: correct file names in comments.
10544         * console-x.h Correct file names in comments.
10545         * frame.c: Correct file names in comments.
10546         * event-stream.c: remove Energize from comments.
10547
10548 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10549
10550         * symeval.h (DEFERROR_STANDARD):
10551         (DEFERROR):
10552         (DEFSYMBOL):
10553         (DEFSYMBOL_NO_DUMP):
10554         (DEFSYMBOL_MULTIWORD_PREDICATE):
10555         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10556         (DEFKEYWORD):
10557         The construct &##name is not sensible C.
10558         Fixes compilation errors with Unixware native compiler.
10559
10560 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10561
10562         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10563         (next_frame_internal): Removed.  We now just have next_frame.
10564         (next_frame):
10565         Write a simpler and cleaner one-pass algorithm.
10566         Remove called_from_delete_device arg and #ifdefed-out code.
10567         (previous_frame):
10568         Renamed from prev_frame.  Update callers.
10569         Cleaned up to have an analogous implementation to next_frame.
10570         (other_visible_frames_internal): Remove the
10571         called_from_delete_device bogus arg, and hence, remove this
10572         function.  Just use other_visible_frames().
10573
10574         * window.c (Fnext_window):
10575         Prettify docstring.
10576         Since next_frame() is guaranteed to return a frame, remove check
10577         for nil inserted in previous patch.
10578         (Fprevious_window):
10579         Prettify docstring.
10580         Make code look more like Fnext_window.
10581         (window_loop):
10582         Respect the `console' arg when iterating through windows.
10583         Fixes bug: (get-buffer-window buffer t device) not respecting
10584         the `device' arg.
10585         This function needs more work, as others have pointed out.
10586
10587         * frame.h: Rename prev_frame to previous_frame.
10588         device_matches_console_spec no longer takes a `frame' arg.
10589
10590         * s/gnu.h:
10591         * s/linux.h:
10592         * s/hpux.h:
10593         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10594         From "Golubev I. N." <gin@mo.msk.ru>.
10595
10596         * make-src-depend: Fix typo.
10597
10598 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10599
10600         * window.c (Fnext_window):
10601         next_frame() might return nil, not a frame.
10602         Fixes this crash:
10603         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10604
10605         * frame.c (next_frame_internal):
10606         We've passed a frame if we've passed its device.
10607         Fixes this crash:
10608         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10609 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10610
10611 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10612
10613         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10614         Allow option to suppress accelerators in menu/dialog items.
10615         (populate_or_checksum_helper): Pass dialog title through above.
10616
10617 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10618
10619         * event-msw.c (mswindows_key_to_emacs_keysym):
10620         Add "pause" key, fix "menu" key.
10621
10622 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10623
10624         * eval.c (reinit_vars_of_eval):
10625         Increase max_lisp_eval_depth to 1000,
10626         required for thai-xtis.el to byte-compile under some circumstances.
10627
10628 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10629
10630         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10631         From Kenichi Handa.
10632
10633 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10634
10635         * make-src-depend: Make the generated Makefiles smaller.
10636
10637         * s/hpux.h (SETUP_SLAVE_PTY):
10638         Provide a %d in the format string for the errno argument.
10639
10640         * editfns.c (Ftemp_directory):
10641         Warning fix.
10642         Avoid buffer overrun on very long file name.
10643
10644         * input-method-xlib.c (XIM_init_device):
10645         6th parameter of XRegisterIMInstantiateCallback has different
10646         pointer types on different OSes, so simply cast to (void *).
10647
10648         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10649
10650         * sysdll.c (dll_open):
10651         shl_load will hang hard if passed a NULL filename.
10652         Simply return NULL for compatibility with dlopen.
10653         * sysdll.c: Conform to XEmacs coding standards.
10654
10655         * sysdep.c (get_pty_max_bytes):
10656         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10657
10658 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10659
10660         * tooltalk.c: Add #include <syssignal.h>
10661
10662 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10663
10664         * s/hpux.h: Don't use undefined function sigunblock().
10665
10666 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10667
10668         * config.h.in: Add HAVE_BALLOON_HELP.
10669         * emacs.c: Use HAVE_BALLOON_HELP.
10670         * Makefile.in.in (x_objs):
10671         Make Balloon Help conditional on finding shape.h.
10672
10673 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10674
10675         * syntax.c (regex_emacs_buffer_p): New variable.
10676         * syntax.h (regex_emacs_buffer_p): extern.
10677         * search.c (looking_at_1):
10678         (string_match_1):
10679         (fast_string_match):
10680         (search_buffer): Set regex_emacs_buffer_p.
10681         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10682         when before_dot, at_dot, after_dot.
10683
10684 2000-08-23  Andy Piper  <andy@xemacs.org>
10685
10686         * gui-x.c (popup_selection_callback): Only set action_occurred
10687         when we really have an image instance.
10688         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10689
10690 2000-08-23  Andy Piper  <andy@xemacs.org>
10691
10692         * gui-msw.c (mswindows_handle_gui_wm_command): set
10693         action_occurred.
10694         * gui-x.c (popup_selection_callback): ditto.
10695
10696         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10697         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10698         (struct Lisp_Image_Instance): add action_occurred flag.
10699
10700         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10701         (image_instance_changed): ditto.
10702         (reset_frame_subwindow_instance_cache): only unmap windows - do
10703         not remove them from the cache also.
10704
10705         * glyphs-widget.c (tab_control_update): better debug.
10706         (progress_gauge_update): ditto.
10707         (layout_update): ditto.
10708         (layout_instantiate): ditto.
10709         (tab_control_order_only_changed): cope with null pending items.
10710
10711         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10712         debug. Force selection of an item when an action occurred. Cope
10713         with null pending_items.
10714         (mswindows_progress_gauge_redisplay): better debug.
10715         * glyphs-x.c (x_tab_control_redisplay): ditto.
10716
10717         * redisplay.c (redisplay_frame): reset the frame cache if the
10718         frame is garbaged.
10719
10720         * window.c (Fset_window_configuration): potentially re-enable
10721         frame cache reset.
10722         (window_unmap_subwindows): need to finalize instances here since
10723         it is only used in mark_window_as_deleted.
10724
10725 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10726
10727         * nas.c (SndOpenDataForReading):
10728         nas.c (WaveOpenDataForReading):
10729         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10730         Somehow escaped from the 2000-08-14 patch.
10731
10732 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10733
10734         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10735         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10736
10737 2000-08-21  Andy Piper  <andy@xemacs.org>
10738
10739         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10740         window if it is not already displayed.
10741
10742         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10743         it is not already displayed.
10744
10745         * window.c (Fset_window_configuration): don't reset the frame
10746         cache.
10747
10748         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10749         instances from the frame cache if we are actually finalizing them.
10750         (reset_frame_subwindow_instance_cache): reset frame cache only
10751         after unmapping everything.
10752         (map_subwindow): set displayed flag after mapping.
10753
10754 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10755
10756         * data.c (indirect_function):
10757         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10758
10759         * eval.c (function_argcount):
10760         Use original function when signaling errors.
10761
10762 2000-08-18  Andy Piper  <andy@xemacs.org>
10763
10764         * frame.c (delete_frame_internal): use new
10765         free_frame_subwindow_instances name.
10766
10767         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10768         (add_tab_item): make return type correct.
10769         (mswindows_tab_control_instantiate): assert index of tab.
10770         (mswindows_tab_control_redisplay): Re-code to use
10771         gui_item_equal_sans_selected and gui_item_list_find_selected.
10772
10773         * glyphs-widget.c (tab_control_update): Correct comment.
10774
10775         * window.c (window_unmap_subwindows): use new
10776         unmap_subwindow_instance_cache_mapper.
10777         (window_unmap_subwindows_cache_mapper): deleted.
10778         (Fset_window_configuration): comparisons should now be with
10779         EQ. Preserve the subwindow instance cache across configuration
10780         changes.
10781         (allocate_window): ditto.
10782         (make_dummy_parent): ditto.
10783
10784         * glyphs.c (free_frame_subwindow_instances): rename from
10785         free_frame_subwindow_instance_cache. finalize all instances rather
10786         than just those in the display cache.
10787         (finalize_all_subwindow_instances): walk windows unmapping and
10788         finalizing subwindows.
10789         (unmap_subwindow_instance_cache_mapper): moved from
10790         window.c. Allow finalization as well as unmapping.
10791
10792         * gui.c (gui_item_list_find_selected): new function.
10793
10794         * gui.h (gui_item_list_find_selected): declare.
10795
10796         * glyphs-x.c (x_tab_control_redisplay): pick tab
10797         explicitly. Re-code to use gui_item_equal_sans_selected and
10798         gui_item_list_find_selected.
10799
10800         * glyphs-x.h: add lwlib-utils.h
10801
10802         * buffer.c (Frecord_buffer): undo previous change.
10803
10804 2000-08-09  Vin Shelton  <acs@xemacs.org>
10805
10806         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10807         possible.  Create temporary files more securely.  The patch was
10808         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10809         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10810         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10811         for details.
10812
10813 2000-08-07  Ben Wing  <ben@xemacs.org>
10814
10815         * getloadavg.c: remove duplicate (and windows-breaking)
10816         includes of fcntl.h and sys/file.h.
10817
10818         * nt.c: remove duplicate getloadavg() definition.
10819
10820         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10821         encodings.
10822
10823 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10824
10825         * eval.c (function_argcount): If function needs to be autoloaded
10826         actually use the loaded definition.
10827         GCPRO function.
10828
10829 2000-08-05  Ben Wing  <ben@xemacs.org>
10830
10831         * getloadavg.c: add prototype for getloadavg().  remove
10832         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10833         of the code).  remove duplicate header includes.
10834
10835         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10836
10837         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10838         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10839         useful load average.
10840
10841         * alloc.c (reinit_alloc_once_early): removed references to
10842         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10843         the lisp vars are the only things referencing the malloc_sbrk_*
10844         vars, and they were already if 0'd out.  these vars only exist
10845         in the older malloc.c, which is basically unused, and they're
10846         only for informational purposes.
10847
10848         * m\*.h: removed useless VIRT_ADDR_VARIES.
10849
10850         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10851
10852 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10853
10854         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10855         color if the image is a mono pixmap.
10856
10857 2000-07-30  Ben Wing  <ben@xemacs.org>
10858
10859         * Makefile.in.in (release):
10860         Remove stray @.
10861
10862         * buffer.c (directory_is_current_directory):
10863         * dired-msw.c (mswindows_get_files):
10864         * dired.c:
10865         * dired.c (Fdirectory_files):
10866         * dired.c (file_name_completion_stat):
10867         * dired.c (Ffile_attributes):
10868         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10869         preprocessor tricks, to avoid problems on some machines
10870         (e.g. SCO).
10871
10872         * callproc.c (egetenv): GC docs.
10873
10874         * console-msw.h:
10875         * console-msw.h (struct mswindows_dialog_id):
10876         * lrecord.h (lrecord_type):
10877         New object for use with MSW dialogs.
10878
10879         * console.h (struct console_methods):
10880         New enable/disable frame methods, for proper modal dialogs.
10881
10882         * device-msw.c (msprinter_default_printer): Fix to follow
10883         proper Mule conventions.
10884
10885         * device-msw.c:
10886         * device-msw.c (signal_open_printer_error):
10887         * device-msw.c (msprinter_init_device):
10888         * device-msw.c (ensure_not_printing):
10889         * device-msw.c (plist_get_margin):
10890         * device-msw.c (Fmsprinter_select_settings):
10891         * device-msw.c (finalize_devmode):
10892         * device-msw.c (Fmsprinter_settings_despecialize):
10893         * device-msw.c (signal_enum_priner_error):
10894         * extents.c (decode_extent):
10895         * extents.c (decode_map_extents_flags):
10896         * extents.c (decode_extent_at_flag):
10897         * extents.c (Fextent_at):
10898         * extents.c (Fextents_at):
10899         * extents.c (symbol_to_glyph_layout):
10900         [[[[2]]]] Use structured errors.
10901
10902         * dialog-msw.c:
10903         * dialog-msw.c (mswindows_is_dialog_msg):
10904         * dialog-msw.c (mark_mswindows_dialog_id):
10905         * dialog-msw.c (dialog_proc):
10906         * dialog-msw.c (handle_question_dialog_box):
10907         * dialog-msw.c (syms_of_dialog_mswindows):
10908         Define new object to clean up marking; use it as a dialog identifier.
10909         Call new delete-dialog-box-hook.
10910
10911         * dialog-x.c (dbox_selection_callback):
10912         * dialog-x.c (dbox_descriptor_to_widget_value):
10913         * dialog-x.c (x_make_dialog_box_internal):
10914         Call new delete-dialog-box-hook.
10915         Return an id.
10916
10917         * dialog.c:
10918         * dialog.c (syms_of_dialog):
10919         * dialog.c (vars_of_dialog):
10920         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10921
10922         * eval.c:
10923         * eval.c (signal_call_debugger):
10924         when noninteractive, output stack traces on the console instead
10925         of in a (never-seen) buffer.
10926
10927         * eval.c (signal_type_error):
10928         * eval.c (invalid_argument_2):
10929         * lisp.h:
10930         new funs for use w/structured errors.
10931
10932         * event-Xt.c:
10933         * event-Xt.c (x_to_emacs_keysym):
10934         * event-Xt.c (describe_event):
10935         * event-Xt.c (emacs_Xt_event_handler):
10936         * event-Xt.c (vars_of_event_Xt):
10937         * event-msw.c:
10938         * event-msw.c (mswindows_wnd_proc):
10939         * event-msw.c (vars_of_event_mswindows):
10940         rename {x,mswindows}-debug-events to debug-{}-events for
10941         consistency with other debug-foo variables.
10942
10943         * event-stream.c:
10944         document next-event more clearly.
10945
10946         * fileio.c (Ffile_name_directory):
10947         * fileio.c (Ffile_name_nondirectory):
10948         * fileio.c (Funhandled_file_name_directory):
10949         * fileio.c (file_name_as_directory):
10950         * fileio.c (Ffile_name_as_directory):
10951         * fileio.c (directory_file_name):
10952         * fileio.c (Fdirectory_file_name):
10953         * fileio.c (Fmake_temp_name):
10954         * fileio.c (Ffile_truename):
10955         * fileio.c (Fsubstitute_in_file_name):
10956         * fileio.c (expand_and_dir_to_file):
10957         * fileio.c (barf_or_query_if_file_exists):
10958         * fileio.c (check_executable):
10959         * fileio.c (Ffile_exists_p):
10960         * fileio.c (Ffile_writable_p):
10961         * fileio.c (Ffile_directory_p):
10962         * fileio.c (Ffile_regular_p):
10963         * fileio.c (Ffile_modes):
10964         * fileio.c (Ffile_newer_than_file_p):
10965         * fileio.c (Fverify_visited_file_modtime):
10966         * fileio.c (Fset_visited_file_modtime):
10967         * fileio.c (auto_save_1):
10968         (1). (2).
10969         fix up gcpro's.
10970
10971         * frame-msw.c:
10972         * frame-msw.c (mswindows_init_frame_1):
10973         * frame-msw.c (mswindows_enable_frame):
10974         * frame-msw.c (error_frame_unsizable):
10975         * frame-msw.c (msprinter_init_frame_1):
10976         * frame-msw.c (msprinter_init_frame_3):
10977         * frame-msw.c (console_type_create_frame_mswindows):
10978         (2).
10979         implement new enable/disable frame methods.
10980
10981         * frame-x.c:
10982         * frame-x.c (x_enable_frame):
10983         * frame-x.c (console_type_create_frame_x):
10984         implement new enable/disable frame methods.
10985
10986         * frame.c:
10987         * frame.c (Fdisable_frame):
10988         * frame.c (syms_of_frame):
10989         * frame.h (struct frame):
10990         implement new enable/disable frame methods/functions.
10991
10992         * general-slots.h:
10993         add initial-focus.
10994
10995         * glyphs-msw.c (mswindows_widget_instantiate):
10996         comment that initial-focus should be implemented.
10997
10998         * glyphs-widget.c:
10999         * glyphs-widget.c (check_valid_instantiator):
11000         * glyphs-widget.c (check_valid_orientation):
11001         * glyphs-widget.c (check_valid_tab_orientation):
11002         * glyphs-widget.c (check_valid_justification):
11003         * glyphs-widget.c (check_valid_border):
11004         * glyphs-widget.c (check_valid_callback):
11005         * glyphs-widget.c (check_valid_int_or_function):
11006         * glyphs-widget.c (check_valid_string_or_vector):
11007         * glyphs-widget.c (check_valid_item_list_1):
11008         * glyphs-widget.c (widget_validate):
11009         * glyphs-widget.c (combo_box_validate):
11010         * glyphs-widget.c (widget_instantiate):
11011         * glyphs-widget.c (syms_of_glyphs_widget):
11012         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11013         * glyphs-widget.c (image_instantiator_combo_box):
11014         * glyphs-widget.c (image_instantiator_scrollbar):
11015         * glyphs-widget.c (image_instantiator_tab_control):
11016         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11017         (2).
11018         support (unimplemented) keyword initial-focus.
11019         reindent long macros.
11020
11021         * glyphs-x.c (x_redisplay_widget):
11022         * glyphs-x.c (x_button_instantiate):
11023         * glyphs-x.c (x_button_redisplay):
11024         * glyphs-x.c (x_progress_gauge_instantiate):
11025         * glyphs-x.c (x_edit_field_instantiate):
11026         * glyphs-x.c (x_combo_box_instantiate):
11027         * glyphs-x.c (x_tab_control_instantiate):
11028         * glyphs-x.c (x_label_instantiate):
11029         * gui-x.c:
11030         * gui-x.c (button_item_to_widget_value):
11031         * gui-x.c (gui_items_to_widget_values_1):
11032         * gui-x.c (gui_item_children_to_widget_values):
11033         * gui-x.c (gui_items_to_widget_values):
11034         * gui-x.h:
11035         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11036         add new flag to gui-parsing routines to indicate whether
11037         accelerator specs should be supported.
11038
11039         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11040
11041         * glyphs.h (struct Lisp_Image_Instance):
11042         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11043         add initial-focus flag.
11044
11045         * gui.c:
11046         * gui.c (syms_of_gui):
11047         * gui.c (vars_of_gui):
11048         clean up menu-no-selection-hook.
11049
11050         * gui.h:
11051         support delete-dialog-box-hook.
11052
11053         * lread.c (Fload_internal):
11054         * lread.c (locate_file_in_directory_mapper):
11055         (1).
11056
11057         * lrecord.h:
11058         * lrecord.h (struct toolbar_button):
11059         * lrecord.h (syms_of_toolbar):
11060         document how to create a new object.
11061
11062         * menubar-msw.c (mswindows_char_is_accelerator):
11063         may be called on frames w/o menus.
11064
11065         * menubar.c (vars_of_menubar):
11066         clean up :filter docs.
11067
11068         * nt.c (readdir):
11069         * ntproc.c:
11070         (1).
11071
11072         * process-nt.c:
11073         * process-nt.c (validate_signal_number):
11074         * process-nt.c (signal_cannot_launch):
11075         * process-nt.c (nt_create_process):
11076         * process-nt.c (nt_send_process):
11077         * process-nt.c (nt_kill_child_process):
11078         * process-nt.c (nt_open_network_stream):
11079         * process-nt.c (syms_of_process_nt):
11080         (2).
11081         delete quote-handling.  call new lisp code that does it better.
11082
11083         * process-unix.c (connect_to_file_descriptor):
11084         * process-unix.c (allocate_pty):
11085         * process-unix.c (unix_send_process):
11086         * process-unix.c (unix_kill_child_process):
11087         * process-unix.c (unix_open_network_stream):
11088         * process-unix.c (unix_open_multicast_group):
11089         (1). (2).
11090
11091         * process.c:
11092         * process.c (Fstart_process_internal):
11093         (2).  need to canonicalize process path even if absolute.
11094
11095         * select-msw.c (symbol_to_ms_cf):
11096         * select-msw.c (ms_cf_to_symbol):
11097         * select-msw.c (cf_is_autofreed):
11098         * select-msw.c (mswindows_destroy_selection):
11099         * select.c:
11100         * select.c (syms_of_select):
11101         * select.h:
11102         support dibv5, fix bugs. (from Mike Alexander)
11103
11104         * select.c (Fget_selection_internal):
11105         * select.c (select_convert_out):
11106
11107         * sysdep.c:
11108         * sysdep.c (xemacs_stat):
11109         renamed.
11110
11111         * sysdep.c (mkdir):
11112         * sysdep.c (rmdir):
11113         but keep original stat() here because we provide encapsulation
11114         around these funs.
11115
11116         * sysfile.h:
11117         * sysfile.h (fstat):
11118         remove stat garbage.
11119
11120         * syswindows.h:
11121         fix X/MSW conflict.
11122         don't include tchar.h.  it's inappropriate because it makes
11123         compile-time distinctions when we want runtime distinctions.
11124         (we provide our own tchar replacements)
11125
11126         * toolbar.c:
11127         use default object printer for toolbar-button.
11128
11129         * unexcw.c:
11130         make sure we don't encapsulate.
11131
11132         * window.c (vars_of_window):
11133         emphasize that temp-buffer-show-hook is obsolete.
11134
11135 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11136
11137         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11138         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11139
11140         * events.c (Fevent_timestamp_lessp):
11141         Not 64-bit clean.  Use EMACS_INT, not int.
11142
11143 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11144
11145         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11146         unsigned int and changed the last enum to
11147         lrecord_type_last_built_in_type.
11148         (lrecord_implementations_table): changed prototype to know how
11149         long the array is supposed to be.
11150         (lrecord_type_count): new unsigned int to keep track of the
11151         current number of lisp lrecord types.
11152         (DEFINE_EXTERNAL_LRECORD):
11153         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11154         dynamic-modules to declare new lisp types. They are the same
11155         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11156         int for each new type, and increment lrecord_type_count by 1.
11157
11158         * alloc.c (lrecord_implementations_table): Changed to reference
11159         lrecord_type_last_built_in_type for the size of the array.
11160         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11161
11162 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11163
11164         * glyphs.h (check_valid_item_list): Renamed from
11165         check_valid_item_list_1.
11166
11167 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11168
11169         * select.c (Qselect_coerce): New.
11170         * select.c (Vselection_coercion_alist): New.
11171         * select.c (syms_of_select): Declare.
11172         * select.c (get-selection-internal): Use it.
11173         Use the new select-coerce functionality.
11174
11175         * select.c (select_coerce): New.
11176         * select.h (select_coerce): Declare.
11177         New function to coerce one type of data into another.
11178
11179 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11180
11181         * callproc.c (Fcall_process_internal):
11182         (Fcall_process_internal):
11183         * process-unix.c (unix_create_process):
11184         Save and restore the value of errno, so that error messages are accurate.
11185
11186 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11187
11188         * elhash.c (print_hash_table):
11189         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11190         Prettify docstrings and indentation.
11191
11192 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11193
11194         * window.c (Fwindow_pixel_edges): Subtract frame border and
11195         gutter size.
11196
11197 2000-07-31  Andy Piper  <andy@xemacs.org>
11198
11199         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11200         will acknowledge the change.
11201
11202         * glyphs.h: declare tab_control_order_only_changed.
11203
11204         * glyphs-x.c (x_tab_control_redisplay): use
11205         tab_control_order_only_changed.
11206
11207         * glyphs-widget.c (tab_control_order_only_changed): new function.
11208
11209         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11210         tab_control_order_only_changed.
11211
11212         * gui.c (gui_item_equal_sans_selected): new function.
11213         (gui_item_equal): use it.
11214
11215         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11216         :properties in favor of :items..
11217
11218         * glyphs-widget.c (check_valid_item_list): rename from
11219         check_valid_item_list_1.
11220         (check_valid_item_list_1): renamed.
11221         (combo_box_validate): deprecate :properties in favor of :items.
11222         (widget_instantiate): ditto.
11223         (tab_control_update): ditto.
11224         (image_instantiator_combo_box): ditto.
11225         (image_instantiator_tree_view): ditto.
11226         (image_instantiator_tab_control): ditto.
11227         (layout_post_instantiate): remove dead code.
11228
11229         * print.c (debug_print_no_newline): only write to debugger if in
11230         WIN32_NATIVE.
11231
11232         * elhash.c (Fmake_hash_table): update doc string.
11233
11234         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11235         messages whilst in GC. This at least stops XEmacs crashing but has
11236         the potential for wierd behaviour.
11237
11238 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11239
11240         * config.h.in:
11241         Make existence of s&m files optional.
11242
11243         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11244         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11245         * s/gnu.h: Remove HAVE_GETLOADAVG.
11246         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11247         * s/sol2.h: Remove HAVE_GETLOADAVG.
11248         * lisp.h: Remove getloadavg() declaration.
11249         * fns.c:
11250         Include <sys/loadavg.h> if available.
11251         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11252         * config.h.in:  Group together getloadavg()-related macros.
11253         Use only configure-time tests to detect getloadavg().
11254
11255 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11256
11257         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11258
11259 2000-07-25  Andy Piper  <andy@xemacs.org>
11260
11261         * syswindows.h: add tchar.h for native builds.
11262
11263         * frame.c (syms_of_frame): remove set-glyph-image.
11264
11265         * general-slots.h: add Qset_glyph_image.
11266
11267         * glyphs-widget.c (layout_update): add domain arg to
11268         set-glyph-image.
11269         (syms_of_glyphs_widget): remove set-glyph-image.
11270
11271 2000-07-23  Ben Wing  <ben@xemacs.org>
11272
11273         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11274         Vpopup_frame_list.
11275
11276 2000-07-22  Andy Piper  <andy@xemacs.org>
11277
11278         * symsinit.h: add syms_of_win32().
11279
11280         * gui-msw.c (syms_of_gui_mswindows): remove
11281         Fmswindows_shell_execute.
11282         (Fmswindows_shell_execute): moved to win32.c.
11283
11284         * emacs.c (main_1): add syms_of_win32 ().
11285
11286         * win32.c (init_potentially_nonexistent_functions): rewrite in
11287         compiler-friendly terms.
11288         (Fmswindows_shell_execute): move here from gui-msw.c.
11289         (syms_of_win32): new.
11290
11291         * device-msw.c (Fmswindows_printer_list): clean up args to
11292         EnumPrinters.
11293         Don't include tchar under cygwin or mingw.
11294         (msprinter_default_printer): make cygwin-friendly.
11295
11296 2000-07-21  Andy Piper  <andy@xemacs.org>
11297
11298         * glyphs-widget.c (image_instantiator_tree_view): use tab
11299         control's update function.
11300         (layout_property): new function. Retrieve items.
11301
11302         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11303         function. Re-populate the tree view from the pending items.
11304
11305         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11306         is designated the parent if the domain is an image instance. This
11307         is needed so that dirtiness can be cascade up the hierarchy and
11308         thus for layout children to be redisplayed correctly.
11309         (allocate_image_instance): rename glyph -> parent.
11310
11311         * redisplay.h: change redisplay_output_layout signature.
11312
11313         * redisplay-msw.c (mswindows_output_display_block): use domain
11314         arg.
11315
11316         * redisplay-x.c (x_output_display_block): use domain arg.
11317
11318 2000-07-10  Andy Piper  <andy@xemacs.org>
11319
11320         * window.c (Fset_window_configuration): add comment.
11321
11322         * redisplay-output.c (compare_runes):
11323         (redisplay_output_subwindow): redisplay rather than update subwindow.
11324         (redisplay_output_layout): ditto.
11325
11326         * redisplay-msw.c (mswindows_frame_output_end):
11327         (mswindows_frame_output_end): make defer window pos optional.
11328
11329         * lisp.h: add Flast.
11330
11331         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11332         normalize method. Change update method to be for changed
11333         instantiators. Add redisplay method. Change signature of layout
11334         method.
11335         (struct Lisp_Image_Instance): add instantiator.
11336         (IMAGE_INSTANCE_INSTANTIATOR): new.
11337         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11338         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11339         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11340
11341         * glyphs.c:
11342         (find_instantiator_differences): new function.
11343         (Fset_instantiator_property): new convenience function.
11344         (check_image_instance_structure): strictly check for vector
11345         instantiators.
11346         (normalize_image_instantiator): make non-static.
11347         (instantiate_image_instantiator): pass on dest_mask and use new
11348         signatures for image_instance_layout and friends.
11349         (mark_image_instance): mark the instantiator. Mark the subwindow
11350         face not the widget face.
11351         (image_instance_equal): add instantiator.
11352         (image_instance_hash): ditto.
11353         (allocate_image_instance): ditto.
11354         (Fset_image_instance_property): removed.
11355         (Fimage_instance_file_name): ditto.
11356         (Fcolorize_image_instance): ditto.
11357         (image_instance_layout): add offsets to be set.
11358         (update_image_instance): new function. update an image instance
11359         from its changed instantiator.
11360         (inherit_normalize): add dest_mask.
11361         (xbm_normalize): ditto.
11362         (xface_normalize): ditto.
11363         (xpm_normalize): ditto.
11364         (text_update): set_property -> update.
11365         (image_instantiate): use the glyph identity as a hash key, not the
11366         instantiator.
11367         (glyph_width): use new image_instance_layout signature.
11368         (glyph_ascent): ditto.
11369         (glyph_descent): ditto.
11370         (glyph_height): ditto.
11371         (glyph_query_geometry): ressurrect.
11372         (glyph_layout): ditto.
11373         (redisplay_subwindow): update -> redisplay.
11374         (syms_of_glyphs): add Fset_instantiator_property.
11375         (image_instantiator_format_create): set_property -> update.
11376
11377         * glyphs-x.c:
11378         (autodetect_normalize): add dest_maks to signature.
11379         (x_redisplay_subwindow): update -> redisplay.
11380         (x_redisplay_widget): ditto.
11381         (x_button_redisplay): ditto.
11382         (x_progress_gauge_redisplay): ditto.
11383         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11384         stacking order.
11385         (console_type_create_glyphs_x): update -> redisplay.
11386         (image_instantiator_format_create_glyphs_x): ditto.
11387
11388         * glyphs-widget.c:
11389         (check_valid_instantiator): disallow glyphs in the instantiator,
11390         they must now be vectors.
11391         (check_valid_instantiator_list): ditto.
11392         (glyph_instantiator_to_glyph): use internal symbol rather than
11393         intern.
11394         (widget_update): renamed from widget_set_property. Call cascaded
11395         update methods.
11396         (redisplay_widget): renamed from update_widget.
11397         (widget_layout): image_instance_layout now takes position as well
11398         as size.
11399         (widget_normalize): ditto.
11400         (widget_instantiate): ditto.
11401         (tab_control_query_geometry) ditto.:
11402         (tab_control_update): renamed from tab_control_set_property.
11403         (progress_gauge_update): set_property -> update.
11404         (layout_normalize): rewrite so that child instantiators are
11405         normalized also.
11406         (layout_update): new function. Create glyphs from the normalized
11407         children and cope with any other layout keywords. We do not
11408         instantiate children here that will be take care of by
11409         redisplay_output_layout.
11410         (layout_instantiate): call layout_update and not much else.
11411         (layout_post_instantiate): not sure whether this is needed
11412         anymore.
11413         (layout_query_geometry): query glyph geometry rather than
11414         image_instance geometry.
11415         (layout_layout): set offsets from pass in parameters. Use glyph
11416         geometry and layout functions rather than image instance ones.
11417         (native_layout_layout): ditto.
11418         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11419         (image_instantiator_widget): set_property -> update.
11420         (image_instantiator_buttons): ditto.
11421         (image_instantiator_progress_guage): ditto.
11422         (image_instantiator_tab_control): ditto.
11423         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11424         (image_instantiator_layout): add update method.
11425
11426         * glyphs-msw.c (bmp_normalize):
11427         (mswindows_resource_normalize): add dest_mask so that it can be
11428         proprogated by layout_normalize.
11429         (begin_defer_window_pos): make optional because it may not be the
11430         right thing to do and it introduces differences with X.
11431         (mswindows_unmap_subwindow): ditto.
11432         (mswindows_map_subwindow): ditto.
11433         (mswindows_redisplay_subwindow): renamed from
11434         mswindows_update_subwindow.
11435         (mswindows_redisplay_widget): ditto.
11436         (mswindows_button_redisplay): renamed from
11437         mswindows_button_update. Update is now what the instantiation
11438         function does for a changed instantiator.
11439         (mswindows_progress_gauge_instantiate): set the progress value
11440         here if appropriate.
11441         (mswindows_tab_control_redisplay): cope with re-ordering of the
11442         members of the tab widget by simply selecting the new top
11443         widget. This makes things appear ok if you click on a tab.
11444         (mswindows_combo_box_instantiate): image_instance_layout now takes
11445         position as well as size.
11446         (mswindows_progress_gauge_redisplay): renamed from
11447         mswindows_progress_gauge_update.
11448         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11449         (image_instantiator_format_create_glyphs_mswindows): ditto.
11450
11451         * glyphs-eimage.c (jpeg_normalize):
11452         (gif_normalize):
11453         (png_normalize):
11454         (tiff_normalize): add dest_mask so that it can be proprogated by
11455         layout_normalize.
11456
11457         * elhash.c:
11458         (print_hash_table):
11459         (hash_table_weakness_validate):
11460         (decode_hash_table_weakness):
11461         (Fhash_table_weakness):
11462         (Fhash_table_type):
11463         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11464
11465         * console.h (struct console_methods): move update_* to
11466         redisplay_*.
11467
11468 2000-07-20  Ben Wing  <ben@xemacs.org>
11469
11470         * *.[ch] (XSETOBJ): remove unused middle argument.
11471         lisp-disunion.h: correct wrap_object() to one argument.
11472
11473 2000-07-15  Ben Wing  <ben@xemacs.org>
11474
11475         * s/cygwin32.h:
11476         * s/cygwin32.h (CYGWIN_CONV_PATH):
11477         Add missing logb prototype for v1.1.
11478         Use post-b20 names and alias to pre-b20 names when pre-b20.
11479
11480         * s/windowsnt.h: [5].
11481
11482 2000-07-15  Ben Wing  <ben@xemacs.org>
11483
11484         * Makefile.in.in (x_objs):
11485         * Makefile.in.in (sheap_objs):
11486         * Makefile.in.in (objs):
11487         added win32.o, cosmetic cleanups.
11488
11489         * alloc.c (Fmake_byte_code):
11490         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11491         etc. macros which declare their own args now.
11492
11493         * alloc.c (syms_of_alloc):
11494         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11495
11496         * buffer.c:
11497         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11498
11499         * buffer.c (Fget_file_buffer):
11500         Fixed GCPRO problem.
11501
11502         * buffer.c (get_truename_buffer):
11503         Fixed comment about GC checking.
11504
11505         * buffer.c (syms_of_buffer):
11506         Undeclared those dedicated frame funs.
11507         [2].
11508
11509         * buffer.h:
11510         Define convenience macros for internal/external conversions.
11511         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11512         and Qenvironment_variable_encoding for cleaner code.
11513
11514         * bufslots.h:
11515         Remove dedicated-frame; in lisp.
11516
11517         * bytecode.c (funcall_compiled_function):
11518         [1].
11519
11520         * bytecode.c (syms_of_bytecode):
11521         [2].
11522
11523         * console-msw.c:
11524         * console-msw.c (mswindows_show_console): Rewrote.
11525
11526         * console-msw.c (Fmswindows_debugging_output): New.
11527         Sends to OutputDebugString (special MSWin debugger interface).
11528
11529         * console-msw.c (Fmswindows_message_box):
11530         Fixed stupid bugs so it works when called from kill-emacs.
11531
11532         * console-msw.c (syms_of_console_mswindows):
11533         Declare Fmswindows_debugging_output.
11534
11535         * console-msw.h:
11536         New MSWin prototypes.
11537
11538         * console-msw.h (struct mswindows_frame):
11539         New entry last-click-mods for improved button-modifier support.
11540
11541         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11542         New struct entry `popup' with corresponding accessor.
11543
11544         * console-x.c:
11545         * console-x.c (split_up_display_spec):
11546         * console-x.c (get_display_arg_connection):
11547         * console-x.c (x_semi_canonicalize_console_connection):
11548         * console-x.c (x_canonicalize_device_connection):
11549         [[[6]]]: Change char to more specific type.
11550         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11551
11552         * console-x.c (x_semi_canonicalize_console_connection):
11553         * console-x.c (x_canonicalize_device_connection):
11554         [[[9]]]: Fix up error signalling to use new structured error system.
11555
11556         * console-x.h:
11557         [[[4]]]: Define codesys aliases:
11558         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11559         Qx_color_name_encoding, Qx_display_name_encoding.
11560
11561         * console.h (struct console_methods):
11562         New method make_dialog_box_internal supersedes older
11563         popup_dialog_box method.
11564
11565         * data.c:
11566         Define many new errors, part of new structured errors.
11567
11568         * data.c (init_errors_once_early):
11569         * data.c (syms_of_data):
11570         [2].
11571
11572         * device-msw.c (mswindows_init_device):
11573         [[[5]]]: Cleanup to support NT 3.51.
11574
11575         * device-msw.c (decode_devmode): Cleanup.
11576
11577         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11578         * device-msw.c (mswindows_handle_print_dialog_box):
11579         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11580         * device-msw.c (syms_of_device_mswindows):
11581         Delete the dialog box primitives recently introduced by Kirill and
11582         instead interface to general dialog box interface.
11583
11584         * device-x.c:
11585         * device-x.c (compute_x_app_name):
11586         * device-x.c (x_init_device):
11587         * device-x.c (Fx_valid_keysym_name_p):
11588         * device-x.c (Fx_set_font_path):
11589         [6].
11590         [7].
11591
11592         * device.h (wrap_device): New.
11593         First of its kind; meant to replace XSETDEVICE.
11594
11595         * dialog-msw.c: Many file-dialog symbols.
11596
11597         * dialog-msw.c (mswindows_register_popup_frame): New.
11598         * dialog-msw.c (mswindows_is_dialog_msg): New.
11599         For supporting kbd traversal in dialog boxes.
11600
11601         * dialog-msw.c (dialog_proc):
11602         Support hitting ESC in dialogs.
11603
11604         * dialog-msw.c (struct):
11605         Common dialog box errors.
11606
11607         * dialog-msw.c (handle_file_dialog_box): New.
11608         Add file dialog code.
11609
11610         * dialog-msw.c (handle_question_dialog_box):
11611         Redo existing code to support new question dialog syntax.
11612
11613         * dialog-msw.c (console_type_create_dialog_mswindows):
11614         We support new dialog console method.
11615
11616         * dialog-msw.c (syms_of_dialog_mswindows):
11617         * dialog-msw.c (vars_of_dialog_mswindows):
11618         New file dialog symbols, vars.
11619
11620         * dialog-x.c:
11621         * dialog-x.c (maybe_run_dbox_text_callback):
11622         * dialog-x.c (dbox_descriptor_to_widget_value):
11623         * dialog-x.c (x_make_dialog_box_internal):
11624         * dialog-x.c (console_type_create_dialog_x):
11625         Mule-ize entire file.
11626         Redo to support question dialog syntax.
11627         [6].
11628
11629         * dialog.c:
11630         * dialog.c (Fmake_dialog_box_internal):
11631         * dialog.c (syms_of_dialog):
11632         Kill old popup-dialog-box, replace with new primitive.
11633         Just call device method or signal error.
11634
11635         * eldap.c (Fldap_open):
11636         * eldap.c (Fldap_search_basic):
11637         * eldap.c (Fldap_add):
11638         * eldap.c (Fldap_modify):
11639         [1].
11640         [7].
11641
11642         * emacs.c:
11643         * emacs.c (make_arg_list_1):
11644         * emacs.c (make_arg_list):
11645         Mule-ize call to dll_init().
11646         [6].
11647         [8].
11648
11649         * emacs.c (make_argc_argv):
11650         * emacs.c (free_argc_argv):
11651         * emacs.c (init_cmdargs):
11652         * emacs.c (main_1):
11653         * emacs.c (Fkill_emacs):
11654         * emacs.c (Fdump_emacs):
11655         Update comments about what can be used in syms_* etc.
11656         Call init_win32() when necessary.
11657         Fix up MS Win dialog box in kill-buffer to actually work right.
11658         [7].
11659
11660         * eval.c:
11661         * eval.c (For):
11662         * eval.c (Fand):
11663         * eval.c (Fprogn):
11664         * eval.c (Fprog1):
11665         * eval.c (Fprog2):
11666         * eval.c (FletX):
11667         * eval.c (Flet):
11668         * eval.c (condition_case_3):
11669         * eval.c (Feval):
11670         * eval.c (function_argcount):
11671         * eval.c (funcall_lambda):
11672         [1].
11673
11674         * eval.c (type_error): New.
11675         * eval.c (maybe_type_error): New.
11676         * eval.c (continuable_type_error): New.
11677         * eval.c (maybe_continuable_type_error): New.
11678         * eval.c (type_error_with_frob): New.
11679         * eval.c (maybe_type_error_with_frob): New.
11680         * eval.c (continuable_type_error_with_frob): New.
11681         * eval.c (maybe_continuable_type_error_with_frob): New.
11682         New functions for use with structured errors.
11683
11684         * event-Xt.c:
11685         * event-Xt.c (x_event_to_emacs_event):
11686         Buttons are now modifiers too.
11687
11688         * event-Xt.c (emacs_Xt_current_event_timestamp):
11689         Implement new event method.
11690         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11691
11692         * event-msw.c:
11693         * event-msw.c (ntpipe_shove_writer): [5].
11694         * event-msw.c (mswindows_enqueue_mouse_button_event):
11695         * event-msw.c (mswindows_drain_windows_queue):
11696         * event-msw.c (mswindows_wnd_proc): [7].
11697         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11698         * event-msw.c (mswindows_modifier_state):
11699         Throughout: support new button modifiers.
11700
11701         * event-msw.c (emacs_mswindows_current_event_timestamp):
11702         Implement new event method.
11703         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11704
11705         * event-stream.c:
11706         * event-stream.c (event_stream_current_event_timestamp): New.
11707         * event-stream.c (maybe_kbd_translate): New functionality.
11708         * event-stream.c (vars_of_event_stream):
11709         Document new kbd-translate-table functionality.
11710
11711         * event-stream.c (Fcurrent_event_timestamp): New.
11712         New primitive for use in fabricated events.
11713         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11714
11715         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11716
11717         * events.c:
11718         * events.c (Fmake_event):
11719         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11720         [1].
11721         [9].
11722
11723         * events.c (format_event_object): fix gcc warnings.
11724
11725         * events.c (Fevent_timestamp): Document new primitives.
11726
11727         * events.c (TIMESTAMP_HALFSPACE): New.
11728
11729         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11730         comparing timestamps correctly (half-space algorithm).
11731
11732         * events.c (Fevent_modifier_bits): Doc fix.
11733
11734         * events.c (Fevent_modifiers): Major doc addition.
11735         * events.c (event_x_y_pixel_internal): Typo fix.
11736         * events.c (syms_of_events): Declare new primitives.
11737
11738         * events.h:
11739         Update long comment for button modifiers, timestamps.
11740
11741         * events.h (struct event_stream):
11742         New current_event_timestamp method.
11743
11744         * extents.c:
11745         * extents.c (extent_in_region_p):
11746         * extents.c (decode_extent):
11747         * extents.c (Fset_extent_parent):
11748         * extents.c (decode_map_extents_flags):
11749         Fix gcc warnings.
11750         [9].
11751
11752         * extents.c (struct extent_at_arg):
11753         * extents.c (decode_extent_at_flag):
11754         * extents.c (extent_at_mapper):
11755         * extents.c (extent_at_bytind):
11756         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11757         * extents.c (Fextents_at): New primitive. [9].
11758         * extents.c (symbol_to_glyph_layout): [9].
11759         Support new primitive `extents-at'.
11760
11761
11762         * extents.c (get_text_property_bytind):
11763         extent_at_bytind has another arg.
11764         [9].
11765
11766         * extents.c (syms_of_extents): New primitive.
11767
11768         * file-coding.c (Fmake_coding_system): [1].
11769         * file-coding.c (subsidiary_coding_system): fix gcc warning
11770         * file-coding.c (syms_of_file_coding): [2].
11771
11772         * fileio.c (Fexpand_file_name):
11773         * fileio.c (Fsysnetunam):
11774         * fileio.c (Ffile_exists_p):
11775         * fileio.c (Ffile_executable_p):
11776         * fileio.c (Fverify_visited_file_modtime):
11777         Clean up GCPROing.
11778
11779         * fileio.c (syms_of_fileio): [2].
11780
11781         * filelock.c (lock_file_1):
11782         * filelock.c (current_lock_owner):
11783         * filelock.c (lock_if_free):
11784         * filelock.c (lock_file):
11785         * filelock.c (unlock_file):
11786         Clean up GCPROing.
11787
11788         * fns.c (concat): Fix gcc warning.
11789
11790         * fns.c (Fmember):
11791         * fns.c (Fold_member):
11792         * fns.c (Fmemq):
11793         * fns.c (Fold_memq):
11794         * fns.c (memq_no_quit):
11795         * fns.c (Fassoc):
11796         * fns.c (Fold_assoc):
11797         * fns.c (Fassq):
11798         * fns.c (Fold_assq):
11799         * fns.c (assq_no_quit):
11800         * fns.c (Frassoc):
11801         * fns.c (Fold_rassoc):
11802         * fns.c (Frassq):
11803         * fns.c (Fold_rassq):
11804         * fns.c (rassq_no_quit):
11805         * fns.c (Fdelete):
11806         * fns.c (Fold_delete):
11807         * fns.c (Fdelq):
11808         * fns.c (Fold_delq):
11809         * fns.c (delq_no_quit):
11810         * fns.c (Fremassoc):
11811         * fns.c (Fremassq):
11812         * fns.c (remassq_no_quit):
11813         * fns.c (Fremrassoc):
11814         * fns.c (Fremrassq):
11815         * fns.c (remrassq_no_quit):
11816         * fns.c (Freverse):
11817         * fns.c (mapcar1):
11818         [1].
11819
11820         * frame-msw.c (mswindows_init_frame_1):
11821         * frame-msw.c (mswindows_delete_frame):
11822         Register popups with dialog code so keyboard traversing works.
11823
11824         * frame-tty.c (tty_raise_frame_no_select): [1].
11825
11826         * frame-x.c:
11827         * frame-x.c (x_set_frame_text_value):
11828         * frame-x.c (x_set_frame_properties):
11829         * frame-x.c (x_create_widgets):
11830         [7].
11831
11832         * frame.c:
11833         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11834
11835         * frame.h (wrap_frame): New.
11836         Macro like wrap_device.
11837
11838         * general.c:
11839         * general.c (SYMBOL):
11840         * general.c (syms_of_general):
11841         Major reorg.  This is now just a wrapper and symbols themselves
11842         are listed in general-slots.h.
11843
11844         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11845         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11846
11847         * glyphs-msw.c (mswindows_native_layout_instantiate):
11848         Add DS_CONTROL so keyboard traversal will work.
11849
11850         * glyphs-widget.c:
11851         * glyphs-widget.c (syms_of_glyphs_widget):
11852         Move some symbols to general-slots.h.
11853
11854         * glyphs-x.c:
11855         * glyphs-x.c (xbm_instantiate_1):
11856         * glyphs-x.c (x_xbm_instantiate):
11857         * glyphs-x.c (x_xface_instantiate):
11858         * glyphs-x.c (autodetect_instantiate):
11859         * glyphs-x.c (cursor_font_instantiate):
11860         * glyphs-x.c (x_update_widget):
11861         * glyphs-x.c (x_widget_instantiate):
11862         * glyphs.c (bitmap_to_lisp_data):
11863         * glyphs.c (pixmap_to_lisp_data):
11864         [7].
11865
11866         * glyphs.c (syms_of_glyphs):
11867         [2].
11868
11869         * gui-x.c:
11870         * gui-x.c (print_widget_value):
11871         * gui-x.c (menu_separator_style_and_to_external):
11872         * gui-x.c (add_accel_and_to_external):
11873         * gui-x.c (button_item_to_widget_value):
11874         * gui-x.c (gui_items_to_widget_values_1):
11875         * gui-x.c (gui_items_to_widget_values):
11876         * gui-x.c (syms_of_gui_x):
11877         * gui-x.c (vars_of_gui_x):
11878         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11879         [9].
11880
11881         * gui-x.h:
11882         Muleize, prototype changes matching gui-x.c.
11883
11884         * gui.c:
11885         * gui.c (separator_string_p):
11886         * gui.c (gui_item_add_keyval_pair):
11887         * gui.c (make_gui_item_from_keywords_internal):
11888         * gui.c (signal_too_long_error):
11889         * gui.c (parse_gui_item_tree_item):
11890         * gui.c (syms_of_gui):
11891         * gui.c (vars_of_gui):
11892         * gui.h:
11893         menu-no-selection-hook moved here (used by MSWin).
11894         Move some symbols to general-slots.h.
11895         [6].
11896         [9].
11897
11898         * insdel.c (get_buffer_pos_char):
11899         * insdel.c (get_buffer_range_char):
11900         Add GC comments.
11901
11902         * keymap.c (keymap_lookup_directly):
11903         * keymap.c (keymap_store):
11904         * keymap.c (ensure_meta_prefix_char_keymapp):
11905         * keymap.c (describe_map):
11906         * keymap.h:
11907         Support new button modifiers.
11908
11909         * lisp-disunion.h (wrap_object):
11910         * lisp-disunion.h (XSETOBJ):
11911         Rename make_obj to wrap_object.
11912
11913         * lisp-union.h:
11914         * lisp-union.h (make_int):
11915         * lisp-union.h (make_char):
11916         Support wrap_object.
11917
11918         * lisp.h:
11919         * lisp.h (LIST_LOOP):
11920         * lisp.h (EXTERNAL_LIST_LOOP):
11921         * lisp.h (LIST_LOOP_2):
11922         * lisp.h (EXTERNAL_LIST_LOOP_1):
11923         * lisp.h (EXTERNAL_LIST_LOOP_2):
11924         * lisp.h (EXTERNAL_LIST_LOOP_3):
11925         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11926         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11927         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11928         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11929         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11930         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11931         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11932         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11933         * lisp.h (struct Lisp_Symbol):
11934         * lisp.h (maybe_continuable_error_with_frob):
11935         Fix up section comments.
11936         Add new types for char to indicate usage.
11937         Delete symbols auto-generated from general-slots.h.
11938         Add prototypes for structured error functions.
11939         Add long comments describing looping macros and change interface
11940         so that lvalues are automatically declared.
11941         Add NO_DECLARE macro in case callers want to declare lvalues
11942         themselves.
11943
11944         * lread.c (read_syntax_error):
11945         * lread.c (continuable_read_syntax_error):
11946         * lread.c (read_structure):
11947         * lread.c (sequence_reader):
11948         * lread.c (read_list_conser):
11949         * lread.c (read_compiled_function):
11950         Rename syntax_error and continuable_syntax_error to avoid clash
11951         with same-named structured error functions.
11952
11953         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11954         * menubar-msw.c (populate_menu_add_item):
11955         * menubar-msw.c (populate_or_checksum_helper):
11956         [5].
11957         [9].
11958
11959         * menubar-x.c:
11960         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11961         Mule-ize whole file.
11962
11963         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11964
11965         * mule-charset.c (Fmake_charset):
11966         * mule-wnnfns.c (Fwnn_set_param):
11967         [1].
11968
11969         * ntproc.c (create_child):
11970         * ntproc.c (Fwin32_set_current_locale):
11971         Add comments portending doom.
11972
11973         * objects-msw.c:
11974         * objects-msw.c (old_font_enum_callback_2):
11975         * objects-msw.c (font_enum_callback_1):
11976         * objects-msw.c (mswindows_enumerate_fonts):
11977         [5].
11978
11979         * objects-x.c:
11980         * objects-x.c (allocate_nearest_color):
11981         * objects-x.c (x_parse_nearest_color):
11982         * objects-x.c (x_initialize_color_instance):
11983         * objects-x.c (x_print_color_instance):
11984         * objects-x.c (x_finalize_color_instance):
11985         * objects-x.c (x_valid_color_name_p):
11986         * objects-x.c (x_initialize_font_instance):
11987         * objects-x.c (x_print_font_instance):
11988         * objects-x.c (valid_x_font_name_p):
11989         * objects-x.c (truename_via_FONT_prop):
11990         * objects-x.c (truename_via_random_props):
11991         * objects-x.c (truename_via_XListFonts):
11992         * objects-x.c (x_font_truename):
11993         * objects-x.c (x_font_instance_truename):
11994         * objects-x.c (x_font_instance_properties):
11995         * objects-x.c (x_list_fonts):
11996         * objects-x.c (x_find_charset_font):
11997         Mule-ize entire file.
11998         [7].
11999
12000         * objects-x.h:
12001         Mule-verify.
12002
12003         * print.c:
12004         * print.c (std_handle_out_external):
12005         * print.c (debug_print_no_newline):
12006         * print.c (syms_of_print):
12007         Output to all debugger kinds in debug-print.
12008         Fix console-output code under MSWin to actually work.
12009
12010         * process-nt.c (send_signal):
12011         * process-nt.c (nt_create_process):
12012         Use newer Unicode macros.
12013
12014         * process-unix.c (unix_create_process):
12015         * process-unix.c (unix_canonicalize_host_name):
12016         * process-unix.c (unix_open_network_stream):
12017         [7].
12018
12019         * scrollbar-x.c:
12020         Mule-verify.
12021
12022         * search.c (syms_of_search):
12023         [2].
12024
12025         * select-msw.c (mswindows_destroy_selection):
12026         Use LIST_LOOP_2.
12027
12028         * select-x.c (symbol_to_x_atom):
12029         [7].
12030
12031         * select.c (syms_of_select):
12032         [2].
12033
12034         * sound.c (Fplay_sound_file):
12035         [7].
12036
12037         * specifier.c:
12038         * specifier.c (decode_specifier_type):
12039         * specifier.c (Fvalid_specifier_locale_type_p):
12040         * specifier.c (check_valid_locale_or_locale_type):
12041         * specifier.c (decode_locale):
12042         * specifier.c (decode_locale_type):
12043         * specifier.c (decode_locale_list):
12044         * specifier.c (check_valid_domain):
12045         * specifier.c (decode_specifier_tag_set):
12046         * specifier.c (Fcanonicalize_tag_set):
12047         * specifier.c (Fdefine_specifier_tag):
12048         * specifier.c (Fspecifier_tag_predicate):
12049         * specifier.c (check_valid_inst_list):
12050         * specifier.c (check_valid_spec_list):
12051         * specifier.c (decode_how_to_add_specification):
12052         * specifier.c (check_modifiable_specifier):
12053         * specifier.c (specifier_add_spec):
12054         * specifier.c (boolean_validate):
12055         * specifier.c (display_table_validate):
12056         [9].
12057
12058         * specifier.c (syms_of_specifier):
12059         Move some symbols to general-slots.h.
12060         [2].
12061
12062         * symbols.c:
12063         * symbols.c (Fmapatoms):
12064         * symbols.c (Fapropos_internal):
12065         Add GCPROs.
12066
12067         * symbols.c (set_default_buffer_slot_variable):
12068         * symbols.c (set_default_console_slot_variable):
12069         [1].
12070
12071         * symbols.c (defsymbol_massage_name_1):
12072         * symbols.c (defkeyword_massage_name):
12073         * symbols.c (deferror_1):
12074         * symbols.c (deferror):
12075         * symbols.c (deferror_massage_name_and_message):
12076         * symeval.h:
12077         * symeval.h (DEFSYMBOL):
12078         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12079
12080         * symbols.c (syms_of_symbols):
12081         [2].
12082
12083         * symsinit.h:
12084         * symsinit.h (init_win32): New.
12085         Also new is syms_of_dialog_mswindows.
12086
12087         * syswindows.h:
12088         Add new Unicode macros, missing Cygwin wide-char functions,
12089         convenience conversion macros for Qmswindows_tstr, macros for
12090         encapsulating required MSWin <-> Cygwin filename conversions,
12091         prototype for dynamically-extracted (not in NT 3.51) functions.
12092
12093         * toolbar-x.c:
12094         Mule-verify.
12095
12096         * tooltalk.c (Fadd_tooltalk_message_arg):
12097         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12098         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12099         [7].
12100
12101         * tooltalk.c (syms_of_tooltalk):
12102         [2].
12103
12104         * unexnt.c:
12105         * unexnt.c (unexec):
12106         Fix up headers, declaration of unexec() to be more standard.
12107
12108 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12109
12110         * offix.h: Revert change to guard macros - they're used in offix.c!
12111
12112 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12113
12114         * lisp.h: Defsubred Fdelete.
12115
12116         * console-msw.h:  (msprinter_default_printer): Added.
12117
12118         * console-msw.c (msprinter_canonicalize_console_connection):
12119         (msprinter_canonicalize_device_connection): Added.
12120
12121         * device-msw.c (msprinter_default_printer):
12122         (Fmswingows_get_default_printer):
12123         (signal_enum_priner_error):
12124         (Fmswingows_printer_list): Added.
12125
12126 2000-07-19  Martin Buchholz <martin@xemacs.org>
12127
12128         * XEmacs 21.2.35 is released.
12129
12130 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12131
12132         * select-x.c (x_handle_selection_request):
12133         Text selected in xemacs and pasted into xterm failed to appear.
12134         Spelling fixes and cosmetic changes.
12135
12136 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12137
12138         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12139         XEmacs frame (fix for doubling chars in dialog boxes).
12140
12141 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12142
12143         * select.c (select_convert_in, select_convert_out):
12144         Don't call intern() every time.
12145
12146         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12147         * select.c (vars_of_select): Initialise them.
12148
12149 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12150
12151         * select.c (selection-coercible-types): New.
12152
12153         * select.c (own-selection-internal):
12154         * select.c (get-selection-internal):
12155         MULE bug fix - these should default to COMPOUND_TEXT and not
12156         STRING for MULE. I think.
12157
12158         * select.c (select_convert_out): Use selection-coercible-types
12159         to find types that we can attempt to perform coercions on.
12160
12161 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12162
12163         * mule-wnnfns.c:
12164         * mule-canna.c:
12165         Add coding: cookie to identify encoding.
12166
12167         * mule-canna.c (CANNA_mode_keys): make static.
12168         Use proper prototypes, even for functions of no arguments.
12169         Remove external prototype for Fding().
12170
12171         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12172
12173         * select.c (syms_of_select): Add missing DEFSUBR.
12174
12175 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12176
12177         * select.c (get_selection_internal, own_selection_internal):
12178         Make the type default to STRING, rather than placing a nil type
12179         into Vselection_alist.
12180
12181 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12182
12183         * gpmevent.c (tty_selection_exists_p):
12184         * gpmevent.c (tty_own_selection):
12185         Updated parameter lists.
12186
12187 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12188
12189         * select.h (selection-alist): Removed declaration.
12190
12191         * select.h (get_local_selection):
12192         * select.c (get_local_selection):
12193         Made static.
12194
12195         * select.h (convert_selection): Removed declaration.
12196         * select.c (convert_selection): Removed.
12197         This function belongs in Lisp.
12198
12199         * select.h (select_convert_in): Declare.
12200         * select.h (select_convert_out): Declare.
12201         * select.c (select_convert_in): New.
12202         * select.c (select_convert_out): New.
12203         New conversion functions for other files to call.
12204
12205         * select.h (select_notify_buffer_kill): Declare.
12206         * select.c (select_notify_buffer_kill): New.
12207         New functions that get called from kill-buffer.
12208
12209         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12210         X-specific lisp code.
12211
12212         * select.h: Declare some of the lisp-visible functions for
12213         external use.
12214
12215         * select.c (clean_local_selection_data): Removed. This was
12216         a disgusting function, and previously should have been in
12217         select-x.c in any case. The functionality is now provided
12218         in select-convert-from-integer (select.el).
12219
12220         * select.c (available-selection-types): Fixed stupidity where
12221         INTEGER and ATOM got added twice. Also add STRING when we see an
12222         extent.
12223
12224         * select.c (get-selection-internal): Removed symbol stripping. No
12225         longer causes conversion when data comes from the internal cache.
12226
12227         * select.c (syms_of_select): Added new functions.
12228
12229         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12230         error checking - previously this called abort!
12231
12232         * select-x.c (x_own_selection): Changed comment.
12233
12234         * select-x.c (x_handle_selection_request): Use select_convert_out.
12235         Don't mess with selection-alist; it's an internal variable of select.c.
12236
12237         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12238
12239         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12240         rather than messing with selection-alist.
12241
12242         * select-msw.c (mswindows_get_foreign_selection):
12243         Use TO_INTERNAL_FORMAT rather than hacking.
12244
12245 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12246
12247         * process-unix.c (unix_open_multicast_group):
12248         (unix_open_multicast_group): Remove useless casts.
12249
12250 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12251
12252         * sound.c (Fplay_sound): Fix `unused variable' warning.
12253
12254         * emacs.c (main): Use correct type for _environ on SCO5.
12255
12256 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12257
12258         * console.h (own_selection_method):
12259         * console.h (selection_exists_p_method):
12260         * console.h (available_selection_types_method): New.
12261         * console.h (register_selection_data_type_method): New.
12262         * console.h (selection_data_type_name): New.
12263
12264         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12265         function & alist to track GlobalAlloc()'d handles that need
12266         releasing when the clipboard data gets replaced or emptied.
12267
12268         * event-msw.c (mswindows_wnd_proc): Call it.
12269
12270         * lisp.h, general.c (Qappend): New symbol representing a
12271         `how-to-add' mode.
12272
12273         * select.c (own-selection-internal):
12274         * select.c (selection-exists-p):
12275         * select.c (available-selection-types): New.
12276         * select.c (register-selection-data-type): New.
12277         * select.c (selection-data-type-name): New.  New functions to deal
12278         with device-specific selection data formats.
12279         * select.c (selection-converter-out-alist): Renamed.
12280         * select.c (selection-converter-in-alist): New.
12281         * select.c (selection-appender-alist): New.  Added new alists.
12282         * select.c (syms_of_select, vars_of_select): Added new symbols &
12283         variables.
12284         * select.c (get_local_selection): Split.
12285         * select.c: Removed spurious type checking - selections may now be
12286         of any type, not just strings.
12287         * select.c (own-selection-internal):
12288
12289         * select.h, select.c (convert_selection): New. Created
12290         convert_selection() function based on get_local_selection().
12291         * select.h, select.c (QCF_*): New symbols representing mswindows
12292         clipboard formats.
12293         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12294         symbols representing `how-to-add' modes.
12295
12296         * select-msw.c (x_sym_p): New.
12297         * select-msw.c (symbol_to_ms_cf): New.
12298         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12299         symbols & clipboard formats. Can also handle string names.
12300         * select-msw.c (mswindows_own_selection):
12301         * select-msw.c (mswindows_selection_exists_p):
12302         Added `data-type' parameter. Use it.
12303         * select-msw.c (mswindows_available_selection_types): New.
12304         * select-msw.c (mswindows_register_selection_data_type): New.
12305         * select-msw.c (mswindows_selection_data_type_name): New.
12306         * select-msw.c (mswindows_own_selection):
12307         * select-msw.c (mswindows_get_foreign_selection):
12308         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12309         * select-msw.c (console_create_select_mswindows): Added new methods.
12310         * select-msw.c (mswindows_destroy_selection): New.
12311         * select-msw.c (Vhandle_alist): New list.
12312         * select-msw.c (mswindows_own_selection):
12313
12314         * select-x.c (x_own_selection):
12315         * select-x.c (x_selection_exists_p):
12316         * select-x.c: Added some comments about maybe using new
12317         functionality.
12318         * select-x.c (x_own_selection):
12319
12320         * specifier.c: Remove definition of Qappend (now in general.c)
12321         * specifier.c (syms_of_specifier): Remove Qappend.
12322
12323 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12324
12325         * config.h.in: Add socklen_t.
12326
12327         * s/decosf4-0.h: No special compiler flags needed or desired.
12328         In particular, undefine _BSD for DEC OSF 4.0.
12329
12330 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12331
12332         * redisplay-msw.c (msprinter_frame_output_end): Added.
12333         (console_type_create_redisplay_mswindows): Referred the above.
12334
12335         * frame.c (setup_frame_without_minibuffer): Do not create a
12336         default minibuffer frame on a printer device.
12337
12338         * frame-msw.c (apply_dc_geometry): Added.
12339         (msprinter_start_page):
12340         (msprinter_init_frame_3):
12341         (msprinter_eject_page): Use it.
12342
12343         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12344         and removed residual duplex and orientation properties.
12345
12346 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12347
12348         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12349
12350         * unexalpha.c: Remove system prototypes from C sources!
12351
12352 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12353
12354         * eval.c: Remove references to M-x edit-options in DEFUNs for
12355         `defvar' and `defconst'.
12356
12357 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12358
12359         * config.h.in: Remove SMART_INCLUDE hackery.
12360
12361         PostgreSQL hacking:
12362         * config.h.in: Don't use SMART_INCLUDE.
12363
12364         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12365         * inline.c: Simply #include "postgresql.h"
12366         * postgresql.c:
12367         - Don't use SMART_INCLUDE
12368         - Use simply "const".
12369         - Use standard doc string conventions.
12370         - Use correct type for result of PQstatus.
12371
12372 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12373
12374         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12375
12376         C++ compilation changes.
12377         * config.h.in (EXTERN_C): Define.
12378         * config.h.in (not): This is also a C++ keyword.
12379         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12380         * cm.c: Use EXTERN_C.
12381         * redisplay-tty.c: Use EXTERN_C.
12382         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12383
12384 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12385
12386         * general.c: Remove duplicate definition for Qfunction.
12387
12388 2000-07-08  Ben Wing  <ben@xemacs.org>
12389
12390         * device-msw.c (msprinter_init_device):
12391         * device-msw.c (sync_printer_with_devmode):
12392         * device-msw.c (handle_devmode_changes):
12393         * device-msw.c (print_dialog_worker):
12394         * device-msw.c (Fmsprinter_apply_settings):
12395         * device-msw.c (hash_devmode):
12396         * device-msw.c (Fmsprinter_settings_despecialize):
12397         use Qmswindows_tstr, not Qctext.
12398
12399         * vm-limit.c (check_memory_limits):
12400         avoid infinite loop printing warning messages.
12401
12402 2000-07-05  Craig Lanning  <lanning@scra.org>
12403
12404         * Makefile.in.in: Add support for including the Windows resources
12405         when building with the cygwin and mingw targets.
12406
12407         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12408         not set or not correct.
12409         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12410         (init_initial_directory): Don't try to use $PWD on the
12411         WIN32_NATIVE target.
12412
12413         * s\cygwin32.h:
12414         [[Add -mwindows to eliminate console window.]] not required --ben
12415         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12416         (MAIL_USE_POP): removed; now handled by configure.
12417
12418         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12419         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12420         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12421         (MAIL_USE_POP): removed; now handled by configure.
12422         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12423         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12424         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12425         constant string.
12426         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12427         up from <winsock.h> via systime.h.
12428         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12429         (getpagesize): from Dan Holmsand, added.
12430         Added #endif which was left dangling by Ben's mega patch; added
12431         comment to help prevent this in the future.
12432
12433         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12434
12435 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12436
12437         * console-msw.h (struct mswindows_device): Removed unnecessary
12438         cached device geometry values.
12439         Added update_tick and an accessor macro.
12440         (Lisp_Devmode): Added lrecord declaration.
12441         (struct msprinter_device): Contain devmode as a Lisp object.
12442         Added mswindows_get_selected_frame_hwnd();
12443
12444         * console.h (struct console_methods): Indentation nitpicking.
12445
12446         * device-msw.c (mswindows_init_device): Do not initialize geometry
12447         cache. Initialize update tick.
12448         (mswindows_device_system_metrics): Ask the device for its geometry.
12449         (global_free_2_maybe):
12450         (devmode_to_hglobal):
12451         (handle_printer_changes):
12452         (ensure_not_printing):
12453         (print_dialog_worker):
12454         (Fmsprinter_print_setup_dialog):
12455         (Fmsprinter_print_dialog):
12456         (plist_get_margin):
12457         (plist_set_margin):
12458         (Fmsprinter_page_setup_dialog): Added functions.
12459         (sync_printer_with_devmode):
12460         (handle_devmode_changes):
12461         (Fmsprinter_get_settings):
12462         (Fmsprinter_select_settings):
12463         (Fmsprinter_apply_settings):
12464         (allocate_devmode):
12465         (Fmsprinter_settings_copy):
12466         (Fmsprinter_settings_despecialize):
12467         (print_devmode):
12468         (finalize_devmode):
12469         (equal_devmode):
12470         (hash_devmode): Added functions
12471         (syms_of_device_mswindows): Init devmode lrecord class.
12472
12473         * device.h: Added an exfun for find-device.
12474
12475         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12476         geometry; although, recreate the device compatible DC.
12477
12478         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12479         (msprinter_init_frame_3):
12480         (msprinter_frame_property):
12481         (msprinter_internal_frame_property_p):
12482         (msprinter_frame_properties):
12483         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12484         print job properties (will move to device settings).
12485
12486         * lisp.h: Added symbols.
12487
12488         * general.c (syms_of_general): Declared them.
12489
12490         * hash.c (string_hash): Added.
12491
12492         * lrecord.h (lrecord_type): Added devmode lrecord type.
12493
12494 2000-07-02  Mike Sperber <mike@xemacs.org>
12495
12496         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12497         FreeBSD 4.0.
12498
12499 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12500
12501         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12502         integer.
12503
12504 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12505
12506         * data.c (Fstring_to_number): Don't recognize floating point if
12507         base is not 10.
12508
12509 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12510
12511         * glyphs-widget.c (tab_control_query_geometry):
12512         (widget_query_geometry):
12513         (button_query_geometry):
12514         * glyphs.c (text_query_geometry):
12515         Enforce type correctness.
12516
12517 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12518
12519         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12520         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12521
12522 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12523
12524         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12525         conflicts with gcc's fixincluded version of FOO.h.
12526
12527         * glyphs.h (image_instance_geometry): Remove trailing `,'
12528
12529 2000-06-08  Mike Alexander  <mta@arbortext.com>
12530
12531         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12532         (shove_thread): Don't write the same output twice
12533         (make_ntpipe_output_stream): Increase priority of shove thread
12534         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12535         chance to run
12536         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12537         it.
12538
12539 2000-06-12  Ben Wing  <ben@xemacs.org>
12540
12541         * s\mingw32.h (sigset):
12542         * s\windowsnt.h (sigset):
12543         rename msw_ to mswindows_ for consistency with general convention.
12544
12545 2000-06-12  Ben Wing  <ben@xemacs.org>
12546
12547         * console-msw.c:
12548         * console-msw.c (mswindows_get_console_hwnd):
12549         * console-msw.c (mswindows_ensure_console_allocated):
12550         * console-msw.c (mswindows_hide_console):
12551         * console-msw.c (mswindows_show_console):
12552         * console-msw.c (mswindows_ensure_console_buffered):
12553         * console-msw.c (mswindows_output_console_string):
12554         * console-msw.c (mswindows_windows9x_p):
12555         * console-msw.h:
12556         * device-msw.c (mswindows_get_workspace_coords):
12557         * device-msw.c (mswindows_device_system_metrics):
12558         * dialog-msw.c (mswindows_popup_dialog_box):
12559         * event-msw.c (mswindows_wnd_proc):
12560         * frame-msw.c (mswindows_size_frame_internal):
12561         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12562         * menubar-msw.c (displayable_menu_item):
12563         * menubar-msw.c (mswindows_char_is_accelerator):
12564         * nt.c:
12565         * nt.c (mswindows_sigset):
12566         * nt.c (mswindows_sigrelse):
12567         * nt.c (mswindows_sigpause):
12568         * nt.c (mswindows_raise):
12569         * nt.c (timer_proc):
12570         * ntproc.c:
12571         * ntproc.c (find_child_console):
12572         * ntproc.c (sys_kill):
12573         * print.c:
12574         * print.c (std_handle_out_external):
12575         * process-nt.c (find_child_console):
12576         * process-nt.c (send_signal_the_95_way):
12577         * process-nt.c (ensure_console_window_exists):
12578         * process-nt.c (nt_create_process):
12579         * syssignal.h:
12580         rename msw_ to mswindows_ for consistency with general convention.
12581
12582         * emacs.c:
12583         * dumper.c:
12584         include nt.h, not syswindows.h.
12585
12586         * nt.c (mswindows_fstat):
12587         * nt.c (mswindows_stat):
12588         prefix mswindows_ instead of attempting to directly override the
12589         library functions.  fix declarations.
12590
12591         * nt.h:
12592         include syswindows.h.  move some sysdep.h stuff here.
12593
12594         * ntheap.h:
12595         include syswindows.h, not <windows.h>.
12596
12597         * ntplay.c:
12598         clean up headers.
12599
12600         * sysdep.c:
12601         clean up headers.
12602
12603         * sysdep.c (sys_fstat):
12604         * sysdep.c (sys_stat):
12605         call mswindows versions when appropriate.
12606
12607         * sysdep.h:
12608         move mswin decls to nt.h.
12609
12610         * syswindows.h:
12611         add long comment describing appropriate use of the various windows
12612         headers.
12613
12614 2000-06-11  Ben Wing  <ben@xemacs.org>
12615
12616         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12617
12618 2000-06-10  Ben Wing  <ben@xemacs.org>
12619
12620         * Makefile.in.in (release):
12621         Correction to make sure xemacs.exe always dumped when correct.
12622
12623         * alloca.c:
12624         * balloon_help.c:
12625         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12626
12627         * buffer.c (set_buffer_internal):
12628         [[[[2]]]]: Remove HAVE_FEP code.
12629
12630         * buffer.c (init_initial_directory):
12631         [3].
12632
12633         * bytecode.c:
12634         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12635         individual files.
12636
12637         * callproc.c:
12638         * callproc.c (call_process_cleanup):
12639         * callproc.c (Fold_call_process_internal):
12640         * callproc.c (child_setup):
12641         * callproc.c (getenv_internal):
12642         * callproc.c (init_callproc):
12643         * callproc.c (vars_of_callproc):
12644         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12645         __CYGWIN32__ -> CYGWIN.
12646         DOS_NT -> WIN32_NATIVE.
12647         Remove MSDOS support/references, converting to WIN32_NATIVE
12648           where correct.
12649         __MINGW32__ -> MINGW.
12650         Fix windows.h includes.
12651         Remove bogus HAVE_NTGUI.
12652
12653         * config.h.in:
12654         [2].
12655
12656         * console-msw.c:
12657         mswindows_message_outputted added for use in allowing startup
12658         errors on the console to be seen.
12659
12660         * console-msw.c (msw_ensure_console_allocated):
12661         * console-msw.c (msw_output_console_string):
12662         * console-msw.c (DHEADER):
12663         * console-msw.c (DOPAQUE_DATA):
12664         * console-msw.c (DEVENT):
12665         * console-msw.c (DCONS):
12666         * console-msw.c (DCONSCDR):
12667         * console-msw.c (DSTRING):
12668         * console-msw.c (DVECTOR):
12669         * console-msw.c (DSYMBOL):
12670         * console-msw.c (DSYMNAME):
12671         Fix warnings.
12672
12673         * console-stream.c (stream_init_console):
12674         Fix text/binary problems.
12675
12676         * device-msw.c:
12677         * device-msw.c (mswindows_finish_init_device):
12678         * device-msw.c (mswindows_delete_device):
12679         [1].
12680
12681         * device.c (handle_asynch_device_change):
12682         [3].
12683
12684         * dgif_lib.c:
12685         * dgif_lib.c (DGifOpenFileName):
12686         * dgif_lib.c (DGifOpenFileHandle):
12687         * dgif_lib.c (DGifGetLine):
12688         * dgif_lib.c (DGifGetPixel):
12689         Added config.h/lisp.h, fix up includes.
12690         [1].
12691
12692         * dired-msw.c:
12693         [4].
12694
12695         * dired.c:
12696         * dired.c (file_name_completion):
12697         * dired.c (Ffile_attributes):
12698         * dired.c (syms_of_dired):
12699         [1].
12700
12701         * dumper.c:
12702         * dumper.c (pdump_file_unmap):
12703         * dumper.c (pdump_load):
12704         [1].
12705
12706         * editfns.c:
12707         * editfns.c (Ftemp_directory):
12708         * editfns.c (user_login_name):
12709         * editfns.c (Fuser_real_login_name):
12710         * editfns.c (get_home_directory):
12711         [1].
12712
12713         * elhash.c (finish_marking_weak_hash_tables):
12714         [[[[5]]]]: Fix GCC warnings.
12715
12716         * emacs.c:
12717         * emacs.c (mswindows_handle_hardware_exceptions):
12718         * emacs.c (make_arg_list_1):
12719         * emacs.c (main_1):
12720         * emacs.c (Fkill_emacs):
12721         * emacs.c (Fdump_emacs):
12722         [1].
12723         Fix problems with nested crashes, add long comment.
12724
12725         * event-Xt.c (init_event_Xt_late):
12726         [1].
12727
12728         * event-msw.c:
12729         * event-msw.c (mswindows_dde_callback):
12730         * event-msw.c (mswindows_handle_sticky_modifiers):
12731         * event-msw.c (mswindows_wnd_proc):
12732         [1].
12733         [5].
12734
12735         * events.c (character_to_event):
12736         [1].
12737
12738         * fileio.c:
12739         * fileio.c (Ffile_name_directory):
12740         * fileio.c (Ffile_name_nondirectory):
12741         * fileio.c (directory_file_name):
12742         * fileio.c (Fexpand_file_name):
12743         * fileio.c (Fsubstitute_in_file_name):
12744         * fileio.c (Ffile_name_absolute_p):
12745         * fileio.c (check_executable):
12746         * fileio.c (Ffile_readable_p):
12747         * fileio.c (Ffile_accessible_directory_p):
12748         * fileio.c (Ffile_modes):
12749         * fileio.c (Funix_sync):
12750         * fileio.c (vars_of_fileio):
12751         [1]. [4].
12752
12753         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12754
12755         Expand getdefdir defn.
12756         Fix bogus rename() comment.
12757
12758         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12759         to use standard XEmacs include files, e.g. sysfile.h, rather
12760         than system-specific includes.
12761
12762         * fns.c:
12763         * fns.c (Fsubseq):
12764         [5]. [6].
12765
12766         * frame.c (vars_of_frame):
12767         [1].
12768
12769         * getloadavg.c:
12770         * getloadavg.c (getloadavg):
12771         [1]. [6].
12772         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12773         (We don't use it elsewhere in the code; just add a comment.)
12774
12775         * gif_io.c:
12776         [6].
12777         Add config.h.
12778
12779         * glyphs-msw.c:
12780         * glyphs-msw.c (mswindows_resource_instantiate):
12781         [1].
12782
12783         * glyphs-x.c (x_native_layout_instantiate):
12784         [5].
12785
12786         * gui-msw.c (Fmswindows_shell_execute):
12787         [1].
12788
12789         * insdel.c:
12790         [4].
12791
12792         * lisp.h:
12793         [4]. [5].
12794
12795         * lread.c (locate_file_in_directory_mapper):
12796         [1].
12797
12798         * lstream.c:
12799         [4].
12800
12801         * mem-limits.h:
12802         * mem-limits.h (get_lim_data):
12803         [1].
12804
12805         * menubar-msw.c:
12806         [4].
12807
12808         * ndir.h:
12809         [1].
12810
12811         * nt.c:
12812         * nt.c (getwd):
12813         * nt.c (closedir):
12814         * nt.c (rva_to_section):
12815         * nt.c (mswindows_executable_type):
12816         [1]. [6].
12817         Fix closedir() defn.
12818
12819         * nt.h:
12820         [[[[8]]]]: *_OK defs moved to sysfile.h.
12821
12822         * ntproc.c:
12823         [6]. [7].
12824
12825         * objects-x.c:
12826         [4].
12827
12828         * print.c:
12829         * print.c (std_handle_out_external):
12830         [1]. [4].
12831
12832         * process-nt.c:
12833         * process-nt.c (nt_create_process):
12834         [6].
12835         try to fix process quoting somewhat.
12836
12837         * process-unix.c (unix_create_process):
12838         [1].
12839
12840         * process.c:
12841         * process.c (vars_of_process):
12842         Add Vnull_device.
12843
12844         * process.h:
12845         [1].
12846
12847         * realpath.c:
12848         * realpath.c (xrealpath):
12849         [1].
12850
12851         * redisplay-tty.c (init_tty_for_redisplay):
12852         [3].
12853
12854         * redisplay.c:
12855         [4]. [6].
12856
12857         * scrollbar-msw.c:
12858         [4].
12859
12860         * sheap.c:
12861         * sheap.c (more_static_core):
12862         * sheap.c (report_sheap_usage):
12863         [5]. [6].
12864
12865         * signal.c:
12866         * signal.c (alarm_signal):
12867         [1]. [6].
12868
12869         * sound.c:
12870         [6].
12871
12872         * strftime.c:
12873         * strftime.c (zone_name):
12874         [1]. [5].
12875
12876         * symsinit.h (init_sunpro):
12877         [1].
12878
12879         * syscommctrl.h:
12880         commctrl.h not in Cygwin b20.1.
12881
12882         * sysdep.c:
12883         * sysdep.c (endif):
12884         * sysdep.c (sys_subshell):
12885         * sysdep.c (init_baud_rate):
12886         * sysdep.c (emacs_get_tty):
12887         * sysdep.c (emacs_set_tty):
12888         * sysdep.c (tty_init_sys_modes_on_device):
12889         * sysdep.c (init_system_name):
12890         * sysdep.c (sys_open):
12891         * sysdep.c (interruptible_open):
12892         * sysdep.c (sys_fopen):
12893         * sysdep.c (sys_mkdir):
12894         * sysdep.c (sys_rename):
12895         * sysdep.c (get_process_times_1):
12896         [1]. [6].
12897
12898         * sysdep.h:
12899         [1].
12900
12901         * sysdir.h:
12902         * sysdir.h (DIRENTRY_NONEMPTY):
12903         [1]. [6].
12904
12905         * sysdll.c (dll_init):
12906         * sysdll.h:
12907         [1].
12908
12909         * sysfile.h:
12910         [1]. [6]. [8].
12911         added text/binary defs.
12912
12913         * sysfloat.h:
12914         [1].
12915
12916         * sysproc.h:
12917         * sysproc.h (EDESTADDRREQ):
12918         * sysproc.h (poll_fds_for_input):
12919         [1]. [6].
12920
12921         * syspwd.h:
12922         [6].
12923
12924         * syssignal.h:
12925         [1].
12926
12927         * systime.h:
12928         [1]. [6].
12929
12930         * systty.h:
12931         [1].
12932
12933         * syswindows.h:
12934         [1].
12935         Always define WIN32_LEAN_AND_MEAN.
12936
12937         * unexcw.c (unexec):
12938         [5].
12939
12940         * unexec.c:
12941         * unexec.c (copy_text_and_data):
12942         * unexec.c (adjust_lnnoptrs):
12943         [1].
12944
12945         * unexnt.c:
12946         * unexnt.c (_start):
12947         [1].
12948
12949 2000-06-07  Ben Wing  <ben@xemacs.org>
12950
12951         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12952         was used only as a model.  We've long since extracted any useful
12953         logic or code out of this. (I just did an exhaustive search.)
12954
12955         * s\msdos.h: Removed.
12956
12957         * s\windows95.h: Removed.
12958
12959 2000-06-10  Ben Wing  <ben@xemacs.org>
12960
12961         * s\cygwin32.h:
12962         [1]. [5].
12963         Don't use extern with fun defs.
12964
12965         * s\mingw32.h:
12966         [1]. [7].
12967         Remove nt\inc include.
12968         Remove getdisk, getdefdir. (The former is unused, the latter
12969         expanded in fileio.h.)
12970
12971         * s\windowsnt.h:
12972         * s\windowsnt.h (WIN32_NATIVE):
12973         * s\windowsnt.h (HAVE_STRCASECMP):
12974         [1]. [7].
12975         Add long comment about preprocessor changes.
12976         Remove getdisk, getdefdir. (The former is unused, the latter
12977         expanded in fileio.h.)
12978
12979 2000-06-10  Ben Wing  <ben@xemacs.org>
12980
12981         * m\arm.h:
12982         * m\delta.h:
12983         * m\intel386.h:
12984         * m\sequent.h:
12985         * m\template.h:
12986         * m\windowsnt.h:
12987         [1].
12988         Remove bogus/unused NO_SOCK_SIGIO.
12989
12990 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12991
12992         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12993         not an Emchar.
12994
12995 2000-06-04  Mike Sperber <mike@xemacs.org>
12996
12997         * casetab.c (set_case_table): For `set-standard-case-table',
12998         actually deposit the new case tables where the rest of XEmacs can
12999         see them.
13000
13001 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13002
13003         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13004
13005 2000-06-05  Ben Wing  <ben@xemacs.org>
13006
13007         * callproc.c (child_setup): Don't do close_load_descs() under
13008         MS Windows.  Put in a comment explaining why.
13009
13010 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13011
13012         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13013         Toolkit shell" which breaks `kill-compilation' on Windows NT
13014         native, retaining STDERR handling improvements.
13015
13016 2000-06-01  Andreas Jaeger  <aj@suse.de>
13017
13018         * s/s390.h: Support for S390, based on a patch by Martin
13019         Schwidefsky <schwidefsky@de.ibm.com>.
13020
13021 2000-05-30  Andy Piper  <andy@xemacs.org>
13022
13023         * window.c (allocate_window):
13024         (make_dummy_parent):
13025         (Fset_window_configuration): use new hashtable type.
13026
13027         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13028         (struct image_instantiator_methods):
13029         (struct Lisp_Image_Instance): make instance geometry signed.
13030
13031         * glyphs.c (instantiate_image_instantiator):
13032         (image_instance_query_geometry):
13033         (image_instance_layout):
13034         (image_instance_layout):
13035         (query_string_geometry):
13036         (text_query_geometry):
13037         (image_instantiate):
13038         (image_instantiate):
13039         (cache_subwindow_instance_in_frame_maybe):
13040         (subwindow_query_geometry): make instance geometry signed.
13041
13042         * glyphs-widget.c (widget_query_geometry):
13043         (widget_layout):
13044         (button_query_geometry):
13045         (tree_view_query_geometry):
13046         (tab_control_query_geometry):
13047         (layout_query_geometry):
13048         (layout_layout):
13049         (native_layout_layout): make instance geometry signed.
13050
13051 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13052
13053         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13054         constant.
13055
13056         * general.c (syms_of_general): Add Qfull_assoc symbol.
13057
13058         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13059         correctly.
13060         (decode_weak_list_type): Decode full-assoc type.
13061         (encode_weak_list_type): Encode full-assoc type.
13062         (Fmake_weak_list): Update doc string.
13063
13064 2000-05-30  Andy Piper  <andy@xemacs.org>
13065
13066         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13067
13068         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13069         (decode_hash_table_weakness): ditto.
13070         (Fhash_table_weakness): ditto.
13071         (Fhash_table_type): ditto.
13072         (finish_marking_weak_hash_tables): ditto.
13073         (hash_table_weakness_validate): ditto.
13074         (syms_of_elhash): ditto.
13075
13076 2000-05-28  Martin Buchholz <martin@xemacs.org>
13077
13078         * XEmacs 21.2.34 is released.
13079
13080 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13081
13082         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13083         start cache.
13084         (updating_line_start_cache): Gone.
13085         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13086         generic code to force a minimum of 1 line laid out in the
13087         CMOTION_DISP case.
13088
13089 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13090
13091         * glyphs.c (instantiate_image_instantiator): Check for initialized
13092         height & width no longer special cases IMAGE_NOTHING.
13093         (nothing_instantiate): Set height and width of instance.
13094
13095 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13096
13097         * unexelf.c (unexec): Search for ".data" section.
13098         Initialize new_data2_offset from old_data_index.
13099         Remove redundant check for ElfW.
13100
13101 2000-05-23  Andy Piper  <andy@xemacs.org>
13102
13103         * glyphs.c (get_image_instantiator_governing_domain): allow more
13104         specific domains as the governing domain rather than expecting an
13105         exact match. This fixes problems with layouts.
13106
13107 2000-05-22  Andy Piper  <andy@xemacs.org>
13108
13109         * redisplay-output.c (compare_runes): check for non-images
13110
13111         * glyphs.c (set_glyph_dirty_p): ditto.
13112         (update_glyph_cachel_data): ditto.
13113
13114         * glyphs-widget.c (layout_post_instantiate): ditto.
13115         (layout_post_instantiate): ditto.
13116
13117         * event-msw.c (mswindows_wnd_proc): warning removal.
13118
13119 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13120
13121         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13122
13123         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13124
13125         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13126
13127         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13128         (mswindows_executable_type): mingw32 now has enough headers for
13129         this to work.
13130
13131 2000-05-20  Andy Piper  <andy@xemacs.org>
13132
13133         * console-msw.c (mswindows_output_last_error): ; -> ,
13134
13135 2000-05-12  Andy Piper  <andy@xemacs.org>
13136
13137         * console-msw.c (FROB): compare ints with ints.
13138
13139 2000-05-11  Andy Piper  <andy@xemacs.org>
13140
13141         * glyphs-x.c (x_finalize_image_instance): make minimal build
13142         happy.
13143
13144 2000-05-20  Ben Wing  <ben@xemacs.org>
13145
13146         * event-Xt.c:
13147         * event-Xt.c (vars_of_event_Xt):
13148         move modifier-keys-are-sticky to event-stream.c.
13149
13150         * event-msw.c:
13151         * event-msw.c (mswindows_enqueue_mouse_button_event):
13152         * event-msw.c (key_needs_default_processing_p):
13153         * event-msw.c (XEMSW_LCONTROL):
13154         * event-msw.c (mswindows_handle_sticky_modifiers):
13155         * event-msw.c (FROB):
13156         * event-msw.c (clear_sticky_modifiers):
13157         * event-msw.c (output_modifier_keyboard_state):
13158         * event-msw.c (output_alt_keyboard_state):
13159         * event-msw.c (mswindows_wnd_proc):
13160         * event-msw.c (mswindows_modifier_state):
13161         * event-msw.c (emacs_mswindows_handle_magic_event):
13162         implement sticky modifiers.
13163
13164         * event-stream.c:
13165         * event-stream.c (vars_of_event_stream):
13166         move modifier-keys-are-sticky here.
13167
13168         * lisp.h:
13169         add CHECK_FUNCTION.
13170
13171         * rangetab.c:
13172         implement map-range-table.
13173
13174
13175 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13176
13177         * redisplay-tty.c (reset_tty_modes):
13178         (tty_redisplay_shutdown): Adjust argument type to
13179         tty_frame_output_end.
13180
13181 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13182
13183         * eval.c (Fbacktrace): Don't output a line with only right
13184         parenthesis.
13185
13186 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13187
13188         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13189         (Fpq_reset_poll): Ditto.
13190
13191 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13192
13193         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13194
13195 2000-05-16  Ben Wing  <ben@xemacs.org>
13196
13197         * buffer.c:
13198         * buffer.c (dfc_convert_to/from_internal_format):
13199         * buffer.c (reinit_vars_of_buffer):
13200         Fix conversion functions to allow reentrancy.
13201
13202         * console-msw.c:
13203         * console-msw.c (mswindows_output_last_error):
13204         New fun, generally useful -- output a human-readable
13205         version of GetLastError() on the console.
13206
13207         * console-msw.h:
13208         * console-msw.h (struct mswindows_frame):
13209         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13210
13211         * console-stream.c (stream_output_begin):
13212         * console-stream.c (stream_output_end):
13213         * console-stream.c (stream_output_vertical_divider):
13214         * console-stream.c (stream_clear_region):
13215         * console-stream.c (stream_flash):
13216         * console-stream.c (console_type_create_stream):
13217         Delete blank stream methods, not needed.
13218
13219         * console.h (struct console_methods):
13220         Split begin/end methods into window and frame.
13221
13222         * event-msw.c:
13223         * event-msw.c (mswindows_handle_paint):
13224         * event-msw.c (output_alt_keyboard_state):
13225         * event-msw.c (mswindows_wnd_proc):
13226         * event-msw.c (vars_of_event_mswindows):
13227         Comment about problems with ignored-expose.
13228         Define mswindows-debug-events; not really implemented.
13229
13230         * frame-msw.c (mswindows_init_frame_1):
13231         random cleanups.
13232
13233         * glyphs-msw.c:
13234         * glyphs-msw.c (begin_defer_window_pos):
13235         * glyphs-msw.c (mswindows_unmap_subwindow):
13236         * glyphs-msw.c (mswindows_map_subwindow):
13237         * glyphs-msw.c (mswindows_resize_subwindow):
13238         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13239
13240         * glyphs.c (make_image_instance_1):
13241         Fix crash.
13242
13243         * gutter.c (Fredisplay_gutter_area):
13244         Use new begin/end methods.
13245
13246         * lisp.h (Dynarr_new2):
13247         New creation fun.
13248
13249         * redisplay-msw.c:
13250         * redisplay-msw.c (mswindows_frame_output_begin):
13251         * redisplay-msw.c (mswindows_frame_output_end):
13252         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13253         New begin/end methods -- handle DeferWindowPos.
13254
13255         * redisplay-output.c (redisplay_move_cursor):
13256         * redisplay-output.c (redraw_cursor_in_window):
13257         * redisplay-output.c (redisplay_update_line):
13258         * redisplay-output.c (redisplay_output_window):
13259         New begin/end methods.
13260
13261         * redisplay-tty.c:
13262         * redisplay-tty.c (tty_frame_output_begin):
13263         * redisplay-tty.c (tty_frame_output_end):
13264         * redisplay-tty.c (console_type_create_redisplay_tty):
13265         New begin/end methods.
13266
13267         * redisplay-x.c:
13268         * redisplay-x.c (x_window_output_begin):
13269         * redisplay-x.c (x_window_output_end):
13270         * redisplay-x.c (console_type_create_redisplay_x):
13271         New begin/end methods.
13272
13273         * redisplay.c (redisplay_frame):
13274         * redisplay.c (Fredisplay_echo_area):
13275         New begin/end methods.
13276         use MAYBE_DEVMETH for clear_frame; it may not exist.
13277
13278         * window.h (WINDOW_XFRAME):
13279         WINDOW_XFOO macros -- get locale and decode struct pointer.
13280
13281
13282 2000-05-12  Ben Wing  <ben@xemacs.org>
13283
13284         * emacs.c:
13285         * emacs.c (ensure_no_quitting_from_now_on):
13286         * emacs.c (fatal_error_signal):
13287         * emacs.c (mswindows_handle_hardware_exceptions):
13288         * emacs.c (main):
13289         * emacs.c (Fkill_emacs):
13290         * emacs.c (shut_down_emacs):
13291         * emacs.c (assert_failed):
13292         various improvements in fatal error handling.
13293
13294         * eval.c:
13295         move preparing_for_armageddon to emacs.c.
13296
13297         * lisp.h:
13298         declare fatal_error_in_progress.
13299
13300         * print.c:
13301         * print.c (std_handle_out_external):
13302         * print.c (std_handle_out_va):
13303         * print.c (stderr_out):
13304         * print.c (stdout_out):
13305         use console under mswin when no standard output.
13306         don't do code conversion during fatal error.
13307
13308         * scrollbar.c (Fscrollbar_page_up):
13309         * scrollbar.c (Fscrollbar_page_down):
13310         fix missing else.  reindent.
13311
13312 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13313
13314         Emergency fix.
13315
13316         * glyphs.h (GLYPH_CACHEL_DESCENT):
13317         (GLYPH_CACHEL_DESCENT):
13318         (GLYPH_CACHEL_DESCENT):
13319         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13320         used in case these are inline functions.
13321         Use more absurd values to error check.
13322
13323         include window.h for error check functions.
13324
13325 2000-05-11  Ben Wing  <ben@xemacs.org>
13326
13327         * cmdloop.c (Freally_early_error_handler):
13328         Display message box under windows; otherwise, message will disappear
13329         before it can be viewed.
13330
13331         * console-msw.c:
13332         * console-msw.c (Fmswindows_message_box):
13333         * console-msw.c (FROB):
13334         * console-msw.c (syms_of_console_mswindows):
13335         Define new fun `mswindows-message-box'.
13336         #### I will merge this into `popup-dialog-box'; just give me
13337         a bit of time.
13338
13339         * general.c:
13340         * general.c (syms_of_general):
13341         Some new symbols used in `mswindows-message-box'.
13342
13343         * glyphs.c:
13344         * glyphs.c (Fset_image_instance_property):
13345         put warning in this fun.
13346
13347         * glyphs.h:
13348         * glyphs.h (GLYPH_CACHEL_WIDTH):
13349         * glyphs.h (GLYPH_CACHEL_ASCENT):
13350         * glyphs.h (GLYPH_CACHEL):
13351         * glyphs.h (GLYPH_CACHEL_GLYPH):
13352         define error-checking versions to try to catch a bug i've seen --
13353         redisplay gets in an infinite loop because the glyph width of the
13354         continuation glyph is 65535.
13355
13356         * lisp.h:
13357         Extern message-box stuff.
13358
13359         * window.c (allocate_window):
13360         * window.c (make_dummy_parent):
13361         * window.c (Fset_window_configuration):
13362         Use EQUAL not EQ for subwindow caches to make them work a bit
13363         better. (Something is still very broken.)
13364
13365
13366 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13367
13368         * glyphs.c (image_instantiate): Suppress gcc warnings.
13369         (Fmake_image_instance): Fix doc string.
13370         * specifier.c (Fmake_specifier): Ditto.
13371
13372 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13373
13374         * paths.h.in (PATH_LOCK): Removed.
13375         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13376         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13377
13378 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13379
13380         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13381         Document (featurep '(and xemacs 21.02)).
13382
13383 2000-05-09  Ben Wing  <ben@xemacs.org>
13384
13385         * buffer.c (complex_vars_of_buffer):
13386         update modeline-format doc.
13387
13388         * device.h:
13389         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13390
13391         * emacs.c:
13392         timeline of all released versions of Emacs, for use in creating
13393         authorship comments and in synching up.
13394
13395         * glyphs-widget.c (image_instantiator_buttons):
13396         * glyphs-widget.c (image_instantiator_edit_fields):
13397         * glyphs-widget.c (image_instantiator_combo_box):
13398         * glyphs-widget.c (image_instantiator_scrollbar):
13399         * glyphs-widget.c (image_instantiator_progress_guage):
13400         * glyphs-widget.c (image_instantiator_tree_view):
13401         * glyphs-widget.c (image_instantiator_tab_control):
13402         * glyphs-widget.c (image_instantiator_labels):
13403         * glyphs-widget.c (image_instantiator_layout):
13404         * glyphs-widget.c (image_instantiator_native_layout):
13405         rename decode_domain method to governing_domain.
13406
13407         * glyphs.c:
13408         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13409         * glyphs.c (add_entry_to_device_ii_format_list):
13410         make sure we don't put an entry more than once into the list.
13411         * glyphs.c (check_instance_cache_mapper):
13412         *************************************************************
13413         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13414         HAVE BEEN GETTING.
13415         *************************************************************
13416         * glyphs.c (get_image_instantiator_governing_domain):
13417         clean up, expand on new concept of governing domain.
13418         * glyphs.c (instantiate_image_instantiator):
13419         * glyphs.c (allocate_image_instance):
13420         use governing_domain instead of cache_domain in naming.
13421         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13422         * glyphs.c (make_image_instance_1):
13423         * glyphs.c (Fmake_image_instance):
13424         allow for any domain (not just device), and process the
13425         governing domain correctly.  very big doc fix.
13426         * glyphs.c (Fimage_instance_domain):
13427         new primitive, to retrieve the governing domain of an image instance.
13428         * glyphs.c (image_instantiate):
13429         use new governing_domain stuff.  this fixes a crash you could get
13430         by instantiating certain widget glyphs in frame locales. (should
13431         signal an error instead of crashing.)
13432         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13433         * glyphs.c (Fglyphp): clean up doc.
13434         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13435         * glyphs.c (syms_of_glyphs):
13436         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13437         * glyphs.c (image_instantiator_format_create): add some comments about
13438         bogus code.
13439         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13440         for current-display-table. (Apparently Hrjove implemented in 1998 a
13441         design I wrote up in 1996, but didn't update the doc string.)
13442
13443         * glyphs.h: clean up a doc string.
13444         * glyphs.h (governing_domain):
13445         * glyphs.h (struct image_instantiator_methods):
13446         changes for governing_domain stuff.
13447
13448         * gutter.c:
13449         * gutter.c (Fgutter_specifier_p):
13450         * gutter.c (Fgutter_size_specifier_p):
13451         * gutter.c (Fgutter_visible_specifier_p):
13452         * objects.c:
13453         * objects.c (Fcolor_specifier_p):
13454         * objects.c (Ffont_specifier_p):
13455         * objects.c (Fface_boolean_specifier_p):
13456         doc strings moved to make-*-specifier.
13457
13458         * redisplay.c (add_disp_table_entry_runes_1):
13459         * redisplay.c (generate_fstring_runes):
13460         * redisplay.c (screen):
13461         add random comments and doc strings.
13462
13463         * specifier.c:
13464         * specifier.c (Fmake_specifier):
13465         major overhaul of this doc string.
13466
13467         * specifier.c (Fvalid_specifier_domain_p):
13468         comment about the bogosity of image instances being domains.
13469         * specifier.c (decode_domain):
13470         now non-static, used in glyphs.c.
13471         * specifier.c (specifier_instance):
13472         comment about the bogosity of image instances being domains.
13473         * specifier.c (Fgeneric_specifier_p):
13474         move doc string to make-generic-specifier.
13475         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13476         rebackslashify.
13477
13478         * specifier.h:
13479         * specifier.h (DOMAIN_FRAME):
13480         * specifier.h (DOMAIN_LIVE_P):
13481         * specifier.h (DOMAIN_XDEVICE):
13482         rebackslashify.
13483         add comments about problems with these macros.
13484         prototype for decode_domain.
13485
13486         * toolbar.c:
13487         * toolbar.c (Ftoolbar_specifier_p):
13488         move doc string to `make-toolbar-specifier'.
13489
13490         * window.c (window_unmap_subwindows_cache_mapper):
13491         *************************************************************
13492         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13493         HAVE BEEN GETTING.
13494         *************************************************************
13495
13496 2000-05-09  Andy Piper  <andy@xemacs.org>
13497
13498         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13499
13500         * window.c (Fset_window_configuration): reset the frame subwindow
13501         cache and re-initialize the window subwindow caches.
13502
13503         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13504
13505 2000-05-09  Ben Wing  <ben@xemacs.org>
13506
13507         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13508         DWORD.
13509
13510 2000-04-26  Mike Woolley  <mike@bulsara.com>
13511
13512         * ntheap.c: Changed recreate_heap to limit the amount reserved
13513         for the heap to that which is actually available. Also now
13514         displays a message box (with some dignostics) in the event that
13515         it still can't start.
13516
13517 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13518
13519         * callproc.c (Fold_call_process_internal): GCPRO path
13520
13521 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13522
13523         Patch by Bill Perry.
13524
13525         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13526         back data instead of #ifdef.
13527         (Fscrollbar_page_down): ditto.
13528
13529 2000-05-07  Ben Wing  <ben@xemacs.org>
13530
13531         * buffer.h:
13532         Kludge for defining Qmswindows_tstr.
13533
13534         * nt.c:
13535         * nt.c (open_input_file):
13536         * nt.c (open_output_file):
13537         * nt.c (rva_to_section):
13538         * nt.c (mswindows_executable_type):
13539         Move all memory-mapped-file routines here (some were in unexnt.c,
13540         which is bad because they are used by process-nt.c, and unexnt
13541         won't be around when portable dumping).  Synched the above routines
13542         with FSF 20.6.
13543
13544         * nt.h:
13545         Removed ifdef'd out bogus code.
13546         Fixed some prototypes.
13547
13548         * nt.h (file_data):
13549         * nt.h (OFFSET_TO_RVA):
13550         * nt.h (RVA_TO_OFFSET):
13551         * nt.h (RVA_TO_PTR):
13552         Moved the memory-mapped-file structures, macros and prototypes
13553         here, to parallel nt.c.  ntheap.h should really be removed
13554         entirely, and it's a non-portable-dumper specific file.
13555
13556         * ntheap.h (round_to_next):
13557         Moved the memory-mapped-file structures, macros and prototypes
13558         to nt.h.
13559
13560         * ntproc.c (compare_env):
13561         Moved rva_to_section and mswindows_executable_type to nt.c.
13562         Moved compare_env to process-nt.c.
13563         ntproc.c will die, one day.
13564
13565         * ntproc.c (sys_spawnve):
13566         Account for win32_ -> mswindows_.
13567
13568         * process-nt.c:
13569         * process-nt.c (struct nt_process_data):
13570         * process-nt.c (ensure_console_window_exists):
13571         * process-nt.c (compare_env):
13572         * process-nt.c (nt_create_process):
13573         * process-nt.c (nt_kill_process_by_pid):
13574         * process-nt.c (syms_of_process_nt):
13575         * process-nt.c (vars_of_process_nt):
13576         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13577         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13578         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13579         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13580         Move compare_env here from ntproc.c.
13581
13582         * process.c (Fprocess_send_region):
13583         Takes an optional fourth argument, BUFFER, which should fix some
13584         problems with call-process.
13585
13586         * syscommctrl.h:
13587         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13588
13589         * syswindows.h:
13590         Move ICC_BAR_CLASSES to syscommctrl.h.
13591         Add preliminary macros for MSWindows/Mule.  More to come.
13592
13593         * unexnt.c:
13594         * unexnt.c (unexec):
13595         open_output_file moved to nt.c.
13596
13597
13598 2000-05-05  Andy Piper  <andy@xemacs.org>
13599
13600         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13601         instance from the frame cache also since GC may catch up too late
13602         to make frame deletion sane.
13603
13604 2000-05-04  Andy Piper  <andy@xemacs.org>
13605
13606         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13607         (x_finalize_image_instance): ungcpro on deletion.
13608
13609         * glyphs.c (image_instantiator_format_create): give pointers a
13610         query geometry method so that the geometry is at least set.
13611
13612         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13613         initialize layouts if using widgets.
13614
13615 2000-05-03  Andy Piper  <andy@xemacs.org>
13616
13617         * nt.c: remove bogus reference to sysmmsystem.h
13618
13619         * gui-x.c (popup_selection_callback): fix no selection abort.
13620
13621 2000-05-02  Andy Piper  <andy@xemacs.org>
13622
13623         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13624         (mswindows_widget_instantiate): ditto.
13625
13626         * glyphs-widget.c (initialize_widget_image_instance): initialize
13627         children correctly.
13628         (widget_instantiate): cope with children and items in the same
13629         instance.
13630
13631         * glyphs.c (mark_image_instance): cope with children as a first
13632         class member.
13633         (image_instance_equal): ditto.
13634         (image_instance_hash): ditto.
13635         (image_instance_changed): ditto.
13636
13637 2000-04-30  Andy Piper  <andy@xemacs.org>
13638
13639         * glyphs.c (subwindow_query_geometry): new function. Return some
13640         defaults.
13641         (subwindow_instantiate): don't assign dimensions if none have been
13642         given.
13643         (image_instantiator_format_create): add subwindow_query_geometry.
13644         (print_image_instance): cope with layouts as widgets.
13645
13646 2000-04-29  Andy Piper  <andy@xemacs.org>
13647
13648         * frame.c (delete_frame_internal): call
13649         free_frame_subwindow_instance_cache so that all subwindows are
13650         finalized before their parent.
13651         (mark_frame): remove subwindow_cachels.
13652         (Fmake_frame): remove subwindow_cachel manipulation.
13653         (allocate_frame_core): subwindow_instance_cache is a weak list.
13654         (delete_frame_internal): set subwindow_instance_cache to nil.
13655
13656         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13657         finalization safe.
13658         (mswindows_finalize_image_instance): use the device
13659         not the domain as the domain may have died already.
13660
13661         * glyphs-x.c (x_finalize_image_instance): ditto.
13662         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13663         HEIGHT.
13664
13665         * redisplay-output.c (redisplay_unmap_subwindows): update for
13666         subwindow instance cache as a weak list.
13667         (redisplay_unmap_subwindows_maybe): ditto.
13668         (redisplay_unmap_subwindows_except_us): ditto.
13669
13670         * glyphs.c (unmap_subwindow): error checking will check the domain
13671         so don't deal with it here. Don't use cachels anymore.
13672         (map_subwindow): ditto.
13673         (update_subwindow_cachel_data): remove old accessor names.
13674         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13675         (Fresize_subwindow): don't update cachel.
13676         (mark_subwindow_cachels):
13677         (update_subwindow_cachel_data):
13678         (add_subwindow_cachel):
13679         (get_subwindow_cachel_index):
13680         (update_subwindow_cachel):
13681         (reset_subwindow_cachels):
13682         (mark_subwindow_cachels_as_not_updated): deleted.
13683         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13684         subwindow instance to the frame cache.
13685         (find_matching_subwindow): update for subwindow instance cache as
13686         a weak list.
13687         (update_widget_instances): ditto.
13688         (image_instance_type_to_mask):inlined.
13689         (free_frame_subwindow_instance_cache): new function. finalize all
13690         subwindows that are instantiated.
13691
13692         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13693         of cachel information.
13694         (IMAGE_INSTANCE_DISPLAY_X):
13695         (IMAGE_INSTANCE_DISPLAY_Y):
13696         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13697         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13698         (XIMAGE_INSTANCE_DISPLAY_X):
13699         (XIMAGE_INSTANCE_DISPLAY_Y):
13700         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13701         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13702         remove subwindow_cachel structure and function references.
13703         (image_instance_type_to_mask): inline from glyphs.c
13704
13705         * redisplay.c (redisplay_frame): remove subwindow_cachel
13706         references.
13707
13708         * frame.h (struct frame): remove subwindow_cachels.
13709         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13710
13711         * frameslots.h: add subwindow_instance_cache.
13712
13713         * window.c (replace_window): check subwindow cache of replacement.
13714         (window_unmap_subwindows_cache_mapper):
13715         (window_unmap_subwindows): new functions. Unmap all subwindows
13716         cached on this window.
13717         (mark_window_as_deleted): unmap all subwindows.
13718
13719 2000-04-27  Andy Piper  <andy@xemacs.org>
13720
13721         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13722
13723         * glyphs-widget.c (widget_layout): return something.
13724         (layout_layout): return something. Fail if not initialized.
13725         (layout_query_geometry): ditto.
13726         (image_instantiator_native_layout): new function. Initialized the
13727         native layout type.
13728         (widget_instantiate): don't do layout stuff here.
13729
13730         * glyphs.c (instantiate_image_instantiator): reorded calling or
13731         instantiate and post_instantiate with layout in between.
13732         (image_instance_layout): be more selective about deciding whether
13733         the layout has been done or not.
13734
13735         * glyphs.h (struct image_instantiator_methods): return a value
13736         from layout_method.
13737
13738 2000-04-26  Andy Piper  <andy@xemacs.org>
13739
13740         * glyphs.c (allocate_image_instance): make initial width and
13741         height unspecified. Set initialized to 0.
13742
13743         * syscommctrl.h new file. Encapsulates commctrl.h.
13744
13745         * syswindows.h new file. Encapsulates windows.h.
13746
13747         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13748         * nt.c: ditto.
13749         * console-msw.h: ditto.
13750
13751         * redisplay-tty.c (tty_output_display_block): remove layout references.
13752
13753         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13754         window handle rather than just the frame.
13755
13756         * glyphs.c (mark_image_instance): remove layout references.
13757         (print_image_instance): ditto.
13758         (image_instance_equal): ditto.
13759         (image_instance_hash): ditto.
13760         (decode_image_instance_type): ditto.
13761         (encode_image_instance_type): ditto.
13762         (image_instantiate): ditto.
13763         (allocate_glyph): ditto.
13764         (Fimage_instance_height): ditto.
13765         (Fimage_instance_width): ditto.
13766         (update_subwindow): ditto.
13767
13768         * redisplay-x.c (x_output_display_block): recode for layouts as
13769         widgets.
13770
13771         * redisplay-output.c (redisplay_output_layout): recode for layouts
13772         as widgets.
13773         (compare_runes): remove layout references.
13774
13775         * redisplay-msw.c (mswindows_output_display_block): recode for
13776         layouts as widgets.
13777
13778         * glyphs-widget.c (image_instantiator_layout): remove
13779         layout_possible_dest_types.
13780         (layout_possible_dest_types): deleted.
13781
13782         * glyphs.h (image_instance_type): remove layout references.
13783         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13784         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13785         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13786
13787 2000-04-25  Andy Piper  <andy@xemacs.org>
13788
13789         * glyphs-widget.c (image_instantiator_buttons):
13790         (image_instantiator_edit_fields):
13791         (image_instantiator_combo_box):
13792         (image_instantiator_scrollbar):
13793         (image_instantiator_progress_guage):
13794         (image_instantiator_tree_view):
13795         (image_instantiator_tab_control):
13796         (image_instantiator_labels):
13797         (image_instantiator_layout): call default post_instantiate method.
13798         (widget_post_instantiate): new function. Simply lays out the
13799         widgets.
13800
13801         * glyphs.h (struct image_instantiator_methods): add
13802         post_instantiate method.
13803
13804         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13805         method calls.
13806
13807 2000-04-23  Andy Piper  <andy@xemacs.org>
13808
13809         * glyphs.h (struct image_instantiator_methods): add
13810         decode_domain_method.
13811         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13812         derived from the domain.
13813         (IMAGE_INSTANCE_FRAME): new accessor.
13814         (XIMAGE_INSTANCE_FRAME): ditto.
13815
13816         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13817         instead of _SUBWINDOW_FRAME.
13818         (finalize_image_instance): ditto.
13819         (Fimage_instance_foreground): ditto.
13820         (Fimage_instance_background): ditto.
13821         (image_instantiate): ditto.
13822         (update_subwindow_cachel): ditto.
13823         (update_subwindow): ditto.
13824         (unmap_subwindow): ditto.
13825         (map_subwindow): ditto
13826         (subwindow_instantiate): ditto.
13827         * glyphs-msw.c (mswindows_update_widget): ditto.
13828         (mswindows_progress_gauge_instantiate): ditto.
13829         (mswindows_tab_control_update): ditto.
13830         * glyphs-x.c (x_update_widget): ditto.
13831         (x_widget_instantiate): ditto.
13832         (x_tab_control_instantiate): ditto.
13833         (x_tab_control_update): ditto.
13834         * event-msw.c (mswindows_wnd_proc): ditto
13835
13836         * glyphs-widget.c (image_instantiator_layout): use
13837         subwindow_decode_domain.
13838         (image_instantiator_buttons): ditto.
13839         (image_instantiator_edit_fields): ditto.
13840         (image_instantiator_combo_box): ditto.
13841         (image_instantiator_scrollbar): ditto.
13842         (image_instantiator_progress_guage): ditto.
13843         (image_instantiator_tree_view): ditto.
13844         (image_instantiator_tab_control): ditto.
13845         (image_instantiator_labels): ditto.
13846         (image_instantiator_layout): ditto.
13847
13848         * glyphs.c: add instance error checking to many functions.
13849         (instantiate_image_instantiator): decode device from cache_domain.
13850         (image_instantiate): partially rewrite by using
13851         decode_image_instantiator_domain to determine what domain the
13852         instance needs to be cached in.
13853         (decode_image_instantiator_domain): new function. Determine what
13854         domain the image needs to be cached in.
13855         (check_window_subwindow_cache): new error checking function.
13856         (check_instance_cache_mapper): ditto.
13857         (check_image_instance_structure): ditto.
13858         (subwindow_decode_domain): new function. Encodes a window as a
13859         subwindow's cache domain.
13860         (image_instantiator_format_create): use it for text and
13861         subwindows.
13862
13863 2000-04-21  Andy Piper  <andy@xemacs.org>
13864
13865         * glyphs.c (image_instance_device): new function.
13866         (image_instance_frame): new function.
13867         (image_instance_window): new function.
13868         (image_instance_live_p): new function.
13869
13870         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13871         cache to nil.
13872
13873         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13874         (IMAGE_INSTANCE_DOMAIN): new accessor.
13875         (XIMAGE_INSTANCE_DOMAIN): ditto.
13876
13877         * glyphs-x.c (x_finalize_image_instance): device->domain.
13878
13879         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13880         (mswindows_finalize_image_instance): ditto.
13881
13882         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13883         (gif_instantiate): ditto.
13884         (png_instantiate): ditto.
13885         (tiff_instantiate): ditto.
13886
13887         * glyphs.c (instantiate_image_instantiator): use domain rather
13888         than device.
13889         (mark_image_instance): device -> domain.
13890         (print_image_instance): ditto.
13891         (finalize_image_instance): ditto.
13892         (image_instance_equal): ditto.
13893         (allocate_image_instance): ditto.
13894         (Fcolorize_image_instance): ditto.
13895         (query_string_geometry): ditto.
13896         (image_instantiate): ditto
13897         (query_string_font): ditto.
13898         (image_instantiate): ditto.
13899         (update_subwindow): ditto.
13900         (unmap_subwindow): ditto.
13901         (map_subwindow): ditto.
13902         (subwindow_instantiate): ditto.
13903
13904         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13905         (DOMAIN_FRAME): ditto.
13906         (DOMAIN_WINDOW): ditto.
13907         (DOMAIN_LIVE_P): ditto.
13908         (XDOMAIN_DEVICE): ditto.
13909         (XDOMAIN_FRAME): ditto.
13910         (XDOMAIN_WINDOW): ditto.
13911
13912         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13913         a valid specifier domain.
13914
13915 2000-04-19  Andy Piper  <andy@xemacs.org>
13916
13917         * glyphs-widget.c (syms_of_glyphs_widget): remove
13918         widget-callback-current-channel.
13919         (vars_of_glyphs_widget): ditto.
13920         * glyphs.h: ditto
13921
13922         * gui.c (get_gui_callback): revert to previous behaviour.
13923
13924 2000-04-18  Andy Piper  <andy@xemacs.org>
13925
13926         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13927         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13928         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13929
13930         * glyphs.c (image_instance_equal): add margin_width.
13931         (image_instance_hash): ditto.
13932
13933         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13934         (layout_query_geometry): ditto.
13935         (layout_layout): ditto.
13936         (syms_of_glyphs_widget): add margin-width.
13937         (image_instantiator_layout): allow margin-width.
13938
13939         * glyphs.c (update_widget_instances): make a normal function.
13940         (syms_of_glyphs): remove Qupdate_widget_instances.
13941         * glyphs.h: ditto.
13942
13943         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13944         so that we don't corrupt ideas about the last event or
13945         command. Remove widget-callback-current-channel fiddling.
13946         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13947
13948 2000-05-01  Martin Buchholz <martin@xemacs.org>
13949
13950         * XEmacs 21.2.33 is released.
13951
13952 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13953
13954         * make-src-depend: Allow dots in header file name.
13955
13956 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13957
13958         * mule-charset.h (struct charset_lookup): Add
13959         next_allocated_1_byte_leading_byte and
13960         next_allocated_2_byte_leading_byte.
13961         * mule-charset.c: Move above two variables so that those values
13962         will be dumped.
13963
13964 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13965
13966         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13967         when string length is zero.
13968         (find_charsets_in_emchar_string): Ditto.
13969
13970 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13971
13972         * lisp.h: extern Qdialog and Qmenubar.
13973
13974         * gui-x.c: added events.h.
13975                 also fixed typo which made the file uncompilable.
13976
13977         * general.c: Added Qmenubar and Qdialog
13978
13979 2000-04-28  Ben Wing  <ben@xemacs.org>
13980
13981         * frame-msw.c (mswindows_init_frame_1):
13982         * frame-msw.c (mswindows_mark_frame):
13983         * event-msw.c (mswindows_enqueue_dispatch_event):
13984         * console-msw.h:
13985         * console-msw.h (struct mswindows_frame):
13986         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13987         there are now three hash tables for callbacks.
13988         mswindows_enqueue_dispatch_event is no longer static.
13989
13990         * dialog-x.c (maybe_run_dbox_text_callback):
13991         * dialog-x.c (dbox_descriptor_to_widget_value):
13992         switch to new cons3 form for callbacks.
13993
13994         * glyphs-msw.c (mswindows_register_gui_item):
13995         * glyphs-msw.c (mswindows_widget_instantiate):
13996         * glyphs-msw.c (add_tree_item):
13997         * glyphs-msw.c (add_tab_item):
13998         new image instance parameter, so it can be passed to callback-ex.
13999         respect :callback-ex as well as :callback.
14000
14001         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14002         add :callback-ex.
14003
14004         * glyphs.c (print_image_instance):
14005         prettify, e.g. now prints widget type.
14006
14007         * gui-x.h:
14008         certain funs have new image instance parameter.
14009
14010         * gui.c:
14011         * gui.c (get_gui_callback):
14012         * gui.c (gui_item_add_keyval_pair):
14013         * gui.c (gui_item_init):
14014         * gui.c (gui_add_item_keywords_to_plist):
14015         * gui.c (mark_gui_item):
14016         * gui.c (gui_item_hash):
14017         * gui.c (gui_item_equal):
14018         * gui.c (copy_gui_item):
14019         * gui.c (syms_of_gui):
14020         recognize callback-ex in a number of places.
14021         also, fix the annoying "can't get out of yes-no dialog" bug.
14022
14023         * gui.h:
14024         * gui.h (struct Lisp_Gui_Item):
14025         recognize callback-ex in a number of places.
14026
14027         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14028         new parameter in button_item_to_widget_value.
14029
14030         * glyphs-x.c (x_update_widget):
14031         * glyphs-x.c (x_button_instantiate):
14032         * glyphs-x.c (x_button_update):
14033         * glyphs-x.c (x_progress_gauge_instantiate):
14034         * glyphs-x.c (x_edit_field_instantiate):
14035         * glyphs-x.c (x_combo_box_instantiate):
14036         * glyphs-x.c (x_tab_control_instantiate):
14037         * glyphs-x.c (x_label_instantiate):
14038         new image instance parameter in various places.
14039
14040         * event-Xt.c:
14041         * event-Xt.c (enqueue_Xt_dispatch_event):
14042         this fun gets exported.
14043
14044         * gui-msw.c:
14045         * gui-msw.c (mswindows_handle_gui_wm_command):
14046         handle both :callback and :callback-ex, and generate our own
14047         event because it's one of the callback-ex arguments.
14048
14049         * gui-x.c:
14050         * gui-x.c (popup_selection_callback):
14051         handle both :callback and :callback-ex, and generate our own
14052         event because it's one of the callback-ex arguments.
14053         * gui-x.c (button_item_to_widget_value):
14054         * gui-x.c (gui_items_to_widget_values_1):
14055         * gui-x.c (gui_item_children_to_widget_values):
14056         * gui-x.c (gui_items_to_widget_values):
14057         new image instance parameter in various places.
14058
14059         * fns.c (Freplace_list):
14060         fix small typo in doc string.
14061
14062         * lisp.h:
14063         declare enqueue_Xt_dispatch_event.
14064
14065 2000-04-28  Ben Wing  <ben@xemacs.org>
14066
14067         * buffer.c:
14068         * buffer.c (Frecord_buffer):
14069         * buffer.c (syms_of_buffer):
14070         delete record-buffer-hook.
14071
14072         * fns.c:
14073         * fns.c (Freplace_list):
14074         * fns.c (syms_of_fns):
14075         new primitive replace-list.
14076
14077         * frameslots.h:
14078         slot for old buffer-alist.
14079
14080         * lisp.h:
14081         exfun replace-list.
14082
14083         * redisplay.c:
14084         * redisplay.c (redisplay_frame):
14085         * redisplay.c (syms_of_redisplay):
14086         * redisplay.c (vars_of_redisplay):
14087         new hook buffer-list-changed-hook.
14088         call it.
14089
14090 2000-04-27  Ben Wing  <ben@xemacs.org>
14091
14092         * extents.h: extern in_modeline_generation.
14093
14094         * redisplay.c (generate_formatted_string_db): set
14095         in_modeline_generation.
14096
14097         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14098         flags if in modeline generation.  otherwise frame-modified-tick
14099         is ticked far too often.
14100         Declare in_modeline_generation.
14101
14102 2000-04-26  Ben Wing  <ben@xemacs.org>
14103
14104         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14105         option.
14106         (vars_of_emacs): add quick-build as an error-checking option.
14107         A bit kludgy, but there doesn't seem much point in creating
14108         a real var for this.
14109
14110         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14111
14112 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14113
14114         * redisplay.h (struct display_line): Add a new variable,
14115         line_continuation.
14116
14117         * redisplay.c (create_text_block): Set dl->line_continuation if
14118         the line continues.
14119         (create_string_text_block): Ditto.
14120         (regenerate_window_incrementally): Use line_continuation instead
14121         of searching continuation glyph.
14122         (add_margin_runes): Call add_glyph_rune.
14123         (add_glyph_rune): Handle margin glyph.
14124
14125 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14126
14127         * filelock.c (fill_in_lock_file_name):
14128         ANSIfy.
14129         Check for IS_ANY_SEP instead of '/'.
14130         (lock_file_1):
14131         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14132         Never check errno without first seeing that system call failed.
14133         (unlock_file): Add GCPRO.
14134         (Flock_buffer): Fix docstring.
14135         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14136
14137 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14138
14139         * sysdep.c (get_pty_max_bytes):
14140         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14141         strings longer than 252 bytes.
14142
14143         * md5.c: Unconditionally include ANSI header <limits.h>
14144
14145         * glyphs-x.c (convert_EImage_to_XImage):
14146         * lisp-union.h (union Lisp_Object):
14147         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14148
14149 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14150
14151         * filelock.c (current_lock_owner): Remove unused variable o, p.
14152
14153 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14154
14155         * callint.c: Remove multiply defined symbol Qlet
14156         (syms_of_callint): ditto.
14157
14158 2000-04-14  Andy Piper  <andy@xemacs.org>
14159
14160         * general.c (syms_of_general): add last-command, this-command, let
14161         and funcall.
14162
14163         * lisp.h: declare various symbols.
14164
14165         * glyphs.h: declare Qwidget_callback_current_channel;
14166
14167         * glyphs-widget.c (syms_of_glyphs_widget): add
14168         Qgui_callback_current_channel.
14169         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14170
14171         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14172         widget-callback-current-channel when invoking the interactive
14173         arg. Also bind last-command and next-command when invoking the
14174         widget updates.
14175         * gui-x.c (popup_selection_callback): ditto.
14176
14177         * gui.c (get_gui_callback): massage args so that we are always
14178         calling eval. This allows us to add our own variable bindings
14179         outside.
14180
14181         * glyphs-x.c (x_button_instantiate): use
14182         gui_items_to_widget_values since this is GC safe.
14183         (x_progress_gauge_instantiate): ditto.
14184         (x_edit_field_instantiate): ditto.
14185         (x_label_instantiate): ditto.
14186
14187         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14188         (emacs_Xt_event_widget_focus_out): new function
14189         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14190         focus.
14191         (emacs_Xt_event_add_widget_actions): new function. add focus
14192         functions as actions.
14193         (init_event_Xt_late): use it.
14194
14195 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14196
14197         * event-stream.c (Fdispatch_event): Doc fix.
14198
14199 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14200
14201         * postgresql.c: Remove all references to PQsetenv*.
14202
14203         * postgresql.h: Remove references to PGsetenvHandler object.
14204         * lrecord.h (lrecord_type): Ditto.
14205
14206 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14207
14208         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14209         real_heigh and real_width members, and accessor macros for these.
14210
14211         * glyphs-msw.c (init_image_instance_geometry): New function.
14212         (init_image_instance_from_dibitmap): Use it.
14213         (mswindows_resource_instantiate): Use it.
14214         (init_image_instance_from_xbm_inline): Use it.
14215         (mswindows_initialize_image_instance_mask): Use real bitmap
14216         geometry.
14217         (mswindows_create_resized_bitmap): Ditto.
14218         (mswindows_create_resized_mask): Ditto.
14219
14220         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14221         and bitmap to their surface size.
14222
14223 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14224
14225         * process-unix.c (unix_send_process): Guard against process MIA
14226         after Faccept_process_output.
14227
14228 2000-04-11  Ben Wing  <ben@xemacs.org>
14229
14230         * eval.c (unbind_to_hairy): fix brokenness introduced by
14231         nanosecond speed improvements.
14232
14233 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14234
14235         * sunplay.c (init_device): To play sounds correctly, the device
14236         apparently needs to be initialized at least once by XEmacs.  Make
14237         it so.
14238
14239 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14240
14241         * redisplay.c (add_margin_runes): Add text image glyph
14242           handling.
14243
14244 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14245
14246         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14247         gcc is newer than 2.5.
14248
14249 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14250
14251         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14252
14253         * fns.c (size_bit_vector):
14254         * alloc.c (size_vector):
14255         (make_vector_internal):
14256         (make_bit_vector_internal):
14257         (sweep_bit_vectors_1):
14258         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14259
14260 2000-04-06  Andy Piper  <andy@xemacs.org>
14261
14262         * gmalloc.c (malloc): undo previous change.
14263         (malloc): ditto.
14264         (free): ditto.
14265         (realloc): ditto.
14266
14267 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14268
14269         * line-number.c (buffer_line_number): Revert to former version.
14270
14271 2000-04-06  Andy Piper  <andy@xemacs.org>
14272
14273         * gmalloc.c (malloc): add error checking.
14274         (malloc): ditto.
14275         (free): ditto.
14276         (realloc): ditto.
14277
14278         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14279         button_item_to_widget_value arg.
14280
14281         * glyphs-x.c (x_button_instantiate): add extra
14282         button_item_to_widget_value arg.
14283         (x_progress_gauge_instantiate): ditto.
14284         (x_edit_field_instantiate): ditto.
14285         (x_label_instantiate): ditto.
14286
14287         * gui-x.c (gui_items_to_widget_values_1): add extra
14288         button_item_to_widget_value arg.
14289         (button_item_to_widget_value): add extra menu_item_p arg.
14290
14291         * gui-x.h: change signature of button_item_to_widget_value.
14292
14293         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14294         button_item_to_widget_value arg.
14295
14296 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14297
14298         * buffer.h (struct buffer): auto_save_modified should be long.
14299
14300 2000-04-05  Andy Piper  <andy@xemacs.org>
14301
14302         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14303         type.
14304         (button_query_geometry): give a little more room so that athena
14305         buttons fit.
14306
14307 2000-04-05  Andy Piper  <andy@xemacs.org>
14308
14309         * faces.c (complex_vars_of_faces): The widget face should inherit
14310         the font of the gui-element face.
14311
14312 2000-04-04  Andy Piper  <andy@xemacs.org>
14313
14314         * glyphs-x.c (x_button_update): new function. unconditionally
14315         update a button's state when the instance is dirty.
14316         (image_instantiator_format_create_glyphs_x): add x_button_update.
14317         (x_widget_instantiate): remove old resize cruft.
14318
14319 2000-04-02  Andy Piper  <andy@xemacs.org>
14320
14321         * frame.c (change_frame_size_1): The introduction of gutters means
14322         that we need to allow 0 as a potential frame dimension.
14323
14324 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14325
14326         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14327         image glyph if allow_cursor.
14328         (add_hscroll_rune): Don't allow cursor to border glyph.
14329         (create_text_block): Ditto.
14330
14331         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14332         text not in buffer.
14333         (redisplay_output_layout): Call ensure_face_cachel_complete for
14334         text image glyph.
14335
14336
14337 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14338
14339         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14340
14341         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14342         not in buffer
14343
14344         * redisplay-tty.c (tty_output_display_block): Delete the routine
14345         for text image glyph
14346         * redisplay-x.c (x_output_display_block): ditto
14347         * redisplay-msw.c (mswindows_output_display_block): ditto
14348
14349 2000-02-02  Mike Alexander  <mta@arbortext.com>
14350
14351         Note: Some of these were committed by accident as part of other
14352         patches.
14353
14354         * regex.c (regex_compile): Avoid compiler warnings.
14355
14356         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14357
14358         * nt.h: Declare term_ntproc correctly.
14359
14360         * nt.c: Remove incorrect declaration of get_home_directory which
14361         is declared correctly in lisp.h.
14362
14363         * keymap.c (get_keyelt): Avoid compiler warnings.
14364         (raw_lookup_key_mapper): Avoid compiler warnings.
14365
14366         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14367
14368         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14369
14370         * filemode.c (mode_string): Avoid compiler warnings.
14371
14372         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14373         avoid warning.
14374
14375         * events-mod.h: Undef some things that winuser.h defines differently.
14376
14377         * data.c (Faset): Avoid compiler warnings.
14378
14379         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14380
14381 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14382
14383         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14384         Fall through to simple beep on error.
14385         Replace "extern" by real header file.
14386
14387         * linuxplay.c: Use nativesound.h
14388         (play_sound_data): Return error code. Be less verbose on error.
14389
14390         * sunplay.c: Use nativesound.h
14391         (play_sound_data): Return error code. Be less verbose on error.
14392
14393         * ntplay.c: Use nativesound.h
14394         (play_sound_data): Return fake error code
14395
14396         * sgiplay.c: Use nativesound.h
14397         (play_sound_data): Return error code
14398
14399         * hpplay.c: Use nativesound.h, partially implement
14400         new error code. Break compilation until finished.
14401         (play_sound_data): error code.
14402
14403         * nativesound.h (play_sound_file):
14404           (play_sound_data): Prototype in new header.
14405
14406 2000-03-31  Andy Piper  <andy@xemacs.org>
14407
14408         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14409         for toggle and radio buttons.
14410         (image_instantiator_buttons): use it.
14411
14412 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14413
14414         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14415         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14416         found. Scrollbar event probably belonged to some old config.
14417
14418 2000-03-31  Andy Piper  <andy@xemacs.org>
14419
14420         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14421         than 1.
14422         (initialize_widget_image_instance): default layout to
14423         LAYOUT_HORIZONTAL rather than 0.
14424         (widget_instantiate): reverse the item list at the end rather than
14425         every iteration.
14426         (layout_layout): re-code for the border text at the front of the
14427         item list rather than at the end.
14428         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14429         provided by the user.
14430         (widget_query_geometry): comment.
14431
14432 2000-03-30  Andy Piper  <andy@xemacs.org>
14433
14434         * glyphs-widget.c (image_instantiator_layout): allow standard
14435         widget keywords in layouts.
14436
14437         * gutter.c (output_gutter): cope with nil gutter contents.
14438
14439         * frame.c (Fset_frame_properties): add gutter docs.
14440
14441 2000-03-29  Andy Piper  <andy@xemacs.org>
14442
14443         * toolbar-msw.c (TBSTYLE_FLAT): add.
14444         (mswindows_output_toolbar): minor fiddling.
14445
14446 2000-03-29  Andy Piper  <andy@xemacs.org>
14447
14448         * gutter.c (output_gutter): force gutter size recalculation if
14449         what we are trying to display won't fit.
14450         (update_gutter_geometry): new function. A per-gutter version of
14451         update_frame_gutter_geometry.
14452         (update_frame_gutter_geometry): use it.
14453         (redraw_exposed_gutter): add extra debugging output.
14454
14455 2000-03-28  Mike Alexander  <mta@arbortext.com>
14456
14457         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14458         (pdump_file_unmap): Implement it on Windows
14459         (pdump_file_get): Save alocated handles for pdump_file_unmap
14460
14461 2000-03-28  Andy Piper  <andy@xemacs.org>
14462
14463         * gui.c (get_gui_callback): treat Quit specially.
14464
14465 2000-03-27  Andy Piper  <andy@xemacs.org>
14466
14467         * glyphs.c (image_instantiate): be careful to check in the same
14468         way we assigned.
14469
14470 2000-03-27  Didier Verna  <didier@xemacs.org>
14471
14472         * config.h.in: define the proper SMART_INCLUDE macro.
14473         handle renaming of `foo_h_path' to `foo_h_file'.
14474
14475         * database.c: ditto.
14476
14477         * emacs.c: ditto.
14478
14479         * linuxplay.c: ditto.
14480
14481         * terminfo.c: ditto.
14482
14483         * tooltalk.h: ditto.
14484
14485 2000-03-27  Andy Piper  <andy@xemacs.org>
14486
14487         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14488         gets updated whenever the face might have changed.
14489
14490 2000-03-26  Mike Alexander  <mta@arbortext.com>
14491
14492         * dumper.c (pdump_resource_free): Fix the comment.
14493
14494 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14495
14496         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14497
14498 2000-03-22  Mike Alexander  <mta@arbortext.com>
14499
14500         * dumper.c: Include Windows headers on Windows
14501         (pdump_resource_free): Add a body to the function
14502         (pdump_load): exe_name -> exe_path and add some comments.
14503
14504 2000-03-25  Mike Alexander  <mta@arbortext.com>
14505
14506         * gui.c (copy_gui_item_tree): Return a value in all cases
14507
14508 2000-03-21  Didier Verna  <didier@xemacs.org>
14509
14510         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14511         lwlib/config.h.in.
14512         (SMART_INCLUDE): new macro.
14513         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14514         the proper location.
14515
14516         * postgresql.c: use it.
14517
14518         * inline.c: ditto.
14519
14520 2000-03-24  Andy Piper  <andy@xemacs.org>
14521
14522         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14523         do this.
14524
14525 2000-03-24  Andy Piper  <andy@xemacs.org>
14526
14527         * redisplay-output.c (compare_runes): use image_instance_changed
14528         to detect changes. Do not depend on glyphs_changed, only depend on
14529         dirtiness.
14530          (redisplay_output_layout): add debug messages.
14531         (compare_runes): ditto.
14532
14533         * glyphs.h: declare new functions.
14534         (struct Lisp_Image_Instance): remove percent and associated
14535         accessors.
14536
14537         * gui.h: declare new copying functions.
14538
14539         * gui.c (copy_gui_item_tree): new function.
14540         (copy_gui_item): new function.
14541         (gui_item_id_hash): revert to standard hash.
14542         (gui_item_hash): ditto.
14543         (gui_item_hash_internal): deleted.
14544         (mark_gui_item): mark value.
14545         (gui_item_add_keyval_pair): add value.
14546         (gui_item_init): ditto.
14547         (gui_add_item_keywords_to_plist): ditto.
14548         (gui_item_equal): ditto.
14549         (syms_of_gui): add Q_value.
14550
14551         * glyphs-x.c (x_progress_gauge_update): use pending items and
14552         value for setting the state.
14553         (x_update_widget): don't set items from pending here.
14554
14555         * glyphs-widget.c (update_widget): update items here.
14556         (progress_gauge_set_property): use items for storing value. Put
14557         new value in pending items.
14558
14559         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14560         items for new value. Convert percent -> value.
14561         (mswindows_tab_control_update): don't update items here.
14562
14563         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14564         (update_subwindow): ditto.
14565         (image_instance_changed): new function. Compare hash values and
14566         past and present widget items.
14567         (image_instantiate): We more careful about where we instantiate
14568         things.
14569         (image_instantiate): add error checking.
14570
14571         * gutter.c (syms_of_gutter): use -hook.
14572
14573 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14574
14575         * console-tty.c (Fset_console_tty_input_coding_system): Use
14576         Qkeyboard.
14577         (Fset_console_tty_output_coding_system): Use Qterminal.
14578         (tty_init_console): Use Qkeyboard and Qterminal.
14579
14580 2000-03-21  Ben Wing  <ben@xemacs.org>
14581
14582         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14583         From Mike Alexander <mta@arbortext.com>.
14584
14585 2000-03-21  Ben Wing  <ben@xemacs.org>
14586
14587         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14588         process brokenness.  Proper implementation to come.
14589         * callproc.c:
14590         Rename call-process-internal to old-call-process-internal.
14591         New impl. in process.el.
14592
14593 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14594
14595         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14596
14597 2000-03-20  Andy Piper  <andy@xemacs.org>
14598
14599         * glyphs.c (full_list_hash): make hashes of the same elements in
14600         different orders return different values.
14601
14602 2000-03-20  Martin Buchholz <martin@xemacs.org>
14603
14604         * XEmacs 21.2.32 is released.
14605
14606 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14607
14608         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14609         (DFC_MALLOC_USE_CONVERTED_DATA):
14610         Add aliasing-safe casts to allow use with char* or unsigned char*
14611         lvalues.
14612
14613         * eldap.c (Fldap_open):
14614         (Fldap_search_basic):
14615         (Fldap_add):
14616         (Fldap_modify):
14617         Make C++-compilable.
14618         Make sure GCPRO'ed variables are initialized.
14619         Use temp variables to avoid repeated calls to Flength.
14620
14621 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14622
14623         * sysfile.h:
14624         Make sure PATH_MAX is always defined.
14625         Include limits.h for PATH_MAX.
14626         Deprecate use of MAXPATHLEN.
14627
14628 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14629
14630         * emacs.c: Add reinit_vars_of_fileio.
14631         * symsinit.h: Add reinit_vars_of_fileio.
14632         * fileio.c (reinit_vars_of_fileio): New.
14633         * fileio.c (Fmake_temp_name):
14634         Initialize temp_name random number from microseconds to make
14635         collisions even less likely.  Initialize always at process startup
14636         time.  (make-temp-name) used to return the same file name twice in
14637         a row when PDUMP.
14638         Random stylistic fiddling.
14639         Comment fixes.
14640
14641 2000-03-20  Andy Piper  <andy@xemacs.org>
14642
14643         * glyphs.c (image_instantiate): allow text glyphs to be
14644         instantiated in the minibuffer window.
14645
14646 2000-03-19  Andy Piper  <andy@xemacs.org>
14647
14648         * glyphs.c (image_instance_hash): be careful about which items we
14649         hash on.
14650
14651         * glyphs-widget.c (tab_control_set_property): record into pending
14652         items rather than the actual items.
14653
14654         * glyphs-x.c (x_update_widget): use pending items to update with.
14655
14656         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14657         to update with.
14658
14659         * glyphs.c (mark_image_instance): mark pending items.
14660
14661         * window.c (Fset_window_configuration): record the buffer.
14662         (Fselect_window): totally revert previous change which breaks many
14663         things.
14664
14665 2000-03-18  Andy Piper  <andy@xemacs.org>
14666
14667         * glyphs-msw.c (mswindows_tab_control_update): force selected
14668         item.
14669
14670         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14671         window domain cache, otherwise we get inconsistencies at
14672         startup. There is something fishy at startup which can lead to the
14673         minibuffer being the selected window when the gutter content is
14674         instantiated.
14675
14676         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14677         gcpros.
14678         (parse_gui_item_tree_children): ditto.
14679         (parse_gui_item_tree_item): ditto.
14680
14681         * glyphs.c (Fupdate_widget_instances): return something.
14682
14683 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14684
14685         * window.c (Fselect_window): Undo 2000-03-17 change.
14686
14687 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14688
14689         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14690         against v7.0 libraries.  Insta-coredump city until the postgres
14691         folks fix it.
14692
14693 2000-03-17  Andy Piper  <andy@xemacs.org>
14694
14695         * faces.c (complex_vars_of_faces): don't give the widget face an
14696         inherited background pixmap.
14697
14698         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14699         selected item.
14700
14701         * event-stream.c (Fdispatch_non_command_events): return something.
14702
14703         * gutter.c (output_gutter): use widget face.
14704         (clear_gutter): ditto.
14705
14706         * NEWS: adjust again.
14707
14708         * window.c (Fselect_window): make sure this runs to completion to
14709         avoid oddities with Fset_window_configuration.
14710         (Fcurrent_window_configuration): in general do not save the
14711         minibuffer as the selected window.
14712
14713         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14714
14715 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14716
14717         * emacs.c (Frunning_temacs_p): Revert previous patch.
14718         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14719
14720 2000-03-16  Andy Piper  <andy@xemacs.org>
14721
14722         * glyphs-x.c (x_tab_control_update): if no widget values then
14723         return.
14724
14725         * NEWS: update for new features.
14726
14727         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14728         synthetic event to the native system.
14729         (reinit_vars_of_event_Xt): set force_event_pending to
14730         emacs_Xt_force_event_pending.
14731
14732         * events.h (struct event_stream): add force_event_pending.
14733
14734         * specifier.c (recompute_one_cached_specifier_in_window): add
14735         comment.
14736
14737         * redisplay.c (redisplay_frame): don't call
14738         update_frame_subwindows. Reset subwindow cachels when
14739         subwindows_changed, removing this was an optimization too far.
14740
14741         * redisplay-output.c (compare_runes): reorganize so that we catch
14742         glyph changes when we want them. Set optimize_output when this
14743         would help layouts.
14744         (redisplay_output_layout): remove frame_really_changed, use
14745         optimize_output instead.
14746
14747         * redisplay-msw.c (mswindows_output_display_block): reset
14748         optimize_output after outputting a glyph.
14749         * redisplay-x.c (x_output_display_block): ditto.
14750         * redisplay-tty.c (tty_output_display_block): ditto.
14751
14752         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14753         functions.
14754         (gutter_specs_changed): do specific gutter positions.
14755         (top_gutter_specs_changed): new function. Only update the
14756         specified gutter specs.
14757         (bottom_gutter_specs_changed): ditto.
14758         (left_gutter_specs_changed): ditto.
14759         (right_gutter_specs_changed): ditto.
14760
14761         * gui.c (gui_item_hash_internal): new function, does a real hash.
14762         (gui_item_id_hash): use it.
14763         (gui_item_hash): hash the eval'ed gui_item.
14764
14765         * gui-x.c (popup_selection_callback): send an eval event to call
14766         Fupdate_widget_instances.
14767
14768         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14769         to call Fupdate_widget_instances.
14770
14771         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14772         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14773
14774         * glyphs.c: (update_frame_subwindows): deleted.
14775         (Fupdate_widget_instances): new function for updating the dirty
14776         state of widgets that might have changed.
14777         (syms_of_glyphs): add Qupdate_widget_instances.
14778         (full_list_hash): hash a list completely.
14779         (image_instance_hash): use it for items and properties.
14780
14781         * frame-msw.c (mswindows_size_frame_internal): remove unused
14782         variable.
14783
14784         * faces.h (struct face_cachel): fix comment.
14785
14786         * event-stream.c (Fdispatch_non_command_events): new
14787         function. Process non-command events, forcing an event cycle
14788         beforehand.
14789         (syms_of_event_stream): declare.
14790         (event_stream_force_event_pending): new function. Force an event
14791         on the native event queue so that an event cycle will occur next
14792         time we check.
14793
14794         * event-msw.c:
14795         (struct ntpipe_shove_stream):
14796         (mswindows_enqueue_dispatch_event):
14797         (mswindows_dequeue_dispatch_event):
14798         (mswindows_cancel_dispatch_event):
14799         (mswindows_pump_outstanding_events):
14800         (mswindows_drain_windows_queue):
14801         (mswindows_handle_paint):
14802         (mswindows_wnd_proc):
14803         (mswindows_key_to_emacs_keysym):
14804         (get_process_input_waitable):
14805         (emacs_mswindows_delete_stream_pair): re-indent file.
14806         (mswindows_need_event): do not process further fds if the windows
14807         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14808         fixes the 100% cpu problem.
14809         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14810
14811 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14812
14813         * alloc.h: New.
14814         * dumper.h: New.
14815         * dumper.c: New.
14816
14817         * emacs.c: Moved dump file searching to dumper.c.
14818         (Frunning_temacs_p): Fixed.
14819
14820         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14821         last_lrecord_type_index_assigned.
14822
14823 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14824
14825         * symsinit.h: Added reinit parameter to init_console_stream
14826         declaration.
14827
14828         * lisp.h: Added file parameter to pdump_load declaration.
14829
14830         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14831         support.  Added dump file searching.
14832
14833         * config.h.in: Added EMACS_PROGNAME.
14834
14835         * console-stream.c (init_console_stream): Fix reinitialisation
14836         when running from temacs.
14837
14838         * alloc.c (pdump): Add id support.
14839         (pdump_load): Add file parameter and signature/id support.
14840
14841         * Makefile.in.in: Add full pdump support.
14842
14843 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14844
14845         * postgresql.c: Update documentation to reflect latest code
14846         status.
14847         (print_result): Show tuple counts in printed representation when
14848         appropriate.
14849         (Fpq_put_nbytes): MULE-ize.
14850         (Fpq_get_line_async): Ditto.
14851
14852 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14853
14854         * postgresql.c (Fpq_lo_import): Fix return value.
14855         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14856
14857 2000-03-13  Ben Wing  <ben@xemacs.org>
14858
14859         * alloc.c (pdump_load):
14860         Fix compile warning under mswin.
14861
14862 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14863
14864         * postgresql.c: Mule-ization, bug fixes.
14865         Use PG_CODING to encapsulate coding system name changes.
14866         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14867         (pg-coding-system): Create.
14868
14869         (Fpq_conn_defaults): Mule-ize.
14870         (Fpq_connectdb): Mule-ize & bug fix.
14871         (Fpq_connect_start): Mule-ize.
14872         (Fpq_set_client_encoding): Mule-ize.
14873         (Fpq_finish): Document `DEAD' connection status.
14874         (Fpq_clear): Ditto.
14875         (Fpq_pgconn): Mule-ize.
14876         (Fpq_exec): Mule-ize & bug fix.
14877         (Fpq_send_query): Ditto.
14878         (Fpq_get_result): Ditto.
14879         (Fpq_res_status): Mule-ize.
14880         (Fpq_result_error_message): Mule-ize.
14881         (Fpq_ntuples): fix comments.
14882         (Fpq_fname): Mule-ize.
14883         (Fpq_fnumber): Mule-ize.
14884         (Fpq_ftype): fix comments.
14885         (Fpq_get_value): Mule-ize.
14886         (Fpq_cmd_status): Ditto.
14887         (Fpq_cmd_tuples): Ditto.
14888         (Fpq_oid_value): Ditto.
14889         (Fpq_notifies): Ditto.
14890         (Fpq_lo_import): Ditto.
14891         (Fpq_lo_export): Ditto.
14892         (Fpq_get_line): Ditto.
14893         (Fpq_put_line): Mule-ize and bug fix.
14894         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14895
14896 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14897
14898         * postgresql.c (vars_of_postgresql): Mule-ize.
14899         (Fpq_conn_defaults): Ditto.
14900
14901 2000-03-12  Ben Wing  <ben@xemacs.org>
14902
14903         * alloc.c (Fmake_byte_code):
14904         * alloc.c (debug_string_purity_print):
14905         * alloc.c (pdump_backtrace):
14906         * alloc.c (pdump_get_indirect_count):
14907         * alloc.c (pdump_register_sub):
14908         * alloc.c (pdump_register_object):
14909         * alloc.c (pdump_register_struct):
14910         * alloc.c (pdump_dump_data):
14911         * alloc.c (pdump_reloc_one):
14912         Minor cleanups.
14913
14914         * console-msw.c:
14915         * console-msw.c (GetConsoleHwnd):
14916         * console-msw.c (msw_hide_console):
14917         * console-msw.c (msw_show_console):
14918         * console-msw.c (msw_ensure_console_buffered):
14919         * console-msw.c (msw_output_console_string):
14920         * console-msw.c (console_type_create_mswindows):
14921
14922         a) Added functions to manipulate the console window for use with
14923         shell support.
14924
14925         b) Added support for writing text to the console, which is now
14926         used under Windows when xemacs is not being run non-interactively,
14927         to write text that would otherwise be destined for stdout because
14928         under these circumstances, text written to stdout tends to
14929         disappear and not be seen.
14930
14931         * console-msw.h:
14932         * event-Xt.c:
14933         * event-Xt.c (x_event_to_emacs_event):
14934         * event-Xt.c (describe_event_window):
14935         * events-mod.h (XEMACS_MOD_CONTROL):
14936         * events.c:
14937         * events.c (Fmake_event):
14938         * events.c (character_to_event):
14939         * events.c (event_to_character):
14940         * events.c (format_event_object):
14941         * events.c (Fevent_modifiers):
14942         * events.h:
14943         * events.h (struct key_data):
14944         * events.h (struct button_data):
14945         * events.h (struct misc_user_data):
14946         * frame-x.c (Fcde_start_drag_internal):
14947         * frame-x.c (Foffix_start_drag_internal):
14948         * gpmevent.c (Freceive_gpm_event):
14949         * keymap.c:
14950         * keymap.c (bucky_sym_to_bucky_bit):
14951         * keymap.c (control_meta_superify):
14952         * keymap.c (make_key_description):
14953         * keymap.c (keymap_lookup_directly):
14954         * keymap.c (create_bucky_submap):
14955         * keymap.c (keymap_store):
14956         * keymap.c (define_key_check_and_coerce_keysym):
14957         * keymap.c (define_key_parser):
14958         * keymap.c (define_key_alternate_name):
14959         * keymap.c (Fdefine_key):
14960         * keymap.c (raw_lookup_key_mapper):
14961         * keymap.c (struct map_keymap_unsorted_closure):
14962         * keymap.c (map_keymap_unsorted_mapper):
14963         * keymap.c (map_keymap_sort_predicate):
14964         * keymap.c (map_keymap_sorted):
14965         * keymap.c (accessible_keymaps_mapper_1):
14966         * keymap.c (where_is_recursive_mapper):
14967         * keymap.c (describe_map_mapper):
14968         * keymap.c (describe_map_sort_predicate):
14969         * keymap.c (describe_map):
14970         * keymap.c (complex_vars_of_keymap):
14971         And a number of other files, the key modifier preprocessor
14972         constants that xemacs uses have names that conflict with constants
14973         defined under MS Windows for other purposes, so they were renamed
14974         to begin with the prefix XEMACS_. The variables that hold such
14975         modifiers were changed to consistently be of type int to fix
14976         various compile warnings.
14977
14978         * console.c (complex_vars_of_console):
14979         * device.c:
14980         * device-msw.c:
14981         * device-msw.c (mswindows_finish_init_device):
14982         * device-msw.c (msw_get_workspace_coords):
14983         * device-msw.c (mswindows_device_system_metrics):
14984         and various other files, added support for a new
14985         device property called offset-workspace which returns the position
14986         of the upper left corner of the workspace area and goes along with
14987         the existing size-workspace property.
14988
14989         * dialog-msw.c:
14990         * dialog-msw.c (push_bufbyte_string_as_unicode):
14991         * dialog-msw.c (mswindows_popup_dialog_box):
14992         Added support for XEmacs-style accelerator specifications in
14993         button text.  Note: I didn't add support for this under X Windows,
14994         and somebody needs to do this.
14995
14996         * dialog.c:
14997         * dialog.c (Fpopup_dialog_box):
14998         Documented the support for accelerators that was just mentioned.
14999
15000         editfns.c (get_home_directory): Changed behavior under Windows
15001         when HOME not defined; former behavior was irretrievably broken.
15002
15003         * emacs.c:
15004         * emacs.c (main_1):
15005         * emacs.c (main):
15006         * minibuf.c (clear_echo_area_internal):
15007         * minibuf.c (echo_area_append):
15008         * print.c:
15009         * print.c (std_handle_out_external):
15010         * print.c (std_handle_out_va):
15011         * print.c (fatal):
15012         * print.c (write_string_to_stdio_stream):
15013         * print.c (output_string):
15014         * print.c (debug_print):
15015         * print.c (debug_backtrace):
15016         * print.c (debug_short_backtrace):
15017         Cleaned up the code that prints text to stdout so that this can be
15018         changed to output into a console window instead under MS Windows,
15019         as described above.
15020
15021         * eval.c:
15022         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15023         * eval.c (internal_catch):
15024         * eval.c (unwind_to_catch):
15025         * eval.c (throw_or_bomb_out):
15026         * eval.c (condition_case_1):
15027         * eval.c (signal_1):
15028         * eval.c (check_error_state_sanity):
15029         * eval.c (call_with_suspended_errors_1):
15030         * eval.c (call_with_suspended_errors):
15031         * eval.c (reinit_vars_of_eval):
15032         Added code to catch throw loops and check for a pesky bug that may
15033         be gone now.
15034
15035         * event-msw.c:
15036         * event-msw.c (key_needs_default_processing_p):
15037         * event-msw.c (mswindows_wnd_proc):
15038         * event-msw.c (mswindows_modifier_state):
15039         * event-msw.c (emacs_mswindows_quit_p):
15040         * event-msw.c (vars_of_event_mswindows):
15041         a) Added support for using the alt key to select menu items as is
15042         standard under MS Windows.  This is controlled using the variable
15043         menu-accelerator-enabled, just like under X Windows.  There is an
15044         option on the options menu to turn this support on.  I really
15045         think that it should be on by default under Windows, but I'm not
15046         going to make this change yet.
15047
15048         b)  Added support for dynamic display size changes under Windows.
15049
15050         * event-stream.c:
15051         * event-stream.c (maybe_echo_keys):
15052         * event-stream.c (Fnext_event):
15053         * event-stream.c (command_builder_find_leaf):
15054         * event-stream.c (lookup_command_event):
15055         * event-stream.c (execute_command_event):
15056         * event-stream.c (pre_command_hook):
15057         * event-stream.c (post_command_hook):
15058         * event-stream.c (syms_of_event_stream):
15059         * event-stream.c (vars_of_event_stream):
15060         * event-stream.c (complex_vars_of_event_stream):
15061         * events.h (struct command_builder):
15062
15063         a) Tried to clean up a little bit the horribly written x-specific
15064         accelerator code that crept into this file.  I moved this code
15065         into menubar-x.c where it belongs. I also needed to move the
15066         command builder structure into the file events.h because it is
15067         accessed directly by this accelerator code.  What I didn't do, but
15068         which should be done at some point, is to properly abstract this
15069         code using device methods instead of the kludgy way that it
15070         currently hooks into the event code.
15071
15072         b) Added the lisp variables this-command-properties and
15073         last-command- properties, which should be used to synchronize two
15074         adjacent commands in preference to playing games with the variable
15075         this-command, which is typically what happens.
15076
15077         c) Added some slightly nasty code to hook into the lisp support
15078         for shifted- motion-key selection.  This is actually necessary for
15079         somewhat complicated reasons, which are described in
15080         simple.el. (NB: I think the proper thing would be to have the code
15081         that calls the pre and post command hooks also call out to generic
15082         lisp functions in simple.el, where all built-in stuff could be
15083         added.  I will think about this more.)
15084
15085         * event-unixoid.c (poll_fds_for_input):
15086         * lread.c (readchar):
15087         * redisplay-tty.c (tty_clear_frame):
15088         * redisplay-x.c (x_get_gc):
15089         * signal.c (interrupt_signal):
15090         And a whole bunch of other files: fixed up places that printed
15091         directly to stderr to instead call the function stderr_out so that
15092         the changes I made under Windows work correctly.
15093
15094         * filemode.c (mode_string):
15095         Warning fixes.
15096
15097         * frame-msw.c:
15098         * frame-msw.c (mswindows_size_frame_internal):
15099         Fixed the computation of frame size and position to keep the frame
15100         within the workspace area, rather than within the physical
15101         dimensions of the screen, so that the frame doesn't overlap window
15102         manager decorations, such as the start menu and toolbar, typically
15103         at the bottom of the screen.
15104
15105         * frame.c (vars_of_frame):
15106         Changed the default frame title format under MS Windows to consist
15107         of buffername-XEmacs, which is standard under MS Windows.  I think
15108         it might be a good idea to change this everywhere because I think
15109         it is superior to the current frame title format, but this is the
15110         kind of change that is likely to cause some people to get annoyed,
15111         so I'm not making it.
15112
15113         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15114
15115         * gui-msw.c (mswindows_handle_gui_wm_command):
15116         Fixed compile warnings.
15117
15118         * gui-x.c:
15119         * gui-x.c (strdup_and_add_accel):
15120         * gui-x.c (button_item_to_widget_value):
15121         * gui-x.h:
15122         Added code to automatically put an accelerator onto the beginning
15123         of menu items that don't have one as is now the standard, and is
15124         described more later.  Also fixed things so that the menu item
15125         name can be an evaluated expression, again a new standard.
15126
15127         * gui.c:
15128         * gui.c (gui_item_add_keyval_pair):
15129         * gui.c (make_gui_item_from_keywords_internal):
15130         * gui.c (gui_add_item_keywords_to_plist):
15131         * gui.c (gui_item_accelerator):
15132         * gui.c (gui_name_accelerator):
15133         * gui.c (gui_item_included_p):
15134         * gui.c (gui_item_display_flush_left):
15135         * gui.c (gui_item_display_flush_right):
15136         * gui.c (parse_gui_item_tree_item):
15137         * gui.c (parse_gui_item_tree_children):
15138         * gui.c (parse_gui_item_tree_list):
15139         Mule-ized.  Cleanup.  GCPRO addition.
15140
15141         * line-number.c (buffer_line_number):
15142         * lisp.h:
15143         * lisp.h (EMACS_INT_MAX):
15144         Added the manifest constant EMACS_INT_MIN corresponding to the
15145         existing constant EMACS_INT_MAX.  This is partially to fix compile
15146         warnings under Windows, and partly for cleanliness.
15147
15148         * menubar-msw.c:
15149         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15150         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15151         * menubar-msw.c (displayable_menu_item):
15152         * menubar-msw.c (populate_menu_add_item):
15153         * menubar-msw.c (populate_or_checksum_helper):
15154         * menubar-msw.c (populate_menu):
15155         * menubar-msw.c (update_frame_menubar_maybe):
15156         * menubar-msw.c (prune_menubar):
15157         * menubar-msw.c (msw_char_is_accelerator):
15158         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15159         * menubar-msw.c (mswindows_handle_wm_command):
15160         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15161         * menubar-msw.c (mswindows_handle_wm_initmenu):
15162         * menubar-msw.c (mswindows_update_frame_menubars):
15163         * menubar-msw.c (mswindows_free_frame_menubars):
15164         * menubar-msw.c (mswindows_popup_menu):
15165         Fixed a bug in handling accelerators where an extra character
15166         would be displayed in the menu item.  Also generalized the
15167         function displayable_menu_item because it is now used by the
15168         dialog box code as well.  And finally, added code in the functions
15169         that create the menubar to extract a list of accelerators for the
15170         top level menubar, which is used in the event code to determine
15171         whether a particular alt-key combination should be used to invoke
15172         a menu item, or should be passed through to access the standard
15173         XEmacs keymap binding for this key combination.
15174
15175         Much needed GCPROing.
15176
15177         * menubar-x.c:
15178         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15179         * menubar-x.c (menu_item_descriptor_to_widget_value):
15180         * menubar-x.c (restore_in_menu_callback):
15181         * menubar-x.c (x_popup_menu):
15182         * menubar-x.c (menu_move_up):
15183         * menubar-x.c (menu_move_down):
15184         * menubar-x.c (menu_move_left):
15185         * menubar-x.c (menu_move_right):
15186         * menubar-x.c (menu_select_item):
15187         * menubar-x.c (command_builder_operate_menu_accelerator):
15188         * menubar-x.c (menu_accelerator_junk_on_error):
15189         * menubar-x.c (command_builder_find_menu_accelerator):
15190         * menubar-x.c (Faccelerate_menu):
15191         * menubar.h:
15192         Moved a whole bunch of code here that was previously in
15193         event-stream.c as described above.  There is also code connected
15194         to the new standard of adding an accelerator to the beginning of
15195         menu items that don't have one as described above and below.
15196
15197         * menubar.c:
15198         * menubar.c (menu_parse_submenu_keywords):
15199         * menubar.c (Fmenu_find_real_submenu):
15200         * menubar.c (Fnormalize_menu_item_name):
15201         * menubar.c (syms_of_menubar):
15202         * menubar.c (vars_of_menubar):
15203         * menubar.c (complex_vars_of_menubar):
15204
15205         a) Cleaned up a bunch of documentation and improved it.
15206
15207         b) XEmacs now automatically adds an accelerator onto the beginning
15208         of any menu items that don't have one.  I did this because there
15209         will inevitably be some menu items on the main menubar that don't
15210         have accelerators on them because the package that adds that
15211         particular menu item hasn't yet been fixed up to have accelerators
15212         in them and it looked rather strange to have some items with and
15213         some items without accelerators, especially since even in items
15214         without accelerators, you can, at least under windows, still
15215         access the item through an accelerator corresponding to the first
15216         character in the item's name.  If people don't like this behavior,
15217         I can add a variable to turn it off optionally, but I'm not sure
15218         this is a good idea because we really do need to have accelerators
15219         on all of the menu items, and if a package doesn't like the
15220         accelerators being put on the first character, then it should put
15221         the accelerators where they belong.
15222
15223         c) I made a behavior change, which is that the descriptor that
15224         specifies the text of the menu item, which formerly was just a
15225         string, can now also be an evaluated expression.  This makes this
15226         descriptor parallel with all of the others, which could also be
15227         evaluated expressions.  This also obviates the need for the
15228         keyword :label, which was previously listed in the documentation
15229         as unimplemented, and which was for the same purpose.
15230
15231         d) GCPROing.
15232
15233         * ntproc.c:
15234         * ntproc.c (new_child):
15235         * ntproc.c (sys_spawnve):
15236         * ntproc.c (find_child_console):
15237         * ntproc.c (sys_kill):
15238         Fixed compile warnings.  By the way, this file should really go
15239         away entirely, and this will happen as soon as Kirill makes his
15240         final round of process cleanups, which affect the function
15241         call-process.
15242
15243         * process-nt.c:
15244         * process-nt.c (struct nt_process_data):
15245         * process-nt.c (find_process_from_pid):
15246         * process-nt.c (send_signal_the_nt_way):
15247         * process-nt.c (enable_child_signals):
15248         * process-nt.c (find_child_console):
15249         * process-nt.c (send_signal_the_95_way):
15250         * process-nt.c (nt_finalize_process_data):
15251         * process-nt.c (ensure_console_window_exists):
15252         * process-nt.c (nt_create_process):
15253         * process-nt.c (nt_kill_child_process):
15254         * process-nt.c (nt_kill_process_by_pid):
15255         * process-nt.c (nt_open_network_stream):
15256         * process-nt.c (vars_of_process_nt):
15257         Copied over code from Emacs 20.5 to correctly send signals to sub-
15258         processes under Windows 95.  Also added code to automatically
15259         create and hide console window when a sub-process is created under
15260         Windows 95, which obviates the need for the separate runemacs.exe
15261         executable, and finally implemented some variables that were
15262         implemented in Emacs 20.5, but previously not in XEmacs.  These
15263         include mswindows- start-process-share-console and
15264         mswindows-start-process-inherit-error-mode. (Both of these only
15265         apply to Windows 95.)
15266
15267         * regex.c (regex_compile): Fixed a compile warning.
15268
15269         * select-msw.c:
15270         * select-msw.c (mswindows_own_selection):
15271         * select-msw.c (mswindows_get_foreign_selection):
15272         * select-msw.c (mswindows_disown_selection):
15273         * select-msw.c (console_type_create_select_mswindows):
15274         * select-msw.c (syms_of_select_mswindows):
15275         Cleaned up the file and implemented the device method
15276         selection_exists_p, which had accidentally been left out.  Also
15277         removed four lisp functions that were remnants from before the
15278         time when the selection code was properly device abstracted.
15279         These functions are no longer needed because there are generic
15280         equivalents, and because they were added recently and don't exist
15281         in FSF Emacs, I don't think there's any problem with just deleting
15282         them.
15283
15284         * sysdep.c:
15285         * sysdep.c (sys_subshell):
15286         Fixed a compile warning, although in this case there's probably
15287         something wrong with this code, and it ought to be looked into
15288         more thoroughly by somebody who understands it.
15289
15290         * window.c:
15291         * window.c (Fwindow_text_area_height):
15292         * window.c (Fwindow_width):
15293         * window.c (Fwindow_full_width):
15294         * window.c (Fwindow_pixel_width):
15295         * window.c (debug_print_window):
15296         * window.c (syms_of_window):
15297         Added functions window-text-area-height and window-full-width,
15298         which are functions for returning various width and height
15299         characteristics of a window. (One of these functions is necessary
15300         for making the file dialog box work correctly, and the other one
15301         was added for completeness.)  Also added a table to the
15302         documentation for window-height which describes the entire scheme
15303         for accessing width and height characteristics of a window.
15304
15305 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15306
15307         * nt.c (fstat): Added a comment for another problem with
15308         non-encapsulated [f]stat(), reported by Adrian Aichner
15309         <aichner@ecf.teradyne.com>.
15310
15311 2000-03-11  Andy Piper  <andy@xemacs.org>
15312
15313         * window.c (make_dummy_parent): initialize subwindow instance
15314         cache.
15315         (Fset_window_configuration): zero extent_modiff.
15316
15317 2000-03-10  Andy Piper  <andy@xemacs.org>
15318
15319         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15320         more changes can be triggered.
15321         (Fredisplay_frame): ditto.
15322         (Fredraw_device): ditto.
15323         (Fredisplay_device): ditto.
15324         (redisplay_frame): make non-static.
15325         (redisplay_frame): call update_frame_gutter_geometry outside of
15326         display proper.
15327
15328         * gutter.h: declare update_frame_gutter_geometry.
15329
15330         * redisplay.h: declare redisplay_frame.
15331
15332         * gutter.c (update_frame_gutter_geometry): move geometry changes
15333         in update_frame_gutters here. Geometry changes can only occur
15334         outside of redisplay.
15335         (update_frame_gutters): remove geometry change code.
15336         (Fredisplay_gutter_area): make sure that we are in display when we
15337         update and that we have flushed any size changes.
15338
15339 2000-03-11  Andy Piper  <andy@xemacs.org>
15340
15341         * alloc.c (pdump_dump_data): remove i & count shadows.
15342
15343 2000-02-27  Mike Alexander  <mta@arbortext.com>
15344
15345         * sysdep.h: Declare pdump_read_file
15346
15347         * sysdep.c (pdump_read_file): New function
15348
15349         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15350         dump data
15351
15352 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15353
15354         * lrecord.h: add `lrecord_type_pgsetenv'.
15355
15356 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15357
15358         * symsinit.h: declare (vars|syms)_of* functions.
15359         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15360
15361 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15362
15363         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15364
15365         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15366         GCCs.
15367
15368         * emacs.c (main_1): Call postgres initialization code.
15369
15370         * postgresql.h: New file.  PostgreSQL RDBMS support.
15371         * postgresql.c: New file.
15372
15373 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15374
15375         * redisplay-output.c (redisplay_output_display_block): Disable
15376         redundant code.
15377
15378 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15379
15380         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15381         (Fcanna_henkan_next): Ditto.
15382         (Fcanna_bunsetu_henkou): Ditto.
15383         (Fcanna_henkan_kakutei): Ditto.
15384         (Fcanna_henkan_end): Ditto.
15385         (Fcanna_henkan_quit): Ditto.
15386         (Fcanna_henkan_next): Set retun value correctly.
15387         (c2mu): Use unsigned char instead of signed char.
15388
15389 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15390
15391         * emacs.c (main_1): Always call syms_of_gui.
15392         * inline.c: include gui.h
15393
15394 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15395
15396         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15397         converted to Lisp_Object.
15398         (Qtop_bottom): New variable.
15399         (syms_of_redisplay): Initialize it.
15400         * redisplay.h (Vvisible_bell): Ditto.
15401         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15402         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15403         only flash top and bottom.
15404
15405 2000-03-08  Andy Piper  <andy@xemacs.org>
15406
15407         * buffer.c (Frename_buffer): record new buffer name the right way.
15408
15409 2000-03-08  Andy Piper  <andy@xemacs.org>
15410
15411         * glyphs.c (update_subwindow): increase hash depth so that widget
15412         items get picked up properly.
15413
15414         * redisplay-output.c (compare_runes): increase hash depth so that
15415         widget items get picked up properly.
15416
15417 2000-03-08  Andy Piper  <andy@xemacs.org>
15418
15419         * gutter.c (output_gutter): add some debug.
15420
15421         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15422         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15423         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15424
15425         * redisplay-output.c (compare_runes): use display_hash to
15426         determine if glyphs really are not the same.
15427
15428         * glyphs.c (update_subwindow): check display_hash to see if
15429         anything really needs to be updated. If not then do
15430         nothing. Record the display_hash after updating.
15431         (image_instance_equal): compare the image_instance face also.
15432
15433 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15434
15435         * redisplay.h: Fix comment style.
15436
15437 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15438
15439         * consle-msw.h (struct mswindows_frame):
15440         Added new member paint_pending to indicate whether a WM_PAINT
15441         magic event has been queued for this frame.
15442
15443         * event-msw.c (mswindows_drain_windows_queue):
15444         Don't queue a WM_PAINT magic event if one is already queued.
15445         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15446
15447         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15448
15449 2000-03-07  Didier Verna  <didier@xemacs.org>
15450
15451         * dired.c: #include `regex.h' after `sysfile.h'.
15452
15453 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15454
15455         * sound.c (init_nas_sound): Fix compiler warning.
15456
15457         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15458         (FREE_STRUCT_P):
15459         (MARK_STRUCT_AS_FREE):
15460         (MARK_STRUCT_AS_NOT_FREE):
15461         Make `gcc -fstrict-aliasing' work properly.
15462
15463 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15464
15465         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15466         (mswindows_delete_device): Call CoUnnitialize().
15467
15468         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15469
15470 2000-02-25    <CraigL@DyCon.com>
15471
15472         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15473         <errno.h>.
15474
15475         * sysdep.c: This extern declaration for environ prevents MinGW
15476         from finding the variable in CRTDLL.DLL.
15477
15478         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15479         windows headers.
15480         (SHGFI_EXETYPE): ..
15481         (WM_MOUSEWHEEL): ..
15482         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15483         definitions.
15484         (MMRESULT): Removed, now defined in cygwin's windows headers.
15485         (TIMECAPS): ..
15486         (uid_t,gid_t,pid_t,ssize_t): ..
15487         (_timeb): Removed, MinGW defines both _timeb and timeb.
15488         (HAVE_H_ERRNO): Added.
15489         (HAVE_TZNAME): Added, configure is not detecting this.
15490
15491 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15492
15493         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15494         * syntax.c (syntax_match): Use it.
15495
15496         * cmds.c: Import auto-fill-chars from FSF Emacs.
15497         (Vauto_fill_chars): New variables.
15498         (internal_self_insert): Check Vauto_fill_chars.
15499         (vars_of_cmds):
15500         Declare auto-fill-chars as a Lisp variable and initialize it.
15501
15502 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15503
15504         * fileio.c (Fmake_symbolic_link):
15505         (Ffile_symlink_p):
15506         Run handlers even if local machine doesn't have symlinks.
15507
15508 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15509
15510         * event-msw.c (mswindows_drain_windows_queue):
15511         Don't generate paint magic events for non-XEmacs frames.
15512
15513 2000-03-05  Andy Piper  <andy@xemacs.org>
15514
15515         * redisplay.c (redisplay_frame): generate_displayable_area and
15516         friends assumes that we are not in GC, we therefore have to make
15517         sure that this doesn't happen.
15518
15519         * gutter.c (calculate_gutter_size): generate_displayable_area
15520         assumes that we are not in GC, we therefore have to make sure that
15521         this doesn't happen.
15522
15523 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15524
15525         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15526
15527 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15528
15529         * redisplay.c (regenerate_window): Make sure we set a sane value
15530         for end_pos even if we jump out of the loop.
15531         (regenerate_window): Answer Ben's question :-).
15532         (start_end_of_last_line): Add may_error argument.
15533         (start_of_last_line):
15534         (end_of_last_line): Pass may_error = 0.
15535         (end_of_last_line_may_error): New function.
15536         (pixel_to_glyph_translation): Use it, so we don't crash in
15537         event_to_glyph.
15538
15539 2000-03-04  Andy Piper  <andy@xemacs.org>
15540
15541         * window.h (struct window): add gutter_extent_modiff.
15542
15543         * window.c (allocate_window): zero out gutter_extent_modiff.
15544
15545         * redisplay.h: declare sync_display_line_structs.
15546
15547         * redisplay.c (add_glyph_rune): add a better comment.
15548
15549         * redisplay-output.c (sync_display_line_structs): made non-static.
15550         (compare_runes): remove unneccesary glyph cachel access.
15551
15552         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15553
15554         * gutter.c (output_gutter): don't output the gutter if extent
15555         changes only involve extents in buffers. use 4 sets of display
15556         lines.
15557         (gutter_extent_signal_changed_region_maybe): new function. Mark
15558         extents in gutters as changed.
15559         (update_frame_gutters): use 4 sets of display lines.
15560         (reset_gutter_display_lines): ditto.
15561         (free_frame_gutters): ditto.
15562         (redraw_exposed_gutter): force output of gutters.
15563
15564         * frame.h (struct frame): add 4 sets of gutter display lines.
15565
15566         * extents.c: (extent_changed_for_redisplay): signal changes to
15567         extents in strings in the gutter as well as extents in buffers.
15568
15569 2000-03-02  Andy Piper  <andy@xemacs.org>
15570
15571         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15572
15573         * frame.c (Fmake_frame): make sure the gutters get initialized
15574         after the frame is visible.
15575         (set_frame_selected_window): re-arrange compilation macros a
15576         little.
15577         (change_frame_size_1): mark gutters changed.
15578
15579         * device.c (Fset_device_class): mark gutters changed.
15580
15581 2000-03-01  Andy Piper  <andy@xemacs.org>
15582
15583         * window.c (window_top_frame_gutter_height): deleted.
15584         (window_bottom_frame_gutter_height): ditto.
15585         (window_left_frame_gutter_height): ditto.
15586         (window_right_frame_gutter_height): ditto.
15587         (window_top_gutter_height): don't use them.
15588         (window_bottom_gutter_height): ditto.
15589         (window_left_gutter_width): ditto.
15590         (window_right_gutter_width): ditto.
15591         (Fsplit_window): ditto.
15592         (Fwindow_pixel_edges): don't use border dimensions here.
15593
15594         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15595         (update_scrollbar_instance): ditto.
15596
15597         * redisplay.c (generate_modeline): don't take gutters into account.
15598         (generate_modeline): ditto.
15599         (redisplay_frame): small gutter display optimization.
15600
15601         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15602
15603         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15604         gutters into account.
15605
15606         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15607         for window position and type.
15608
15609         * gutter.c (get_gutter_coords): fix for frame gutters.
15610         (update_frame_gutters): update frame geometry if the gutters have
15611         changed.
15612         (init_frame_gutters): record current gutter geometries.
15613
15614         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15615         var.
15616         (mswindows_widget_instantiate): ditto.
15617
15618         * frame.h (struct frame): add current_gutter_bounds.
15619
15620         * frame.c (change_frame_size_1): position window and minibuffer
15621         appropriately taking into account the frame gutters.
15622
15623         * frame-x.c: (x_initialize_frame_size): take into account the
15624         frame gutters.
15625
15626 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15627
15628         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15629
15630 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15631
15632         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15633
15634 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15635
15636         * file-coding.c (reset_decoding_stream): Clear previous
15637         detection state when autodetect.
15638
15639 2000-02-29  Didier Verna  <didier@xemacs.org>
15640
15641         * extents.c (set_extent_glyph_1): don't require extents to be
15642         attached.
15643
15644 2000-02-27  Andy Piper  <andy@xemacs.org>
15645
15646         * gutter.c (Fset_default_gutter_position): don't default left and
15647         right gutter visibility to t.
15648         (Fset_default_gutter_position): run
15649         default-gutter-position-changed-hook.
15650         (syms_of_gutter): add default-gutter-position-changed-hook.
15651
15652 2000-02-26  Andy Piper  <andy@xemacs.org>
15653
15654         * specifier.c (Fmake_specifier): add gutter references.
15655
15656         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15657
15658         * lisp.h: declare Fvalid_plist_p.
15659
15660         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15661         as changed.
15662         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15663         well as its visibility so that it gets reconstructed.
15664         (construct_window_gutter_spec): new function. Construct a string
15665         to be displayed in the gutter from a plist of strings. Take care
15666         to only use elements that are declared as visible.
15667         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15668         WINDOW_GUTTER.
15669         (gutter_validate): allow plists of strings in the specifier.
15670         (gutter_specs_changed): construct the real_gutter from the gutter
15671         specs using construct_window_gutter_spec.
15672         (gutter_visible_validate): gutter-visible is a new specifier type.
15673         (Fgutter_visible_specifier_p): new function for the new specifier.
15674         (syms_of_gutter): declare gutter-visible and
15675         Fgutter_visible_specifier_p.
15676         (specifier_type_create_gutter): intitalize new gutter-visible
15677         specifier.
15678         (reinit_specifier_type_create_gutter): ditto.
15679         (specifier_vars_of_gutter): use new specifier type for gutter
15680         visibility.
15681         (init_frame_gutters): construct real_gutter correctly.
15682         (Fgutter_specifier_p): beef up documentation.
15683         (Fgutter_size_specifier_p): ditto.
15684
15685         * winslots.h: add real_gutter slots.
15686
15687 2000-02-25  Andy Piper  <andy@xemacs.org>
15688
15689         * device-msw.c: Be kind to older cygwin versions. From Raymond
15690         Toy <toy@rtp.ericsson.se>.
15691
15692         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15693         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15694
15695 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15696
15697         * elhash.c (MARK_OBJ): Practice macro hygiene.
15698
15699 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15700
15701         * miscplay.c: s/__inline__/inline/g;
15702         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15703         (get_device_compdc): INLINE ==> static inline
15704         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15705         find -name '*.h' | \
15706         xargs global-replace \
15707         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15708
15709 2000-02-25  Andy Piper  <andy@xemacs.org>
15710
15711         * window.c (window_top_frame_gutter_height): new function.
15712         (window_top_window_gutter_height): ditto.
15713         (window_top_gutter_height): use them.
15714         (window_bottom_frame_gutter_height): new function.
15715         (window_bottom_window_gutter_height): ditto.
15716         (window_bottom_gutter_height): use them.
15717         (window_left_window_gutter_width): new function.
15718         (window_left_frame_gutter_width): ditto.
15719         (window_left_gutter_width): use them.
15720         (window_right_window_gutter_width): new function.
15721         (window_right_frame_gutter_width): ditto.
15722         (window_right_gutter_width): use them.
15723         (window_pixel_height): new function. calulate window pixel height
15724         with frame gutter involvement.
15725         (Fsplit_window): calculate new sizes taking frame gutters into
15726         account.
15727         (window_char_height_to_pixel_height): don't include frame gutters.
15728         (window_char_height): use window_pixel_height.
15729         (window_pixheight): rename from window_pixel_height.
15730         (change_window_height): use it.
15731         (window_pixel_height_to_char_height): don't include frame gutters.
15732         (window_char_width_to_pixel_width): ditto.
15733
15734 2000-02-25  Andy Piper  <andy@xemacs.org>
15735
15736         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15737         if it is.
15738
15739 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15740
15741         * alloc.c (staticpro):
15742         (staticpro_nodump):
15743         (dumpstruct):
15744         (dumpopaque):
15745         (pdump_wire):
15746         (pdump_wire_list):
15747         (compact_string_chars):
15748         (pdump_dump_wired):
15749         Convert:  if (foo) abort();  ==>  assert (! foo);
15750
15751         * eldap.c (Fldap_search_basic):
15752         (Fldap_add):
15753         (Fldap_modify):
15754         (Fldap_delete):
15755         Fix compiler warnings, and possible crashes if (random) return
15756         value were to be used.
15757
15758 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15759
15760         * device-msw.c: Workaround ResetDC failure.
15761
15762         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15763         applying a devmode.
15764
15765         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15766         (mswindows_text_width): Do not start printer page.
15767
15768         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15769
15770         * glyphs-msw.c: Added image methods to msprinter console and
15771         msprinter-specific image instantiation.
15772
15773 2000-02-20  Mike Alexander  <mta@arbortext.com>
15774
15775         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15776         to avoid crashes when selection-sets-clipboard is on
15777         (mswindows_own_selection): ditto
15778
15779 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15780
15781         * glyphs-msw.c:
15782         * redisplay-msw.c (get_frame_dc):
15783         (get_frame_compdc):
15784         * console-msw.h:
15785         * device-msw.c (mswindows_init_device):
15786         (mswindows_delete_device):
15787         (msprinter_init_device):
15788         (msprinter_delete_device):
15789         * frame-msw.c (mswindows_init_frame_1):
15790         (mswindows_delete_frame):
15791         (msprinter_init_frame_3):
15792         (msprinter_delete_frame): Move compatible DC to device object from
15793         frame object, for both mswindows and msprinter. Only one at a time
15794         is needed, it is a real waste to have one per frame!
15795
15796 2000-02-23  Andy Piper  <andy@xemacs.org>
15797
15798         * glyphs.c: add dynamic width and height elements.
15799         (image_instance_equal): ditto.
15800
15801         * glyphs-widget.c (widget_query_geometry): calculate width and
15802         height dynamically if required.
15803         (initialize_widget_image_instance): initialize dynamic dimensions.
15804         (widget_instantiate): pick-up dynamic dimensions.
15805
15806         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15807         dynamic determination. Add appropriate macros.
15808
15809         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15810         dimensions safe.
15811         (WINDOW_GUTTER_SIZE): ditto.
15812         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15813
15814         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15815         inline.
15816         (get_frame_dc): ditto.
15817
15818         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15819         here.
15820
15821 2000-02-23  Martin Buchholz <martin@xemacs.org>
15822
15823         * XEmacs 21.2.31 is released.
15824
15825 2000-02-22  Ben Wing <ben@xemacs.org>
15826
15827         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15828
15829 2000-02-22  Andy Piper  <andy@xemacs.org>
15830
15831         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15832
15833 2000-02-21  Mike Sperber <mike@xemacs.org>
15834
15835         * .dbxrc:
15836         * .gdbinit:
15837         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15838         variables.
15839
15840 2000-02-21  Mike Sperber <mike@xemacs.org>
15841
15842         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15843
15844 2000-02-21  Martin Buchholz <martin@xemacs.org>
15845
15846         * XEmacs 21.2.30 is released.
15847
15848 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15849
15850         Performance hacking.
15851         * *.c (syms_of_*):
15852         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15853         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15854         * emacs.c (main_1):
15855         * lisp.h (DEFUN):
15856         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15857         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15858         * symeval.h (DEFVAR_SYMVAL_FWD):
15859         * symbols.c (guts_of_unbound_marker):
15860         Make all c_readonly objects also lisp_readonly and marked for life.
15861         * lrecord.h (struct lrecord_implementation):
15862         Document flags better.
15863         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15864         * lrecord.h (DECLARE_LRECORD):
15865         * lrecord.h (XSETRECORD):
15866         * lrecord.h (RECORDP):
15867         * lrecord.h (RECORD_TYPEP):
15868         * lrecord.h (RECORD_MARKER): New.
15869         * lrecord.h (error_check_*):
15870         * lrecord.h (CONCHECK_NONRECORD):
15871         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15872         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15873         * lrecord.h (set_lheader_implementation):
15874         * lrecord.h (enum lrecord_type): New.
15875         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15876         * alloc.c (disksave_object_finalization_1):
15877         * alloc.c (mark_object):
15878         * alloc.c (lrecord_type_index):
15879         * alloc.c (tick_lcrecord_stats):
15880         * alloc.c (Fgarbage_collect):
15881         * alloc.c (init_alloc_once_early):
15882         * alloc.c (pdump_load):
15883         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15884         * alloc.c (lrecord_type_index): Delete.
15885         Make lisp object type indexes be constant.
15886           Makes (byte-compile) 5% faster.
15887         Put all marker functions into their own array.
15888           Makes (garbage-collect) 5% faster.
15889         Optimize SYMBOL_VALUE_MAGIC_P.
15890           Makes (byte-compile) 2-3% faster.
15891         * config.h.in (gc_checking_assert): New.
15892         * alloc.c: Use gc_checking_assert().
15893         * .dbxrc: Make compatible with new object type implementation.
15894         * .gdbinit: Make compatible with new object type implementation.
15895         * alloc.c: Delete all symbols defined only for debugging, such as
15896         Lisp_Type_Vector and lrecord_charset.
15897
15898 2000-02-21  Andy Piper  <andy@xemacs.org>
15899
15900         * gui-msw.c (Fmswindows_shell_execute): fix file location
15901         problems.
15902
15903         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15904         unshowing so that set_window_buffer doesn't undo
15905         kill_buffer_hook's hard work.
15906
15907         * glyphs-widget.c (tab_control_query_geometry): don't count the
15908         first item when calculating geometry.
15909
15910         * glyphs.c (map_subwindow): remove redundant code.
15911         (update_frame_subwindows): be more circumspect about when to
15912         update subwindows.
15913
15914         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15915         when items haven't changed. Update faces if faces have changed as
15916         well as just the widget face.
15917         (x_tab_control_update): Update faces if faces have changed as well
15918         as just the widget face.
15919
15920 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15921
15922         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15923         registration.
15924         (build_syscolor_string): Use mswindows_color_to_string to try to
15925         get a named color.
15926         (mswindows_device_system_metrics): Reverse the foreground and
15927         background colors so that they match the documentation.
15928
15929         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15930         they match the default Windows palette.
15931         (mswindows_color_to_string): New function.
15932
15933 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15934
15935         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15936
15937 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15938
15939         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15940         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15941
15942         * symbols.c (init_symbols_once_early): Removed obsolete
15943         DATA_SEG_BITS related kludge.
15944         (defvar_magic): Ditto.
15945
15946         * malloc.c: Removed obsolete DATA_SEG_BITS
15947         * ralloc.c: Ditto.
15948         * mem-limits.h: Ditto.
15949
15950         * Makefile.in.in: Removed obsolete HAVE_SHM
15951         * emacs.c: Ditto.
15952
15953 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15954
15955         *  device-msw.c (mswindows_delete_device): Free DDE string
15956         handles.
15957
15958 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15959
15960         * keymap.c (get_keyelt):
15961         * unexnt.c (unexec):
15962         * vm-limit.c (memory_warnings):
15963         * ntheap.c (recreate_heap):
15964         * ntheap.h (UNINIT_PTR):
15965         * select-msw.c (Fmswindows_get_clipboard):
15966         (Fmswindows_set_clipboard):
15967         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15968         * objects-msw.c:
15969         * menubar-msw.c (displayable_menu_item):
15970         * glyphs-msw.c:
15971         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15972         * sysdep.c (sys_subshell):
15973         * process-nt.c (nt_create_process):
15974         * nt.c (normalize_filename):
15975         (dostounix_filename):
15976         (unixtodos_filename):
15977         * ntproc.c (win32_executable_type):
15978         * ntplay.c (play_sound_data_1):
15979         (play_sound_file):
15980         * editfns.c (get_home_directory):
15981         * event-msw.c (struct winsock_stream):
15982         (mswindows_dde_callback):
15983         * device-msw.c (msprinter_init_device):
15984         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15985
15986         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15987         mswindows_clear_toolbar were swapped!
15988
15989         * objects-msw.c:(colormap_t):
15990         (fontmap_t):
15991         * emacs.c (struct standard_args): Fixed const jumble.
15992
15993         * glyphs-widget.c (update_widget): Fixed comparison notation.
15994
15995         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15996
15997         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15998         __declspec(noreturn) syntax.
15999
16000 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16001
16002         * eldap.c (Fldap_open):
16003         (Fldap_search_basic):
16004         (Fldap_add):
16005         (Fldap_modify):
16006         Use new coding system conversion macros.
16007
16008 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16009
16010         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16011
16012 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16013
16014         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16015         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16016
16017         * eldap.c (Qadd, Qreplace): New constant symbols
16018         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16019         interruptions by XEmacs signals
16020         Remove unnecessary calls to slow_down_interrupts and
16021         speed_up_interrupts
16022         (Fldap_search_basic): Renamed from Fldap_search_internal
16023         Added new optional parameter VERBOSE that triggers the
16024         display of progress messages
16025         Remove unnecessary calls to slow_down_interrupts and
16026         speed_up_interrupts
16027         LDAP result code analysis rewritten
16028         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16029         (syms_of_eldap): Define the new symbols and functions
16030
16031
16032 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16033
16034         * realpath.c: Determine PATH_MAX maximally portably.
16035
16036         * insdel.c (bytecount_to_charcount): Optimize.
16037         The function used to be optimized for entirely ASCII sequences.
16038         Now it is optimized for successive characters from the same
16039         charset.  This also wins big for _mostly_ ASCII sequences.
16040
16041         * fileio.c (Ffile_truename): convert return from realpath() using
16042         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16043         - Rewrite GCPROing slightly.
16044
16045         * sysdep.c (sys_open): Do filename conversion, like all other
16046         sys_* functions.  Fixes bug:
16047         (let ((file-name-coding-system 'iso-8859-2))
16048            (write-region x y latin2-name))
16049         ==> writes filename using internal encoding.
16050
16051 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16052
16053         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16054         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16055         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16056         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16057         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16058         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16059         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16060         (CONST_IF_NOT_DEBUG): Delete.
16061         * alloc.c (this_one_is_unmarkable): Delete.
16062         (mark_object): Don't check for this_one_is_unmarkable. Use the
16063         c_readonly flag instead.
16064         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16065
16066 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16067
16068         * event-msw.c (mswindows_drain_windows_queue):
16069         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16070         away redundant repaint events.
16071
16072 2000-02-17  Andy Piper  <andy@xemacs.org>
16073
16074         * redisplay.h: declare mark_redisplay_structs.
16075
16076         * redisplay.c (redisplay_window):
16077         (redisplay_frame): don't check subwindows_state_changed.
16078         (mark_redisplay): mark gutters here.
16079
16080         * glyphs.c: (instantiate_image_instantiator): always layout if we
16081         haven't done so already.
16082         (allocate_image_instance): don't mark as dirty.
16083         (update_subwindow): bind inhibit_quit.
16084
16085         * gutter.c (mark_gutters): new function.
16086
16087         * glyphs-x.c (x_update_widget): Always resize to get round a
16088         widget bug.
16089
16090         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16091         breaking absolutely everything.
16092
16093         * gutter.h: declare mark_gutters.
16094
16095 2000-02-16  Martin Buchholz <martin@xemacs.org>
16096
16097         * XEmacs 21.2.29 is released.
16098
16099 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16100
16101         * fns.c (size_bit_vector): Fix computation of the size.
16102
16103 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16104
16105         * *.[ch]: Change CONST to const globally.
16106         find -name '*.[ch]' | \
16107         xargs global-replace \
16108         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16109         - Remove vestigial references to CONST_IS_LOSING
16110
16111 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16112
16113         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16114         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16115         events instead of dispatching them directly.
16116         (mswindows_handle_paint): New function to do repainting.
16117         (mswindows_wnd_proc):
16118         (emacs_mswindows_handle_magic_event): Call above function.
16119
16120 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16121
16122         * objects-msw.c (mswindows_create_font_variant): Return the new
16123         font handle.
16124         (initialize_font_instance): Get font metrics from the underlined
16125         variant of the font to cope with the case where the underlined
16126         font has a bigger descent.
16127
16128 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16129
16130         * gui.c (gui_item_accelerator): Return the first underlined
16131         character in item name.
16132
16133 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16134
16135         * lisp.h: Added Qprinter.
16136
16137         * general.c (syms_of_general): Initialized it.
16138
16139         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16140         (get_frame_dc):
16141         (get_frame_compdc): Made inline.
16142
16143         * console.h (struct console_methods): Added eject_page method.
16144
16145         * frame.h: Added FRAME_DISPLAY_P and friends.
16146         Aligned backslahes in many macros in more readable fashion.
16147         Added page_number to struct frame, and an accessor macro
16148         for it.
16149
16150         * defice.h: Added DEVICE_DISPLAY_P and friends.
16151
16152         * device.c (Fdevice_printer_p): Used these.
16153
16154         * frame.c (allocate_frame_core): Initialize page number.
16155         (Fprint_job_page_number):
16156         (Fprint_job_eject_page): Implemented.
16157
16158         * frame-msw.c (msprinter_eject_page): Added method.
16159         (msprinter_start_page): Added.
16160
16161         * window.c (Fwindow_truncated_p): Fixed docstring.
16162         (Fwindow_last_line_visible_height): Implemented.
16163
16164 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16165
16166         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16167
16168 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16169
16170         * syntax.c (scan_words): Always advance at least one character.
16171
16172 2000-02-13  Andy Piper  <andy@xemacs.org>
16173
16174         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16175         to make sure the glyph is in the cachels.
16176
16177         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16178         global image instance flag.
16179         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16180         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16181
16182         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16183         (Fset_image_instance_property): mark layout as changed.
16184         (invalidate_glyph_geometry_maybe): mark layout as changed.
16185         (glyph_width): use new NEEDS_LAYOUT macro.
16186         (glyph_ascent): ditto.
16187         (glyph_descent): ditto.
16188         (glyph_height): ditto.
16189         (image_instance_layout): mark layout as clean after laying out.
16190         (update_subwindow): don't mark layout as clean here.
16191
16192         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16193         should no longer be needed.
16194
16195         * glyphs-x.c (x_update_widget): sanitize asserts.
16196         (x_finalize_image_instance): sanitize assignment to widgets.
16197
16198         * glyphs-widget.c (widget_instantiate): don't need to clear the
16199         layout flag here.
16200
16201 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16202
16203         * sysdep.c (getcwd): Use standard prototype.
16204         * sysdep.h (getcwd): Use standard prototype.
16205
16206         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16207         (sequence, start, end).
16208         Remove redundant type checking.
16209         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16210         view of `caller-protects') to avoid a crash where the real fix was
16211         found elsewhere.
16212
16213 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16214
16215         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16216
16217         * s/sol2.h: Remove feature macro initialization.
16218
16219         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16220         (vector_hash): New.  Code from internal_hash.
16221         * lrecord.h:
16222         Fix up allocation subsystem comments.
16223
16224         * config.h.in: Add __EXTENSIONS__ for Solaris.
16225
16226         * systime.h (EMACS_GETTIMEOFDAY): New.
16227         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16228         Remove Solaris-specific code.
16229         Use void* for the (ignored) second arg for gettimeofday().
16230
16231         * elhash.c (hash_table_hash): Implement it, finally.
16232         * elhash.c:  Use hashcode_t.
16233
16234         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16235         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16236
16237         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16238         * fns.c (size_bit_vector):
16239         * alloc.c (size_vector):
16240         (make_vector_internal):
16241         (make_bit_vector_internal):
16242         (sweep_bit_vectors_1):
16243         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16244
16245 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16246
16247         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16248         Include strings.h to avoid warnings for bzero and strcasecmp.
16249
16250 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16251
16252         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16253         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16254
16255         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16256         sequence.
16257
16258 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16259
16260         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16261         use a value field instead.
16262         (symbol_value_forward_forward): Use value field.
16263         (DEFVAR_SYMVAL_FWD): Use value field.
16264         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16265         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16266         (DEFVAR_CONST_INT): Ditto.
16267         (DEFVAR_BOOL): Ditto.
16268         (DEFVAR_CONST_BOOL): Ditto.
16269         (DEFVAR_INT_MAGIC): Ditto.
16270         (DEFVAR_BOOL_MAGIC): Ditto.
16271
16272         * symbols.c (guts_of_unbound_marker): Use value field.
16273         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16274         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16275
16276         * lisp.h: Declare dumpopaque and noninteractive1.
16277
16278         * alloc.c (dumpopaque): Added.
16279         (pdump_dump_opaquevec): Added.
16280         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16281         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16282         noninteractive.
16283
16284 2000-02-10  Andy Piper  <andy@xemacs.org>
16285
16286         * glyphs.c (image_instance_layout): if the size changes, mark it
16287         as such.
16288
16289         * redisplay-output.c (redisplay_output_layout): Update the
16290         subwindow here.
16291         (redisplay_output_subwindow): ditto.
16292
16293         * glyphs.c (update_subwindow): make sure we reset flags for
16294         layouts as well as everything else.
16295
16296         * glyphs-widget.c (layout_layout): don't need to set the instances
16297         dimensions here.
16298
16299 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16300
16301         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16302         not HAVE_DLOPEN, which is a lower-level thing.
16303
16304         * .cvsignore: Ignore gmon.out
16305
16306 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16307
16308         * .cvsignore: Ignore portable dumper xemacs.dmp file
16309
16310 2000-02-09  Andy Piper  <andy@xemacs.org>
16311
16312         * redisplay-output.c (redisplay_output_layout): be more clever
16313         about when we output based on the changed flags.
16314
16315         * glyphs.h (struct image_instantiator_methods): add update_method.
16316         (struct Lisp_Image_Instance): add changed flags. Declare new
16317         macros for manipulating them.
16318
16319         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16320         (image_instance_parent_glyph): find an image_instance's parent
16321         glyph or image_instance.
16322         (image_instance_layout): mark the size as changed.
16323         (set_image_instance_dirty_p): new function. mark an image
16324         instance, plus all of its parents, as dirty.
16325         (Fset_image_instance_property): use it.
16326         (Fglyph_animated_timeout_handler): use it.
16327         (update_subwindow): call update_widget and device methods for
16328         update_subwindow. Mark all changed flags as clean.
16329         (Fresize_subwindow): mark size as changed.
16330
16331         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16332         failures.
16333         (x_update_subwindow): only resize subwindows here.
16334         (x_update_widget): new function. Update all changed properties of
16335         a widget.
16336         (x_resize_subwindow): deleted.
16337         (x_widget_set_property): deleted.
16338         (x_progress_gauge_set_property): deleted.
16339         (x_progress_gauge_update): new function. Implement recorded
16340         changes.
16341         (x_tab_control_update): ditto.
16342         (x_tab_control_set_property): deleted.
16343         (console_type_create_glyphs_x): declare new functions.
16344         (image_instantiator_format_create_glyphs_x): ditto.
16345
16346         * glyphs-widget.c (widget_set_property): mark text changed.
16347         (update_widget): new function. Update properties of a widget.
16348         (widget_instantiate): for layouts make sure we set their
16349         children's parent correctly.
16350         (tab_control_set_property): new function. Record changes that will
16351         take place under redisplay's control.
16352         (progress_gauge_set_property): ditto.
16353         (image_instantiator_progress_guage): declare new functions.
16354         (image_instantiator_tab_control): ditto.
16355
16356         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16357         now.
16358         (mswindows_update_widget): new function. Update all properties on
16359         a widget that have changed.
16360         (mswindows_button_update): new function. Update a button's set
16361         state.
16362         (mswindows_tab_control_update): new function. Update the items in
16363         a tab.
16364         (mswindows_tab_control_set_property): deleted.
16365         (mswindows_progress_gauge_update): new function. Update the
16366         progress gauge's progress.
16367         (mswindows_widget_set_property): deleted. This is all done
16368         asynchronously now.
16369         (mswindows_progress_gauge_set_property): ditto.
16370         (console_type_create_glyphs_mswindows): declare new methods.
16371         (image_instantiator_format_create_glyphs_mswindows): ditto.
16372
16373         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16374         (msprinter_set_frame_properties): ditto.
16375
16376         * console.h (struct console_methods): Add update_widget_method.
16377
16378 2000-02-09  Andy Piper  <andy@xemacs.org>
16379
16380         * gui-msw.c (Fmswindows_shell_execute): Make
16381         mswindows-shell-execute industrial strength.
16382
16383 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16384
16385         * lrecord.h: Make macro argument `props' match member function `plist'.
16386         * fns.c (Fget):
16387         * fns.c (Fput):
16388         * fns.c (Fremprop):
16389         * fns.c (Fobject_plist):
16390         * alloc.c:
16391         * symbols.c:
16392         Object property list frobbing cleanup.
16393         - Allow any lisp object (compared with `eq'), not just symbols, as
16394           keys in object plists.
16395         - Move symbol plist frobbing into symbols.c, where it belongs.
16396         - Move string plist frobbing into alloc.c, where it belongs.
16397         - Everything's an lrecord now, so no need to test for symbolp, etc.
16398         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16399
16400         * extents.c: Reorder code to remove declarations.
16401
16402         * frame.h (store_in_alist): Remove useless declaration.
16403
16404 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16405
16406         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16407         * config.h.in: Add HAVE_XCONVERTCASE.
16408
16409 2000-02-07  Andy Piper  <andy@xemacs.org>
16410
16411         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16412         it breaks many things.
16413
16414 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16415
16416         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16417         actually can start a common comment type.
16418         * src/syntax.h (SYNTAX_END_P): ditto for end.
16419
16420 2000-02-07  Martin Buchholz <martin@xemacs.org>
16421
16422         * XEmacs 21.2.28 is released.
16423
16424 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16425
16426         * event-Xt.c (x_keysym_to_character): New.
16427         (maybe_define_x_key_as_self_inserting_character): New.
16428         (x_has_keysym): New.
16429         Auto-define all keys on the keyboard as self-insert-key.
16430
16431 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16432
16433         * menubar.c (vars_of_menubar): A small code simplification.
16434
16435         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16436
16437         * ExternalShell.c:
16438         * ExternalClient.c:
16439         * EmacsShell-sub.c:
16440         * EmacsManager.c:
16441         * EmacsFrame.c:
16442         Use consistent style for specifying X resources.
16443
16444         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16445         This makes (dontusethis-set-symbol-value-handler) actually usable.
16446
16447         * lrecord.h (lrecord_decription_type):
16448         * alloc.c (pdump_register_sub):
16449         (pdump_dump_data):
16450         (pdump_reloc_one):
16451         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16452         Comply with XEmacs coding style.
16453         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16454         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16455
16456         * keymap.c (Faccessible_keymaps):
16457         Make (accessible-keymaps map "\C-h") do the Right Thing.
16458         Make (accessible-keymaps map []) do the Right Thing.
16459         Make (accessible-keymaps map "") do the Right Thing.
16460         (check_keymap_definition_loop): New function.
16461         (keymap_store_internal): Keep luser from shooting self in foot,
16462           via (define-key ctl-x-4-map "p" global-map).
16463         Remove fullness slot from struct Lisp_Keymap, since hash tables
16464         are now reliable.
16465         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16466
16467 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16468
16469         * redisplay.c (init_redisplay): Fix small memory leak.
16470         * elhash.h:
16471         * elhash.c (pdump_reorganize_hash_table):
16472         Rename from reorganize_hash_table. Change prototype.
16473         Reuse the original memory for hentries.  Save 100k.
16474         * alloc.c (PDUMP_READ): new macro.
16475         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16476         * alloc.c: No need to #ifndef before #undef.
16477
16478         * print.c: Allow debug_print() to print readably by modifying
16479         debug_print_readably.  Use consistent variable names.
16480
16481         * .dbxrc: Try to get things to work even if stopped in a function
16482         without source available by explicitly specifying source files.
16483 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16484
16485         * unexnt.c (_start): Removed bogus code which caused loading heap
16486         from differrent executable file.
16487         Removed bogus assignment to _fmode, which caused inconsistencies.
16488
16489 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16490
16491         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16492         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16493         Do not preliminary `#define signal sigset'.
16494
16495         * systime.h: Do not prototype environ on windows nt and cygwin,
16496         this conflicts with system header.
16497
16498         * syssignal.h: Use correct define for WINDOWSNT
16499
16500         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16501         with system header.
16502
16503         * sysdep.c (near start of file): Fixed commentary and rearranged
16504         ifdefs in readable order.
16505         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16506         (start_of_text):
16507         (end_of_text):
16508         (end_of_data): Do not compile in if using PDUMP.
16509
16510         * symsinit.h: Prototyped vars_of_nt().
16511
16512         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16513         (find_child_console): Use it.
16514         (sys_kill): Use it.
16515
16516         * ntheap.h: Do not extern os_subtype.
16517
16518         * ntheap.c (cache_system_info): Do not cache unneeded:
16519         nt_major_version, nt_minor_version and os_subtype.
16520         (recreate_heap): Do not compile in when PDUMPing.
16521
16522         * nt.c (geteuid and friends): Use the new varibale
16523         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16524         (init_user_info): Removed the above mentioned hackery.
16525         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16526         stat has been fixed in the C runtime.
16527         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16528
16529         * file-coding.c (struct file_coding_dump): Do not define
16530         ucs_to_mule_table in the struct if not MULE.
16531         (struct struct lrecord_description fcd_description_1): Do not dump
16532         the above.
16533
16534         * emacs.c (main_1): Call vars_of_nt().
16535         (right before Fdump_emacs_data): Don't need lastfile if using both
16536         portabe dumper and system malloc.
16537
16538         * alloc.c (Fmemory_limit): Conditionalized out.
16539         (pdump): Use OPEN_BINARY for the portable dump file.
16540         (pdump_load): Ditto.
16541
16542 2000-02-02  Mike Alexander  <mta@arbortext.com>
16543
16544         * nt.c (convert_time): Set tm_isdst before calling mktime and
16545         avoid calling it at all if the compiler supports 64 bit integers.
16546         Also initialize utc_base_ft before using it.
16547
16548 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16549
16550         * frame.c (change_frame_size_1): Take f->internal_border_width
16551         into consideration when calculating the width of the frame.
16552
16553 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16554
16555         * window.c (frame_min_height):
16556         (frame_size_valid_p):
16557         (frame_pixsize_valid_p): Added.
16558         (check_frame_size): Generalized.
16559
16560         * window.h: Prototyped the above.
16561
16562         * lisp.h:
16563         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16564         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16565         Deleted Vwin32_* and Vbinary_process_* unused variables.
16566
16567         * device-msw.c (msprinter_init_device): Do not get printer font
16568         list; Added DEVMODE functions.
16569
16570         * frame-msw.c: Added lots of printer code.
16571
16572         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16573         general.c.
16574
16575         * console-msw.h: Added more msprinter device private slots.
16576
16577 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16578
16579         * event-msw.c (key_needs_default_processing_p): Added.
16580         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16581
16582 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16583
16584         * glyphs.c (image_instance_layout): Mark image instance as clean
16585         after layout.
16586         (glyph_dirty_p): Removed redundant function.
16587         (invalidate_glyph_geometry_maybe): Added.
16588         (update_glyph_cachel_data): Call it.
16589
16590         * glyphs.h: Prototyped it.
16591
16592         * redisplay.c (add_glyph_rune): Call it.
16593         (redisplay_window): Reset glyphs cachels when frame faces have
16594         changed, thus forcing recomputation of built-in border glyphs.
16595
16596 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16597
16598         * Makefile.in.in: Make portable dumper and purify play well together.
16599         Add imperfect, but better than nothing, support for pdump.
16600         Remove xemacs.dmp when temacs is re-generated.
16601         Don't ignore errors when dumping xemacs.
16602
16603         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16604
16605 2000-01-28  Andy Piper  <andy@xemacs.org>
16606
16607         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16608         (setup_normal_frame): ditto.
16609         (setup_frame_without_minibuffer): ditto.
16610         (setup_minibuffer_frame): ditto.
16611         (delete_frame_internal): ditto.
16612         (Fmake_frame_invisible): ditto.
16613         (Ficonify_frame): ditto.
16614
16615         * window.h: change Fset_window_buffer signature.
16616
16617         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16618         (Fset_window_buffer): allow recording of buffer if the window is
16619         the selected window.
16620         (window_loop): Use new Fset_window signature.
16621
16622 2000-01-23  Daniel Pittman  <daniel@danann.net>
16623
16624         * config.h.in: Added template for `HAVE_ATHENA_3D'
16625
16626 2000-01-29  Andy Piper  <andy@xemacs.org>
16627
16628         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16629
16630         * gutter.c (output_gutter): Don't output if the window isn't live.
16631
16632 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16633
16634         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16635         of 01/12/00: Moved SetFocus back here where it belongs.
16636
16637 2000-01-23  Andy Piper  <andy@xemacs.org>
16638
16639         * s/cygwin32.h: declare printer things.
16640
16641 2000-01-26  Andy Piper  <andy@xemacs.org>
16642
16643         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16644         Alexander.
16645
16646 2000-01-24  Andy Piper  <andy@xemacs.org>
16647
16648         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16649         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16650
16651         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16652
16653         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16654
16655         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16656
16657         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16658         (mswindows_output_display_block): Avoid local shadows.
16659
16660         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16661         (mswindows_enqueue_mouse_button_event): ditto.
16662         (mswindows_handle_gui_wm_command): remove declaration.
16663
16664         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16665         warnings.
16666
16667         * console-msw.h: Avoid shadows.
16668         (mswindows_get_toolbar_button_text):
16669         (emacs_mswindows_create_stream_pair):
16670         (emacs_mswindows_delete_stream_pair):
16671         (mswindows_handle_toolbar_wm_command): declare.
16672
16673         * device-msw.c (build_syscolor_string): Avoid shadows.
16674
16675 2000-01-23  Andy Piper  <andy@xemacs.org>
16676
16677         * glyphs-widget.c (widget_instantiate): reverse the items for
16678         layouts so that children are in the expected order.
16679
16680 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16681
16682         * ralloc.c: safe_bcopy ==> memmove
16683         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16684         * s/msdos.h: Remove BCOPY macros.
16685         * insdel.c (gap_right): Remove BCOPY conditional code.
16686         * insdel.c (gap_left): Remove BCOPY conditional code.
16687         XEmacs demands a working ANSI C compiler - hence memmove.
16688
16689         * regex.c (regex_compile): Remove accidental use of trigraphs.
16690
16691 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16692
16693         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16694         event timestamp.
16695
16696 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16697
16698         * event-msw.c (mswindows_drain_windows_queue): Added the
16699         parameter.
16700         (mswindows_need_event): Commented the call to
16701         mswindows_drain_windows_queue().
16702         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16703         only.
16704
16705         * console-msw.h: Moved a few function prototypes here from
16706         event-msw.c.
16707
16708         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16709         parameter from unsigned short to unsigned long.
16710         (Fmswindows_shell_execute): Added return value.
16711
16712 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16713
16714         * sysdep.c (init_system_name):
16715           process-unix.c (unix_canonicalized_host_name):
16716         Don't call freeaddrinfo() if getaddrinfo() fails.
16717
16718         * process-unix.c (unix_open_unix_network_stream):
16719         Moved the code to get a port # into address loop.
16720
16721 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16722
16723         * buffer.c (reinit_vars_of_buffer):
16724         The right place to initialize conversion_in_dynarr and
16725         conversion_out_dynarr.
16726
16727         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16728
16729         * process-unix.c (unix_canonicalize_host_name): Muleize.
16730         (unix_open_network_stream): Muleize.
16731
16732         * buffer.h: Fix up prototypes for ralloc.c functions.
16733
16734 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16735         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16736         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16737                 instead of gethostbyname()
16738         * process-unix.c: In unix_canonicalize_host_name() and
16739                 unix_open_network_stream(), add code to use getaddrinfo()
16740                 instead of gethostbyname().
16741
16742 2000-01-27  Daniel Pittman <daniel@danann.net>
16743
16744         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16745         libs when built with flat Athena.
16746
16747 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16748
16749         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16750         Use coding standards for function prototypes.
16751
16752 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16753
16754         * dialog-msw.c (push_lisp_string_as_unicode):
16755         * doc.c (unparesseuxify_doc_string):
16756         * dired.c (Fuser_name_completion_1):
16757         * dired.c (Fuser_name_all_completions):
16758         * dired.c (free_user_cache):
16759         * dired.c (user_name_completion):
16760         * console-x.c (get_display_arg_connection):
16761         * minibuf.c (clear_echo_area_internal):
16762         * minibuf.c (echo_area_append):
16763         * eldap.c (Fldap_open):
16764         * eldap.c (Fldap_search_internal):
16765         * frame-x.c (x_set_frame_text_value):
16766         * frame-x.c (x_set_frame_properties):
16767         * frame-x.c (x_create_widgets):
16768         * redisplay-tty.c (term_get_fkeys_1):
16769         * objects-x.c (x_parse_nearest_color):
16770         * objects-x.c (x_valid_color_name_p):
16771         * objects-x.c (x_initialize_font_instance):
16772         * objects-x.c (x_list_fonts):
16773         * objects-x.c (x_find_charset_font):
16774         * tooltalk.c (Fadd_tooltalk_message_arg):
16775         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16776         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16777         * process-unix.c (unix_create_process):
16778         * ntproc.c (sys_spawnve):
16779         * sound.c (Fplay_sound_file):
16780         * sound.c (Fplay_sound):
16781         * buffer.c (init_initial_directory):
16782         * buffer.c (init_buffer):
16783         * editfns.c (init_editfns):
16784         * editfns.c (Ftemp_directory):
16785         * editfns.c (Fuser_full_name):
16786         * editfns.c (uncache_home_directory):
16787         * editfns.c (get_home_directory):
16788         * editfns.c (Fuser_home_directory):
16789         * editfns.c (Fformat_time_string):
16790         * editfns.c (Fcurrent_time_string):
16791         * gui-x.c (button_item_to_widget_value):
16792         * database.c (Fopen_database):
16793         * event-Xt.c (x_to_emacs_keysym):
16794         * event-Xt.c (x_event_to_emacs_event):
16795         * event-Xt.c (describe_event_window):
16796         * event-msw.c (mswindows_wnd_proc):
16797         * glyphs-eimage.c (jpeg_instantiate):
16798         * glyphs-eimage.c (gif_instantiate):
16799         * glyphs-eimage.c (png_instantiate):
16800         * glyphs-eimage.c (tiff_instantiate):
16801         * glyphs-x.c (xbm_instantiate_1):
16802         * glyphs-x.c (x_xbm_instantiate):
16803         * glyphs-x.c (x_xface_instantiate):
16804         * glyphs-x.c (autodetect_instantiate):
16805         * glyphs-x.c (cursor_font_instantiate):
16806         * glyphs-x.c (x_widget_instantiate):
16807         * glyphs-x.c (x_widget_set_property):
16808         * glyphs-x.c (x_widget_property):
16809         * glyphs-x.c (BUILD_GLYPH_INST):
16810         * print.c (write_string_to_stdio_stream):
16811         * print.c (output_string):
16812         * print.c (Falternate_debugging_output):
16813         * print.c (Fexternal_debugging_output):
16814         * glyphs-msw.c (extract_xpm_color_names):
16815         * glyphs-msw.c (mswindows_xpm_instantiate):
16816         * glyphs-msw.c (bmp_instantiate):
16817         * glyphs-msw.c (resource_name_to_resource):
16818         * glyphs-msw.c (mswindows_resource_instantiate):
16819         * glyphs-msw.c (xbm_instantiate_1):
16820         * glyphs-msw.c (mswindows_xbm_instantiate):
16821         * glyphs-msw.c (mswindows_xface_instantiate):
16822         * glyphs-msw.c (mswindows_widget_instantiate):
16823         * glyphs-msw.c (add_tree_item):
16824         * glyphs-msw.c (add_tab_item):
16825         * glyphs-msw.c (mswindows_combo_box_instantiate):
16826         * glyphs-msw.c (mswindows_widget_property):
16827         * glyphs-msw.c (mswindows_combo_box_property):
16828         * glyphs-msw.c (mswindows_widget_set_property):
16829         * console.c (stuff_buffered_input):
16830         * objects-msw.c (mswindows_initialize_color_instance):
16831         * objects-msw.c (mswindows_valid_color_name_p):
16832         * objects-msw.c (mswindows_list_fonts):
16833         * objects-msw.c (mswindows_font_instance_truename):
16834         * bytecode.c (optimize_compiled_function):
16835         * select-x.c (symbol_to_x_atom):
16836         * select-x.c (x_atom_to_symbol):
16837         * select-x.c (hack_motif_clipboard_selection):
16838         * select-x.c (selection_data_to_lisp_data):
16839         * select-x.c (lisp_data_to_selection_data):
16840         * select-x.c (Fx_get_cutbuffer_internal):
16841         * select-x.c (Fx_store_cutbuffer_internal):
16842         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16843         * buffer.h (TO_INTERNAL_FORMAT): New function.
16844         * emacs.c (make_arg_list_1):
16845         * emacs.c (make_argc_argv):
16846         * emacs.c (main_1):
16847         * emacs.c (Fdump_emacs):
16848         * emacs.c (split_string_by_emchar_1):
16849         * file-coding.h:
16850         * lisp.h:
16851         * lstream.h:
16852         * symsinit.h:
16853         * device-x.c (x_init_device):
16854         * device-x.c (Fx_valid_keysym_name_p):
16855         * device-x.c (Fx_get_font_path):
16856         * device-x.c (Fx_set_font_path):
16857         * glyphs.c (bitmap_to_lisp_data):
16858         * glyphs.c (pixmap_to_lisp_data):
16859         * alloc.c (make_ext_string): Use coding system arguments.  Update
16860         all callers.
16861         * alloc.c (build_string):
16862         * callproc.c (child_setup):
16863         * callproc.c (init_callproc):
16864         * fileio.c (lisp_strerror):
16865         * fileio.c (directory_file_name):
16866         * fileio.c (Fexpand_file_name):
16867         * fileio.c (Ffile_truename):
16868         * fileio.c (Fsysnetunam):
16869         * fileio.c (Fdo_auto_save):
16870         * sysdep.c (sys_readdir):
16871         * tests.c: New file.  Allow adding C tests.
16872         Replace GET_* macros with a more comprehensible and flexible
16873         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16874         Modify all calls.
16875         Any coding system can be used to do format conversion.
16876         Eliminate enum external_data_format.
16877         Eliminate convert_to_external_format.
16878         Eliminate convert_to_internal_format.
16879         Make sure file-name, keyboard, terminal, and ctext are always
16880         defined as coding systems or aliases.  Make
16881         file-name-coding-system, terminal-coding-system, and
16882         keyboard-coding-system magical variables that are equivalent to
16883         defining the corresponding coding system aliases.
16884
16885         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16886         * file-coding.c (Fcoding_system_alias_p): New function.
16887         * file-coding.c (Fcoding_system_aliasee): New function.
16888         * file-coding.c (append_suffix_to_symbol): New function.
16889         * file-coding.c (dangling_coding_system_alias_p): New function.
16890         * file-coding.c (Ffind_coding_system):
16891         * file-coding.c (Fcopy_coding_system):
16892         * file-coding.c (encode_coding_no_conversion):
16893         * file-coding.c (syms_of_file_coding):
16894         * file-coding.c (vars_of_file_coding):
16895         Rewrite coding system alias code.
16896         Allow nested aliases, like symbolic links.
16897         Allow redefinition of coding system aliases.
16898         Prevent existence of dangling coding system aliases.
16899
16900         * dired.c (Fuser_name_completion_1):
16901         * dired.c (Fuser_name_all_completions):
16902         A crash would happen if user did QUIT in the middle of building
16903         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16904
16905         * lisp.h:
16906         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16907
16908         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16909         an unsigned char *.  Update all callers.
16910
16911 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16912
16913         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16914
16915 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16916
16917         * elhash.c (hentry_description): Use more portable definition.
16918         (resize_hash_table): Initialize new hentries using
16919         xnew_array_and_zero, thereby simplifying the code.
16920
16921         * mule-charset.c (make_charset): Make sure entire object is
16922         initialized, to avoid Purify warnings.
16923
16924         * alloc.c (resize_string): Fix unlikely crash with big strings.
16925
16926 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16927
16928         * realpath.c (xrealpath):
16929         Don't call getwd().
16930
16931 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16932
16933         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16934
16935 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16936
16937         * unexelfsgi.c (unexec): Change the way we decide which segment
16938         should be extended.
16939
16940         Assumption that .bss section should be outside the PT_LOADable
16941         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16942         it's present) is inside the 'data' segment. This would fail the
16943         test which was used to find a segment to grow and cover new
16944         heap. Instead of this assumption, I created another one - on IRIX
16945         the segment to grow should start below .bss and it's address
16946         should extent above the end of .bss. Once this segment is
16947         identified, it's grown to accommodate the new heap and new
16948         zero-length .bss section is added at the end of .data2.
16949
16950 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16951
16952         * eval.c (Feval): Wrong number of arguments should use original
16953         function, not the indirect_function version of it.
16954
16955 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16956
16957         * glyphs-x.c (x_button_instantiate): Don't add image if
16958         it is not a pixmap.
16959         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16960         is relative.
16961
16962 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16963
16964         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16965         declaration.
16966         (DEFVAR_INT_MAGIC): Ditto.
16967         (DEFVAR_BOOL_MAGIC): Ditto.
16968         * glyphs.h: Reindent backslash.
16969
16970 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16971
16972         * glyphs-widget.c (layout_query_geometry):
16973         (layout_layout): Use correct types for gheight, gwidth.
16974
16975 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16976
16977         * EmacsManager.c (QueryGeometry): Purified.
16978
16979 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16980
16981         * alloc.c (make_float): Make sure entire object is initialized, to
16982         avoid Purify warnings.
16983         (pdump_register_sub): Remove useless assignment.
16984         (pdump): Use xmalloc, not malloc.
16985         (pdump_load): Use xmalloc, not malloc.
16986
16987 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16988
16989         * callproc.c:
16990         * dired-msw.c:
16991         * fileio.c:
16992         * process-nt.c:
16993         * redisplay-msw.c:
16994         * sysdep.c: Removed redundant #include <windows.h>
16995
16996 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16997
16998         * frame.c (delete_frame_internal): Do not delete device when its
16999         implementation so declares.
17000         (delete_frame_internal): Set device selected frame to nil when
17001         last frame goes away.
17002
17003         * device-msw.c (msprinter_device_system_metrics): Implemented.
17004         (mswindows_device_system_metrics): Added 'device-dpi property.
17005
17006         * device.c: (Fdevice_printer_p): Added.
17007         Added 'offset-workspace device metric.
17008
17009         * console.h (device_metrics): Declared DM_offset_workspace.
17010
17011 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17012
17013         * fileio.c (Ffile_truename): Remove pointless and confusing
17014         initialization of elen.
17015
17016         * glyphs-widget.c: Compiler warning fixes.
17017
17018 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17019
17020         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17021         instead of a Lisp_Object as argument to make it consistent with
17022         the other LIVE_P macros.
17023         (CHECK_LIVE_PROCESS): New macro.
17024
17025         * process.c: Declare Qprocess_live_p.
17026         (Fprocess_live_p): New function.
17027         (create_process): Use PROCESS_LIVE_P.
17028         (read_process_output): Ditto.
17029         (set_process_filter): Ditto.
17030         (Fdelete_process): Ditto.
17031         (kill_buffer_processes): Ditto
17032         (process_send_signal): Use CHECK_LIVE_PROCESS.
17033         (Fprocess_input_coding_system): Check whether process is still
17034         alive (fix PR#1061).
17035         (Fprocess_output_coding_system): Ditto.
17036         (Fprocess_coding_system): Ditto.
17037         (Fset_process_input_coding_system): Ditto.
17038         (Fset_process_output_coding_system): Ditto.
17039
17040 2000-01-23  Andy Piper  <andy@xemacs.org>
17041
17042         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17043         layout and widget.
17044
17045         * glyphs.c (mark_image_instance): take into account changed
17046         image_instance format.
17047         (image_instance_equal): ditto.
17048         (image_instance_hash): ditto.
17049
17050         * glyphs-widget.c (widget_instantiate): Incorporate layout
17051         instantiation here. Delay layout of the layout until later.
17052         (layout_instantiate): deleted.
17053         (layout_query_geometry): new function. get the geometry of a
17054         layout.
17055         (layout_layout): layout a layout dynamically.
17056         (image_instantiator_widget): New function - splitting up
17057         image_instantiator_format_create_glyphs_widget for netwinder
17058         compilation.
17059         (image_instantiator_buttons):
17060         (image_instantiator_edit_fields):
17061         (image_instantiator_combo_box):
17062         (image_instantiator_scrollbar):
17063         (image_instantiator_progress_guage):
17064         (image_instantiator_tree_view):
17065         (image_instantiator_tab_control):
17066         (image_instantiator_labels):
17067         (image_instantiator_layout): ditto.
17068         (image_instantiator_format_create_glyphs_widget): Call preceding
17069         functions.
17070
17071 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17072
17073         * process.c (Fset_process_coding_system):
17074         * device-x.c (Fx_keysym_hash_table):
17075         Docstring fixes.
17076
17077         * lstream.c (Lstream_write): Return documented value, not 0.
17078
17079         * fileio.c (directory_file_name):
17080         (Fsubstitute_in_file_name):
17081         (Fsubstitute_insert_file_contents_internal):
17082         (Fwrite_region_internal):
17083         * emacs.c:
17084         * sysdep.c:
17085         * getloadavg.c:
17086         * systty.h:
17087         Remove vestigial APOLLO-conditional code.
17088
17089 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17090
17091         * getpagesize.h: Add guard macros.
17092         * libsst.h: Add guard macros.
17093         * libst.h: Add guard macros.
17094         * line-number.h: Add guard macros.
17095         * ndir.h: Add guard macros.
17096         * sysfloat.h: Add guard macros.
17097         * sysfile.h: Add guard macros.
17098         * sysproc.h: Add guard macros.
17099         * syswait.h: Add guard macros.
17100         * xintrinsic.h: Add guard macros.
17101         * xintrinsicp.h: Add guard macros.
17102         * xmmanager.h: Add guard macros.
17103         * xmmanagerp.h: Add guard macros.
17104         * xmprimitive.h: Add guard macros.
17105         * xmu.h: Add guard macros.
17106         * gpmevent.h: Add copyright statement. Add guard macros.
17107         * miscplay.h: Add guard macros.
17108         * *.h: Use consistent C-standards-approved guard macro names.
17109
17110         * opaque.c (make_opaque): Switch parameter order.
17111         * opaque.h (make_opaque): Switch parameter order.
17112         Update all callers.
17113         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17114
17115         * config.h.in (type_checking_assert): Added.
17116         (bufpos_checking_assert): Added.
17117
17118 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17119
17120         * alloc.c: Harmless pdump changes.
17121         - Use countof().
17122         - spell alignment correctly.
17123         * sysdep.c: Use countof()
17124
17125 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17126
17127         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17128         initially_selected_for_input() console method, default to 0.
17129         (semi_canonicalize_console_connection): Try to delegate to
17130         canonicalize_console_connection if no such console method.
17131         (canonicalize_console_connection): Vice versa.
17132         (print_console): Do not print nil connection.
17133
17134         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17135         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17136         (XDEVIMPF_FRAMELESS_OK): Added.
17137         (CONSOLE_INHERITS_METHOD): Added.
17138
17139         * console-msw.c (mswindows_canonicalize_console_connection):
17140         Added.
17141         (mswindows_canonicalize_device_connection): Added.
17142
17143         * console-msw.h (struct msprinter_device): Added this struct and
17144         accessor macros.
17145         (mswindows_device): Made fontlist a lisp object.
17146
17147         * device.c (semi_canonicalize_device_connection):  Try to delegate
17148         to canonicalize_device_connection if no such console method.
17149         (canonicalize_device_connection): Vice versa.
17150         (print_device): Do not print nil connection.
17151
17152         * device-msw.c (mswindows_init_device): Call InitCommonControls
17153         when have widgets.
17154         (mswindows_delete_device): Removed fontlist deallocation.
17155         (mswindows_mark_device): Added.
17156
17157         * events.c (event_equal): Added abort() at unreached code.
17158         (event_hash): Ditto.
17159
17160         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17161         fallback tags of Windows devices.
17162
17163         * general.c (syms_of_general): Initialized Qmsprinter.
17164
17165         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17166         of fallback tags of Windows devices.
17167
17168         * lisp.h: Declared Qmsprinter.
17169
17170         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17171         of strings.
17172         (mswindows_list_fonts): Ditto.
17173         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17174         that it can be used by both mswindows and msprinter devices.
17175         (initialize_font_instance): Added.
17176         (mswindows_initialize_font_instance): Use it.
17177         (msprinter_initialize_font_instance): Added.
17178
17179         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17180         and implementation flags check.
17181         (redisplay_without_hooks): Changed the call to the above.
17182         (Fredraw_device): Ditto.
17183         (Fredisplay_device): Ditto.
17184
17185         * redisplay-msw.c (get_frame_dc): Implemented.
17186         (get_frame_compdc): Implemented.
17187         (many functions): Use the two functions above to get device
17188         contexts, ether for a window or a printer.
17189
17190 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17191
17192         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17193         initialization here.
17194         (init_symbols_once_early): Call it.
17195         * emacs.c (main_1): Call it.
17196         * symsinit.h: Declare it.
17197
17198 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17199
17200         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17201         Lisp_Object.
17202         (pdump_backtrace): Ditto.
17203         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17204         (pdump_get_entry): Abort if trying to register a null pointer.
17205         (pdump_dump_data): Cleanup types when relocating.
17206         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17207         (pdump_dump_rtables): Remove bad casts.
17208         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17209         Lisp_Object instead of a EMACS_INT for the hashtable
17210         reorganization.
17211
17212 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17213
17214         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17215
17216         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17217
17218         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17219
17220         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17221
17222 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17223
17224         * faces.h (FACE_STRIKETHRU_P): Added.
17225
17226         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17227         of font variants.
17228
17229         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17230         (mswindows_set_dc_font): New function, aware of font variants,
17231         separated from mswindows_update_dc.
17232
17233         * objects-msw.h (struct mswindows_font_instance_data): Added
17234         definition.
17235
17236         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17237         cached fonts and the data structure.
17238         (mswindows_initialize_font_instance): Added creation of font data
17239         structure.
17240         (mswindows_print_font_instance): Print at least something.
17241         (mswindows_create_font_variant): Implemented.
17242         (mswindows_get_hfont): Implemented.
17243
17244 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17245
17246         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17247         prototyping problem with msvc.
17248
17249         * emacs.c (main_1): added syms_of_gui_mswindows() call
17250
17251         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17252         syms_of_gui_mswindows() function
17253
17254         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17255
17256 2000-01-18  Martin Buchholz <martin@xemacs.org>
17257
17258         * XEmacs 21.2.27 is released.
17259
17260 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17261
17262         * glyphs-eimage.c (struct tiff_error_struct):
17263         (tiff_error_func):
17264         (tiff_warning_func):
17265         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17266
17267         * unexmips.c:
17268         * unexhp9k3.c:
17269         * unexfreebsd.c:
17270         * unexec.c: Remove vestigial Lucid C code.
17271         * unexalpha.c:
17272         * unexaix.c:
17273         * termcap.c:
17274         * libsst.c: Ansify.
17275         Remove declarations of errno and strerror().
17276
17277         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17278
17279         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17280
17281 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17282
17283         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17284         Optimize.
17285
17286 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17287
17288         * md5.c:
17289         * file-coding.c:
17290         * file-coding.h:
17291         Change enum eol_type to eol_type_t.
17292
17293 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17294
17295         * gui.c (get_gui_callback): Check cons before accessing car.
17296
17297 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17298
17299         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17300         (XSETSPECIFIER_TYPE): Ditto.
17301
17302 2000-01-17  Didier Verna  <didier@xemacs.org>
17303
17304         * redisplay.c (generate_fstring_runes): compute string size in
17305         characters, not bytes.
17306
17307 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17308
17309         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17310
17311 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17312
17313         * print.c (print_error_message): Call print_prepare().
17314
17315 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17316
17317         * .dbxrc: Renamed from dbxrc.
17318
17319         * events.c (event_to_character):
17320         Use `assert (foo)' instead of `if (!foo) abort()'
17321
17322         * .gdbinit (xtype): Add documentation.
17323         * .gdbinit (check-temacs): New function.
17324         * .gdbinit (check-xemacs): New function.
17325         * dbxrc (check-xemacs): New function.
17326         * dbxrc (check-xemacs): New function.
17327
17328 2000-01-14  Andy Piper  <andy@xemacs.org>
17329
17330         * glyphs-widget.c (widget_query_geometry): Make sure that we
17331         calculate default dimensions correctly.
17332
17333 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17334
17335         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17336
17337         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17338         pdump_wire'd variable.
17339
17340         * emacs.c: (main_1): Conditionalized calls to
17341         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17342
17343 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17344
17345         * window.c (Fset_window_configuration):
17346         * sysdep.c (_start):
17347         * input-method-motif.c (res):
17348         * event-Xt.c (Xt_process_to_emacs_event):
17349         Simple compiler warning fixes.
17350
17351         * bytecode.c (funcall_compiled_function): Use the original
17352         function symbol on the backtrace list in preference to the
17353         compiled_function object in error messages.
17354
17355 2000-01-13  Andy Piper  <andy@xemacs.org>
17356
17357         * glyphs-x.c (update_widget_face): Make sure we update the widget
17358         background as well as foreground.
17359
17360 2000-01-13  Andy Piper  <andy@xemacs.org>
17361
17362         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17363         fields to subwindow.
17364         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17365         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17366         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17367         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17368
17369         * glyphs-widget.c (check_valid_tab_orientation): new function.
17370         (initialize_widget_image_instance): zero orientation and
17371         justification.
17372         (widget_instantiate): pick up orientation.
17373         (tab_control_query_geometry): return appropriate values for
17374         vertical tabs.
17375
17376         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17377         appropriate creation flags for left, right and bottom tabs.
17378
17379         * s/cygwin32.h: add tab definitions.
17380
17381 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17382
17383         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17384         frame upon hiding a subwindow.
17385         (mswindows_button_instantiate): Changed the push button style to
17386         BS_PUSHBUTTON.
17387         (mswindows_button_instantiate): Removed button BS_NOTIFY
17388         style.
17389         (mswindows_button_instantiate): Removed redundant check for
17390         a disabled gui item.
17391         (mswindows_button_instantiate): Made use of WS_TABSTOP
17392         consistent: "operable" controls (edit, button, tree, scroll) have
17393         this style, "display-only" ones (static, progress gauge) do
17394         not. This style is currently ignored by XEmacs though. Also,
17395         removed the WS_EX_CONTROLPARENT style - it is not for children,
17396         it is for their parents!
17397         (mswindows_edit_field_instantiate): Ditto.
17398         (mswindows_progress_gauge_instantiate): Ditto.
17399         (mswindows_tree_view_instantiate): Ditto.
17400         (mswindows_tab_control_instantiate): Ditto.
17401         (mswindows_scrollbar_instantiate): Ditto.
17402         (mswindows_combo_box_instantiate): Ditto.
17403         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17404         style to the "clip" window.
17405         (mswindows_button_instantiate): Removed compilation warning by
17406         equally typing terms of the ?: operator.
17407
17408 2000-01-12  Didier Verna  <didier@xemacs.org>
17409
17410         * redisplay.c (generate_fstring_runes): new parameter holding the
17411         last modeline-format extent.
17412         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17413         extent, fill the glyph block with it.
17414         (generate_fstring_runes): handle these parameters.
17415         (generate_formatted_string_db): ditto.
17416
17417         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17418         glyphs'extents in the modeline.
17419
17420 1999-01-11  Mike Woolley  <mike@bulsara.com>
17421
17422         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17423         256Mb, as a workaround for the non-starting problem many people
17424         have experienced.
17425
17426 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17427
17428         * console-tty.c (Fset_console_tty_output_coding_system):
17429         Force redrawing tty frame.
17430
17431 2000-01-10  Didier Verna  <didier@xemacs.org>
17432
17433         * redisplay.c (generate_fstring_runes): fix size computation bug.
17434
17435 2000-01-09  William M. Perry <wmperry@aventail.com>
17436
17437         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17438
17439 2000-01-09  Andy Piper  <andy@xemacs.org>
17440
17441         * glyphs-msw.c: index -> i to avoid shadows.
17442         (xbm_create_bitmap_from_data): make static.
17443         (check_valid_string_or_int): deleted.
17444         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17445
17446         * glyphs-x.c (x_update_subwindow): remove unused args.
17447
17448         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17449         back pointer - this is done in allocate_image_instance.
17450         (query_string_font): return Qnil to make the compiler happy.
17451         (unmap_subwindow): set to ~0 to make the compiler happy.
17452         (glyph_query_geometry): comment out until used.
17453         (glyph_layout): ditto.
17454
17455 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17456
17457         * insdel.c (signal_after_change): Remove extraneous unbind_to().