update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_subscript_of): New variable.
4         (put_char_composition): Return `<-subscript' instead of
5         `=decomposition' for compatibility mapping to single character
6         tagged `sub'.
7         (Fput_char_attribute): Convert char-specs in value of
8         `{<-|->}subscript[^*]*' to characters and put reverse links.
9         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
10         for `<-subscript'.
11         (syms_of_chartab): Add new symbol `<-subscript'.
12
13 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (Q_superscript_of): New variable.
16         (put_char_composition): Return `<-superscript' instead of
17         `=decomposition' for compatibility mapping to single character
18         tagged `super'.
19         (Fput_char_attribute): Convert char-specs in value of
20         `{<-|->}superscript[^*]*' to characters and put reverse links.
21         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
22         for `<-superscript'.
23         (syms_of_chartab): Add new symbol `<-superscript'.
24
25 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * chartab.c (Qto_decomposition_at_compat): Deleted.
28         (Qto_decomposition_at_superscript): New variable.
29         (put_char_composition): Use `=>decomposition@superscript' instead
30         of `=decomposition' for compatibility decomposition mapping tagged
31         `super'.
32         (Fput_char_attribute): Fix condition about `put_char_composition'.
33         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
34         add news symbol `=>decomposition@superscript'.
35
36 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
39         for compatibility decomposition mapping tagged FOO.
40         (Fput_char_attribute): Modify for `put_char_composition'.
41
42 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * chartab.c (Qto_decomposition_at_compat): New variable.
45         (Q_compat_of): Renamed from `Q_compatibility_of'.
46         (put_char_composition): Rename `Q_compatibility_of' to
47         `Q_compat_of'; return `=>decomposition@compat' for compatibility
48         decomposition mapping.
49         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
50         `Q_compat_of'.
51         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
52         `<-compatibility' to `<-compat'.
53
54 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * chartab.c (Q_compatibility_of): New variable.
57         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
58         object is proved to be a cons cell; return `<-compatibility' if
59         the first element of argument `value' is `compat'.
60         (Fput_char_attribute): Eliminate the first value if
61         `put_char_composition' returns `<-compatibility'.
62         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
63         for `<-compatibility'.
64         (syms_of_chartab): Add new symbol `<-compatibility'.
65
66 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * chartab.c (Q_canonical): New variable.
69         (put_char_composition): Return a feature name: return
70         `->canonical' if argument `value' specifies single character.
71         (Fput_char_attribute): Use `put_char_composition' to determine
72         feature name for `=decomposition' or `->denotational'.
73         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
74         for `->canonical'.
75         (syms_of_chartab): Add new symbol `->canonical'.
76
77 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * chartab.c (Qmap_decomposition): New variable.
80         (Fput_char_attribute): Convert `->decomposition' to
81         `=decomposition'.
82         (syms_of_chartab): Add new symbol `=decomposition'.
83
84 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * chartab.c (Fget_range_char_table): Fix serious problem when
87         `range' is nil.
88
89 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
90
91         * chartab.c (char_table_get_db): Use `read_from_c_string'.
92
93 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * lread.c (read_from_c_string): New function.
96
97         * lisp.h (read_from_c_string): New prototype.
98
99 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * chartab.c (Fput_char_attribute): Convert char-specs in value of
102         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
103         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
104         for `{<-|->}Oracle-Bones[^*]*'.
105
106 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
109         (Kizu).
110
111 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * text-coding.c (Qccs_priority_list): New variable in XEmacs
114         CHISE.
115         (Fmake_coding_system): Support new property `ccs-priority-list' in
116         XEmacs CHISE.
117         (Fcoding_system_property): Likewise.
118         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
119         Vdefault_coded_charset_priority_list in XEmacs CHISE.
120         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
121         XEmacs CHISE.
122         (complex_vars_of_file_coding): Define new coding-system-property
123         `ccs-priority-list' in XEmacs CHISE.
124
125         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
126
127 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
130         changed to normal function.
131         (encode_char_2): Likewise.
132
133         * mule-charset.c (decoding_table_put_char): Copied from
134         char-ucs.h; changed to normal function.
135         (encode_char_2): Likewise.
136
137 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
140         New extern.
141         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
142         (encode_char_2_search_children): New inline function.
143         (encode_char_2): Refer
144         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
145         and use `encode_char_2_search_children'.
146
147 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * mule-charset.c
150         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
151         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
152         (vars_of_mule_charset): Add new variable
153         `display-coded-charset-priority-use-inheritance' and
154         `display-coded-charset-priority-use-hierarchy-order'.
155
156 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * char-ucs.h (Q_subsumptive): New extern.
159         (Q_denotational): Likewise.
160         (encode_char_2): Search children specified by `->subsumptive' and
161         `->denotational'.
162
163 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * mule-charset.c (complex_vars_of_mule_charset): Modify the
166         X-registry of `ucs-bmp'.
167
168 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * chartab.c (char-variants): Refer `->subsumptive',
171         `->denotational' and `->identical' as same as `->ucs-unified'.
172
173 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * chartab.c (Fput_char_attribute): Convert char-specs in value of
176         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
177         links.
178
179 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * text-coding.c: Add EXFUN for `Fregexp_quote'.
182         (decode_add_er_char): Fix problem about infinite loop when a CCS
183         specified in `coded-charset-entity-reference-alist' is not
184         existed.
185
186 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * mule-charset.c (syms_of_mule_charset): Rename
189         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
190
191 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * fns.c (simplify_char_spec): Don't allocate new character-object
194         if specified char_spec does not have any CCS-features.
195
196         * chartab.h: Add EXFUN for Fdefine_char.
197
198         * chartab.c: Delete EXFUN for Fdefine_char.
199
200 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * fns.c (simplify_char_spec): Use Fdefine_char instead of
203         Ffind_char for char-spec.
204
205 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
206
207         * lisp-disunion.h (XCHARVAL): Fix condition about
208         SIZEOF_EMACS_INT.
209
210 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
213         <int> for `code'.
214         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
215         point; use <Emchar> instead of <int> for character-id.
216
217 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
220         (make_char): Likewise.
221         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
222         environment.
223         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
224         instead of <int> as the type of return value; use <Lisp_Object>
225         instead of <Emchar> as the type of argument.
226         (XCHARVAL[macro version]): Cast the result into <Emchar>.
227
228         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
229         syntaxcode> instead of <int>.
230
231 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * chartab.c (put_char_composition): Use DECODE_CHAR to get
234         character corresponding with UCS code point.
235         (Fput_char_attribute): Likewise.
236
237         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
238         character in the UCS decoding-table if the char-id is not equal to
239         the UCS code point.
240
241 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
244         for aliases; write `description'; write
245         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
246         not 0.
247
248 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * chartab.c (Fsave_char_attribute_table): Don't use
251         `save_charset_properties'.
252
253         * mule-charset.c (Fsave_charset_properties): Renamed from
254         `save_charset_properties' and changed to Lisp function again;
255         write property `type' as `CCS'; write properties `final-byte' and
256         `mother' if they exists.
257         (syms_of_mule_charset): Revive builtin function
258         `save-charset-properties' when HAVE_LIBCHISE is defined.
259
260 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
261
262         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
263         instead of Vexec_directory.
264         (char_attribute_system_db_file): Likewise.
265
266 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * chartab.c (Fsave_char_attribute_table): Use
269         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
270         defined.
271
272         * mule-charset.c (save_charset_properties): Renamed from
273         `Fsave_charset_properties'; changed to non-Lisp function.
274         (syms_of_mule_charset): Abolish builtin function
275         `save-charset-properties'.
276
277 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * mule-charset.c (Fsave_charset_properties): New function when
280         HAVE_LIBCHISE is defined.
281         (syms_of_mule_charset): Add new builtin function
282         `save-charset-properties' when HAVE_LIBCHISE is defined.
283
284 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
285
286         * chartab.c (Fput_char_attribute): Convert char-specs in value of
287         `{<-|->}ancient[^*]*' to characters and put reverse links.
288         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
289         for `{<-|->}ancient[^*]*'.
290
291 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.c (Fput_char_attribute): Convert char-specs in value of
294         `{<-|->}original[^*]*' to characters and put reverse links.
295         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
296         for `{<-|->}original[^*]*'.
297
298 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
301
302 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * mule-charset.c (Qsystem_char_id): New variable.
305
306         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
307         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
308
309 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
310
311         * chartab.c (Fput_char_attribute): When processing a reference of
312         a character, put into the end of the reversed reference of each
313         target character.
314
315 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * chartab.c (Q_same): Deleted.
318         (Q_same_of): Deleted.
319         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
320         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
321         for `{<-|->}same'.
322         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
323
324 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (Q_vulgar): Deleted.
327         (Q_vulgar_of): Deleted.
328         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
329         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
330         for `{<-|->}vulgar'.
331         (syms_of_chartab): Don't define `{<-|->}vulgar'.
332
333 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
334
335         * chartab.c (Fput_char_attribute): Convert char-specs in value of
336         `{<-|->}wrong[^*]*' to characters and put reverse links.
337         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
338         for `{<-|->}wrong[^*]*'.
339
340 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * chartab.c (Q_vulgar): New variable.
343         (Q_vulgar_of): New variable.
344         (Fput_char_attribute): Convert char-specs in value of
345         `{->|<-}vulgar' to characters and put reverse links.
346         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
347         for `{->|<-}vulgar'.
348         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
349
350 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * text-coding.c (decode_add_er_char): Must to quote prefix string
353         as regexp.
354
355 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * mule-charset.c (put_char_ccs_code_point): Store characters of
358         =ucs whose code_points >= 0xF0000.
359
360 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
363         CHISE.
364         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
365         CHISE.
366         (complex_vars_of_mule_charset): Add new coded-charset
367         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
368         builtin characters over 0xEFFFF.
369
370         * chartab.c (syms_of_chartab): Don't define symbol
371         `system-char-id' in every case.
372
373         * char-ucs.h (Qsystem_char_id): New extern variable.
374         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
375
376 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * text-coding.c (char_encode_utf8): Try to use entity-references
379         for U-000F0000 ...  U-0010FFFF.
380
381 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * text-coding.c (ER_BUF_SIZE): New macro.
384         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
385         `er_buf'.
386         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
387         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
388
389 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * chartab.c (find_char_feature_in_family): New function.
392         (Fchar_feature): Use `find_char_feature_in_family' with
393         `->identical', `<-subsumptive' and `<-denotational'.
394
395 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * text-coding.c (char_encode_as_entity_reference): Allow prefix
398         within 8 characters; fix infinite loop.
399
400 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (Q_same): New variable.
403         (Q_same_of): New variable.
404         (Fput_char_attribute): Convert char-specs in value of
405         `{->|<-}same' to characters and put reverse links.
406         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
407         for `{->|<-}same'.
408         (syms_of_chartab): Add new symbols `{->|<-}same'.
409
410 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * chartab.c (Q_component): New variable.
413         (Q_component_of): Likewise.
414         (Fput_char_attribute): Convert char-specs in value of
415         `{->|<-}ideographic-component-forms' to characters and put reverse
416         links.
417         (syms_of_chartab): Add new symbols
418         `{->|<-}ideographic-component-forms'.
419
420 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
421
422         * chartab.c (Q_identical): New variable.
423         (Q_identical_from): New variable.
424         (Fchar_feature): Regard `->identical' as a feature to find
425         ancestors.
426         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
427         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
428         for `{->|<-}identical'.
429         (syms_of_chartab): Add new symbols `{->|<-}identical'.
430
431 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * char-ucs.h (encode_char_2): New inline function.
434         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
435
436 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (Fput_char_attribute): Convert char-specs to
439         characters in value of `ideographic-structure'.
440         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
441         for `{<-|->}simplified(@...)'.
442         (Fdefine_char): Try to use predefined character's id.
443
444 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * fns.c (simplify_char_spec): Try to convert builtin chars to
447         defined chars.
448
449 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * chartab.c (Fput_char_attribute): Convert char-specs in value of
452         `<-simplified[^*]*' to characters and put reverse links.
453
454 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * chartab.c (Q_subsumptive): Renamed from Q_unified.
457         (Q_subsumptive_from): Renamed from Q_unified_from.
458         (Fchar_feature): Use `Q_subsumptive_from' instead of
459         `Q_unified_from'.
460         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
461         `Q_unified'.
462         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
463         `<-unified' to `<-subsumptive'.
464
465 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
468         inheritance itself; fix typo; stop recursive search if cyclic
469         inheritance is found.
470
471 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * chartab.c (Q_denotational): New variable.
474         (Q_denotational_from): New variable.
475         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
476         (put_char_attribute): New function.
477         (Fput_char_attribute): Use `put_char_attribute'; regard
478         `->denotational' and `<-denotational' as same as `->unified' and
479         `<-unified'.
480         (syms_of_chartab): Add new symbols `->denotational' and
481         `<-denotational'.
482
483 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
486         `Fget_char_attribute'.
487         (Fchar_variants): Likewise.
488         (get_char_table): Likewise.
489         (Fchar_feature): New function.
490         (put_char_composition): Use `Fchar_feature' instead of
491         `Fget_char_attribute'.
492         (Fput_char_attribute): Likewise; don't put the target character
493         into its `->unified' value.
494         (syms_of_chartab): Add new builtin function `char-feature'.
495
496 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
499         `Fget_char_attribute'.
500         (char_encode_utf8): Likewise.
501
502         * chartab.h: Add an EXFUN for `Fchar_feature'.
503
504 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (Vnext_defined_char_id): New variable.
507         (Fput_char_attribute): Accept characters in `->unified'.
508         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
509         new characters which are not related with builtin char-id ranges.
510         (vars_of_chartab): Add new variable `next-defined-char-id'.
511
512 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * chartab.c (Q_unified): New variable.
515         (Q_unified_from): New variable.
516         (Fput_char_attribute): Add code for `->unified'.
517         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
518         XEmacs CHISE.
519
520 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (decode_ccs_conversion): New function.
523         (decode_defined_char): Use `decode_ccs_conversion'.
524         (decode_builtin_char): Likewise.
525
526 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * char-ucs.h: Change some charset-ids of private coded-charsets.
529
530 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
533         (char_encode_as_entity_reference): Likewise.
534         (decode_coding_big5): Modify for `decode_defined_char' and
535         `DECODE_CHAR'.
536         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
537         avoid compiler warning.
538         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
539
540         * mule-charset.c (decode_defined_char): Add new argument
541         `without_inheritance'.
542         (Fdecode_char): Add new optional argument `without_inheritance'.
543         (Fdecode_builtin_char): Modify for `Fdecode_char'.
544
545         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
546         (simplify_char_spec): Likewise.
547
548         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
549         setting.
550
551         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
552         (map_char_table): Likewise.
553         (Fdefine_char): Use `Fdecode_char' without inheritance.
554         (Ffind_char): Modify for `Fdecode_char'.
555
556         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
557
558         * char-ucs.h (decode_defined_char): Add new argument
559         `without_inheritance'.
560         (DECODE_CHAR): Likewise.
561         (MAKE_CHAR): Modify for `DECODE_CHAR'.
562
563 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * chartab.c (Vchise_system_db_directory): New variable.
566         (vars_of_chartab): Add new variable `chise-system-db-directory'.
567
568 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * chartab.c: EXFUN `Fmount_char_attribute_table'.
571         (print_chartab_range): Don't define when `UTF2000' is defined.
572         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
573         `CHISE_DS_open'.
574
575 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
578         and optional argument `rehash' is specified, call
579         `open_chise_data_source_maybe' before
580         `chise_ds_foreach_char_feature_name' is called.
581
582 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * chartab.c (char_attribute_list_reset_map_func): New function
585         when HAVE_LIBCHISE is defined.
586         (Fchar_attribute_list): Add new optional argument `rehash' when
587         HAVE_LIBCHISE is defined.
588         (open_chise_data_source_maybe): Use "chise-db" instead of
589         "char-db".
590         (char_attribute_system_db_file): Likewise.
591         (Fload_char_attribute_table): Use
592         `chise_feature_foreach_char_with_value' instead of
593         `chise_char_feature_value_iterate'.
594
595 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
596
597         * chartab.c (Vchise_db_directory): New variable.
598         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
599
600 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
601
602         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
603         instead of HAVE_CHISE to specify using with libchise.
604
605         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
606
607         * chartab.h: Don't use HAVE_CHISE_CLIENT.
608
609         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
610         defined or HAVE_LIBCHISE_LIBCHISE is defined.
611         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
612         is defined.
613         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
614         HAVE_CHISE to specify using with libchise.
615         (syms_of_chartab): Don't define symbol `system-char-id' when
616         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
617
618 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
621         specify CHISE DB support.
622         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
623         of `char_attribute_system_db_file' to check feature DB file.
624
625         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
626         HAVE_CHISE_CLIENT to specify CHISE DB support.
627
628         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
629         specify CHISE DB support.
630         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
631         not defined.
632         (Freset_char_attribute_table): Use `chise_feature_setup_db'
633         instead of `char_attribute_system_db_file' to check feature DB
634         file.
635
636 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
639         `HAVE_CHISE_CLIENT'.
640
641 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
644         (Fsave_charset_mapping_table): Don't use
645         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
646
647         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
648         (HAVE_LIBCHISE): New macro.
649
650         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
651
652         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
653         (Fsave_char_attribute_table): Don't use
654         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
655
656 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
659         defined.
660         (save_uint16_byte_table): Likewise.
661         (save_byte_table): Likewise.
662         (char_table_get_db): Use `chise_ds_load_char_feature_value'
663         instead of `chise_char_load_feature_value'.
664         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
665
666 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * chartab.h (struct Lisp_Char_Table): Delete member
669         `feature_table' if CHISE is defined.
670
671         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
672         (Fcopy_char_table): Likewise.
673         (char_table_open_db_maybe): Likewise.
674         (char_table_close_db_maybe): Likewise.
675         (char_table_get_db): Likewise.
676         (Fmount_char_attribute_table): Likewise.
677         (Fload_char_attribute_table): Likewise.
678
679 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
680
681         * mule-charset.c (load_char_decoding_entry_maybe): Use
682         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
683         `chise_ccs_decode'.
684
685 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
686
687         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
688         instead of `chise_open_data_source'.
689         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
690         `chise_ds_close'.
691
692 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
695         instead of `chise_ds_open_feature_table'.
696         (char_table_close_db_maybe): Don't use `chise_ft_close'.
697
698 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * mule-charset.c (Fsave_charset_mapping_table): Use
701         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
702         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
703         `chise_ccs_sync' instead of `chise_ccst_close'.
704         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
705
706         * chartab.c (open_chise_data_source_maybe): Modify for
707         `chise_open_data_source'.
708         (char_table_open_db_maybe): Modify for
709         `chise_ds_open_feature_table'.
710
711 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * mule-charset.c (load_char_decoding_entry_maybe): Use
714         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
715         `chise_ccst_close'.
716
717 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
718
719         * mule-charset.c (Fsave_charset_mapping_table): Use
720         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
721         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
722         `chise_dt_put_char' and `chise_dt_close'.
723         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
724         `chise_ccs_decode' and `chise_ccst_close' instead of
725         `chise_ds_open_decoding_table', `chise_dt_get_char' and
726         `chise_dt_close'.
727
728         * chartab.c (char_table_get_db): Use
729         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
730         (load_char_attribute_table_map_func): Modify for
731         `chise_char_feature_value_iterate'.
732         (Fload_char_attribute_table): Use
733         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
734
735 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
736
737         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
738
739 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
740
741         * chartab.c (put_char_table): Modify for inherited coded-charsets
742         in XEmacs CHISE.
743
744 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
745
746         * chartab.c (Fput_char_table_map_function): Fixed.
747         (word_boundary_p): Don't check charset in XEmacs CHISE.
748
749 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
750
751         * mule-charset.c (Fsave_charset_mapping_table): Use
752         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
753         instead of `chise_open_decoding_table'; refer
754         `default_chise_data_source'; use `chise_dt_close' instead of
755         `chise_close_decoding_table'.
756         (load_char_decoding_entry_maybe): Likewise.
757
758         * chartab.c (default_chise_data_source): New variable when `CHISE'
759         is defined.
760         (Fcopy_char_table): `ct->ds' is deleted.
761         (open_chise_data_source_maybe): New function.
762         (Fclose_char_data_source): New function.
763         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
764         use `chise_ds_open_feature_table' instead of
765         `chise_open_feature_table'.
766         (char_table_close_db_maybe): Use `chise_ft_close' instead of
767         `chise_close_feature_table'; `cit->ds' is deleted.
768         (syms_of_chartab): Add new builtin function
769         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
770
771         * chartab.h (default_chise_data_source): New extern variable.
772         (open_chise_data_source_maybe): New prototype.
773         (struct Lisp_Char_Table): Delete `ds'.
774
775 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
776
777         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
778         `CHISE' is defined.
779
780 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
781
782         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
783         not defined; add code for non-libchise setting.
784         (char_table_close_db_maybe): Likewise.
785         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
786         defined.
787         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
788         even if `CHISE' is not defined.
789         (Freset_char_attribute_table): Likewise.
790         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
791         `char_table_close_db_maybe' even if `CHISE' is not defined; use
792         `char_table_get_db'.
793         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
794         `char_table_close_db_maybe' even if `CHISE' is not defined.
795
796 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
797
798         * chartab.c (char_table_open_db_maybe): New function.
799         (char_table_close_db_maybe): New function.
800         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
801         (Freset_char_attribute_table): Likewise.
802         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
803         `char_table_close_db_maybe'.
804         (Fload_char_attribute_table): Likewise.
805
806 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * chartab.c: Don't include <chise.h> because it is included in
809         chartab.h.
810         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
811         defined.
812         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
813         `CHISE' is defined.
814         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
815         `CHISE' is defined.
816         (Fclose_char_attribute_table): Close `ct->feature_table' and
817         `ct->ds' when `CHISE' is defined.
818         (Freset_char_attribute_table): Likewise.
819         (load_char_attribute_maybe): Use `cit->ds' and
820         `cit->feature_table' when `CHISE' is defined.
821         (Fload_char_attribute_table): Likewise.
822
823         * chartab.h: Include <chise.h> when `CHISE' is defined.
824         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
825         when `CHISE' is defined.
826
827 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
828
829         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
830         is defined.
831         (char_table_description): Likewise.
832         (Fmake_char_table): Likewise.
833         (Fcopy_char_table): Likewise.
834         (Fmount_char_attribute_table): Likewise.
835         (Fclose_char_attribute_table): Likewise.
836         (Freset_char_attribute_table): Likewise.
837         (load_char_attribute_maybe): Likewise.
838         (Fload_char_attribute_table): Likewise.
839
840         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
841         defined.
842
843 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
844
845         * chartab.c (load_char_attribute_table_map_func): New function
846         when CHISE is defined.
847         (Qload_char_attribute_table_map_function): Don't define when CHISE
848         is defined.
849         (Fload_char_attribute_table_map_function): Likewise.
850         (Fload_char_attribute_table): Use libchise when `CHISE' is
851         defined.
852         (syms_of_chartab): Don't define
853         `load-char-attribute-table-map-function' when CHISE is defined.
854
855 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * chartab.c: Include <chise.h> when `CHISE' is defined.
858         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
859
860 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (charset_code_point): Fix problem when searching
863         in mother CCS fails with `defined_only' mode.
864
865 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
866
867         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
868         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
869         (put_char_composition): Likewise.
870         (Fput_char_attribute): Likewise.
871         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
872
873 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
874
875         * chartab.c (Q_ucs): Deleted.
876         (Fput_char_attribute): Don't refer `->ucs'.
877         (Fdefine_char): Likewise.
878         (Ffind_char): Likewise.
879         (syms_of_chartab): Delete `->ucs'.
880
881 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
882
883         * mule-charset.c (Qmap_cns11643_2): Renamed from
884         `Qchinese_cns11643_2'.
885         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
886         `chinese-cns11643-2'.
887         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
888         `=cns11643-2'.
889
890 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
891
892         * mule-charset.c (Qmap_cns11643_1): Renamed from
893         `Qchinese_cns11643_1'.
894         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
895         `chinese-cns11643-1'.
896         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
897         `=cns11643-1'.
898
899 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
900
901         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
902         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
903         `chinese-gb12345'.
904         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
905         `=gb12345'.
906
907 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
908
909         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
910         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
911         `chinese-gb2312'.
912         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
913         `=gb2312'.
914
915 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
916
917         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
918         (syms_of_mule_charset): Add new symbol `=big5' instead of
919         `chinese-big5'.
920         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
921
922 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
925         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
926         `korean-ksc5601'.
927         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
928         `=ks-x1001'.
929
930 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
931
932         * mule-charset.c (Qmap_jis_x0212): Renamed from
933         `Qjapanese_jisx0212'.
934         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
935         `japanese-jisx0212'.
936         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
937         `=jis-x0212'.
938
939 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
940
941         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
942         `Qjapanese_jisx0208'.
943         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
944         of `japanese-jisx0208'.
945         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
946         `=jis-x0208-1983'.
947
948 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
951         `Qjapanese_jisx0208_1978'.
952         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
953         of `japanese-jisx0208-1978'.
954         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
955         `=jis-x0208-1978'.
956
957 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
958
959         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
960         only for XEmacs CHISE.
961
962 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
963
964         * char-ucs.h: Compact non-ISO-IR charset-ids.
965         (LEADING_BYTE_UCS): Changed to -177.
966         (LEADING_BYTE_CONTROL_1): Changed to -77.
967         (LEADING_BYTE_UCS_BMP): Changed to -176.
968         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
969
970 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * mule-charset.c (Qiso_ir): New variable.
973         (Fmake_charset): Recognise new property `iso-ir'.
974         (syms_of_mule_charset): Add new symbol `iso-ir'.
975
976 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
977
978         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
979         n to -n; charset-id of non ISO-IR sets are changed to positive
980         numbers.
981
982 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
983
984         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
985         for &MCS-XXXXXXXX; values.
986
987 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
988
989         * mule.c (Vxemacs_chise_version): Renamed from
990         `Vutf_2000_version'.
991         (vars_of_mule): Add new variable `xemacs-chise-version'; define
992         `utf-2000-version' as an alias for `xemacs-chise-version'.
993
994 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
995
996         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
997         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
998         defined.
999
1000         * config.h.in (CHISE): New macro.
1001
1002 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1003
1004         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1005         of `ucs'.
1006         (Qmap_ucs): New variable.
1007         (syms_of_mule_charset): Add new symbol `=ucs'.
1008         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1009
1010         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1011         (simplify_char_spec): Likewise.
1012
1013         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1014
1015         * char-ucs.h (Qmap_ucs): New extern variable.
1016
1017 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1020         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1021         don't define it when UTF2000 is not defined.
1022         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1023         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1024         when UTF2000 is not defined.
1025         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1026         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1027
1028 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1031
1032         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1033         (Qucs_gb): Deleted.
1034         (syms_of_mule_charset): Delete `ucs-gb'.
1035         (complex_vars_of_mule_charset): Likewise.
1036
1037 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1038
1039         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1040
1041         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1042         (Qucs_cns): Deleted.
1043         (syms_of_mule_charset): Delete `ucs-cns'.
1044         (complex_vars_of_mule_charset): Likewise.
1045
1046 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1049
1050         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1051         (Qucs_jis): Deleted.
1052         (syms_of_mule_charset): Delete `ucs-jis'.
1053         (complex_vars_of_mule_charset): Likewise.
1054
1055 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1056
1057         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1058
1059         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1060         (Qucs_ks): Deleted.
1061         (syms_of_mule_charset): Delete `ucs-ks'.
1062         (complex_vars_of_mule_charset): Likewise.
1063
1064 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1067         (Qideograph_daikanwa_2): Deleted.
1068         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1069         (complex_vars_of_mule_charset): Likewise.
1070
1071         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1072         (LEADING_BYTE_DAIKANWA_1): Deleted.
1073         (LEADING_BYTE_DAIKANWA_2): Deleted.
1074         (MIN_CHAR_DAIKANWA): Deleted.
1075         (MAX_CHAR_DAIKANWA): Deleted.
1076
1077 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1080         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1081         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1082
1083         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1084         (Vcharset_ideograph_daikanwa): Deleted.
1085         (Qideograph_hanziku_{1..12}): Deleted.
1086         (Qideograph_daikanwa): Deleted.
1087         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1088         Vcharset_ideograph_daikanwa.
1089         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1090         `ideograph-hanziku-{1..12}'.
1091         (complex_vars_of_mule_charset): Likewise.
1092
1093 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1094
1095         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1096
1097         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1098         (Qideograph_gt_pj_{1..11}): Deleted.
1099         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1100         (complex_vars_of_mule_charset): Likewise.
1101
1102 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1105         (Vcharset_ideograph_gt): Deleted.
1106         (Qucs_big5): Deleted.
1107         (Qideograph_gt): Deleted.
1108         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1109         `ideograph-gt'.
1110         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1111         and `ideograph-gt'.
1112
1113         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1114         (LEADING_BYTE_GT): Deleted.
1115         (MIN_CHAR_GT): Deleted.
1116         (MAX_CHAR_GT): Deleted.
1117
1118 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1121
1122 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1123
1124         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1125         (save_uint16_byte_table): Likewise.
1126         (save_byte_table): Likewise; convert values by it.
1127         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1128         for `ideographic-structure'.
1129         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1130         as the filter for `ideographic-structure'.
1131
1132 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1133
1134         * chartab.c (put_char_composition): New function.
1135         (Fput_char_attribute): Use `put_char_composition'; use
1136         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1137
1138         * fns.c (simplify_char_spec): New function.
1139         (char_ref_simplify_spec): New function.
1140         (Fchar_refs_simplify_char_specs): New function.
1141         (syms_of_fns): Add new builtin function
1142         `char-refs-simplify-char-specs'.
1143
1144 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1145
1146         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1147         (Qideograph_cbeta): Deleted.
1148         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1149         (complex_vars_of_mule_charset): Likewise.
1150
1151         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1152         (MIN_CHAR_CBETA): Comment out.
1153         (MAX_CHAR_CBETA): Likewise.
1154
1155 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1158         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1159         CHISE client feature.
1160
1161 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1162
1163         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1164
1165 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1166
1167         * mule-charset.c (charset_lookup_description_1): Use
1168         `NUM_LEADING_BYTES' in UTF-2000.
1169
1170 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1171
1172         * char-ucs.h (GC_CHARSETP): Deleted.
1173
1174 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1175
1176         * char-ucs.h (MAX_CHAR_GT): Updated.
1177
1178 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1179
1180         * text-coding.c: Sync with XEmacs 21.4.10.
1181
1182 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Vcharset_china3_jef): Deleted.
1185         (Qchina3_jef): Deleted.
1186         (syms_of_mule_charset): Don't define `china3-jef'.
1187         (complex_vars_of_mule_charset): Likewise.
1188
1189         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1190         (MIN_CHAR_CHINA3_JEF): Comment out.
1191         (MAX_CHAR_CHINA3_JEF): Comment out.
1192
1193 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * mule-charset.c (Vcharset_ucs_gb): New variable.
1196         (Qucs_gb): New variable.
1197         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1198         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1199
1200         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1201
1202 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1203
1204         * mule-charset.c (charset_code_point): if a coded-charset has a
1205         final-byte, don't inherit the builtin range of the mother CCS.
1206
1207 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * mule-charset.c (charset_code_point): Fix problem about
1210         inheritance.
1211
1212 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1213
1214         * mule-charset.c (decode_builtin_char): Reorganized.
1215
1216 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * text-coding.c (char_encode_as_entity_reference): Modify for
1219         `charset_code_point'.
1220         (char_encode_shift_jis): Likewise.
1221         (char_encode_big5): Likewise.
1222         (char_encode_utf8): Likewise.
1223         (char_encode_iso2022): Likewise.
1224
1225         * mule-charset.c (charset_code_point): Add new argument
1226         `defined_only'.
1227         (Fencode_char): Add new optional argument `defined_only'.
1228
1229         * chartab.c (put_char_table): Modify for `charset_code_point'.
1230
1231         * char-ucs.h (charset_code_point): Add new argument
1232         `defined_only'.
1233         (encode_char_1): Modify for `charset_code_point'.
1234
1235 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1236
1237         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1238         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1239
1240 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1243         (Qjis_x0208): Likewise.
1244         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1245         XCHARSET_FINAL(charset).
1246         (charset_code_point): Modify condition for final-byte based
1247         builtin-chars.
1248         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1249         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1250         in UTF-2000; specify `=jis-x0208' as the mother of
1251         `japanese-jisx0208-1978', `japanese-jisx0208' and
1252         `japanese-jisx0208-1990' in UTF-2000.
1253
1254 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1257
1258 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1259
1260         * text-coding.c (decode_coding_utf16): Support UTF-16.
1261         (char_encode_utf16): Fixed.
1262
1263 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1264
1265         * text-coding.c (Qutf16): New variable in MULE.
1266         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1267         (Fcoding_system_type): Add `utf-16' in MULE.
1268         (struct detection_state): Add a structure for utf16 in MULE.
1269         (detect_coding_type): Setup st->utf16.mask in MULE.
1270         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1271         MULE.
1272         (reset_encoding_stream): Use `char_encode_utf16' and
1273         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1274         (detect_coding_utf16): New function [incomplete].
1275         (decode_coding_utf16): New function [support only UCS-2].
1276         (char_encode_utf16): New function.
1277         (char_finish_utf16): New function.
1278         (syms_of_file_coding): Add new symbol `utf-16'; setup
1279         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1280
1281         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1282         UTF-2000.
1283         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1284         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1285
1286 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1287
1288         * chartab.c (put_char_table): When a charset is specified as a
1289         range in UTF-2000, don't support builtin characters.
1290
1291 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * mule-charset.c (decode_defined_char): Don't refer external
1294         database if Qunbound or Qnil are found.
1295         (Fsave_charset_mapping_table): Don't define it if
1296         HAVE_CHISE_CLIENT is not defined.
1297         (Freset_charset_mapping_table): New function.
1298         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1299         found in external database.
1300         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1301         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1302         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1303
1304 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1305
1306         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1307         not.
1308
1309 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1310
1311         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1312         Q_lowercase, Q_uppercase in UTF-2000.
1313
1314         * chartab.c (get_char_table): Add special code for the standard
1315         case table to use character attribute `->downcase' and
1316         `->uppercase' for case operations in UTF-2000.
1317
1318         * casetab.c (Qflippedcase): New variable in UTF-2000.
1319         (Q_lowercase): Likewise.
1320         (Q_uppercase): Likewise.
1321         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1322         and `->uppercase' in UTF-2000.
1323         (complex_vars_of_casetab): Assign attribute name `downcase' to
1324         downcase and CANON table of Vstandard_case_table in UTF-2000;
1325         assign attribute name `flippedcase' to upcase and EQV table of
1326         Vstandard_case_table in UTF-2000.
1327
1328 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * text-coding.c (decode_add_er_char): Support isolated-chars.
1331         (char_encode_as_entity_reference): Likewise.
1332
1333 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1334
1335         * emacs.c (Vutf_2000_lisp_directory): New variable.
1336         (Vconfigure_utf_2000_lisp_directory): Likewise.
1337         (complex_vars_of_emacs): Add new variable
1338         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1339
1340 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1341
1342         * char-ucs.h (DECODE_CHAR): Delete special code for
1343         `chinese-big5-1' and `chinese-big5-2'.
1344
1345         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1346         (Qbig5_2): Likewise.
1347         (decode_defined_char): Support CONVERSION_BIG5_1 and
1348         CONVERSION_BIG5_2.
1349         (decode_builtin_char): Likewise.
1350         (charset_code_point): Likewise.
1351         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1352         'conversion in UTF-2000.
1353         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1354         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1355         `chinese-big5-2' as children of `chinese-big5'.
1356
1357         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1358         (CONVERSION_BIG5_2): New macro.
1359
1360 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * text-coding.c (char_encode_big5): Support entity-reference.
1363
1364 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1365
1366         * text-coding.c (char_encode_as_entity_reference): New function.
1367         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1368
1369 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1370
1371         * text-coding.c (decode_coding_big5): Support entity-reference
1372         decoding feature.
1373
1374 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * text-coding.c (allocate_coding_system): Initialize initial
1377         charsets for CODESYS_UTF8.
1378         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1379         charset-g2 for CODESYS_UTF8.
1380         (decode_coding_utf8): Use charset-g0.
1381         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1382         to force variants to map to UCS.
1383
1384 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * text-coding.c (Qutf_8_mcs): New variable.
1387         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1388         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1389         instead of `utf-8' in UTF-2000.
1390
1391 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1392
1393         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1394         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1395         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1396         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1397         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1398         CONVERSION_96x96x96x96 are introduced.
1399         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1400         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1401         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1402
1403         * char-ucs.h (CONVERSION_94): New macro.
1404         (CONVERSION_96): New macro.
1405         (CONVERSION_94x94): New macro.
1406         (CONVERSION_96x96): New macro.
1407         (CONVERSION_94x94x94): New macro.
1408         (CONVERSION_96x96x96): New macro.
1409         (CONVERSION_94x94x94x60): New macro.
1410         (CONVERSION_94x94x94x94): New macro.
1411         (CONVERSION_96x96x96x96): New macro.
1412
1413 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * chartab.c (Vcharacter_variant_table): Deleted.
1416         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1417         of `Vcharacter_variant_table'.
1418         (Fput_char_attribute): Likewise.
1419         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1420         (complex_vars_of_chartab): Likewise.
1421
1422 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1425
1426         * fns.c (Qideographic_structure): New variable.
1427         (Qkeyword_char): New variable.
1428         (ids_format_unit): New function.
1429         (Fideographic_structure_to_ids): New function.
1430         (syms_of_fns): Add new symbols `ideographic-structure' and
1431         `:char'; add new builtin function `ideographic-structure-to-ids'.
1432
1433         * data.c (Fchar_ref_p): New function.
1434         (syms_of_data): Add new builtin function `char-ref-p'.
1435
1436         * chartab.h: Add an EXFUN for `Ffind_char'.
1437
1438 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * text-coding.c (Vcharacter_composition_table): Deleted.
1441         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1442         in every UTF-2000.
1443
1444         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1445         UTF-2000.
1446         (Vcharacter_composition_table): Deleted.
1447         (Fget_composite_char): Use the implementation for external-DB
1448         support in every UTF-2000.
1449         (Fput_char_attribute): Likewise.
1450         (char_attribute_system_db_file): Don't define if external-DB
1451         feature is not available.
1452         (Fsave_char_attribute_table): Likewise.
1453         (Fmount_char_attribute_table): Likewise.
1454         (Fclose_char_attribute_table): Likewise.
1455         (Freset_char_attribute_table): Likewise.
1456         (Fload_char_attribute_table): Likewise.
1457         (syms_of_chartab): Don't define `save-char-attribute-table',
1458         `mount-char-attribute-table', `reset-char-attribute-table',
1459         `close-char-attribute-table' and `load-char-attribute-table' if
1460         external-DB feature is not available.
1461         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1462
1463 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1464
1465         * text-coding.c (Qcomposition): Add extern if external-DB feature
1466         is supported.
1467         (Vcharacter_composition_table): Don't add extern if external-DB
1468         feature is supported.
1469         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1470         character composition rule if external-DB feature is supported.
1471
1472         * chartab.c (Vcharacter_composition_table): Don't define if
1473         external-DB feature is supported.
1474         (Qcomposition): New variable.
1475         (Fget_composite_char): New implementation for external-DB support.
1476         (Fput_char_attribute): Use `composition' property of each
1477         character instead of `Vcharacter_composition_table' to store
1478         character-composition rules if external-DB feature is supported.
1479         (syms_of_chartab): Add new symbol `composition'.
1480         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1481         external-DB feature is supported.
1482
1483 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1484
1485         * chartab.c (Vchar_db_stingy_mode): New variable.
1486         (load_char_attribute_maybe): Close database if
1487         Vchar_db_stingy_mode is not NIL.
1488         (Fload_char_attribute_table_map_function): Use
1489         `get_char_id_table_0' instead of `get_char_id_table'.
1490         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1491
1492         * chartab.h (get_char_id_table_0): New inline function.
1493         (get_char_id_table): Use `get_char_id_table_0'.
1494
1495 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1496
1497         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1498         and `COMPOSE_ADD_CHAR'.
1499         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1500
1501 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1502
1503         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1504         instead of `DECODE_ADD_UCS_CHAR'.
1505         (COMPOSE_ADD_CHAR): Likewise.
1506
1507 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1508
1509         * text-coding.c (decode_flush_er_chars): New inline function.
1510         (decode_add_er_char): New function.
1511         (decode_coding_utf8): Use `decode_flush_er_chars' and
1512         `decode_add_er_char'.
1513
1514 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1515
1516         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1517         done before `decode_output_utf8_partial_char'.
1518
1519         * mule-charset.c (complex_vars_of_mule_charset): Specify
1520         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1521         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1522
1523 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * mule-charset.c (decode_defined_char): New function; search
1526         mother.
1527         (decode_builtin_char): Don't search mother if
1528         XCHARSET_MAX_CODE(charset) == 0.
1529         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1530         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1531         (Fdecode_char): Use `decode_defined_char' instead of
1532         `DECODE_DEFINED_CHAR'.
1533         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1534         mother of `Vcharset_ucs_jis'.
1535
1536         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1537         instead of `DECODE_DEFINED_CHAR'.
1538
1539         * char-ucs.h (decode_defined_char): Renamed from
1540         `DECODE_DEFINED_CHAR'; changed to normal function.
1541         (DECODE_CHAR): Use `decode_defined_char' instead of
1542         `DECODE_DEFINED_CHAR'.
1543
1544         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1545
1546 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1547
1548         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1549
1550         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1551         variable.
1552         (Quse_entity_reference): New variable.
1553         (Qd): New variable.
1554         (Qx): New variable.
1555         (QX): New variable.
1556         (coding_system_description): Add description for
1557         `ccs_priority_list'.
1558         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1559         (allocate_coding_system): Initialize `ccs_priority_list' in
1560         UTF-2000.
1561         (Fmake_coding_system): Add description about
1562         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1563         (codesys).
1564         (Fcoding_system_property): Accept `disable-composition' and
1565         `use-entity-reference' in UTF-2000.
1566         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1567         in UTF-2000.
1568         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1569         (decode_coding_utf8): Decode entity-reference if
1570         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1571         (char_encode_utf8): Encode non-Unicode characters as
1572         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1573         (str->codesys).
1574         (syms_of_file_coding): Add new symbols `use-entity-reference',
1575         `d', `x', `X'.
1576         (vars_of_file_coding): Add new variable
1577         `coded-charset-entity-reference-alist'.
1578         (complex_vars_of_file_coding): Declare `disable-composition' and
1579         `use-entity-reference' to be coding-system-properties in UTF-2000.
1580
1581         * file-coding.h (struct Lisp_Coding_System): Add new member
1582         `use_entity_reference' and `ccs_priority_list'.
1583         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1584         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1585         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1586
1587 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * chartab.c (save_uint8_byte_table): Don't clear the table.
1590         (save_uint16_byte_table): Likewise.
1591         (save_byte_table): Likewise.
1592         (Fmount_char_attribute_table): New function.
1593         (syms_of_chartab): Add new builtin function
1594         `mount-char-attribute-table'.
1595
1596 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1599         "w+" mode.
1600         (load_char_decoding_entry_maybe): Open database as read-only mode.
1601
1602         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1603         open database as "w+" mode.
1604         (load_char_attribute_maybe): Open database as read-only mode.
1605         (Fload_char_attribute_table): Likewise.
1606
1607 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1608
1609         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1610         (char_table_description): Delete member `db_file'.
1611         (Fmake_char_table): Don't refer `ct->db_file'.
1612         (Fcopy_char_table): Likewise.
1613         (Fsave_char_attribute_table): Likewise.
1614         (Fclose_char_attribute_table): Likewise.
1615         (Freset_char_attribute_table): Likewise.
1616         (load_char_attribute_maybe): Likewise.
1617         (Fload_char_attribute_table): Likewise.
1618
1619         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1620
1621 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1624         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1625         `ct->db' is living.
1626         (load_char_attribute_maybe): Likewise.
1627         (Fload_char_attribute_table): Likewise.
1628
1629 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1630
1631         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1632         `ct->db_file' unconditionally.
1633
1634 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1635
1636         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1637         UTF-2000.
1638         (char_table_description): Add description for `db_file' and `db'
1639         in UTF-2000.
1640         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1641         UTF-2000.
1642         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1643         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1644         (Fclose_char_attribute_table): New function.
1645         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1646         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1647         and `cit->db'.
1648         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1649         (syms_of_chartab): Add new builtin function
1650         `Fclose_char_attribute_table'.
1651
1652 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1653
1654         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1655         `db' in UTF-2000.
1656         (load_char_attribute_maybe): Change interface.
1657         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1658
1659 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1660
1661         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1662
1663 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1664
1665         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1666         instead of `DECODE_CHAR' for mother; don't use special code for
1667         chinese-big5 to use code space of chinese-big5-1 and
1668         chinese-big5-2.
1669         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1670         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1671
1672         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1673         (MAX_CHAR_BIG5_CDP): Revival.
1674
1675 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1676
1677         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1678         the XLFD registry-encoding name of `chinese-big5'.
1679
1680 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1681
1682         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1683         (Qchinese_big5_cdp): Deleted.
1684         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1685         (complex_vars_of_mule_charset): Delete coded-charset
1686         `chinese-big5-cdp'.
1687
1688         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1689         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1690         `CHARSET_ID_OFFSET - n' for private CCS.
1691         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1692         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1693         of `MIN_LEADING_BYTE'.
1694         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1695         `(CHARSET_ID_OFFSET - 97)'.
1696         (MIN_CHAR_BIG5_CDP): Deleted.
1697         (MAX_CHAR_BIG5_CDP): Deleted.
1698
1699 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1702
1703 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1704
1705         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1706         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1707         chartab.c].
1708
1709         * chartab.c (Vutf_2000_version): Moved to mule.c.
1710         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1711
1712 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1713
1714         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1715         when HAVE_CHISE_CLIENT is not defined.
1716
1717         * mule.c (vars_of_mule): Provide feature `chise' when
1718         HAVE_CHISE_CLIENT is defined.
1719
1720 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1721
1722         * config.h.in (UTF2000): Add comment.
1723         (HAVE_CHISE_CLIENT): New macro.
1724
1725 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1726
1727         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1728         CONSP.
1729         (Fput_char_attribute): Likewise.
1730         (char_attribute_system_db_file): Encode file-name of attribute.
1731         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1732         the initial value.
1733
1734 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1735
1736         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1737         (Fsave_charset_mapping_table): Use
1738         `char_attribute_system_db_file'.
1739         (load_char_decoding_entry_maybe): Likewise.
1740
1741         * chartab.h (Qsystem_char_id): New external variable.
1742         (char_attribute_system_db_file): New prototype.
1743
1744         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1745         (char_attribute_system_db_file): New function.
1746         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1747         (Freset_char_attribute_table): Likewise.
1748         (load_char_attribute_maybe): Likewise.
1749         (Fload_char_attribute_table): Likewise.
1750         (syms_of_chartab): Add new symbol `system-char-id'.
1751
1752 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1753
1754         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1755         `XCHARSET_GRAPHIC(ccs)'.
1756
1757 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1758
1759         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1760
1761 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1762
1763         * chartab.c (Q_ucs_variants): New variable.
1764         (syms_of_chartab): Add new symbol `->ucs-variants'.
1765         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1766         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1767         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1768
1769         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1770
1771         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1772         `HAVE_DATABASE' is defined.
1773         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1774         `HAVE_DATABASE' is defined.
1775
1776 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1777
1778         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1779         attribute-table.
1780         (Freset_char_attribute_table): New function.
1781         (syms_of_chartab): Add new builtin function
1782         `reset-char-attribute-table'.
1783
1784 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1785
1786         * chartab.c (load_char_attribute_maybe): Don't make directories.
1787
1788 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1791
1792         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1793         for decoding-table.
1794
1795 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1796
1797         * mule-charset.c (Fsave_charset_mapping_table): Use
1798         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1799
1800         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1801         instead of `XCHARSET_CHARS'.
1802
1803 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1804
1805         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1806         (XCHARSET_BYTE_SIZE): Likewise.
1807
1808         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1809         mule-charset.c].
1810         (XCHARSET_BYTE_SIZE): Likewise.
1811
1812 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1813
1814         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1815         data-directory to store database.
1816         (Fsave_char_attribute_table): Likewise.
1817         (load_char_attribute_maybe): Likewise.
1818         (Fload_char_attribute_table): Likewise.
1819
1820 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1821
1822         * mule-charset.c (Fsave_charset_mapping_table): New function.
1823         (syms_of_mule_charset): Add new builtin function
1824         `save-charset-mapping-table'.
1825
1826 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1827
1828         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1829         (get_ccs_octet_table): New inline function.
1830         (put_ccs_octet_table): Likewise.
1831         (decoding_table_put_char): Use `get_ccs_octet_table' and
1832         `put_ccs_octet_table'.
1833         (decoding_table_remove_char): Use `decoding_table_put_char'.
1834         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1835
1836         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1837         into encoding_table.
1838         (make_charset): Use Qunbound instead Qnil as initial value of
1839         decoding_table.
1840
1841 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1842
1843         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1844         element is Qunloaded.
1845         (map_over_uint16_byte_table): Likewise.
1846         (map_over_byte_table): Likewise.
1847         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1848         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1849         database support, load encoding-table of the specified
1850         coded-charset if it is not loaded yet.
1851         (save_uint8_byte_table): New function of UTF-2000 with external
1852         database support.
1853         (save_uint16_byte_table): Likewise.
1854         (save_byte_table): Likewise.
1855         (Fput_char_attribute): Don't store value into external database
1856         even if the external database feature is supported in UTF-2000;
1857         set `attribute' as name of char-table if the external database
1858         feature is supported.
1859         (Fsave_char_attribute_table): New function in UTF-2000.
1860         (syms_of_chartab): Add new builtin function
1861         `save-char-attribute-table' in UTF-2000.
1862
1863 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1864
1865         * chartab.c (char_attribute_table_to_put): New variable in
1866         UTF-2000.
1867         (Qput_char_table_map_function): Likewise.
1868         (value_to_put): Likewise.
1869         (Fput_char_table_map_function): New function in UTF-2000.
1870         (put_char_table): Use `Fmap_char_attribute' for
1871         CHARTAB_RANGE_CHARSET in UTF-2000.
1872         (Fput_char_attribute): Store symbol instead of string in
1873         `XCHAR_TABLE_NAME (table)'.
1874         (load_char_attribute_maybe): Likewise.
1875         (syms_of_chartab): Add new symbol/function
1876         `put-char-table-map-function'.
1877
1878 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1879
1880         * database.h: Add new EXFUN for `Fmap_database'.
1881
1882         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1883         (syms_of_database): Likewise.
1884
1885         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1886         UTF-2000.
1887         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1888         (XCHAR_TABLE_UNLOADED): Likewise.
1889
1890         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1891         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1892         HAVE_DATABASE is defined.
1893         (char_attribute_table_to_load): New variable of UTF-2000 with
1894         external database support.
1895         (Qload_char_attribute_table_map_function): Likewise.
1896         (Fload_char_attribute_table_map_function): New function of
1897         UTF-2000 with external database support.
1898         (Fload_char_attribute_table): New function of UTF-2000.
1899         (Fmap_char_attribute): Call Fload_char_attribute_table if
1900         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1901         (syms_of_chartab): Add new symbol and function
1902         `load-char-attribute-table-map-function' in UTF-2000 with external
1903         database support; add new function `load-char-attribute-table' in
1904         UTF-2000.
1905
1906 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * chartab.h (load_char_attribute_maybe): New prototype for
1909         UTF-2000 with DATABASE support.
1910         (get_char_id_table): Use `load_char_attribute_maybe' if
1911         HAVE_DATABASE is defined.
1912
1913         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1914         with DATABASE support.
1915
1916 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1917
1918         * chartab.c (Fput_char_attribute): Use S-expression as key of
1919         external database.
1920
1921         * chartab.h (get_char_id_table): Use S-expression as key of
1922         external database.
1923
1924 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1925
1926         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1927         if an element is not loaded, load the corresponding attributes
1928         from an external database.
1929         (map_over_uint16_byte_table): Likewise.
1930         (map_over_byte_table): Likewise.
1931         (map_char_table): Modify for `map_over_uint8_byte_table',
1932         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1933         element is not loaded, load the corresponding attributes from an
1934         external database.
1935         (Fput_char_attribute): Change initial values to Qunloaded.
1936
1937         * chartab.h (get_char_id_table): If a character attribute is not
1938         loaded and the attribute value is not found in an external
1939         database, store Qunbound as the attribute value.
1940
1941 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1942
1943         * chartab.c (BT_UINT8_unloaded): New macro.
1944         (UINT8_VALUE_P): Accept Qunloaded.
1945         (UINT8_ENCODE): Likewise.
1946         (UINT8_DECODE): Likewise.
1947         (BT_UINT16_unloaded): New macro.
1948         (UINT16_VALUE_P): Accept Qunloaded.
1949         (UINT16_ENCODE): Likewise.
1950         (UINT16_DECODE): Likewise.
1951         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1952         BT_UINT16_unloaded.
1953         (mark_char_table): Mark `ct->name' in UTF-2000.
1954         (char_table_description): Add `name' in UTF-2000.
1955         (Fmake_char_table): Initialize `ct->name'.
1956         (Fcopy_char_table): Copy `ct->name'.
1957         (Fput_char_attribute): Store value into an external database if
1958         HAVE_DATABASE is defined.
1959
1960         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1961         UTF-2000.
1962         (CHAR_TABLE_NAME): New macro in UTF-2000.
1963         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1964         (get_char_id_table): Try to read an external database if Qunloaded
1965         is stored in a table.
1966
1967         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1968         Qunloaded.
1969
1970 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1971
1972         * database.h: Add EXFUN definitions for Fopen_database,
1973         Fput_database, Fget_database and Fclose_database.
1974
1975         * data.c (Qunloaded): New variable in UTF-2000.
1976
1977         * lisp.h (Qunloaded): New variable in UTF-2000.
1978
1979 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1980
1981         * mule-charset.c (put_char_ccs_code_point): Modify for
1982         `decoding_table_remove_char' and `decoding_table_put_char'.
1983         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1984
1985         * char-ucs.h (decoding_table_remove_char): Change arguments to
1986         hide decoding_table vector.
1987         (decoding_table_put_char): Likewise.
1988
1989 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * mule-charset.c (decoding_table_remove_char): Moved to
1992         char-ucs.h.
1993         (decoding_table_put_char): Likewise.
1994
1995         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1996         from mule-charset.c].
1997         (decoding_table_remove_char): New inline function [moved from
1998         mule-charset.c].
1999         (decoding_table_put_char): Likewise.
2000
2001 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2002
2003         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2004         extension.
2005
2006 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2007
2008         * mule-charset.c (decode_builtin_char): Support mother charsets.
2009
2010 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2011
2012         * mule-charset.c (Q94x94x60): New variable.
2013         (charset_code_point): Support conversion `94x94x60'.
2014         (Fmake_charset): Likewise.
2015         (syms_of_mule_charset): Add new symbol `94x94x60'.
2016
2017         * char-ucs.h (CONVERSION_94x94x60): New macro.
2018
2019 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2020
2021         * mule-charset.c (charset_code_point): Unify code about
2022         `code-offset'.
2023
2024 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2025
2026         * mule-charset.c (charset_code_point): Merge code about builtin
2027         characters into code about mother charsets; don't use
2028         `range_charset_code_point'.
2029         (range_charset_code_point): Deleted.
2030
2031 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2032
2033         * mule-charset.c (Qcode_offset): New variable.
2034         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2035         `max-code'; accept new property `code-offset'.
2036         (syms_of_mule_charset): Add new symbol `code-offset'.
2037
2038 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * mule-charset.c (range_charset_code_point): Fixed.
2041
2042 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * mule-charset.c (decode_builtin_char): Change semantics of
2045         code-offset of coded-charset.
2046         (charset_code_point): Likewise.
2047         (range_charset_code_point): Likewise.
2048         (complex_vars_of_mule_charset): Modify for the change.
2049
2050 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2051
2052         * mule-charset.c (Fencode_char): Reverse arguments.
2053
2054         * mule-charset.c (charset_code_point): Fixed.
2055
2056 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2057
2058         * mule-charset.c (Vcharset_mojikyo): Deleted.
2059         (Vcharset_mojikyo_2022_1): Deleted.
2060         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2061         (Qmin_code): New variable in UTF-2000.
2062         (Qmax_code): Likewise.
2063         (Qmother): Likewise.
2064         (Qconversion): Likewise.
2065         (Q94x60): Likewise.
2066         (Qmojikyo): Deleted.
2067         (Qmojikyo_2022_1): Deleted.
2068         (Qmojikyo_pj_{1..22}): Deleted.
2069         (mark_charset): Mark `cs->mother'.
2070         (charset_description): Add description for `mother'.
2071         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2072         new arguments `mother' and `conversion'; use
2073         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2074         (charset_code_point): Moved from char-ucs.h; support `mother'
2075         charset feature.
2076         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2077         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2078         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2079         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2080         allow 2 as the value of `graphic' in UTF-2000; add new properties
2081         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2082         require `final' in UTF-2000; modify for `make_charset'.
2083         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2084         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2085         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2086         (Fencode_char): New function.
2087         (syms_of_mule_charset): Add new builtin function `encode-char' in
2088         UTF-2000; add new symbols `min-code', `max-code', `mother',
2089         `conversion' and `94x60'; delete symbols `mojikyo',
2090         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2091         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2092         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2093         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2094
2095         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2096         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2097
2098         * char-ucs.h (Vcharset_mojikyo): Deleted.
2099         (Vcharset_mojikyo_2022_1): Deleted.
2100         (LEADING_BYTE_MOJIKYO): Deleted.
2101         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2102         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2103         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2104         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2105         add new member `mother'; add new member `conversion'.
2106         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2107         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2108         (CHARSET_MOTHER): New macro.
2109         (CHARSET_CONVERSION): New macro.
2110         (CONVERSION_IDENTICAL): New macro.
2111         (CONVERSION_94x60): New macro.
2112         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2113         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2114         (XCHARSET_MOTHER): New macro.
2115         (XCHARSET_CONVERSION): New macro.
2116         (MIN_CHAR_MOJIKYO): Deleted.
2117         (MAX_CHAR_MOJIKYO): Deleted.
2118         (DECODE_MOJIKYO_2022): Deleted.
2119         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2120         (charset_code_point): Changed to non-inline function.
2121         (encode_char_1): Use `charset_code_point'.
2122         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2123
2124 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2125
2126         * lread.c (read_compiled_function): Fix prototype.
2127         (read_vector): Likewise.
2128
2129 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2130
2131         * lrecord.h (struct lrecord_header): Delete `older'.
2132         (set_lheader_implementation): Delete code for `older'.
2133         (set_lheader_older_implementation): Deleted.
2134         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2135         (OLDER_RECORD_P): Deleted.
2136         (OLDER_RECORD_HEADER_P): Deleted.
2137         (alloc_older_lcrecord): Deleted.
2138         (alloc_older_lcrecord_type): Deleted.
2139
2140         * alloc.c (all_older_lcrecords): Deleted.
2141         (alloc_older_lcrecord): Deleted.
2142         (disksave_object_finalization_1): Delete code for older objects.
2143         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2144         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2145
2146 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2147
2148         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2149         instead of `make_older_vector'.
2150         (put_char_ccs_code_point): Likewise.
2151         (mark_charset): Mark `cs->decoding_table'.
2152         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2153
2154         * lisp.h (make_older_vector): Deleted.
2155         (make_vector_newer): Deleted.
2156
2157         * config.h.in (HAVE_GGC): Deleted.
2158
2159         * alloc.c (make_older_vector): Deleted.
2160         (make_vector_newer_1): Deleted.
2161         (make_vector_newer): Deleted.
2162
2163 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2164
2165         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2166         (Qideograph_daikanwa_2): New variable.
2167         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2168         (complex_vars_of_mule_charset): Add new coded-charset
2169         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2170         `LEADING_BYTE_DAIKANWA'.
2171
2172         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2173         (LEADING_BYTE_DAIKANWA_1): New macro.
2174         (LEADING_BYTE_DAIKANWA_2): New macro.
2175         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2176
2177 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2178
2179         * mule-charset.c (complex_vars_of_mule_charset): Change
2180         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2181         the second revised version.
2182
2183 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2184
2185         * mule-charset.c (Vcharset_ucs_smp): New variable.
2186         (Vcharset_ucs_sip): New variable.
2187         (Qucs_smp): New variable.
2188         (Qucs_sip): New variable.
2189         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2190         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2191         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2192         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2193         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2194         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2195
2196         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2197         (LEADING_BYTE_UCS_SIP): New macro.
2198         (MIN_CHAR_SMP): New macro.
2199         (MAX_CHAR_SMP): New macro.
2200         (MIN_CHAR_SIP): New macro.
2201         (MAX_CHAR_SIP): New macro.
2202
2203 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2204
2205         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2206         utf-2000.
2207
2208 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2211         value; don't store value into `encoding_table' of `Lisp_Charset'.
2212         (mark_charset): `encoding_table' was deleted.
2213         (charset_description): Likewise.
2214         (make_charset): Likewise.
2215         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2216         `put_char_ccs_code_point'.
2217
2218         * chartab.h (Fput_char_attribute): New EXFUN.
2219
2220         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2221         is unified with normal symbol space.
2222         (Fget_char_attribute): Likewise.
2223         (Fput_char_attribute): Likewise; behavior of
2224         `put_char_ccs_code_point' is changed.
2225
2226         * char-ucs.h: Include "elhash.h".
2227         (Vchar_attribute_hash_table): New external variable.
2228         (struct Lisp_Charset): Delete `encoding_table'.
2229         (CHARSET_ENCODING_TABLE): New implementation; refer
2230         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2231         `Lisp_Charset'.
2232
2233 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2234
2235         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2236         (cs) == 0.
2237
2238 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2241         `chinese-big5'.
2242
2243 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2244
2245         * chartab.c (uint8_byte_table_description): New constant.
2246         (uint8-byte-table): Use `uint8_byte_table_description'.
2247         (uint16_byte_table_description): New constant.
2248         (uint16-byte-table): Use `uint16_byte_table_description'.
2249
2250 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2251
2252         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2253         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2254
2255 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * mule-charset.c (Vcharset_ucs_ks): New variable.
2258         (Qucs_ks): New variable.
2259         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2260         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2261
2262         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2263
2264 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2265
2266         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2267         (Fdecode_char): Likewise.
2268
2269         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2270         chartab.h.
2271         (Fdefine_char): Modify for Fdecode_char.
2272         (Ffind_char): Likewise.
2273
2274         * mule-charset.c (Fdecode_char): Add new optional argument
2275         `defined-only'.
2276         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2277
2278 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2279
2280         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2281         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2282         (allocate_coding_system): Initialize initial-charsets of
2283         CODESYS_BIG5 in XEmacs UTF-2000.
2284         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2285         CODESYS_BIG5 in XEmacs UTF-2000.
2286         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2287         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2288
2289         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2290         variables.
2291         (Qideograph_hanziku_{1 .. 12}): Likewise.
2292         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2293         .. 12}'.
2294         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2295         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2296         `ideograph-hanziku-{1 .. 12}'.
2297
2298         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2299         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2300         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2301         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2302         (DECODE_DEFINED_CHAR): New inline function.
2303         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2304
2305 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2306
2307         * mule-charset.c (Vcharset_china3_jef): Renamed from
2308         `Vcharset_japanese_jef_china3'.
2309         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2310         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2311         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2312         (syms_of_mule_charset): Rename `china3-jef' from
2313         `japanese-jef-china3'.
2314         (complex_vars_of_mule_charset): Likewise; rename
2315         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2316
2317         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2318         `LEADING_BYTE_JEF_CHINA3'.
2319         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2320         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2321
2322 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * mule-charset.c (encode_builtin_char_1): Comment out special code
2325         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2326
2327         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2328         (MAX_CHAR_MOJIKYO_0): Comment out.
2329         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2330         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2331         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2332         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2333
2334 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2337         (Qideograph_cbeta): New variable.
2338         (encode_builtin_char_1): Comment out special code for
2339         coded-charset `mojikyo' and `japanese-jef-china3'.
2340         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2341         (complex_vars_of_mule_charset): Add new coded-charset
2342         `ideograph-cbeta'.
2343
2344         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2345         (MIN_CHAR_CBETA): New macro.
2346         (MAX_CHAR_CBETA): New macro.
2347
2348 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2349
2350         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2351         (LEADING_BYTE_JEF_CHINA3): New macro.
2352         (MIN_CHAR_JEF_CHINA3): New macro.
2353         (MAX_CHAR_JEF_CHINA3): Likewise.
2354         (DECODE_CHAR): Fixed.
2355
2356 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2357
2358         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2359         (Qjapanese_jef_china3): New variable.
2360         (encode_builtin_char_1): Support `japanese-jef-china3'.
2361         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2362         (complex_vars_of_mule_charset): Add new coded-charset
2363         `japanese-jef-china3'.
2364
2365 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2368         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2369         94^4, 96^3, 96^4, 128^n and 256^n set.
2370         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2371         (map_char_table): Likewise.
2372
2373 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2374
2375         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2376         UTF-2000.
2377
2378 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2379
2380         * chartab.h (get_char_id_table): New inline function.
2381
2382         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2383         function.
2384
2385 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * chartab.h (decode_char_table_range): New prototype in XEmacs
2388         UTF-2000.
2389         (put_char_id_table): New inline function in XEmacs UTF-2000.
2390
2391         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2392         function.
2393         (decode_char_table_range): Delete static declaration in XEmacs
2394         UTF-2000.
2395
2396 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2397
2398         * chartab.c (put_char_id_table): Use `put_char_table'.
2399
2400 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2401
2402         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2403         (map_over_uint16_byte_table): Likewise.
2404         (map_over_byte_table): Likewise.
2405         (map_char_table): Modify for `map_over_uint8_byte_table',
2406         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2407         UTF-2000.
2408
2409 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2410
2411         * chartab.c (struct map_char_table_for_charset_arg): New
2412         structure.
2413         (map_char_table_for_charset_fun): New function.
2414         (map_char_table): Use `map_char_table' for encoding_table of
2415         `range->charset'.
2416
2417 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * chartab.c (map_char_table): Check a character is found in
2420         range->charset instead of non default value is defined in
2421         char-table when range is CHARTAB_RANGE_ROW.
2422
2423 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * chartab.c (map_char_id_table): Deleted.
2426         (Fmap_char_attribute): Use `map_char_table' instead of
2427         `map_char_id_table'.
2428
2429 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2430
2431         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2432         UTF-2000.
2433         (update_syntax_table): Deleted in XEmacs UTF-2000.
2434
2435         * syntax.c (find_defun_start): Use `syntax_table' instead of
2436         `mirror_syntax_table' in XEmacs UTF-2000.
2437         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2438         UTF-2000.
2439         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2440         XEmacs UTF-2000.
2441         (Fmatching_paren): Likewise.
2442         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2443         in XEmacs UTF-2000.
2444         (find_start_of_comment): Likewise.
2445         (find_end_of_comment): Likewise.
2446         (Fforward_comment): Likewise.
2447         (scan_lists): Likewise.
2448         (char_quoted): Likewise.
2449         (Fbackward_prefix_chars): Likewise.
2450         (scan_sexps_forward): Likewise.
2451         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2452         (update_syntax_table): Likewise.
2453
2454         * search.c (skip_chars): Use `syntax_table' instead of
2455         `mirror_syntax_table' in XEmacs UTF-2000.
2456         (wordify): Likewise.
2457         (Freplace_match): Likewise.
2458
2459         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2460         `mirror_syntax_table' in XEmacs UTF-2000.
2461         (WORDCHAR_P_UNSAFE): Likewise.
2462         (re_match_2_internal): Likewise.
2463
2464         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2465         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2466
2467         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2468         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2469
2470         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2471         XEmacs UTF-2000.
2472
2473         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2474         UTF-2000.
2475         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2476         (char_table_description): Delete `mirror_table' in XEmacs
2477         UTF-2000.
2478         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2479         UTF-2000.
2480         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2481         (Fcopy_char_table): Likewise.
2482         (put_char_table): Don't call `update_syntax_table' in XEmacs
2483         UTF-2000.
2484
2485         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2486         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2487         (casify_region_internal): Likewise.
2488
2489         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2490
2491         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2492         `mirror_syntax_table' in XEmacs UTF-2000.
2493
2494         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2495         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2496         (Fexpand_abbrev): Likewise.
2497
2498 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2501
2502 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2505         (map_over_uint16_byte_table): Likewise.
2506         (map_over_byte_table): Likewise.
2507         (get_char_id_table): Refer `cit->default_value'.
2508         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2509         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2510         of character-id ranges.
2511         (mark_char_table): Mark `ct->default_value'.
2512         (char_table_description): Add `default_value'.
2513         (fill_char_table): Use `default_value'.
2514         (decode_char_table_range): Decode `nil' as
2515         `CHARTAB_RANGE_DEFAULT'.
2516         (get_char_id_table): Refer `cit->default_value'.
2517         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2518         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2519         temporary hack; check value of char-table is bound or not.
2520         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2521
2522         * chartab.h (struct Lisp_Char_Table): Add new member
2523         `default_value' in XEmacs UTF-2000.
2524         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2525         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2526         UTF-2000.
2527
2528 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * chartab.h (Lisp_Char_ID_Table): Deleted.
2531
2532         * chartab.c (char_table_description): Fix typo.
2533         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2534         `Lisp_Char_ID_Table'.
2535
2536 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2537
2538         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2539         `CHAR_ID_TABLE_P'.
2540
2541         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2542         `CHAR_ID_TABLE_P'.
2543
2544         * chartab.h (XCHAR_ID_TABLE): Deleted.
2545         (XSETCHAR_ID_TABLE): Deleted.
2546         (CHAR_ID_TABLE_P): Deleted.
2547
2548         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2549         `CHAR_ID_TABLE_P'.
2550         (Fget_composite_char): Likewise.
2551         (put_char_table): Likewise.
2552         (add_char_attribute_alist_mapper): Fixed.
2553         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2554         `CHAR_ID_TABLE_P'.
2555         (Fget_char_attribute): Likewise.
2556         (Fget_char_attribute): Likewise.
2557         (Fmap_char_attribute): Likewise.
2558
2559         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2560         `CHAR_ID_TABLE_P'.
2561         (encode_char_1): Likewise.
2562
2563 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2564
2565         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2566         `XCHAR_ID_TABLE'.
2567
2568         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2569         instead of `XCHAR_ID_TABLE'.
2570         (remove_char_ccs): Likewise.
2571
2572         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2573         `XCHAR_ID_TABLE'.
2574         (Fget_composite_char): Likewise.
2575         (Fchar_variants): Likewise.
2576         (put_char_table): Likewise.
2577         (add_char_attribute_alist_mapper): Likewise.
2578         (Fchar_attribute_alist): Likewise.
2579         (Fget_char_attribute): Likewise.
2580         (Fput_char_attribute): Likewise.
2581         (Fmap_char_attribute): Likewise.
2582         (Fmap_char_attribute): Likewise.
2583
2584         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2585         `XCHAR_ID_TABLE'.
2586         (encode_char_1): Likewise.
2587
2588 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2591         `Lisp_Char_ID_Table'.
2592         (mark_char_id_table): Deleted.
2593         (print_char_id_table): Likewise.
2594         (char_id_table_equal): Likewise.
2595         (char_id_table_hash): Likewise.
2596         (char_id_table_description): Likewise.
2597         (char_id_table): Likewise.
2598         (make_char_id_table): Use `Fmake_char_table' and
2599         `fill_char_table'.
2600         (get_char_id_table): Use `Lisp_Char_Table' instead of
2601         `Lisp_Char_ID_Table'.
2602         (put_char_id_table): Likewise.
2603         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2604         `XCHAR_ID_TABLE'.
2605         (Fremove_char_attribute): Likewise.
2606         (syms_of_chartab): Don't define type `char-id-table'.
2607
2608         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2609         (char_id_table): Likewise.
2610         (GC_CHAR_ID_TABLE_P): Likewise.
2611         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2612         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2613         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2614         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2615         (get_char_id_table): Use `Lisp_Char_Table' instead of
2616         `Lisp_Char_ID_Table'.
2617         (put_char_id_table_0): Likewise.
2618         (put_char_id_table): Likewise.
2619
2620 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2621
2622         * chartab.h: Lisp_Byte_Table related codes are moved from
2623         chartab.h.
2624
2625         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2626
2627 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2628
2629         * chartab.h: Don't include "chartab.h".
2630         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2631         (Lisp_Char_ID_Table): Likewise.
2632         (char_id_table): Likewise.
2633         (XCHAR_ID_TABLE): Likewise.
2634         (XSETCHAR_ID_TABLE): Likewise.
2635         (CHAR_ID_TABLE_P): Likewise.
2636         (GC_CHAR_ID_TABLE_P): Likewise.
2637         (get_char_id_table): Likewise.
2638
2639         * char-ucs.h: Include "chartab.h".
2640         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2641         (Lisp_Char_ID_Table): Likewise.
2642         (char_id_table): Likewise.
2643         (XCHAR_ID_TABLE): Likewise.
2644         (XSETCHAR_ID_TABLE): Likewise.
2645         (CHAR_ID_TABLE_P): Likewise.
2646         (GC_CHAR_ID_TABLE_P): Likewise.
2647         (get_char_id_table): Likewise.
2648
2649 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2650
2651         * chartab.c (copy_uint8_byte_table): New function.
2652         (copy_uint16_byte_table): New function.
2653         (copy_byte_table): New function.
2654         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2655         characters to call.
2656         (map_over_uint16_byte_table): Likewise.
2657         (map_over_byte_table): Likewise.
2658         (get_byte_table): Move prototype to chartab.h.
2659         (put_byte_table): Likewise.
2660         (put_char_id_table_0): Moved to chartab.h.
2661         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2662         (char_table_entry_equal): Likewise.
2663         (char_table_entry_hash): Likewise.
2664         (char_table_entry_description): Likewise.
2665         (char_table_entry): Likewise.
2666         (make_char_table_entry): Likewise.
2667         (copy_char_table_entry): Likewise.
2668         (get_non_ascii_char_table_value): Likewise.
2669         (map_over_charset_ascii): Likewise.
2670         (map_over_charset_control_1): Likewise.
2671         (map_over_charset_row): Likewise.
2672         (map_over_other_charset): Likewise.
2673         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2674         (print_char_table): Likewise.
2675         (char_table_equal): Likewise.
2676         (char_table_hash): Likewise.
2677         (char_table_description): Likewise.
2678         (fill_char_table): Likewise.
2679         (Fcopy_char_table): Likewise.
2680         (get_char_table): Likewise.
2681         (Fget_range_char_table): Likewise.
2682         (put_char_table): Likewise.
2683         (map_char_table): Likewise.
2684         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2685         UTF-2000.
2686
2687 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2688
2689         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2690         `Vauto_fill_chars' in XEmacs UTF-2000.
2691
2692         * chartab.h (get_byte_table): New prototype [moved from
2693         chartab.c].
2694         (put_byte_table): Likewise [moved from chartab.c].
2695         (put_char_id_table_0): New inline function [moved from chartab.c].
2696         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2697         (Lisp_Char_Table_Entry): Likewise.
2698         (char_table_entry): Likewise.
2699         (XCHAR_TABLE_ENTRY): Likewise.
2700         (XSETCHAR_TABLE_ENTRY): Likewise.
2701         (CHAR_TABLE_ENTRYP): Likewise.
2702         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2703         (NUM_ASCII_CHARS): Likewise.
2704         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2705         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2706
2707 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2708
2709         * chartab.c (get_char_id_table): Change interface.
2710         (put_char_id_table_0): New function.
2711         (put_char_id_table): Change interface; new implementation.
2712         (Fget_composite_char): Modify for interface change of
2713         `get_char_id_table'.
2714         (Fchar_variants): Likewise.
2715         (add_char_attribute_alist_mapper): Likewise.
2716         (Fchar_attribute_alist): Likewise.
2717         (Fget_char_attribute): Likewise.
2718         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2719         as same as character as the first argument like `put-char-table';
2720         modify for interface change of `put_char_id_table'.
2721         (Fremove_char_attribute): Modify for interface change of
2722         `put_char_id_table'.
2723
2724 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2725
2726         * text-coding.c: Sync up with XEmacs 21.2.41.
2727         (COMPOSE_ADD_CHAR): Modify for interface change of
2728         `get_char_id_table'.
2729
2730         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2731         change of `put_char_id_table'.
2732         (remove_char_ccs): Likewise.
2733
2734         * chartab.h (put_char_id_table): Change interface.
2735
2736         * char-ucs.h (get_char_id_table): Change interface.
2737         (charset_code_point): Modify for interface change of
2738         `get_char_id_table'.
2739         (encode_char_1): Likewise.
2740
2741 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2742
2743         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2744         argument `ccs'.
2745         (map_over_uint16_byte_table): Likewise.
2746         (map_over_byte_table): Likewise.
2747         (map_char_id_table): Add new argument `range' like
2748         `map_char_table'.
2749         (Fmap_char_attribute): Add new argument `range' like
2750         `Fmap_char_table'.
2751
2752 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * chartab.c (map_over_uint8_byte_table): Change interface of
2755         mapping function to use struct chartab_range instead of Emchar.
2756         (map_over_uint16_byte_table): Likewise.
2757         (map_over_byte_table): Likewise.
2758         (map_char_id_table): Likewise.
2759         (struct slow_map_char_id_table_arg): Deleted.
2760         (slow_map_char_id_table_fun): Deleted.
2761         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2762         function `slow_map_char_table_fun' instead of struct
2763         `slow_map_char_id_table_arg' and function
2764         `slow_map_char_id_table_fun'.
2765
2766 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * mule-charset.c: Move char-it-table related codes to chartab.c.
2769         (Vutf_2000_version): Moved to chartab.c.
2770         (Fdefine_char): Likewise.
2771         (Ffind_char): Likewise.
2772         (syms_of_mule_charset): Move types `uint8-byte-table',
2773         `uint16-byte-table', `byte-table' and `char-id-table' to
2774         chartab.c; move functions `char_attribute_list,
2775         `find_char_attribute_table, `char_attribute_alist,
2776         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2777         `map_char_attribute, `define_char, `find_char, `char_variants and
2778         `get_composite_char to chartab.c; move symbols `=>ucs',
2779         `->decomposition', `compat', `isolated', `initial', `medial',
2780         `final', `vertical', `noBreak', `fraction', `super', `sub',
2781         `circle', `square', `wide', `narrow', `small' and `font' to
2782         chartab.c.
2783         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2784         setting codes for `Vcharacter_composition_table' and
2785         `Vcharacter_variant_table' to chartab.c.
2786         (complex_vars_of_mule_charset): Move setting code for
2787         `Vchar_attribute_hash_table' to chartab.c.
2788
2789         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2790         (make_char_id_table): New prototype.
2791         (put_char_id_table): Likewise.
2792         (Fget_char_attribute): Likewise.
2793
2794         * chartab.c: Move char-id-table related code from mule-charset.c.
2795         (Vutf_2000_version): Moved from mule-charset.c.
2796
2797         * char-ucs.h (Qucs): New external variable.
2798         (put_char_ccs_code_point): New prototype.
2799         (remove_char_ccs): Likewise.
2800
2801 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2802
2803         * mule-charset.c (Vcharset_ucs_jis): New variable.
2804         (Qucs_jis): Likewise.
2805         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2806         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2807
2808         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2809
2810 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2811
2812         * mule-charset.c (map_over_uint8_byte_table): New function.
2813         (map_over_uint16_byte_table): Likewise.
2814         (map_over_byte_table): Likewise.
2815         (map_char_id_table): Likewise.
2816         (slow_map_char_id_table_fun): Likewise.
2817         (Fmap_char_attribute): Likewise.
2818         (syms_of_mule_charset): Add new function `map-char-attribute'.
2819
2820 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2823         (syms_of_mule_charset): Add new function `find-char'.
2824
2825 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2828         XEmacs UTF-2000.
2829         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2830         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2831         XEmacs UTF-2000.
2832         (complex_vars_of_mule_charset): Add new coded-charset
2833         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2834         `ideograph-gt-pj-*'.
2835
2836         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2837
2838 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2839
2840         * mule-charset.c (encode_builtin_char_1): Purge codes about
2841         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2842         {MIN|MAX}_CHAR_HEBREW.
2843         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2844         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2845
2846         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2847         (MAX_CHAR_GREEK): Purged.
2848         (MIN_CHAR_CYRILLIC): Purged.
2849         (MAX_CHAR_CYRILLIC): Purged.
2850         (MIN_CHAR_HEBREW): Commented out.
2851         (MAX_CHAR_HEBREW): Likewise.
2852
2853 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2854
2855         * mule-charset.c (Qto_ucs): New variable.
2856         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2857         (Fdefine_char): Likewise.
2858         (syms_of_mule_charset): Add new symbol `=>ucs'.
2859
2860 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2861
2862         * mule-charset.c (Fdecode_char): Fixed.
2863
2864 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2865
2866         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2867         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2868         "tcvn5712-1".
2869
2870 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2871
2872         * mule-charset.c (Vcharset_ucs_big5): New variable.
2873         (Qucs_big5): Likewise.
2874         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2875         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2876
2877         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2878
2879 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2880
2881         * mule-charset.c (decode_builtin_char): Check Big5 code range
2882         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2883
2884 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2885
2886         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2887         (Qchinese_gb12345): Likewise.
2888         (Fdecode_builtin_char): Fixed.
2889         (syms_of_mule_charset): Add `chinese-gb12345'.
2890         (complex_vars_of_mule_charset): Add coded-charset
2891         `chinese-gb12345'.
2892
2893         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2894         (LEADING_BYTE_CHINESE_GB12345): New macro.
2895
2896 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2897
2898         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2899         and `latin-viscii-upper' for `latin-viscii'.
2900
2901 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2902
2903         * mule-charset.c (Fdecode_builtin_char): Comment out
2904         regularization code for ISO-IR GR representation.
2905
2906 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2907
2908         * mule-charset.c (decode_builtin_char): New function; renamed from
2909         `make_builtin_char'; return -1 instead of signal.
2910         (Fdecode_builtin_char): Use `decode_builtin_char'.
2911
2912         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2913         `make_builtin_char'.
2914         (DECODE_CHAR): Use `decode_builtin_char' instead of
2915         `make_builtin_char'; use mapping table of `chinese-big5' for
2916         `chinese-big5-{1,2}'.
2917
2918 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2919
2920         * text-coding.c (char_encode_big5): New function.
2921         (char_finish_big5): Likewise.
2922         (reset_encoding_stream): Use `char_encode_big5' and
2923         `char_finish_big5' for CODESYS_BIG5.
2924         (mule_encode): Don't use `encode_coding_big5'.
2925         (encode_coding_big5): Deleted.
2926
2927 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2928
2929         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2930         0x81- in XEmacs UTF-2000.
2931         (detect_coding_big5): Likewise.
2932
2933 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2936         generate character-id if the CCS property does not have
2937         corresponding predefined character.
2938         (make_builtin_char): Return -1 if corresponding predefined
2939         character is not found.
2940         (Fdecode_char): Return nil if corresponding character is not
2941         found.
2942         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2943         don't map to builtin ucs space.
2944
2945 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2946
2947         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2948         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2949
2950 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2951
2952         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2953         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2954         (Qideograph_gt): Likewise.
2955         (Qideograph_gt_pj_{1..11}): Likewise.
2956         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2957         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2958         `ideograph-gt-pj-11'.
2959         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2960         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2961         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2962
2963         * char-ucs.h (LEADING_BYTE_GT): New macro.
2964         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2965         (MIN_CHAR_GT): Likewise.
2966         (MAX_CHAR_GT): Likewise.
2967
2968 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2969
2970         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2971         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2972
2973         * doprnt.c (unsigned_int_converters): Add `c'.
2974         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2975
2976         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2977         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2978         `MIN_CHAR_MOJIKYO'.
2979         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2980         (MAX_CHAR_MOJIKYO_0): New macro.
2981         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2982
2983 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2984
2985         * mule-charset.c (Fdefine_char): Delete cemented out code.
2986         (encode_builtin_char_1): Modify for new allocation of builtin
2987         Mojikyo characters.
2988
2989         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2990
2991 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2992
2993         * mule-charset.c (Vcharset_ucs_cns): New variable.
2994         (Qucs_cns): New variable.
2995         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2996         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2997
2998 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2999
3000         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3001
3002 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3003
3004         * search.c (search_buffer): Make `charset_base_code' as
3005         character-id >> 6 to eliminate the corresponding last byte in
3006         UTF-8 representation [I'm not sure it is right thing].
3007         (boyer_moore): Likewise.
3008
3009 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3010
3011         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3012         representation in MULE.
3013
3014 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3015
3016         * text-coding.c (Fmake_coding_system): Use
3017         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3018         `EXTERNAL_PROPERTY_LIST_LOOP'.
3019
3020 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3021
3022         * text-coding.c (decode_output_utf8_partial_char): New function.
3023         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3024
3025 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * text-coding.c (decode_coding_utf8): Output original byte
3028         sequence if it is broken; change order of conditions.
3029
3030         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3031         of conditions.
3032
3033         * mb-multibyte.h (BYTE_ASCII_P):
3034         Use bit ops for char-signedness safety.
3035         (BYTE_C0_P): Use bit ops for char-signedness safety.
3036         (BYTE_C1_P): Use bit ops for char-signedness safety.
3037
3038         * character.h: (XCHAR_OR_CHAR_INT):
3039         Always use inline function.
3040         Remove redundant type checking assert() - XINT will abort quite
3041         nicely.
3042
3043 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3044
3045         * text-coding.c: (Fencode_shift_jis_char):
3046         (Fencode_big5_char):
3047         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3048         Replace 0 with '\0' when working with bytes.
3049         Replace initial "(" with "\(" in docstrings.
3050
3051         (Fmake_coding_system):
3052         When type is ccl and value is vector, register it with a proper
3053         symbol.  And checks whether the given ccl program is valid.
3054         (mule_decode): When calling ccl_driver, if src indicates
3055         NULL pointer, set an empty string instead.
3056         (mule_encode): Likewise.
3057
3058         (detect_eol_type):
3059         (detect_coding_sjis):
3060         (decode_coding_sjis):
3061         (detect_coding_big5):
3062         (decode_coding_big5):
3063         (detect_coding_ucs4):
3064         (decode_coding_ucs4):
3065         (detect_coding_utf8):
3066         (decode_coding_utf8):
3067         (detect_coding_iso2022):
3068         (decode_coding_iso2022):
3069         (decode_coding_no_conversion):
3070         (mule_decode):
3071         Make all detecting and decoding functions take an Extbyte * arg.
3072         (text_encode_generic):
3073         (encode_coding_big5):
3074         (encode_coding_no_conversion):
3075         (mule_encode):
3076         Make all encoding functions take a Bufbyte * arg.
3077         Use size_t instead of unsigned int for memory sizes.
3078         Only cast to unsigned char whenever dereferencing Extbyte *.
3079
3080         (struct lrecord_description fcd_description_1): Use countof.
3081         (complex_vars_of_file_coding):
3082         Use countof instead of sizeof.
3083         Use CHECK_NATNUM instead of CHECK_INT.
3084
3085 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3086
3087         * mule-charset.c (Fget_char_attribute): Add new optional argument
3088         `default-value'.
3089         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3090         (remove_char_ccs): Likewise.
3091
3092 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3093
3094         * text-coding.c (char_encode_shift_jis): New implementation in
3095         UTF-2000.
3096         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3097         ...)'.
3098
3099         * mule-charset.c (Vcharset_chinese_big5): New variable in
3100         UTF-2000.
3101         (Qchinese_big5): New variable in UTF-2000.
3102         (BIG5_SAME_ROW): New macro in UTF-2000.
3103         (make_builtin_char): Use builtin characters of
3104         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3105         characters of `Vcharset_chinese_big5'.
3106         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3107         (complex_vars_of_mule_charset): Add new coded-charset
3108         `chinese-big5' in UTF-2000.
3109
3110         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3111         (Vcharset_chinese_big5): New external variable declaration.
3112         (Vcharset_japanese_jisx0208_1990): Likewise.
3113
3114 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3115
3116         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3117         function.
3118         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3119
3120 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3121
3122         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3123         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3124         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3125         `mojikyo-pj-*'.
3126
3127 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3128
3129         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3130
3131 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3132
3133         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3134         to 0.17.
3135
3136 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3137
3138         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3139         for `CHARSET_BY_ATTRIBUTES'.
3140         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3141         `CHARSET_BY_ATTRIBUTES'.
3142
3143         * text-coding.c (struct decoding_stream): Rename member `CH' to
3144         `CPOS'.
3145         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3146         (decode_coding_sjis): Likewise.
3147         (decode_coding_big5): Likewise.
3148         (decode_coding_ucs4): Likewise.
3149         (decode_coding_utf8): Likewise.
3150         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3151         `CHARSET_BY_ATTRIBUTES'.
3152         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3153         `str->counter'; decode 3, 4 bytes sets.
3154         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3155         sets.
3156         (decode_coding_no_conversion): Use `str->cpos' instead of
3157         `str->ch'.
3158
3159         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3160         (Qmojikyo_2022_1): New variable.
3161         (make_charset): Don't use `CHARSET_TYPE_*'.
3162         (range_charset_code_point): Support coded-charset
3163         `mojikyo-2022-1'.
3164         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3165         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3166         `CHARSET_BY_ATTRIBUTES'.
3167         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3168         `CHARSET_BY_ATTRIBUTES'.
3169         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3170         (complex_vars_of_mule_charset): Add new coded-charset
3171         `mojikyo-2022-1'.
3172
3173         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3174         interface; changed to inline function.
3175
3176         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3177         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3178         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3179         (CHARSET_TYPE_94): Deleted.
3180         (CHARSET_TYPE_94X94): Deleted.
3181         (CHARSET_TYPE_96): Deleted.
3182         (CHARSET_TYPE_96X96): Deleted.
3183         (CHARSET_TYPE_128): Deleted.
3184         (CHARSET_TYPE_128X128): Deleted.
3185         (CHARSET_TYPE_256): Deleted.
3186         (CHARSET_TYPE_256X256): Deleted.
3187         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3188         to inline function.
3189         (DECODE_MOJIKYO_2022): New inline function.
3190         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3191         `Vcharset_mojikyo_2022_1'.
3192
3193 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3194
3195         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3196         instead of `EQ'.
3197         (put_byte_table): Likewise.
3198         (char_id_table_equal): Use `get_byte_table' [new implementation].
3199
3200 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * mule-charset.c: Include <limits.h> in UTF-2000.
3203         (BT_UINT8_MIN): New macro in UTF-2000.
3204         (BT_UINT8_MAX): New macro in UTF-2000.
3205         (BT_UINT8_t): New macro in UTF-2000.
3206         (BT_UINT8_nil): New macro in UTF-2000.
3207         (BT_UINT8_unbound): New macro in UTF-2000.
3208         (INT_UINT8_P): New inline function in UTF-2000.
3209         (UINT8_VALUE_P): New inline function in UTF-2000.
3210         (UINT8_ENCODE): New inline function in UTF-2000.
3211         (UINT8_DECODE): New inline function in UTF-2000.
3212         (mark_uint8_byte_table): New function in UTF-2000.
3213         (print_uint8_byte_table): New function in UTF-2000.
3214         (uint8_byte_table_equal): New function in UTF-2000.
3215         (uint8_byte_table_hash): New function in UTF-2000.
3216         (make_uint8_byte_table): New function in UTF-2000.
3217         (uint8_byte_table_same_value_p): New function in UTF-2000.
3218         (BT_UINT16_MIN): New macro in UTF-2000.
3219         (BT_UINT16_MAX): New macro in UTF-2000.
3220         (BT_UINT16_t): New macro in UTF-2000.
3221         (BT_UINT16_nil): New macro in UTF-2000.
3222         (BT_UINT16_unbound): New macro in UTF-2000.
3223         (INT_UINT16_P): New inline function in UTF-2000.
3224         (UINT16_VALUE_P): New inline function in UTF-2000.
3225         (UINT16_ENCODE): New inline function in UTF-2000.
3226         (UINT16_DECODE): New inline function in UTF-2000.
3227         (UINT8_TO_UINT16): New inline function in UTF-2000.
3228         (mark_uint16_byte_table): New function in UTF-2000.
3229         (print_uint16_byte_table): New function in UTF-2000.
3230         (uint16_byte_table_equal): New function in UTF-2000.
3231         (uint16_byte_table_hash): New function in UTF-2000.
3232         (make_uint16_byte_table): New function in UTF-2000.
3233         (uint16_byte_table_same_value_p): New function in UTF-2000.
3234         (print_byte_table): New function in UTF-2000.
3235         (byte-table): Use `print_byte_table' as printer.
3236         (make_byte_table): Delete second argument `older'.
3237         (byte_table_same_value_p): New function in UTF-2000.
3238         (copy_byte_table): Deleted.
3239         (get_byte_table): New function in UTF-2000.
3240         (put_byte_table): New function in UTF-2000.
3241         (print_char_id_table): New function in UTF-2000.
3242         (char-id-table): Use `print_char_id_table' as printer.
3243         (make_char_id_table): Delete second argument `older'.
3244         (get_char_id_table): Use `get_byte_table [new implementation].
3245         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3246         implementation].
3247         (Ffind_char_attribute_table): New function in UTF-2000.
3248         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3249         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3250         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3251         (syms_of_mule_charset): Add new function
3252         `find-char-attribute-table' in UTF-2000.
3253
3254         * lrecord.h (enum lrecord_type): Add
3255         `lrecord_type_uint16_byte_table' and
3256         `lrecord_type_uint8_byte_table'.
3257
3258         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3259         (Lisp_Uint8_Byte_Table): New type.
3260         (XUINT8_BYTE_TABLE): New macro.
3261         (XSETUINT8_BYTE_TABLE): New macro.
3262         (UINT8_BYTE_TABLE_P): New macro.
3263         (GC_UINT8_BYTE_TABLE_P): New macro.
3264         (struct Lisp_Uint16_Byte_Table): New structure.
3265         (Lisp_Uint16_Byte_Table): New type.
3266         (XUINT16_BYTE_TABLE): New macro.
3267         (XSETUINT16_BYTE_TABLE): New macro.
3268         (UINT16_BYTE_TABLE_P): New macro.
3269         (GC_UINT16_BYTE_TABLE_P): New macro.
3270
3271 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3274         (Vcharacter_ideographic_strokes_table): Deleted.
3275         (Vcharacter_total_strokes_table): Deleted.
3276         (Vcharacter_morohashi_daikanwa_table): Deleted.
3277         (Vcharacter_decomposition_table): Deleted.
3278         (Qname): Deleted because it is duplicated.
3279         (Qideographic_radical): Deleted.
3280         (Qideographic_strokes): Deleted.
3281         (Qtotal_strokes): Deleted.
3282         (Qmorohashi_daikanwa): Deleted.
3283         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3284         `ideographic-radical', `ideographic-strokes', `total-strokes',
3285         `morohashi-daikanwa' and `->decomposition'.
3286         (Fget_char_attribute): Likewise.
3287         (Fput_char_attribute): Likewise; use `make-vector' instead of
3288         `make_older_vector' for `->decomposition' value.
3289         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3290         `ideograph-daikanwa'.
3291         (syms_of_mule_charset): Delete builtin symbols `name',
3292         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3293         `morohashi-daikanwa'.
3294         (vars_of_mule_charset): Don't setup
3295         `Vcharacter_ideographic_radical_table',
3296         `Vcharacter_ideographic_strokes_table',
3297         `Vcharacter_total_strokes_table',
3298         `Vcharacter_morohashi_daikanwa_table' and
3299         `Vcharacter_decomposition_table'.
3300
3301 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3302
3303         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3304         `make_older_vector', `make_vector_newer_1' and
3305         `make_vector_newer'.
3306
3307         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3308         `make_older_vector' and `make_vector_newer'.
3309
3310         * config.h.in (HAVE_GGC): New macro.
3311
3312 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3313
3314         * mule-charset.c (struct char_attribute_list_closure): New
3315         structure in UTF-2000.
3316         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3317         (Fchar_attribute_list): Likewise.
3318         (Fset_charset_mapping_table): Use `make_vector_newer'.
3319         (Fdecode_builtin_char): New function in UTF-2000.
3320         (syms_of_mule_charset): Add new function `char-attribute-list' and
3321         `decode-builtin-char' in UTF-2000.
3322
3323         * lisp.h (make_vector_newer): New prototype.
3324
3325         * alloc.c (make_vector_newer_1): New function.
3326         (make_vector_newer): New function.
3327
3328 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3331         50100)'.
3332
3333 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3334
3335         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3336         (Vcharacter_attribute_table): Deleted.
3337         (Vcharacter_name_table): Deleted.
3338         (put_char_attribute): Deleted.
3339         (remove_char_attribute): Deleted.
3340         (struct char_attribute_alist_closure): New structure.
3341         (add_char_attribute_alist_mapper): New function.
3342         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3343         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3344         (Fget_char_attribute): Likewise.
3345         (Fput_char_attribute): Likewise.
3346         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3347         of `remove_char_attribute'.
3348         (Fdefine_char): Return character.
3349         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3350         and `Vcharacter_name_table'.
3351         (complex_vars_of_mule_charset): Likewise
3352         `Vchar_attribute_hash_table'.
3353
3354 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3355
3356         * character.h (CHARC_CHARSET): New macro.
3357         (CHARC_CHARSET_ID): New macro.
3358         (CHARC_CODE_POINT): New macro.
3359         (CHARC_COLUMNS): New macro.
3360         (CHARC_TO_CHAR): New inline function.
3361         (CHARC_EQ): New inline function.
3362         (CHARC_ASCII_EQ): New inline function.
3363         (CHARC_IS_SPACE): New inline function.
3364         (ASCII_TO_CHARC): New inline function.
3365
3366         * char-ucs.h (encode_char_2): Deleted.
3367         (ENCODE_CHAR): Use `encode_char_1' again.
3368         (breakup_char_1): Likewise.
3369         (CHAR_TO_CHARC): New inline function.
3370
3371         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3372
3373 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3376         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3377         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3378         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3379         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3380         `CHARC_IS_SPACE'.
3381         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3382
3383         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3384         `CHARC_CODE_POINT'.
3385         (x_output_display_block): Use `CHARC_CHARSET' and
3386         `CHARC_ASCII_EQ'.
3387
3388         * redisplay-tty.c (tty_output_display_block): Use
3389         `CHARC_ASCII_EQ'.
3390         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3391
3392         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3393
3394         * insdel.c (find_charsets_in_charc_string): Use
3395         `CHARC_CHARSET_ID'.
3396         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3397         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3398         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3399         (convert_charc_string_into_malloced_string): Likewise.
3400
3401 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3402
3403         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3404         instead of <Emchar_dynarr *> for buf; use
3405         `convert_bufbyte_string_into_charc_dynarr' instead of
3406         `convert_bufbyte_string_into_emchar_dynarr'; use
3407         `find_charsets_in_charc_string' instead of
3408         `find_charsets_in_emchar_string'.
3409
3410         * redisplay.h:
3411         - Include "character.h".
3412         (struct rune): New member `cglyph'; delete member `chr'.
3413
3414         * redisplay.c (redisplay_text_width_charc_string): New function;
3415         delete `redisplay_text_width_emchar_string'.
3416         (rtw_charc_dynarr): New variable; renamed from
3417         `rtw_emchar_dynarr'.
3418         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3419         `rtw_emchar_dynarr'; use
3420         `convert_bufbyte_string_into_charc_dynarr' instead of
3421         `convert_bufbyte_string_into_emchar_dynarr'; use
3422         `redisplay_text_width_charc_string' instead of
3423         `redisplay_text_width_emchar_string'.
3424         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3425         instead of `rtw_emchar_dynarr'; use
3426         `convert_bufbyte_string_into_charc_dynarr' instead of
3427         `convert_bufbyte_string_into_emchar_dynarr'.
3428         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3429         `redisplay_text_width_charc_string' instead of
3430         `redisplay_text_width_emchar_string'.
3431         (create_text_block): Modify for <struct rune> change.
3432         (generate_formatted_string_db): Likewise.
3433         (create_string_text_block): Likewise.
3434         (pixel_to_glyph_translation): Likewise.
3435
3436         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3437         instead of <const Emchar *>.
3438         (x_text_width): Likewise.
3439         (x_output_display_block): Use <Charc_dynarr *> instead
3440         <Emchar_dynarr *>; modify for <structure rune> change.
3441         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3442         *>.
3443
3444         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3445         <const Emchar *>; use `charc_string_displayed_columns' instead of
3446         `emchar_string_displayed_columns'.
3447         (tty_output_display_block): Use <Charc_dynarr *> instead of
3448         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3449         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3450         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3451         `tty_output_emchar_dynarr_dynarr'.
3452         (tty_output_charc_dynarr): New function; delete
3453         `tty_output_charc_dynarr'.
3454
3455         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3456         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3457         <Emchar_dynarr *> for buf; use
3458         `convert_bufbyte_string_into_charc_dynarr' instead of
3459         `convert_bufbyte_string_into_emchar_dynarr'.
3460
3461         * frame.c (title_string_charc_dynarr): New variable; renamed from
3462         `title_string_emchar_dynarr'.
3463         (generate_title_string): Use `title_string_charc_dynarr' instead
3464         of `title_string_emchar_dynarr'; use
3465         `convert_charc_string_into_malloced_string' instead of
3466         `convert_emchar_string_into_malloced_string'.
3467         (init_frame): Use `title_string_charc_dynarr' instead of
3468         `title_string_emchar_dynarr'.
3469
3470         * console.h:
3471         - Include "character.h".
3472         (struct console_methods): Use <const Charc *> instead of <const
3473         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3474         <Emchar_dynarr *> in output_string_method.
3475
3476         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3477         <Emchar_dynarr *>.
3478
3479         * console-stream.c (stream_text_width): Use <const Charc *>
3480         instead of <const Emchar *>.
3481
3482         * character.h (Charc_dynarr): New type.
3483
3484         * char-ucs.h (structure Charc): New structure; define new type
3485         `Charc'.
3486
3487         * char-lb.h (DECODE_CHAR): New inline function.
3488         (encode_char_1): New inline function.
3489         (ENCODE_CHAR): New macro.
3490         (structure Charc): New structure; define new type `Charc'.
3491
3492         * char-1byte.h (Vcharset_control_1): New macro.
3493         (Vcharset_latin_iso8859_1): New macro.
3494         (DECODE_CHAR): New inline function.
3495         (encode_char_1): New inline function.
3496         (ENCODE_CHAR): New macro.
3497         (structure Charc): New structure; define new type `Charc'.
3498
3499         * insdel.c (find_charsets_in_charc_string): New function; delete
3500         `find_charsets_in_emchar_string'.
3501         (charc_string_displayed_columns): New function; delete
3502         `emchar_string_displayed_columns'.
3503         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3504         `convert_bufbyte_string_into_emchar_dynarr'.
3505         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3506         `convert_charc_string_into_bufbyte_dynarr'.
3507         (convert_charc_string_into_malloced_string): New function; delete
3508         `convert_charc_string_into_malloced_string'.
3509
3510         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3511         `find_charsets_in_emchar_string'.
3512         (charc_string_displayed_columns): New prototype; delete
3513         `emchar_string_displayed_columns'.
3514         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3515         `convert_charc_string_into_bufbyte_dynarr'.
3516         (convert_charc_string_into_malloced_string): New prototype; delete
3517         `convert_charc_string_into_malloced_string'.
3518
3519 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3520
3521         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3522
3523 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3524
3525         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3526
3527         * char-ucs.h: Use <short> for <Charset_ID>.
3528
3529         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3530         <Charset_ID>.
3531
3532 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3533
3534         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3535         to 0.16.
3536
3537 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3538
3539         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3540         variable.
3541         (Qmorohashi_daikanwa): New variable.
3542         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3543         for `morohashi-daikanwa' attribute.
3544         (Fget_char_attribute): Likewise.
3545         (Fput_char_attribute): Likewise.
3546         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3547         has the same value of `ideograph-daikanwa'.
3548         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3549         (vars_of_mule_charset): Setup
3550         `Vcharacter_morohashi_daikanwa_table'.
3551
3552 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3553
3554         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3555         attributes.
3556         (add_charset_to_list_mapper): Add `key' instead of
3557         `XCHARSET_NAME (value)' to return aliases.
3558
3559 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3560
3561         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3562         variable.
3563         (Vcharacter_ideographic_strokes_table): New variable.
3564         (Qideographic_radical): New variable.
3565         (Qideographic_strokes): New variable.
3566         (Fchar_attribute_alist): Use
3567         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3568         attribute; use `Vcharacter_ideographic_strokes_table' for
3569         `ideographic-strokes' attribute.
3570         (Fget_char_attribute): Likewise.
3571         (Fput_char_attribute): Likewise.
3572         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3573         `ideographic-strokes'.
3574         (vars_of_mule_charset): Setup
3575         `Vcharacter_ideographic_radical_table' and
3576         `Vcharacter_ideographic_strokes_table'.
3577
3578 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3579
3580         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3581         (Qtotal_strokes): New variable.
3582         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3583         `total-strokes' attribute.
3584         (Fget_char_attribute): Likewise.
3585         (Fput_char_attribute): Likewise.
3586         (syms_of_mule_charset): Add new symbol `total-strokes'.
3587         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3588
3589 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3590
3591         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3592         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3593         are found.
3594         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3595         `->decomposition' attribute.
3596         (Fput_char_attribute): Likewise.
3597         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3598
3599 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3600
3601         * mule-charset.c (decoding_table_check_elements): New function.
3602         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3603
3604 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3605
3606         * mule-charset.c (Fset_charset_mapping_table): Use
3607         `put_char_ccs_code_point'.
3608
3609 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3610
3611         * mule-charset.c (decoding_table_put_char): New inline function.
3612         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3613
3614 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3615
3616         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3617         (XCHARSET_BYTE_SIZE): New macro.
3618         (decoding_table_remove_char): New inline function.
3619         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3620         `decoding_table_remove_char'.
3621         (remove_char_ccs): Use `decoding_table_remove_char'.
3622         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3623
3624 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3625
3626         * mule-charset.c (Vcharacter_name_table): New variable.
3627         (Qname): New variable.
3628         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3629         attribute.
3630         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3631         `Vcharacter_name_table' for `name' attribute.
3632         (Fremove_char_attribute): Use function `remove_char_ccs'.
3633         (put_char_ccs_code_point): New function.
3634         (remove_char_ccs): New function.
3635         (syms_of_mule_charset): Add new symbol `name'.
3636         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3637
3638 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3639
3640         * mule-charset.c (make_byte_table): Add new argument `older'.
3641         (make_char_id_table): Likewise.
3642         (copy_char_id_table): Comment out because it is not used.
3643         (put_char_id_table): Modify for `make_byte_table'.
3644         (Fput_char_attribute): Make encoding_table as older object;
3645         inherit older bit of `Vcharacter_composition_table'.
3646         (mark_charset): Don't mark `cs->encoding_table'.
3647         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3648         normal object; make `Vcharacter_composition_table' as an older
3649         object; delete staticpro for `Vcharacter_composition_table'; make
3650         `Vcharacter_variant_table' as a normal object.
3651
3652         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3653         (mark_object): Don't check older object in UTF-2000.
3654
3655         * lrecord.h (struct lrecord_header): Add new member `older' in
3656         UTF-2000.
3657         (set_lheader_implementation): Setup `SLI_header->older' in
3658         UTF-2000.
3659         (set_lheader_older_implementation): New macro in UTF-2000.
3660         (OLDER_RECORD_P): New macro in UTF-2000.
3661         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3662         (alloc_older_lcrecord): New prototype in UTF-2000.
3663         (alloc_older_lcrecord_type): New macro in UTF-2000.
3664
3665 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3666
3667         * mule-charset.c (byte_table_description): Use
3668         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3669         (char_id_table_description): Delete bogus `, 1'.
3670         (Fget_char_attribute): Refer encoding_table of each coded-charset
3671         to get value of coded-charset attribute of a character.
3672         (Fput_char_attribute): Use `make_older_vector' instead of
3673         `make_vector'; use encoding_table of each coded-charset to store
3674         value of coded-charset attribute of a character.
3675         (Fremove_char_attribute): Use encoding_table of each coded-charset
3676         to store value of coded-charset attribute of a character.
3677         (mark_charset): Mark `cs->encoding_table'; don't mark
3678         `cs->decoding_table'.
3679         (charset_description): Add description of new member
3680         `encoding_table'.
3681         (make_charset): Initialize `encoding_table'.
3682
3683         * char-ucs.h (struct Lisp_Charset): Add new member
3684         `encoding_table'.
3685         (CHARSET_ENCODING_TABLE): New macro.
3686         (XCHARSET_ENCODING_TABLE): New macro.
3687         (charset_code_point): New implementation.
3688         (encode_char_1): Likewise.
3689
3690         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3691         (disksave_object_finalization_1): Call finalizers of
3692         `all_older_lcrecords' in UTF-2000.
3693         (make_older_vector): New function in UTF-2000.
3694         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3695         UTF-2000.
3696
3697         * lisp.h (make_older_vector): New prototype in UTF-2000.
3698
3699 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3700
3701         * lrecord.h (enum lrecord_type): Rename
3702         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3703
3704         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3705         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3706         `get_char_code_table'.
3707
3708         * mule-charset.c (mark_char_id_table): Renamed from
3709         `mark_char_code_table'.
3710         (char_id_table_equal): Renamed from `char_code_table_equal'.
3711         (char_id_table_hash): Renamed from `char_code_table_hash'.
3712         (make_char_id_table): Renamed from `make_char_code_table'.
3713         (copy_char_id_table): Renamed from `copy_char_code_table'.
3714         (get_char_id_table): Renamed from `get_char_code_table'.
3715         (put_char_id_table): Renamed from `put_char_code_table'.
3716         (to_char_id): Renamed from `to_char_code'.
3717
3718         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3719         `Lisp_Char_Code_Table'.
3720         (char_id_table): Renamed from `char_code_table'.
3721         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3722         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3723         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3724         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3725         (get_char_id_table): Renamed from `get_char_code_table'.
3726
3727 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3728
3729         * lrecord.h (enum lrecord_type): Rename
3730         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3731
3732         * mule-charset.c (mark_byte_table): Renamed from
3733         `mark_char_byte_table'.
3734         (byte_table_equal): Renamed from `char_byte_table_equal'.
3735         (byte_table_hash): Renamed from `byte_table_hash'.
3736         (make_byte_table): Renamed from `make_byte_table'.
3737         (copy_byte_table): Renamed from `copy_char_byte_table'.
3738
3739         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3740         `Lisp_Char_Byte_Table'.
3741         (byte_table): Renamed from `char_byte_table'.
3742         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3743         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3744         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3745         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3746
3747 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3748
3749         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3750         (dfc_convert_to_internal_format): Likewise.
3751         
3752         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3753         * text-coding.c (Fcoding_system_alias_p): New function.
3754         * text-coding.c (Fcoding_system_aliasee): New function.
3755         * text-coding.c (append_suffix_to_symbol): New function.
3756         * text-coding.c (dangling_coding_system_alias_p): New function.
3757         * text-coding.c (Ffind_coding_system):
3758         * text-coding.c (Fcopy_coding_system):
3759         * text-coding.c (encode_coding_no_conversion):
3760         * text-coding.c (syms_of_file_coding):
3761         * text-coding.c (vars_of_file_coding):
3762         Rewrite coding system alias code.
3763         Allow nested aliases, like symbolic links.
3764         Allow redefinition of coding system aliases.
3765         Prevent existence of dangling coding system aliases.
3766         Eliminate convert_to_external_format.
3767         Eliminate convert_to_internal_format.
3768         
3769         * text-coding.c: Change enum eol_type to eol_type_t.
3770
3771 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3772
3773         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3774         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3775
3776         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3777         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3778
3779 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3780
3781         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3782         `ideograph-daikanwa'.
3783
3784         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3785         (Vcharset_ucs_bmp): Likewise.
3786         (Vcharset_mojikyo): Add new extern variable definition.
3787         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3788         (Vcharset_latin_iso8859_3): Likewise.
3789         (Vcharset_latin_iso8859_4): Likewise.
3790         (Vcharset_latin_iso8859_9): Likewise.
3791         (Vcharset_latin_viscii_lower): Likewise.
3792         (Vcharset_latin_viscii_upper): Likewise.
3793         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3794         `mojikyo' code-point is used to decode.
3795         (encode_char_2): New function [to convert `mojikyo' code-point to
3796         Mojikyo font encoding].
3797         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3798         (breakup_char_1): Likewise.
3799         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3800
3801 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3802
3803         * text-coding.c (Fmake_coding_system): Add document about
3804         `disable-composition' property.
3805
3806 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3807
3808         * text-coding.c (Qdisable_composition): New variable; delete
3809         `Qcomposite'.
3810         (Fmake_coding_system): Add new property `disable-composite';
3811         delete property `composite'.
3812         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3813         instead of `!CODING_SYSTEM_COMPOSITE'.
3814         (syms_of_file_coding): Add new symbol `disable-composition';
3815         delete symbol `composite'.
3816
3817         * file-coding.h (struct Lisp_Coding_System): Add
3818         `disable_composition'; delete `enable_composition'.
3819         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3820         `CODING_SYSTEM_COMPOSITE'.
3821         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3822         `XCODING_SYSTEM_COMPOSITE'.
3823
3824 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3825
3826         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3827         to 0.15.
3828
3829 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3830
3831         * text-coding.c (Qcomposite): New variable.
3832         (Fmake_coding_system): Add new property `composite'.
3833         (struct decoding_stream): Add `combined_char_count',
3834         `combined_chars' and `combining_table' in UTF-2000.
3835         (COMPOSE_FLUSH_CHARS): New macro.
3836         (COMPOSE_ADD_CHAR): New macro.
3837         (reset_decoding_stream): Reset `str->combined_char_count' and
3838         `str->combining_table' in UTF-2000.
3839         (decode_coding_iso2022): Modify for character-decomposition.
3840         (syms_of_file_coding): Add new symbol `composite'.
3841
3842 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3843
3844         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3845         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3846         of `Vcharacter_composition_table' if `->decomposition' property
3847         has only 1 element.
3848         (Qlatin_tcvn5712): New variable.
3849         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3850         (complex_vars_of_mule_charset): Add new coded-charset
3851         `latin-tcvn5712'.
3852
3853         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3854
3855 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3856
3857         * file-coding.h (struct Lisp_Coding_System): Add
3858         `enable_composition'.
3859         (CODING_SYSTEM_COMPOSITE): New macro.
3860         (XCODING_SYSTEM_COMPOSITE): New macro.
3861
3862 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3863
3864         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3865
3866 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3867
3868         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3869         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3870
3871 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3872
3873         * mule-charset.c (Vcharset_mojikyo): New variable.
3874         (Fdefine_char): Don't use coded-charset which does not have
3875         non-builtin character range to allocate character-id.
3876         (Qmojikyo): New variable.
3877         (syms_of_mule_charset): Add new symbol `mojikyo'.
3878         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3879
3880         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3881         (LEADING_BYTE_MOJIKYO): New macro.
3882         (MIN_CHAR_MOJIKYO): New macro.
3883         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3884         (MAX_CHAR_MOJIKYO): New macro.
3885
3886 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3887
3888         * mule-charset.c (remove_char_attribute): Fixed.
3889
3890 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3891
3892         * mule-charset.c (remove_char_attribute): New function.
3893         (Fremove_char_attribute): New function.
3894         (encode_builtin_char_1): Comment out builtin-support for
3895         greek-iso8859-7 and cyrillic-iso8859-5.
3896         (Fdecode_char): Check `code' is an integer.
3897         (syms_of_mule_charset): Add `remove-char-attribute'.
3898         (MIN_CHAR_GREEK): Deleted.
3899         (MAX_CHAR_GREEK): Likewise.
3900         (MIN_CHAR_CYRILLIC): Likewise.
3901         (MAX_CHAR_CYRILLIC): Likewise.
3902         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3903         MAX_CHAR_GREEK for `greek-iso8859-7'.
3904
3905         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3906         (MAX_CHAR_GREEK): Likewise.
3907         (MIN_CHAR_CYRILLIC): Likewise.
3908         (MAX_CHAR_CYRILLIC): Likewise.
3909
3910 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3911
3912         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3913         format is used without `ucs' property.
3914         (Fdecode_char): Fix problem with GR representation.
3915         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3916         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3917
3918 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3919
3920         * mule-charset.c (make_builtin_char): New function.
3921         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3922         (Fset_charset_mapping_table): Modify for new representation of
3923         code-point.
3924         (Fdecode_char): New function.
3925         (syms_of_mule_charset): Add new builtin function `decode-char' in
3926         UTF-2000.
3927
3928         * char-ucs.h (make_builtin_char): New prototype.
3929         (DECODE_CHAR): New inline function.
3930         (MAKE_CHAR): Use `DECODE_CHAR'.
3931
3932 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3933
3934         * text-coding.c (parse_charset_conversion_specs): Use
3935         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3936         `XCHARSET_TYPE'.
3937         (iso2022_designate): Likewise.
3938
3939         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3940         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3941
3942         * mule-charset.c (Vcharset_ucs): New variable.
3943         (print_charset): Change design; use `CHARSET_CHARS' and
3944         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3945         (make_charset): Change signature to specify `chars' and
3946         `dimension' instead of `type'.
3947         (range_charset_code_point): Modify for 256^n-set.
3948         (encode_builtin_char_1): Encode as `ucs' in default.
3949         (Fmake_charset): Modify for `make_charset'.
3950         (Fmake_reverse_direction_charset): Likewise.
3951         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3952         UTF-2000.
3953         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3954         for `make_charset'.
3955
3956         * char-ucs.h (Vcharset_ucs): New variable.
3957         (LEADING_BYTE_UCS): New macro.
3958         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3959         and `chars' to `unsigned short' from `unsigned int'.
3960         (CHARSET_TYPE): Deleted.
3961         (XCHARSET_TYPE): Deleted.
3962
3963 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3964
3965         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3966
3967         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3968         (ENCODE_CHAR): New macro.
3969
3970 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3971
3972         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3973         to 0.14 (Kawachi-Katakami).
3974
3975 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3976
3977         * text-coding.c (char_encode_shift_jis): Modify for
3978         `charset_code_point'.
3979         (char_encode_iso2022): Likewise.
3980
3981         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3982         (integer) instead of list of <Lisp_Object>s (integers) as the
3983         format of code-point of a coded-charset.
3984         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3985         (encode_builtin_char_1): New function; delete
3986         `split_builtin_char'.
3987         (charset_code_point): Return <int> instead of <Lisp_Object>.
3988         (Fsplit_char): Don't use `SPLIT_CHAR'.
3989
3990         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3991         prototype for `split_builtin_char'.
3992         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3993         (charset_code_point): Likewise.
3994         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3995         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3996
3997 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3998
3999         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4000         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4001
4002 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4003
4004         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4005
4006         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4007         (MAX_CHAR_OBS_94x94): Deleted.
4008
4009 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4010
4011         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4012
4013         * char-ucs.h (MAX_CHAR_BMP): New macro.
4014
4015 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4016
4017         * text-coding.c: Sync with r21-2-24.
4018
4019 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4020
4021         * file-coding.c: Modify for UTF-2000.
4022
4023 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4024
4025         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4026         to 0.13 (Takaida).
4027
4028 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4029
4030         * mule-charset.c (split_builtin_char): Delete builtin support for
4031         `katakana-jisx0201'.
4032         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4033         BMP area in builtin representation.
4034
4035         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4036         `Vcharset_katakana_jisx0201'.
4037
4038 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4039
4040         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4041         (Qisolated): New variable.
4042         (Qinitial): New variable.
4043         (Qmedial): New variable.
4044         (Qfinal): New variable.
4045         (Qvertical): New variable.
4046         (Qsmall): New variable.
4047         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4048         `Qvertical' and `Qsmall'.
4049         (Qmojikyo_pj_[1 .. 21]): New variable.
4050         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4051         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4052         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4053         .. 21]'.
4054
4055 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4056
4057         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4058         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4059         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4060
4061 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4062
4063         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4064         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4065         BMP.
4066         (Qjapanese_jisx0208_1990): New variable.
4067         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4068         (complex_vars_of_mule_charset): Add new coded-charset
4069         `japanese-jisx0208-1990'.
4070
4071         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4072         (MIN_CHAR_JIS_X0208_1990): New macro.
4073         (MAX_CHAR_JIS_X0208_1990): New macro.
4074
4075 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4076
4077         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4078         coded-charset is not found.
4079
4080 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4081
4082         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4083         (Fdefine_char): Use `Fmake_char'.
4084
4085 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4086
4087         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4088         (Vcharset_hiragana_jisx0208): Deleted.
4089         (Vcharset_katakana_jisx0208): Deleted.
4090         (Qideograph_daikanwa): New variable.
4091         (Qhiragana_jisx0208): Deleted.
4092         (Qkatakana_jisx0208): Deleted.
4093         (split_builtin_char): Split `ideograph-daikanwa'.
4094         (Fsplit_char): New implementation for UTF-2000.
4095         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4096         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4097         (complex_vars_of_mule_charset): Add new coded-charset
4098         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4099         `katakana-jisx0208'.
4100
4101         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4102         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4103         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4104         (MIN_CHAR_DAIKANWA): New macro.
4105         (MAX_CHAR_DAIKANWA): New macro.
4106
4107 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4108
4109         * data.c (Fstring_to_number): Don't recognize floating point if
4110         base is not 10.
4111
4112 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4113
4114         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4115
4116 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4117
4118         * mule-charset.c (Qsquare): New variable.
4119         (to_char_code): Add `Qsquare'.
4120         (syms_of_mule_charset): Add new symbol `square'.
4121
4122 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4123
4124         * mule-charset.c (Qcircle): New variable.
4125         (to_char_code): Add `Qcircle'.
4126         (syms_of_mule_charset): Add new symbol `circle'.
4127
4128 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4129
4130         * mule-charset.c (Qfont): New variable.
4131         (to_char_code): Add `Qfont'.
4132         (syms_of_mule_charset): Add new symbol `font'.
4133
4134 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4135
4136         * mule-charset.c (Qsub): New variable.
4137         (to_char_code): Add `Qsub'.
4138         (syms_of_mule_charset): Add new symbol `sub'.
4139
4140 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4141
4142         * mule-charset.c (Fput_char_attribute): Convert each element of
4143         VALUE to GL position if ATTRIBUTE is a GR-set,
4144
4145 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4146
4147         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4148         coded-charset is a GR-set.
4149
4150 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4151
4152         * mule-charset.c (Fput_char_attribute): Check each element of
4153         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4154
4155 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4156
4157         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4158         UTF-2000.
4159         (Qethiopic_ucs): New variable in UTF-2000.
4160         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4161         (complex_vars_of_mule_charset): Add new coded-charset
4162         `ethiopic-ucs' in UTF-2000.
4163
4164         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4165         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4166         9)'.
4167         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4168         10)'.
4169         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4170
4171 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4172
4173         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4174         `ascii'.
4175
4176 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4177
4178         * mule-charset.c (Vcharacter_variant_table): New variable.
4179         (Q_ucs): New variable.
4180         (Fchar_variants): New function.
4181         (Fput_char_attribute): Register `->ucs' value to
4182         `Vcharacter_variant_table'.
4183         (syms_of_mule_charset): Add new function `char-variants' and new
4184         symbol `->ucs'.
4185         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4186
4187 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4188
4189         * mule-charset.c (get_char_code_table): Allow negative character
4190         code.
4191         (put_char_code_table): Likewise.
4192         (Vcharacter_composition_table): New variable.
4193         (Q_decomposition): New variable.
4194         (Qwide): New variable.
4195         (Qnarrow): New variable.
4196         (Qcompat): New variable.
4197         (QnoBreak): New variable.
4198         (Qsuper): New variable.
4199         (Qfraction): New variable.
4200         (to_char_code): New function.
4201         (Fget_composite_char): New function.
4202         (Fput_char_attribute): Register `->decomposition' value to
4203         `Vcharacter_composition_table'.
4204         (syms_of_mule_charset): Add new function `get-composite-char', new
4205         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4206         `super' and `fraction'.
4207         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4208
4209 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4210
4211         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4212         character; copy the return value.
4213
4214 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4215
4216         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4217
4218         * mule-charset.c (range_charset_code_point): Must use make_int.
4219         (split_builtin_char): New function.
4220
4221 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4222
4223         * mule-charset.c (char_byte_table): Change name from
4224         "char-code-table" to "char-byte-table".
4225         (mark_char_code_table): New function.
4226         (char_code_table_equal): New function.
4227         (char_code_table_hash): New function.
4228         (char_code_table_description): New constant.
4229         (char_code_table): New type.
4230         (make_char_code_table): New function.
4231         (copy_char_code_table): New function.
4232         (get_char_code_table): Modify for `char_code_table' type.
4233         (put_char_code_table): Likewise.
4234         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4235         (Kashiwara).
4236
4237         * char-ucs.h (char_code_table): New type.
4238         (XCHAR_CODE_TABLE): New macro.
4239         (XSETCHAR_CODE_TABLE): New macro.
4240         (CHAR_CODE_TABLE_P): New macro.
4241         (GC_CHAR_CODE_TABLE_P): New macro.
4242         (struct Lisp_Char_Code_Table): New structure.
4243
4244 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4245
4246         * mule-charset.c (Fmake_charset): Setup byte_offset for
4247         {94|96}^n-set.
4248
4249 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4250
4251         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4252         character.
4253
4254 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4255
4256         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4257         is found.
4258
4259 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4260
4261         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4262         charset, it is regarded as a charset.
4263         (put_char_attribute): New function in UTF-2000.
4264         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4265         charset, mapping-table of the charset is modified.
4266         (Fdefine_char): New function in UTF-2000.
4267         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4268         `Fput_char_attribute'.
4269         (syms_of_mule_charset): Add new function `define-char' and new
4270         symbol `ucs' in UTF-2000.
4271         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4272
4273 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4274
4275         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4276         non-UTF-2000 configuration.
4277
4278 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4279
4280         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4281         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4282
4283         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4284         deleted.
4285         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4286         (Fset_charset_mapping_table): Likewise.
4287
4288         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4289         (CHARSET_ENCODING_TABLE): Delete.
4290         (XCHARSET_ENCODING_TABLE): Delete.
4291         (charset_code_point): New interface.
4292
4293 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4294
4295         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4296         instead of `charset_get_byte1' and `charset_get_byte2'.
4297
4298         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4299         (charset_get_byte2): Deleted.
4300
4301 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4302
4303         * char-ucs.h (SPLIT_CHAR): New inline function.
4304         (breakup_char_1): Use `SPLIT_CHAR'.
4305
4306         * mule-charset.c (range_charset_code_point): New function.
4307         (charset_code_point): New function.
4308
4309         * char-ucs.h (range_charset_code_point): New interface.
4310         (breakup_char_1): Use `range_charset_code_point'.
4311
4312 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4313
4314         * mule-charset.c (Fmake_charset): Delete unused local variable
4315         `code_offset'.
4316
4317         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4318         (breakup_char_1): Find a charset and code-point in
4319         `Vcharacter_attribute_table'.
4320
4321 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4322
4323         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4324         to 0.10 (Yao).
4325
4326 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4327
4328         * mule-charset.c (Vcharacter_attribute_table): New variable.
4329         (Fchar_attribute_alist): New function.
4330         (Fget_char_attribute): New function.
4331         (Fput_char_attribute): New function.
4332         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4333         too.
4334         (syms_of_mule_charset): Add new function `char-attribute-alist',
4335         `get-char-attribute' and `put-char-attribute'.
4336         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4337
4338 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4339
4340         * mule-charset.c (Fmake_charset): Just use
4341         `get_unallocated_leading_byte'.
4342
4343         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4344         sets; don't use final-byte based number for private sets.
4345
4346 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4347
4348         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4349         integer.
4350
4351 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4352
4353         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4354         to 0.9.
4355
4356 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4357
4358         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4359         of `CHAR_LEADING_BYTE' in UTF-2000.
4360
4361         * insdel.c (find_charsets_in_bufbyte_string): Use
4362         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4363         (find_charsets_in_emchar_string): Likewise.
4364
4365         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4366         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4367
4368         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4369         (CHAR_CHARSET_ID): New macro.
4370
4371 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4372
4373         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4374         charset-id - MIN_LEADING_BYTE.
4375         (put_char_table): Likewise.
4376
4377 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4378
4379         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4380         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4381         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4382         (CHARSET_ID_OFFSET): New macro.
4383         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4384         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4385         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4386         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4387         4).
4388         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4389         5).
4390         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4391         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4392         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4393         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4394         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4395
4396 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4397
4398         * mule-charset.c (next_allocated_leading_byte): New variable in
4399         UTF-2000.
4400         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4401         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4402         (get_unallocated_leading_byte): Simply use
4403         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4404         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4405         UTF-2000.
4406
4407         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4408         (MAX_LEADING_BYTE_PRIVATE): New macro.
4409         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4410         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4411
4412 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4413
4414         * mule-charset.c (Fmake_charset): Allocate final-byte based
4415         charset-id for 94-set, 96-set and 94x94-set.
4416
4417 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4418
4419         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4420         ambiguous `else'.
4421         (Fmake_charset): Likewise.
4422         (complex_vars_of_mule_charset): Modify the font registry of
4423         `ucs-bmp' not to match `Ethiopic-Unicode'.
4424
4425 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4426
4427         * mule-charset.c (complex_vars_of_mule_charset): Add font
4428         registory of `ucs-bmp'.
4429
4430 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4431
4432         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4433         coded-charsets in `default-coded-charset-priority-list' when
4434         breaking up a character.
4435
4436         * mule-charset.c (Vcharset_latin_viscii): New variable.
4437         (Qlatin_viscii): New variable.
4438         (make_charset): Don't use `decoding_table'.
4439         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4440         byte_offset.
4441         (Fset_charset_mapping_table): New implementation.
4442         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4443         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4444         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4445         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4446         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4447         charset `latin_viscii'.
4448
4449         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4450         (CHARSET_TYPE_94X94): Change to 1 from 2.
4451         (CHARSET_TYPE_96): Change to 2 from 1.
4452         (CHARSET_TYPE_128): New macro.
4453         (CHARSET_TYPE_128X128): Change to 5 from 4.
4454         (CHARSET_TYPE_256): New macro.
4455         (CHARSET_TYPE_256X256): Change to 7 from 5.
4456         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4457
4458 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4459
4460         * text-coding.c (char_encode_shift_jis): Refer
4461         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4462         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4463
4464         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4465         (char_byte_table_equal): New function in UTF-2000.
4466         (char_byte_table_hash): New function in UTF-2000.
4467         (char_byte_table_description): New constant in UTF-2000.
4468         (char_byte_table): New type in UTF-2000.
4469         (make_char_byte_table): New function in UTF-2000.
4470         (copy_char_byte_table): New function in UTF-2000.
4471         (make_char_code_table): New macro in UTF-2000.
4472         (get_char_code_table): New function in UTF-2000.
4473         (put_char_code_table): New function in UTF-2000.
4474         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4475         (charset_description): Add setting in UTF-2000.
4476         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4477         `CHARSET_TO_BYTE1_TABLE(cs)'.
4478         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4479         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4480         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4481         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4482         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4483         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4484         `CHARSET_TO_BYTE2_TABLE(cs)'.
4485
4486         * char-ucs.h (char_byte_table): New type.
4487         (XCHAR_BYTE_TABLE): New macro.
4488         (XSETCHAR_BYTE_TABLE): New macro.
4489         (CHAR_BYTE_TABLE_P): New macro.
4490         (GC_CHAR_BYTE_TABLE_P): New macro.
4491         (struct Lisp_Char_Byte_Table): New structure.
4492         (get_char_code_table): New interface.
4493         (Emchar_to_byte_table): Deleted.
4494         (get_byte_from_character_table): Deleted.
4495         (struct Lisp_Charset): Add `encoding_table'; delete
4496         `to_byte1_table' and `to_byte2_table'.
4497         (CHARSET_ENCODING_TABLE): New macro.
4498         (CHARSET_TO_BYTE1_TABLE): Deleted.
4499         (CHARSET_TO_BYTE2_TABLE): Deleted.
4500         (XCHARSET_ENCODING_TABLE): New macro.
4501         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4502         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4503
4504 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4505
4506         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4507         `vietnamese-viscii-*'.
4508
4509 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4510
4511         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4512         (Qvietnamese_viscii_upper): New variable.
4513         (Fdefine_charset_alias): New function.
4514         (syms_of_mule_charset): Add new function `define-charset-alias'.
4515         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4516         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4517         `latin-viscii-*'.
4518
4519 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4520
4521         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4522         (MAX_CHAR_OBS_94x94): New macro.
4523         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4524         for 94x94 sets.
4525
4526         * mule-charset.c (put_byte_from_character_table): Change unit size
4527         from 128 to 256.
4528         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4529         not defined.
4530         (Fmake_reverse_direction_charset): Modify dummy argument of
4531         `make_charset' for non-UTF-2000 environment.
4532
4533 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4534
4535         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4536
4537         * mule-charset.c (destroy_byte_from_character_table): New macro.
4538         (latin_jisx0201_to_ucs): Deleted.
4539         (latin_iso8859_2_to_ucs): Deleted.
4540         (latin_iso8859_3_to_ucs): Deleted.
4541         (latin_iso8859_4_to_ucs): Deleted.
4542         (latin_iso8859_9_to_ucs): Deleted.
4543         (latin_viscii_lower_to_ucs): Deleted.
4544         (latin_viscii_upper_to_ucs): Deleted.
4545         (mark_charset): Mark `cs->decoding_table'.
4546         (Fcharset_mapping_table): Fix DOC-string.
4547         (Fset_charset_mapping_table): New function.
4548         (syms_of_mule_charset): Add nwe function
4549         `set-charset-mapping-table'.
4550         (complex_vars_of_mule_charset): Don't setup and use
4551         `latin_*_to_ucs'.
4552
4553 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4554
4555         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4556         charset.
4557
4558 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4559
4560         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4561         (Vcharset_katakana_jisx0208): New variable.
4562         (Qhiragana_jisx0208): New variable.
4563         (Qkatakana_jisx0208): New variable.
4564         (make_charset): Add new argument `byte_offset'.
4565         (charset_get_byte1): Modify for new coded-charset definition; use
4566         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4567         `XCHARSET_BYTE_OFFSET'.
4568         (Fmake_charset): Modify for `make_charset'.
4569         (Fmake_reverse_direction_charset): Likewise.
4570         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4571         `katakana-jisx0208'.
4572         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4573         `.'  in font registry of charset `katakana-jisx0201',
4574         `latin-jisx0201', `vietnamese-viscii-lower' and
4575         `vietnamese-viscii-upper'; modify DOC-string of charset
4576         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4577         registry of charset `japanese-jisx0208' not to use font for JIS
4578         X0208:1990; add new charset `hiragana-jisx0208' and
4579         `katakana-jisx0208'.
4580
4581         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4582         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4583         (struct Lisp_Charset): Add `byte_offset'.
4584         (CHARSET_BYTE_OFFSET): New macro.
4585         (XCHARSET_UCS_MIN): New macro.
4586         (XCHARSET_UCS_MAX): New macro.
4587         (XCHARSET_CODE_OFFSET): New macro.
4588         (XCHARSET_BYTE_OFFSET): New macro.
4589         (MIN_CHAR_HIRAGANA): New macro.
4590         (MAX_CHAR_HIRAGANA): New macro.
4591         (MIN_CHAR_KATAKANA): New macro.
4592         (MAX_CHAR_KATAKANA): New macro.
4593         (MAKE_CHAR): Modify for new coded-charset definition; use
4594         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4595         `XCHARSET_BYTE_OFFSET'.
4596
4597 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4598
4599         * mule-charset.c (CHAR96): Deleted.
4600         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4601         <Lisp_Object>.
4602         (latin_iso8859_2_to_ucs): Likewise.
4603         (latin_iso8859_3_to_ucs): Likewise.
4604         (latin_iso8859_4_to_ucs): Likewise.
4605         (latin_iso8859_9_to_ucs): Likewise.
4606         (latin_viscii_lower_to_ucs): Likewise.
4607         (latin_viscii_upper_to_ucs): Likewise.
4608         (latin_tcvn5712_to_ucs): Commented out.
4609         (make_charset): Change type of argument `decoding_table' from
4610         <Emchar*> to <Lisp_Object> [vector of characters].
4611         (Fmake_charset): Modify for `make_charset'.
4612         (Fmake_reverse_direction_charset): Likewise.
4613         (Fcharset_mapping_table): New function in UTF-2000.
4614         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4615         UTF-2000.
4616         (complex_vars_of_mule_charset): Modify for type change of
4617         `*_to_ucs'; modify for `make_charset'.
4618
4619         * char-ucs.h (struct Lisp_Charset): Change type of
4620         `decoding_table' from <Emchar*> to <Lisp_Object>.
4621         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4622
4623 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4624
4625         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4626         error with non-UTF-2000-Mule.
4627
4628 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4631         in lisp again].
4632         (Vcharset_chinese_cns11643_4): Likewise.
4633         (Vcharset_chinese_cns11643_5): Likewise.
4634         (Vcharset_chinese_cns11643_6): Likewise.
4635         (Vcharset_chinese_cns11643_7): Likewise.
4636         (Qchinese_cns11643_3): Likewise.
4637         (Qchinese_cns11643_4): Likewise.
4638         (Qchinese_cns11643_5): Likewise.
4639         (Qchinese_cns11643_6): Likewise.
4640         (Qchinese_cns11643_7): Likewise.
4641         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4642         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4643         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4644         (complex_vars_of_mule_charset): Likewise.
4645
4646 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4647
4648         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4649         96-set.
4650         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4651         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4652
4653 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4654
4655         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4656         0xFF60.
4657         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4658         (breakup_char_1): Likewise.
4659
4660         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4661         one of them includes the specified character.
4662
4663 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4664
4665         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4666
4667 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4668
4669         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4670
4671 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4672
4673         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4674         definition for non-UTF-2000 Mule.
4675         (latin_iso8859_3_to_ucs): Likewise.
4676         (latin_iso8859_4_to_ucs): Likewise.
4677         (latin_iso8859_9_to_ucs): Likewise.
4678         (latin_jisx0201_to_ucs): Likewise.
4679         (MIN_CHAR_THAI): Likewise.
4680         (MAX_CHAR_THAI): Likewise.
4681         (MIN_CHAR_GREEK): Likewise.
4682         (MAX_CHAR_GREEK): Likewise.
4683         (MIN_CHAR_HEBREW): Likewise.
4684         (MAX_CHAR_HEBREW): Likewise.
4685         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4686         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4687         (MIN_CHAR_CYRILLIC): Likewise.
4688         (MAX_CHAR_CYRILLIC): Likewise.
4689
4690 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4691
4692         * char-ucs.h (breakup_char_1): Use
4693         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4694         thai-tis620 and katakana-jisx0201 area.
4695
4696 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4697
4698         * char-ucs.h (breakup_char_1): Use
4699         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4700         area.
4701
4702         * text-coding.c (reset_encoding_stream): Fixed.
4703         (char_encode_ucs4): Delete `& 255'.
4704
4705         * char-ucs.h (breakup_char_1): Use
4706         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4707
4708 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4709
4710         * file-coding.c (Fmake_coding_system): Don't set up
4711         `codesys->fixed.size'.
4712         (encode_coding_no_conversion): Don't refer
4713         `str->codesys->fixed.size'.
4714
4715 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4716
4717         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4718         (latin_a_char_to_byte1): Deleted.
4719         (latin_a_char_to_byte2): Deleted.
4720
4721 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4722
4723         * mule-charset.c (make_charset): Add new argument `ucs_min',
4724         `ucs_max' and `code_offset'.
4725         (charset_get_byte1): New implementation [delete specific charset
4726         depended implementations].
4727         (Fmake_charset): Modify for `make_charset'.
4728         (Fmake_reverse_direction_charset): Likewise.
4729         (complex_vars_of_mule_charset): Likewise.
4730
4731         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4732         `code_offset'.
4733         (CHARSET_UCS_MIN): New macro.
4734         (CHARSET_UCS_MAX): New macro.
4735         (CHARSET_CODE_OFFSET): New macro.
4736         (MAKE_CHAR): Delete charset depended definitions [except
4737         katakana-jisx0201].
4738
4739 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4740
4741         * char-ucs.h (breakup_char_1): Use
4742         `Vdefault_coded_charset_priority_list' for C0-Controls,
4743         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4744
4745 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4746
4747         * char-ucs.h (charset_get_byte1): New function.
4748         (XCHARSET_GET_BYTE1): Deleted.
4749         (charset_get_byte2): New function.
4750         (XCHARSET_GET_BYTE2): Deleted.
4751         (Vdefault_coded_charset_priority_list): New external variable.
4752         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4753         `Vdefault_preferred_coded_charset_list'.
4754
4755         * mule-charset.c (charset_get_byte1): New function.
4756         (charset_get_byte2): New function.
4757         (Vdefault_coded_charset_priority_list): New variable.
4758         (vars_of_mule_charset): Add new variable
4759         `default-coded-charset-priority-list'.
4760
4761 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4762
4763         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4764         (XCHARSET_GET_BYTE2): New inline function.
4765         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4766         `XCHARSET_GET_BYTE2'.
4767
4768 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4769
4770         * mule-charset.c (make_charset): Initialize
4771         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4772         NULL if table is not defined.
4773
4774 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4775
4776         * text-coding.c (char_encode_shift_jis): Use
4777         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4778         `ucs_to_latin_jisx0201'.
4779
4780         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4781         (ucs_to_latin_iso8859_2): Deleted.
4782         (ucs_to_latin_iso8859_3): Deleted.
4783         (ucs_to_latin_iso8859_4): Deleted.
4784         (ucs_to_latin_iso8859_9): Deleted.
4785         (ucs_to_latin_viscii_lower): Deleted.
4786         (ucs_to_latin_viscii_upper): Deleted.
4787         (ucs_to_latin_tcvn5712): Deleted.
4788         (make_charset): Add new argument `decoding_table'; set up
4789         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4790         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4791         `decoding_table' is defined in UTF-2000.
4792         (Fmake_charset): Modify for `make_charset'.
4793         (Fmake_reverse_direction_charset): Likewise.
4794         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4795         and `GENERATE_96_SET'.
4796
4797         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4798         (ucs_to_latin_jisx0201): Deleted.
4799         (latin_iso8859_2_to_ucs): Deleted.
4800         (ucs_to_latin_iso8859_2): Deleted.
4801         (latin_iso8859_3_to_ucs): Deleted.
4802         (ucs_to_latin_iso8859_3): Deleted.
4803         (latin_iso8859_4_to_ucs): Deleted.
4804         (ucs_to_latin_iso8859_4): Deleted.
4805         (latin_iso8859_9_to_ucs): Deleted.
4806         (ucs_to_latin_iso8859_9): Deleted.
4807         (latin_viscii_lower_to_ucs): Deleted.
4808         (ucs_to_latin_viscii_lower): Deleted.
4809         (latin_viscii_upper_to_ucs): Deleted.
4810         (ucs_to_latin_viscii_upper): Deleted.
4811         (struct Lisp_Charset): Renamed `encoding_table' to
4812         `to_byte1_table'; add `to_byte2_table'.
4813         (CHARSET_DECODING_TABLE): New macro.
4814         (CHARSET_TO_BYTE1_TABLE): New macro.
4815         (CHARSET_TO_BYTE2_TABLE): New macro.
4816         (XCHARSET_DECODING_TABLE): New macro.
4817         (XCHARSET_TO_BYTE1_TABLE): New macro.
4818         (XCHARSET_TO_BYTE2_TABLE): New macro.
4819         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4820         tables.
4821         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4822         don't use `ucs_to_*' tables.
4823
4824 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4825
4826         * text-coding.c (Fmake_coding_system): Don't set up
4827         `codesys->fixed.size'.
4828         (encode_coding_no_conversion): Use `if' instead of `switch'.
4829
4830         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4831
4832 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4833
4834         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4835         (Fmake_charset): Modify for `make_charset'.
4836         (Fmake_reverse_direction_charset): Likewise.
4837         (complex_vars_of_mule_charset): Likewise.
4838
4839 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4840
4841         * text-coding.c (char_encode_shift_jis): Use table
4842         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4843
4844 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4845
4846         * text-coding.c (text_encode_generic): Use `if' instead of
4847         `switch'.
4848         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4849         decode JIS-Latin.
4850
4851 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4852
4853         * text-coding.c (encode_coding_sjis): Deleted.
4854         (char_encode_shift_jis): New function.
4855         (char_finish_shift_jis): New function.
4856         (reset_encoding_stream): Set up `encode_char' and `finish' for
4857         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4858         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4859         (char_encode_utf8): Treat `eol_type'.
4860
4861 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4862
4863         * file-coding.c (decode_coding_iso2022): Use
4864         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4865
4866 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4867
4868         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4869         to 0.7 (Hirano).
4870
4871 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4872
4873         * char-lb.h (CHAR_COLUMNS): New macro.
4874
4875 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4876
4877         * text-coding.c (char_encode_ucs4): New function.
4878         (char_finish_ucs4): New function.
4879         (encode_coding_ucs4): Deleted.
4880         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4881         (text_encode_generic): Delete local variable `charset' and `half'.
4882         (ucs_to_mule_table): Deleted.
4883         (mule_to_ucs_table): Deleted.
4884         (Fset_ucs_char): Deleted.
4885         (ucs_to_char): Deleted.
4886         (Fucs_char): Deleted.
4887         (Fset_char_ucs): Deleted.
4888         (Fchar_ucs): Deleted.
4889         (decode_ucs4): Deleted.
4890         (mule_char_to_ucs4): Deleted.
4891         (encode_ucs4): Deleted.
4892         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4893         (decode_coding_utf8): Likewise.
4894         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4895         (char_encode_iso2022): Fixed.
4896         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4897         `Fset_char_ucs' and `Fchar_ucs'.
4898         (complex_vars_of_file_coding): Don't initialize
4899         `ucs_to_mule_table'.
4900
4901         * objects-tty.c (tty_initialize_font_instance): Don't use
4902         `XCHARSET_COLUMNS'.
4903
4904         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4905         UTF-2000.
4906
4907         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4908         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4909
4910         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4911         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4912         (emchar_string_displayed_columns): Likewise.
4913
4914         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4915         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4916         (string_column_at_point): Likewise.
4917         (Fmove_to_column): Likewise.
4918
4919         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4920         `encoding_table' and `decoding_table'.
4921         (CHARSET_REP_BYTES): Deleted.
4922         (XCHARSET_REP_BYTES): Deleted.
4923         (XCHARSET_COLUMNS): Deleted.
4924         (CHAR_COLUMNS): New macro.
4925         (lookup_composite_char): Deleted unconditionally.
4926         (composite_char_string): Likewise.
4927
4928 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4929
4930         * char-ucs.h (Emchar_to_byte_table): New type.
4931         (get_byte_from_character_table): New function interface.
4932         (Vcharset_latin_jisx0201): New variable.
4933         (latin_jisx0201_to_ucs): New variable.
4934         (ucs_to_latin_jisx0201): New variable.
4935         (Vcharset_latin_iso8859_2): New variable.
4936         (latin_iso8859_2_to_ucs): New variable.
4937         (ucs_to_latin_iso8859_2): New variable.
4938         (Vcharset_latin_iso8859_3): New variable.
4939         (latin_iso8859_3_to_ucs): New variable.
4940         (ucs_to_latin_iso8859_3): New variable.
4941         (Vcharset_latin_iso8859_4): New variable.
4942         (latin_iso8859_4_to_ucs): New variable.
4943         (ucs_to_latin_iso8859_4): New variable.
4944         (Vcharset_latin_iso8859_9): New variable.
4945         (latin_iso8859_9_to_ucs): New variable.
4946         (ucs_to_latin_iso8859_9): New variable.
4947         (Vcharset_latin_viscii_lower): New variable.
4948         (latin_viscii_lower_to_ucs): New variable.
4949         (ucs_to_latin_viscii_lower): New variable.
4950         (Vcharset_latin_viscii_upper): New variable.
4951         (latin_viscii_upper_to_ucs): New variable.
4952         (ucs_to_latin_viscii_upper): New variable.
4953         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4954         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4955         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4956         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4957         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4958         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4959         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4960         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4961         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4962         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4963
4964         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4965         (Vcharset_latin_viscii_upper): New variable.
4966         (make_byte_from_character_table): New function.
4967         (put_byte_from_character_table): New function.
4968         (get_byte_from_character_table): New function.
4969         (CHAR96): New macro.
4970         (ucs_to_latin_jisx0201): New variable.
4971         (latin_jisx0201_to_ucs): New variable.
4972         (ucs_to_latin_iso8859_2): New variable.
4973         (latin_iso8859_2_to_ucs): New variable.
4974         (ucs_to_latin_iso8859_3): New variable.
4975         (latin_iso8859_3_to_ucs): New variable.
4976         (ucs_to_latin_iso8859_4): New variable.
4977         (latin_iso8859_4_to_ucs): New variable.
4978         (ucs_to_latin_iso8859_9): New variable.
4979         (latin_iso8859_9_to_ucs): New variable.
4980         (ucs_to_latin_viscii_lower): New variable.
4981         (latin_viscii_lower_to_ucs): New variable.
4982         (ucs_to_latin_viscii_upper): New variable.
4983         (latin_viscii_upper_to_ucs): New variable.
4984         (ucs_to_latin_tcvn5712): New variable.
4985         (latin_tcvn5712_to_ucs): New variable.
4986         (Qlatin_viscii_lower): New variable.
4987         (Qlatin_viscii_upper): New variable.
4988         (syms_of_mule_charset): Set up new symbol
4989         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4990         (complex_vars_of_mule_charset): Set up new charset
4991         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4992         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4993         `ucs_to_<CHARSET>' tables.
4994
4995 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4996
4997         * text-coding.c: New file.
4998
4999 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5000
5001         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5002
5003         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5004         (MAKE_CHAR): Modify for `ucs-bmp'.
5005         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5006         non-MULE characters of BMP.
5007
5008 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5009
5010         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5011         to 0.6.
5012
5013 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5014
5015         * lstream.h:
5016         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5017         - Include character.h for `CHAR_ASCII_P'.
5018
5019         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5020
5021         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5022         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5023
5024         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5025         (BYTE_C0_P): Likewise.
5026         (BYTE_C1_P): Likewise.
5027         (Lstream_get_emchar_1): Likewise.
5028         (Lstream_fput_emchar): Likewise.
5029         (Lstream_funget_emchar): Likewise.
5030         (copy_internal_to_external): Likewise.
5031         (copy_external_to_internal): Likewise.
5032
5033         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5034         (BYTE_C0_P): Likewise.
5035         (BYTE_C1_P): Likewise.
5036         (Lstream_get_emchar_1): Likewise.
5037         (Lstream_fput_emchar): Likewise.
5038         (Lstream_funget_emchar): Likewise.
5039         (copy_internal_to_external): Likewise.
5040         (copy_external_to_internal): Likewise.
5041
5042         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5043         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5044
5045         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5046         (BYTE_ASCII_P): Moved to mb-1byte.h.
5047
5048 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5049
5050         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5051
5052         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5053         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5054         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5055         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5056         (VALIDATE_CHARPTR_FORWARD): Likewise.
5057         (simple_charptr_emchar): Moved to mb-multibyte.h.
5058         (simple_set_charptr_emchar): Likewise.
5059         (simple_charptr_copy_char): Likewise.
5060         (non_ascii_charptr_emchar): Likewise.
5061         (non_ascii_set_charptr_emchar): Likewise.
5062         (non_ascii_charptr_copy_char): Likewise.
5063         (charptr_emchar): Moved to mb-*byte.h.
5064         (set_charptr_emchar): Likewise.
5065         (charptr_copy_char): Likewise.
5066
5067         * mb-1byte.h, mb-multibyte.h: New files.
5068
5069 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5070
5071         * mb-utf-8.h (MULTIBYTE): New macro.
5072         (MAX_EMCHAR_LEN): Moved from buffer.h.
5073         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5074
5075         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5076
5077         * mb-lb.h, multibyte.h: New files.
5078
5079         * char-1byte.h (Charset_ID): Moved from buffer.h.
5080         (MIN_LEADING_BYTE): Likewise.
5081         (LEADING_BYTE_ASCII): Likewise.
5082         (NUM_LEADING_BYTES): Likewise.
5083         (CHARSETP): Likewise.
5084         (CHARSET_BY_LEADING_BYTE): Likewise.
5085         (XCHARSET_LEADING_BYTE): Likewise.
5086         (XCHARSET_GRAPHIC): Likewise.
5087         (XCHARSET_COLUMNS): Likewise.
5088         (XCHARSET_DIMENSION): Likewise.
5089         (CHAR_CHARSET): Likewise.
5090         (CHAR_LEADING_BYTE): Likewise.
5091         (BREAKUP_CHAR): Likewise.
5092         (Vcharset_ascii): Likewise.
5093
5094         * buffer.h: Include multibyte.h unconditionally.
5095         (VALID_CHARPTR_P): Moved to multibyte.h.
5096         (ASSERT_VALID_CHARPTR): Likewise.
5097         (REAL_INC_CHARPTR): Likewise.
5098         (REAL_INC_CHARBYTIND): Likewise.
5099         (REAL_DEC_CHARPTR): Likewise.
5100         (INC_CHARPTR): Likewise.
5101         (INC_CHARBYTIND): Likewise.
5102         (DEC_CHARPTR): Likewise.
5103         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5104         (VALIDATE_CHARPTR_FORWARD): Likewise.
5105         (charptr_n_addr): Likewise.
5106         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5107         (simple_charptr_emchar): Moved to multibyte.h.
5108         (simple_set_charptr_emchar): Likewise.
5109         (simple_charptr_copy_char): Likewise.
5110         (non_ascii_charptr_emchar): Likewise.
5111         (non_ascii_set_charptr_emchar): Likewise.
5112         (non_ascii_charptr_copy_char): Likewise.
5113         (charptr_emchar): Likewise.
5114         (set_charptr_emchar): Likewise.
5115         (charptr_copy_char): Likewise.
5116         (charptr_emchar_n): Likewise.
5117         (Charset_ID): Moved to char-1byte.h.
5118         (Vcharset_ascii): Likewise.
5119         (CHAR_CHARSET): Likewise.
5120         (CHAR_LEADING_BYTE): Likewise.
5121         (LEADING_BYTE_ASCII): Likewise.
5122         (NUM_LEADING_BYTES): Likewise.
5123         (MIN_LEADING_BYTE): Likewise.
5124         (CHARSETP): Likewise.
5125         (CHARSET_BY_LEADING_BYTE): Likewise.
5126         (XCHARSET_LEADING_BYTE): Likewise.
5127         (XCHARSET_GRAPHIC): Likewise.
5128         (XCHARSET_COLUMNS): Likewise.
5129         (XCHARSET_DIMENSION): Likewise.
5130         (BREAKUP_CHAR): Likewise.
5131
5132 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5133
5134         * character.h: Add document about interface for characters.
5135
5136         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5137         (MAKE_CHAR): Delete comment about
5138         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5139         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5140         (BREAKUP_CHAR): Modify name of arguments.
5141         (CHAR_CHARSET): Modify name of argument.
5142
5143         * buffer.h: Delete document about Emchar accessors.
5144
5145 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5146
5147         * character.h (CHAR_INTP): Moved from buffer.h
5148         (CHAR_OR_CHAR_INTP): Likewise.
5149         (XCHAR_OR_CHAR_INT): Likewise.
5150         (CHECK_CHAR_COERCE_INT): Likewise.
5151
5152         * buffer.h (CHAR_INTP): Moved to character.h
5153         (CHAR_OR_CHAR_INTP): Likewise.
5154         (XCHAR_OR_CHAR_INT): Likewise.
5155         (CHECK_CHAR_COERCE_INT): Likewise.
5156
5157 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5158
5159         * character.h:
5160         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5161         - Include char-1byte.h, char-lb.h or char-ucs.h.
5162
5163         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5164
5165         * buffer.h: Include character unconditionally.
5166         (valid_char_p): Moved to char-*.h.
5167         (non_ascii_valid_char_p): Moved to char-lb.h.
5168
5169         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5170
5171 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5172
5173         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5174         in UTF-2000 because it is not ported yet and not to use
5175         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5176         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5177         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5178
5179         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5180         (CHAR_ASCII_P): Moved from character.h.
5181
5182         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5183         (CHAR_ASCII_P): Likewise.
5184         (CHAR_FIELD1_MASK): Deleted.
5185         (CHAR_FIELD2_MASK): Deleted.
5186         (CHAR_FIELD3_MASK): Deleted.
5187         (MAX_CHAR_BASIC_LATIN): New macro.
5188         (CHAR_FIELD1): Deleted.
5189         (CHAR_FIELD2_INTERNAL): Deleted.
5190         (CHAR_FIELD3_INTERNAL): Deleted.
5191         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5192         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5193         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5194         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5195         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5196         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5197         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5198         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5199         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5200         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5201         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5202         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5203         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5204         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5205         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5206         (MIN_CHAR_COMPOSITION): Deleted.
5207         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5208         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5209
5210 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5211
5212         * buffer.h: Include mb-utf-8.h in UTF-2000.
5213
5214         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5215
5216         * mb-utf-8.h: New file.
5217
5218 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5219
5220         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5221         instead of `int'.
5222
5223         * mule-charset.h, buffer.h (Charset_ID): New type.
5224
5225 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5226
5227         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5228         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5229         instead of `MULE_CHAR_PRIVATE_OFFSET',
5230         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5231         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5232         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5233
5234         * character.h (Vcharset_japanese_jisx0212): New variable
5235         definition.
5236
5237 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5238
5239         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5240         (charset_by_attributes): Delete array about direction.
5241         (latin_a_char_to_charset): New variable in UTF-2000.
5242         (latin_a_char_to_byte1): New variable in UTF-2000.
5243         (latin_a_char_to_byte2): New variable in UTF-2000.
5244         (Qucs_bmp): New variable.
5245         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5246         `Bufbyte'.
5247         (next_allocated_2_byte_leading_byte): Likewise.
5248         (non_ascii_set_charptr_emchar): Likewise.
5249         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5250         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5251         `charset_by_attributes'.
5252         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5253         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5254         and `CHARSET_BY_LEADING_BYTE'.
5255         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5256         `utf-2000-version' to `vars_of_mule_charset'.
5257         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5258         define `leading-code-private-11' in UTF-2000; move setting of
5259         `utf-2000-version' from `syms_of_mule_charset'.
5260         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5261         UTF-2000.
5262
5263         * character.h (Charset_ID): New type.
5264         (LEADING_BYTE_UCS_BMP): New macro.
5265         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5266         (CHARSET_ID_OFFSET_94): New macro.
5267         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5268         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5269         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5270         final-byte.
5271         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5272         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5273         (CHARSET_ID_OFFSET_96): New macro.
5274         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5275         CHARSET_ID_OFFSET_96 and final-byte.
5276         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5277         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5278         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5279         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5280         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5281         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5282         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5283         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5284         (LEADING_BYTE_THAI_TIS620): Likewise.
5285         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5286         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5287         (CHARSET_ID_OFFSET_94x94): New macro.
5288         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5289         CHARSET_ID_OFFSET_94x94 and final-byte.
5290         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5291         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5292         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5293         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5294         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5295         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5296         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5297         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5298         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5299         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5300         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5301         (CHARSET_TYPE_128X128): New macro.
5302         (CHARSET_TYPE_256X256): New macro.
5303         (XCHARSET_PRIVATE_P): Delete unconditionally.
5304         (charset_by_attributes): Delete array about direction.
5305         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5306         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5307         (MIN_CHAR_94): New macro.
5308         (MAX_CHAR_94): New macro.
5309         (MIN_CHAR_96): New macro.
5310         (MAX_CHAR_96): New macro.
5311         (MIN_CHAR_94x94): New macro.
5312         (MAX_CHAR_94x94): New macro.
5313         (MIN_CHAR_96x96): New macro.
5314         (MAX_CHAR_96x96): New macro.
5315         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5316         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5317         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5318         - 32)'.
5319         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5320         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5321         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5322         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5323         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5324         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5325         `XCHARSET_LEADING_BYTE' to make code-point.
5326         (latin_a_char_to_charset): New variable.
5327         (latin_a_char_to_byte1): New variable.
5328         (latin_a_char_to_byte2): New variable.
5329         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5330         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5331         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5332
5333         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5334         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5335         (find_charsets_in_emchar_string): Likewise.
5336         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5337
5338         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5339         `int'.
5340         (decode_coding_iso2022): Likewise.
5341
5342         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5343         of `unsigned char'.
5344
5345         * redisplay.c (redisplay_text_width_emchar_string): Use
5346         `Charset_ID' instead of `unsigned char'.
5347         (redisplay_frame_text_width_string): Likewise.
5348
5349         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5350         `unsigned char'.
5351
5352         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5353         instead of `unsigned char'.
5354         (face_cachel_charset_font_metric_info): Likewise.
5355
5356         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5357         (get_non_ascii_char_table_value): Likewise.
5358         (get_char_table): Likewise.
5359         (put_char_table): Likewise.
5360         (map_over_other_charset): Likewise.
5361         (map_char_table): Likewise.
5362
5363         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5364         instead of `unsigned char'.
5365
5366 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5367
5368         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5369         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5370
5371         * mule-charset.c (leading_code_private_11): Don't define in
5372         UTF-2000.
5373
5374         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5375         in UTF-2000 because it is not ported yet and not to use
5376         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5377
5378 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5379
5380         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5381
5382 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5383
5384         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5385         in UTF-2000.
5386
5387         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5388         of unsigned char to store leading-byte.
5389
5390         * chartab.c (get_non_ascii_char_table_value): Don't use
5391         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5392
5393         * file-coding.c (encode_coding_big5): Delete bogus implementation
5394         in UTF2000.
5395
5396         * character.h (LEADING_BYTE_*): Delete definition for
5397         non-UTF-2000.
5398         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5399         (LEADING_BYTE_PREFIX_P): Deleted.
5400         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5401         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5402         (BUFBYTE_LEADING_BYTE_P): Deleted.
5403         (CHARSET_PRIVATE_P): Deleted unconditionally.
5404         (rep_bytes_by_first_byte): Deleted unconditionally.
5405         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5406         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5407         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5408         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5409         (CHAR_FIELD2): Deleted.
5410         (CHAR_FIELD3): Deleted.
5411         (MAKE_CHAR): Delete definition for non-UTF-2000.
5412         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5413         (breakup_char_1): New implementation.
5414         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5415         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5416
5417 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5418
5419         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5420         condition.
5421
5422 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5423
5424         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5425         (CHARSET_PRIVATE_P): Likewise.
5426         (XCHARSET_PRIVATE_P): Likewise.
5427         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5428
5429         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5430         UTF2000.
5431         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5432
5433 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5434
5435         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5436         (NUM_LEADING_BYTES): Changed from 128 to 256.
5437         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5438         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5439         UTF2000.
5440         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5441
5442         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5443         UTF2000.
5444         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5445         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5446         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5447         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5448         (Qchinese_cns11643_3): New variable in UTF2000.
5449         (Qchinese_cns11643_4): New variable in UTF2000.
5450         (Qchinese_cns11643_5): New variable in UTF2000.
5451         (Qchinese_cns11643_6): New variable in UTF2000.
5452         (Qchinese_cns11643_7): New variable in UTF2000.
5453         (syms_of_mule_charset): Define `chinese-cns11643-3',
5454         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5455         and `chinese-cns11643-7' in UTF2000.
5456         (vars_of_mule_charset): Initialize
5457         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5458         + 1 in UTF2000.
5459         (complex_vars_of_mule_charset): Setup charset
5460         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5461         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5462
5463 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5464
5465         * mule-charset.c: Move setting for `leading-code-private-11' from
5466         `syms_of_mule_charset' to `vars_of_mule_charset'.
5467
5468 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5469
5470         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5471         and `NUM_LEADING_BYTES' in assert.
5472
5473 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5474
5475         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5476         instead of 128.
5477         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5478         `NUM_LEADING_BYTES' instead of 128.
5479
5480 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5481
5482         * mule-charset.h (charset_by_leading_byte): Use
5483         `NUM_LEADING_BYTES' instead of 128.
5484         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5485
5486         * mule-charset.c (charset_by_leading_byte): Use
5487         `NUM_LEADING_BYTES' instead of 128.
5488         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5489
5490         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5491         128.
5492
5493 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5494
5495         * mule-charset.c (syms_of_mule_charset): Update to
5496         0.4 (Shin-Imamiya).
5497
5498 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5499
5500         * file-coding.c (encode_coding_sjis): New implementation for
5501         UTF2000.  (decode_coding_sjis): Ditto.
5502
5503 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5504
5505         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5506         Don't define in UTF2000.
5507
5508         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5509         defined.
5510
5511         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5512         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5513         MULE.
5514
5515 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5516
5517         * config.h.in (CHAR_IS_UCS4): New macro.
5518
5519         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5520         conventional MULE representation.
5521         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5522
5523         * mule-charset.h: Reverted to original.
5524
5525         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5526         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5527         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5528
5529         * character.h: New file.
5530
5531         * file-coding.c (Fmake_coding_system): Set 1 to
5532         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5533         defined.
5534         (encode_coding_no_conversion): New implementation for UTF2000.
5535
5536         * file-coding.h (struct Lisp_Coding_System): Add new member
5537         `fixed.size'.
5538
5539 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5540
5541         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5542         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5543         (encode_coding_iso2022): New implementation for UTF2000.
5544
5545 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5546
5547         * mule-canna.c (c2mu): New implementation for UTF2000.
5548         (m2c): Likewise.
5549
5550 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5551
5552         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5553
5554 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5555
5556         * file-coding.c (reset_encoding_stream): Set 0 to
5557         `str->iso2022.current_char_boundary' in UTF2000.
5558         (encode_utf8): Don't define in UTF2000.
5559         (encode_coding_utf8): New implementation for UTF-8 representation
5560         of UTF2000.
5561         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5562
5563 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5564
5565         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5566
5567         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5568         UTF2000.
5569         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5570
5571         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5572
5573         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5574         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5575         as UTF-8 in UTF2000.
5576         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5577         (non_ascii_valid_char_p): Don't define in UTF2000.
5578         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5579         (Lstream_get_emchar_1): Likewise.
5580         (utf-2000-version): New variable in UTF2000.
5581
5582         * lread.c (read_escape): Add new reader `u'.
5583
5584         * insdel.c (three_to_one_table): Don't define in UTF2000.
5585         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5586         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5587         UTF2000.
5588         (bytind_to_bufpos_func): Likewise.
5589         (buffer_mule_signal_inserted_region): Likewise.
5590         (vars_of_insdel): Don't initialize `three_to_one_table'.
5591         (init_buffer_text): Use `buf->text->mule_size' instead of
5592         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5593         UTF2000.
5594
5595         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5596         UTF-8 representation in UTF2000.
5597         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5598         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5599         (decode_coding_iso2022): Don't define local variable `lb' in
5600         UTF2000; don't use LEADING_BYTE in UTF2000; use
5601         `DECODE_ADD_UCS_CHAR' in UTF2000.
5602         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5603
5604         * config.h.in (UTF2000): New macro.
5605
5606         * buffer.h (struct buffer_text): Add new member `mule_size' and
5607         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5608         (valid_char_p): Return always 1 in UTF2000.
5609         (MAX_EMCHAR_LEN): 6 in UTF2000.
5610         (three_to_one_table): Don't define in UTF2000.
5611         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5612         UTF2000.
5613         (real_bytind_to_bufpos): Likewise.
5614
5615         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5616
5617 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5618
5619         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5620         representation change.
5621         (Vutf_2000_version): New variable.
5622         (leading_code_private_11): New variable.
5623         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5624         `leading-code-private-11'.
5625
5626         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5627         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5628         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5629         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5630         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5631         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5632         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5633         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5634         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5635         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5636         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5637         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5638         (MIN_CHAR_GREEK): New macro.
5639         (MAX_CHAR_GREEK): New macro.
5640         (MIN_CHAR_CYRILLIC): New macro.
5641         (MAX_CHAR_CYRILLIC): New macro.
5642         (MIN_CHAR_HEBREW): New macro.
5643         (MAX_CHAR_HEBREW): New macro.
5644         (MIN_CHAR_THAI): New macro.
5645         (MAX_CHAR_THAI): New macro.
5646         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5647         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5648         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5649         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5650         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5651         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5652         (CHAR_FIELD2): New inline function.
5653         (CHAR_FIELD3): New inline function.
5654         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5655         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5656         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5657         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5658         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5659         (MIN_CHAR_COMPOSITION): Likewise.
5660         (CHAR_LEADING_BYTE): Modified for character representation change.
5661         (MAKE_CHAR): Likewise.
5662
5663         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5664         (Vcharset_greek_iso8859_7): Likewise.
5665         (Vcharset_cyrillic_iso8859_5): Likewise.
5666         (Vcharset_hebrew_iso8859_8): Likewise.
5667         (Vcharset_thai_tis620): Likewise.
5668         (Vcharset_katakana_jisx0201): Likewise.
5669
5670 2005-02-06  Vin Shelton <acs@xemacs.org>
5671
5672         * XEmacs 21.4.17 is released
5673
5674 2005-01-31  Ben Wing  <ben@xemacs.org>
5675
5676         * emacs.c:
5677         Define assert_failed() always.
5678         * lisp.h:
5679         Always define ABORT().
5680
5681 2005-01-25  Ben Wing  <ben@xemacs.org>
5682
5683         * Makefile.in.in:
5684         * Makefile.in.in (%.o):
5685         Don't compile executable as Windows (-mwindows) under Cygwin.
5686         Semi-recent changes to Cygwin's executable-startup handling make
5687         it impossible to access the TTY this way.
5688
5689         Don't use special linker file under Cygwin (cygwin.sc) except
5690         when non-PDUMP (even in this case it is highly questionable); you
5691         get errors like
5692
5693       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5694    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5695
5696 2005-01-29  Ben Wing  <ben@xemacs.org>
5697
5698         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5699
5700         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5701
5702 2005-01-29  Ben Wing  <ben@xemacs.org>
5703
5704         * bytecode.c (optimize_compiled_function):
5705         * print.c (FROB):
5706         * print.c (long_to_string):
5707         Add casts to avoid warning.
5708         
5709         * glyphs-eimage.c:
5710         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5711         #### The better solution is to move the TIFF and JPEG code to
5712         different files.
5713         
5714         * glyphs-msw.c (mswindows_xbm_instantiate):
5715         Define __STDC__ to avoid problems with compface.h.
5716         
5717         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5718         * EmacsShell-sub.c:
5719         * EmacsShell-sub.c (ABORT):
5720         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5721         * EmacsShell-sub.c (RootGeometryManager):
5722         * EmacsShell.c:
5723         * EmacsShell.c (ABORT):
5724         * EmacsShell.c (EmacsShellUpdateSizeHints):
5725         * alloc.c (free_lcrecord):
5726         * alloca.c (i00afunc):
5727         * buffer.c (delete_from_buffer_alist):
5728         * buffer.c (MARKED_SLOT):
5729         * bytecode.c (execute_rare_opcode):
5730         * bytecode.c (optimize_byte_code):
5731         * bytecode.c (Ffetch_bytecode):
5732         * chartab.c (char_table_type_to_symbol):
5733         * chartab.c (Freset_char_table):
5734         * chartab.c (decode_char_table_range):
5735         * chartab.c (Fget_range_char_table):
5736         * chartab.c (check_valid_char_table_value):
5737         * chartab.c (map_char_table):
5738         * chartab.c (slow_map_char_table_fun):
5739         * chartab.c (chartab_instantiate):
5740         * cm.c (cmcheckmagic):
5741         * console-msw.c (DHEADER):
5742         * console.c (MARKED_SLOT):
5743         * data.c (finish_marking_weak_lists):
5744         * data.c (encode_weak_list_type):
5745         * debug.h (DASSERT):
5746         * device-gtk.c (gtk_init_device):
5747         * device-msw.c (mswindows_get_default_margin):
5748         * device-tty.c (tty_init_device):
5749         * device-x.c (get_device_from_display):
5750         * device-x.c (x_get_visual_depth):
5751         * doprnt.c (parse_doprnt_spec):
5752         * doprnt.c (get_doprnt_args):
5753         * dumper.c (pdump_get_indirect_count):
5754         * dumper.c (pdump_register_sub):
5755         * dumper.c (pdump_register_object):
5756         * dumper.c (pdump_register_struct):
5757         * dumper.c (pdump_dump_data):
5758         * dumper.c (pdump_reloc_one):
5759         * elhash.c (print_hash_table):
5760         * elhash.c (make_standard_lisp_hash_table):
5761         * elhash.c (hash_table_instantiate):
5762         * emacs.c:
5763         * emacs.c (Fforce_debugging_signal):
5764         * emacs.c (sort_args):
5765         * emacs.c (main):
5766         * emacs.c (assert_failed):
5767         * eval.c (throw_or_bomb_out):
5768         * eval.c (signal_1):
5769         * eval.c (Fsignal):
5770         * event-Xt.c:
5771         * event-Xt.c (emacs_Xt_mapping_action):
5772         * event-Xt.c (Xt_process_to_emacs_event):
5773         * event-msw.c:
5774         * event-stream.c (check_event_stream_ok):
5775         * event-stream.c (Fadd_timeout):
5776         * event-stream.c (Fadd_async_timeout):
5777         * event-stream.c (Fdiscard_input):
5778         * event-stream.c (execute_internal_event):
5779         * event-stream.c (Frecent_keys):
5780         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5781         * event-stream.c (lookup_command_event):
5782         * event-unixoid.c (poll_fds_for_input):
5783         * events.c:
5784         * events.c (mark_event):
5785         * events.c (event_equal):
5786         * events.c (event_hash):
5787         * events.c (Fmake_event):
5788         * events.c (Fdeallocate_event):
5789         * events.c (event_chain_find_previous):
5790         * events.c (event_to_character):
5791         * events.c (format_event_object):
5792         * events.c (Fevent_type):
5793         * events.c (event_pixel_translation):
5794         * events.c (Fevent_properties):
5795         * extents.c (extent_in_region_p):
5796         * extents.c (print_extent):
5797         * extents.c (process_extents_for_insertion_mapper):
5798         * extents.c (report_extent_modification_mapper):
5799         * extents.c (glyph_layout_to_symbol):
5800         * faces.c (face_validate):
5801         * file-coding.c (eol_type_to_symbol):
5802         * file-coding.c (subsidiary_coding_system):
5803         * file-coding.c (Fcoding_system_type):
5804         * file-coding.c (Fcoding_system_property):
5805         * file-coding.c (mule_decode):
5806         * file-coding.c (mule_encode):
5807         * file-coding.c (encode_coding_ucs4):
5808         * file-coding.c (encode_coding_utf8):
5809         * file-coding.c (parse_iso2022_esc):
5810         * file-coding.c (encode_coding_iso2022):
5811         * fileio.c:
5812         * fns.c (concat):
5813         * fns.c (Fsubseq):
5814         * fns.c (mapcar1):
5815         * fns.c (Fbase64_encode_region):
5816         * fns.c (Fbase64_encode_string):
5817         * fns.c (Fbase64_decode_region):
5818         * fns.c (Fbase64_decode_string):
5819         * font-lock.c (find_context):
5820         * font-lock.c (context_to_symbol):
5821         * frame-gtk.c (gtk_set_frame_pointer):
5822         * frame-gtk.c (gtk_update_frame_external_traits):
5823         * frame-x.c (x_wm_mark_shell_size_user_specified):
5824         * frame-x.c (x_wm_mark_shell_position_user_specified):
5825         * frame-x.c (x_wm_set_shell_iconic_p):
5826         * frame-x.c (x_wm_set_cell_size):
5827         * frame-x.c (x_wm_set_variable_size):
5828         * frame-x.c (x_wm_store_class_hints):
5829         * frame-x.c (x_wm_maybe_store_wm_command):
5830         * frame-x.c (x_initialize_frame_size):
5831         * frame-x.c (x_update_frame_external_traits):
5832         * frame.c:
5833         * frame.c (delete_frame_internal):
5834         * frame.c (mouse_pixel_position_1):
5835         * frame.c (change_frame_size_1):
5836         * free-hook.c (check_free):
5837         * free-hook.c (check_realloc):
5838         * free-hook.c (note_block_input):
5839         * free-hook.c (log_gcpro):
5840         * gccache-gtk.c (gc_cache_lookup):
5841         * glyphs-eimage.c (tiff_memory_write):
5842         * glyphs-gtk.c (gtk_finalize_image_instance):
5843         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5844         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5845         * glyphs-gtk.c (gtk_xpm_instantiate):
5846         * glyphs-gtk.c (gtk_unmap_subwindow):
5847         * glyphs-gtk.c (gtk_map_subwindow):
5848         * glyphs-gtk.c (gtk_button_redisplay):
5849         * glyphs-msw.c:
5850         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5851         * glyphs-x.c (init_image_instance_from_xbm_inline):
5852         * glyphs-x.c (extract_xpm_color_names):
5853         * glyphs-x.c (x_xpm_instantiate):
5854         * glyphs.c (get_image_instantiator_governing_domain):
5855         * glyphs.c (print_image_instance):
5856         * glyphs.c (image_instance_equal):
5857         * glyphs.c (image_instance_hash):
5858         * glyphs.c (encode_image_instance_type):
5859         * glyphs.c (make_image_instance_1):
5860         * glyphs.c (inherit_instantiate):
5861         * glyphs.c (image_instantiate):
5862         * glyphs.c (allocate_glyph):
5863         * glyphs.c (Fglyph_type):
5864         * glyphs.c (redisplay_subwindow):
5865         * glyphs.c (display_table_entry):
5866         * gtk-glue.c (xemacs_list_to_gtklist):
5867         * gtk-glue.c (xemacs_gtklist_to_list):
5868         * gtk-glue.c (xemacs_list_to_array):
5869         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5870         * gutter.c (gutter_was_visible):
5871         * gutter.c (get_gutter_coords):
5872         * input-method-xlib.c (get_XIM_input):
5873         * insdel.c (bufpos_to_bytind_func):
5874         * insdel.c (bytind_to_bufpos_func):
5875         * insdel.c (move_gap):
5876         * intl.c (x_get_composed_input):
5877         * keymap.c (keymap_lookup_directly):
5878         * keymap.c (keymap_delete_inverse_internal):
5879         * keymap.c (ensure_meta_prefix_char_keymapp):
5880         * keymap.c (accessible_keymaps_mapper_1):
5881         * keymap.c (where_is_recursive_mapper):
5882         * lisp.h:
5883         * lisp.h (ABORT):
5884         * lread.c (read_atom):
5885         * lstream.c (Lstream_delete):
5886         * lstream.c (make_lisp_buffer_stream_1):
5887         * macros.c (pop_kbd_macro_event):
5888         * malloc.c (malloc):
5889         * malloc.c (free):
5890         * marker.c (bi_marker_position):
5891         * marker.c (set_bi_marker_position):
5892         * menubar-gtk.c (menu_descriptor_to_widget_1):
5893         * menubar-msw.c (prune_menubar):
5894         * menubar-x.c (set_frame_menubar):
5895         * mule-charset.c (get_unallocated_leading_byte):
5896         * mule-charset.h (CHAR_LEADING_BYTE):
5897         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5898         * nt.c (init_environment):
5899         * nt.c (generate_inode_val):
5900         * ntproc.c (delete_child):
5901         * ntproc.c (_sys_read_ahead):
5902         * ntproc.c (create_child):
5903         * objects.c (color_instantiate):
5904         * objects.c (font_instantiate):
5905         * objects.c (face_boolean_instantiate):
5906         * print.c (printing_major_badness):
5907         * process-nt.c (nt_send_process):
5908         * process-unix.c (unix_send_process):
5909         * process.c (get_process):
5910         * ralloc.c (obtain):
5911         * ralloc.c (relinquish):
5912         * ralloc.c (relocate_blocs):
5913         * ralloc.c (resize_bloc):
5914         * ralloc.c (r_alloc_free):
5915         * ralloc.c (r_re_alloc):
5916         * ralloc.c (r_alloc_thaw):
5917         * ralloc.c (init_ralloc):
5918         * ralloc.c (Free_Addr_Block):
5919         * ralloc.c (r_alloc):
5920         * redisplay-gtk.c (gtk_output_display_block):
5921         * redisplay-msw.c (mswindows_output_display_block):
5922         * redisplay-output.c (get_next_display_block):
5923         * redisplay-output.c (get_cursor_size_and_location):
5924         * redisplay-output.c (redisplay_output_layout):
5925         * redisplay-output.c (redisplay_clear_region):
5926         * redisplay-tty.c (tty_output_display_block):
5927         * redisplay-x.c (x_output_display_block):
5928         * redisplay.c (add_propagation_runes):
5929         * redisplay.c (add_glyph_rune):
5930         * redisplay.c (create_text_block):
5931         * redisplay.c (add_margin_runes):
5932         * redisplay.c (create_left_glyph_block):
5933         * redisplay.c (create_right_glyph_block):
5934         * redisplay.c (create_string_text_block):
5935         * redisplay.c (regenerate_window):
5936         * redisplay.c (REGEN_INC_FIND_START_END):
5937         * redisplay.c (redisplay_frame):
5938         * redisplay.c (point_in_line_start_cache):
5939         * regex.c:
5940         * regex.c (ABORT):
5941         * regex.c (re_compile_fastmap):
5942         * regex.c (re_match_2_internal):
5943         * regex.c (regerror):
5944         * scrollbar-gtk.c (gtk_scrollbar_loop):
5945         * scrollbar-gtk.c (scrollbar_cb):
5946         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5947         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5948         * scrollbar-x.c (x_update_scrollbar_instance_status):
5949         * scrollbar-x.c (x_scrollbar_loop):
5950         * scrollbar-x.c (x_update_frame_scrollbars):
5951         * search.c (search_command):
5952         * search.c (Fmatch_data):
5953         * select-x.c (motif_clipboard_cb):
5954         * signal.c (interrupt_signal):
5955         * specifier.c (specifier_add_spec):
5956         * specifier.c (specifier_instance_from_inst_list):
5957         * specifier.c (specifier_instance):
5958         * specifier.h:
5959         * specifier.h (struct specifier_methods):
5960         * strftime.c (add_num_time_t):
5961         * sunplay.c (init_device):
5962         * symbols.c (Fsetplist):
5963         * symbols.c (do_symval_forwarding):
5964         * symbols.c (store_symval_forwarding):
5965         * symbols.c (Fset):
5966         * symbols.c (Fbuilt_in_variable_type):
5967         * symbols.c (decode_magic_handler_type):
5968         * symbols.c (handler_type_from_function_symbol):
5969         * syntax.c (update_syntax_cache):
5970         * sysdep.c (init_baud_rate):
5971         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5972         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5973         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5974         * toolbar.c (get_toolbar_coords):
5975         * ui-gtk.c (build_gtk_boxed):
5976         * ui-gtk.c (describe_gtk_arg):
5977         * ui-gtk.c (gtk_type_to_lisp):
5978         * ui-gtk.c (lisp_to_gtk_type):
5979         * ui-gtk.c (lisp_to_gtk_ret_type):
5980         * ui-gtk.c (lisp_to_flag):
5981         * unexnt.c (read_in_bss):
5982         * unexnt.c (map_in_heap):
5983         * window.c (real_window):
5984         * window.c (window_display_lines):
5985         * window.c (window_display_buffer):
5986         * window.c (set_window_display_buffer):
5987         * window.c (window_modeline_height):
5988         * window.c (unshow_buffer):
5989         * window.c (window_loop):
5990         * window.c (Fget_lru_window):
5991         * window.c (Fsplit_window):
5992         * window.c (Fset_window_configuration):
5993         * window.c (saved_window_index):
5994         * xgccache.c (gc_cache_lookup):
5995         abort() -> ABORT().  Eliminate preprocessor games with abort()
5996         since it creates huge problems in VC7, solvable only by including
5997         massive amounts of files in every compile (and not worth it).
5998
5999         * sysdep.c:
6000         * sysproc.h:
6001         Inclusion of process.h does not need to be before lisp.h any more.
6002         Move later and remove comment about abort().
6003
6004 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6005
6006         * regex.c (re_match_2_internal):
6007         Correctly initialize loop which clears uninitialized registers.
6008
6009 2005-01-28  Vin Shelton  <acs@xemacs.org>
6010
6011         * sheap.c (more_static_core): Applied Ben's version of the long
6012         string patch.
6013
6014 2005-01-24  Vin Shelton  <acs@xemacs.org>
6015
6016         * sheap.c (more_static_core): Reformatted printf string so
6017         gcc-3.3.3 will compile this on Cygwin.
6018
6019 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6020
6021         * console.c (function_key_map): Reference `key-binding'.
6022
6023         * keymap.c (Vkey_translation_map): Improve docstring.
6024
6025 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6026
6027         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6028         * window.c (window_loop): [fix] Take into account
6029         `allow-deletion-of-last-visible-frame' variable.
6030         * window.c (replace-buffer-in-windows): Ditto.
6031
6032 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6033
6034         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6035
6036 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6037
6038         * event-gtk.c: Recognise AltGr as a valid modifier.
6039
6040 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6041
6042         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6043
6044 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6045
6046         Fix backreference bug caught by test suite.
6047
6048         * regex.c (regex_compile):
6049         Make backref duplicate internal register.
6050
6051 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6052
6053         Documentation, code clarification, and warning suppression.
6054         
6055         * regex.c (regex_compile):
6056         Improve comments.
6057         (re_match_2_internal):
6058         Improve comments and avoid redundant braces.  [Most of the big hunk
6059         at l. 4710 is indentation; use diff -w to see the real changes.]
6060         (alt_match_null_string_p):
6061         (common_op_match_null_string_p):
6062         Avoid shadowing global on Mac OS X 10.4, at least.
6063
6064 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6065
6066         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6067         introduced with shy groups fix).  [Already applied, probably
6068         with the second "fix shy groups" patch of 2004-10-07.] 
6069
6070 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6071
6072         From Andrey Slusar <anrays@gmail.com>:
6073
6074         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6075
6076 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6077
6078         * Makefile (RECURSIVE_MAKE): Removed.
6079         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6080         handling parallel builds.
6081
6082 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6083
6084         * Makefile.in.in: Enable support for parallel builds.
6085
6086 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6087
6088         From Andrey Slusar <anrays@gmail.com>:
6089
6090         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6091         FreeBSD version is >= 199701 _and_ < 600006.
6092
6093 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6094
6095         * scrollbar.c (compute_scrollbar_instance_usage):
6096         Only call device method compute_scrollbar_instance_usage() if it
6097         is defined.
6098
6099 2004-12-05  Vin Shelton <acs@xemacs.org>
6100
6101         * XEmacs 21.4.16 is released
6102
6103 2004-12-04  Vin Shelton  <acs@xemacs.org>
6104
6105         * depend: Regenerated.
6106
6107 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6108
6109         * regex.c (re_match_2_internal): Map internal to external
6110         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6111         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6112
6113 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6114
6115         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6116         to fix a crash.  Also, check the buffer is live and it
6117         really exists in buffer_list.  If the buffer is not in the list,
6118         prepend it.
6119
6120 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6121
6122         Fix shy groups by implementing recording of all groups for
6123         repetition and backtracking.  Backport from 21.5.
6124         
6125         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6126         external_to_internal_register, external_to_internal_register_size,
6127         and update comments for re_nsub.
6128
6129         * regex.c (re_opcode_t): Update comments.
6130         (print_compiled_pattern): Ouput external_to_internal_register,
6131         external_to_internal_register_size, and re_ngroups for debugging.
6132         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6133         (regex_compile): Update header comment.
6134         Ensure that all groups are recorded so that repeat matches and
6135         backtracking work correctly.  Comment related warning for groups >
6136         255.
6137         (re_search_2): Construct map of API indexes (which count only
6138         nonshy groups) to internal register numbers, and keep it updated.
6139
6140 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6141
6142         * frame-gtk.c (gtk_make_frame_visible):
6143         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6144         show/hide.  This is what X uses and is prevents previously hidden
6145         widgets from suddenly reappearing.
6146         * gtk-xemacs.c (gtk_xemacs_paint):
6147         * gtk-xemacs.c (gtk_xemacs_draw):
6148         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6149         drawable.
6150         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6151         size and location changes so that they can be seen before the next
6152         idle event.  Without this rapid changes to scrollbar properties
6153         are not seen.
6154
6155 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6156
6157         * console-gtk.h:
6158         * console-gtk.h (struct gtk_frame):
6159         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6160           Add hash tables track tab_control callback data.
6161           Added #defines for GTK object data names.
6162           Declaration of gtk_widget_to_frame().
6163         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6164         * frame-gtk.c (gtk_widget_to_frame): New.
6165         * frame-gtk.c (gtk_create_widgets):
6166         * frame-gtk.c (allocate_gtk_frame_struct):
6167         * frame-gtk.c (gtk_mark_frame):
6168         Manage frame callbakc hash tables.
6169         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6170         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6171         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6172         of widget size.
6173         * glyphs-gtk.c (gtk_widget_query_geometry): New
6174         * glyphs-gtk.c (gtk_register_gui_item): New
6175         * glyphs-gtk.c (gtk_add_tab_item): New
6176         * glyphs-gtk.c (gtk_tab_control_callback): New
6177         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6178         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6179         Use correct list when loading item.
6180         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6181         Register new methods.
6182         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6183         default size, for widgets.
6184         * gui-x.c:  Improved comment.
6185         * menubar-gtk.c (__generic_button_callback): Use
6186         gtk_widget_to_frame instead of __get_channel.
6187         * scrollbar-gtk.c:
6188         * ui-gtk.c: Use symbolic names for GTK object data.
6189
6190 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6191
6192         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6193
6194 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6195
6196         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6197
6198 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6199
6200         * malloc.c (morecore): siz is a long because in some architectures
6201         (eg ia-64) an int cannot hold the address range.  Additional patch
6202         from the SuSe distribution.
6203
6204 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6205
6206         * emacs.c:
6207         * malloc.c: lim_data is a long because in some architectures
6208         (eg ia-64) an int cannot hold the address range.
6209         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6210         instead of ulimit() because ulimit() always returns -1.
6211
6212 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6213
6214         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6215
6216 2004-06-11  David Kastrup  <dak@gnu.org>
6217
6218         * search.c (match_limit): Don't flag an error if match-data
6219         exceeding the allocated search_regs.num_regs gets requested, just
6220         return Qnil.
6221
6222 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6223
6224         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6225         replace symbolic color entries with the real colors specified in
6226         xpm-color-symbols, before passing the XPM to gtk.
6227         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6228         instead of a GTK specific field, so that it is used in by generic
6229         code.
6230
6231 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6232
6233        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6234         coredump from deref of NULL ptr (ExtData)
6235
6236 2004-04-19  Jerry James  <james@xemacs.org>
6237
6238         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6239         VALBITS to compute the location of the sign bit.
6240         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6241         of VALBITS with EMACS_INT_MAX.
6242         * events.c (Fevent_timestamp): Ditto.
6243         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6244         compute the halfway point to timestamp wraparound.
6245         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6246         EMACS_INT_MIN instead of using VALBITS.
6247         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6248         incorrect number with VALBITS.
6249         * fns.c (Frandom): Correct number of integer bits in docstring.
6250         Use INT_VALBITS instead of VALBITS to compute the denominator.
6251         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6252         build random numbers.
6253
6254 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6255         * event-gtk.c:
6256         * event-gtk.c (gtk_event_to_emacs_event):
6257         * menubar-gtk.c:
6258         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6259         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6260         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6261         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6262         * menubar-gtk.c (__activate_menu):
6263         * menubar-gtk.c (convert_underscores):
6264         * menubar-gtk.c (remove_underscores):
6265         * menubar-gtk.c (menu_convert):
6266         * menubar-gtk.c (menu_descriptor_to_widget_1):
6267         * menubar-gtk.c (menu_descriptor_to_widget):
6268         * menubar-gtk.c (menu_can_reuse_widget):
6269         * menubar-gtk.c (menu_create_menubar):
6270         * menubar-gtk.c (gtk_popup_menu):
6271         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6272         Added support for Gtk menu bar and menu item mnemonics.
6273
6274 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6275
6276         * sysdll.c: (dll_function): Added support for finding symbols in
6277         Darwin shared libraries as well in Darwin bundles.
6278         * sysdll.c (image_for_address): New
6279         * sysdll.c (my_find_image): New
6280         * sysdll.c (search_linked_libs): New
6281
6282 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6283
6284         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6285         return to GTK requires a different API to marshalling data to use
6286         as GTK parameters.
6287         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6288
6289 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6290
6291         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6292
6293 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6294
6295         * glyphs.c (process_image_string_instantiator):
6296         (Fset_console_type_image_conversion_list):
6297         Stop GCC from warning about shadowing of `exp'.
6298
6299         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6300
6301 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6302
6303         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6304
6305 2004-02-03  Vin Shelton  <acs@xemacs.org>
6306
6307         * glyphs.c (image_instance_layout): Remove pointless assertion.
6308         * regex.c (regex_grow_registers): Return type is void.
6309
6310 2004-02-02  Vin Shelton <acs@xemacs.org>
6311
6312         * XEmacs 21.4.15 is released
6313
6314 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6315
6316         * device-x.c (x_error_handler): Don't call stderr_out
6317
6318 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6319
6320         * buffer.c (other-buffer): Clarify documentation of order of
6321         arguments for FSF Emacs.
6322
6323 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6324
6325         * window.c (Fdelete_window): Dirty the mirror structure _before_
6326         marking the window deleted.
6327
6328 2003-09-15  Jerry James  <james@xemacs.org>
6329
6330         * event-msw.c (debug_mswin_messages): Conditionally compile
6331         messages missing from the Cygwin headers.
6332
6333 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6334
6335         * data.c (eq_with_ebola_notice): Fix typo in comment.
6336         (Ftrue_list_p): Improve docstring.
6337
6338 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6339
6340         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6341
6342 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6343
6344         * search.c (trivial_regexp_p): Regexps containing "\{" are
6345         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6346         Stefan Monnier for suggesting a diagnosis.
6347
6348 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6349
6350         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6351
6352 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6353
6354         * search.c (Fsearch_forward):
6355         (Fsearch_backward):
6356         Document negative count.
6357
6358 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6359
6360         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6361
6362 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6363
6364         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6365
6366 2003-09-15  Vin Shelton  <acs@xemacs.org>
6367
6368         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6369         21.5.
6370
6371 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6372
6373         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6374         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6375         (re_match_2_internal): Use TRANSLATE instead of
6376         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6377         non-ASCII char case conversion.
6378
6379 2003-09-08  Mike Sperber  <mike@xemacs.org>
6380
6381         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6382         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6383
6384 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6385
6386        * .gdbinit (pobj): fix printing of symbol name.
6387
6388 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6389
6390         * frame-x.c (x_layout_widgets): When resizing is about to cause
6391         frame size slip, mark it for redisplay.
6392
6393 2003-08-18  Jerry James  <james@xemacs.org>
6394
6395         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6396
6397 2003-09-03  Vin Shelton <acs@xemacs.org>
6398
6399         * XEmacs 21.4.14 is released
6400
6401 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6402
6403         * config.h.in (REGEX_MALLOC): Make it configure'able.
6404
6405 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6406
6407         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6408         linking.
6409         * sysdll.c (dll_init):
6410         * sysdll.c (dll_open):
6411         * sysdll.c (dll_close):
6412         * sysdll.c (dll_function):
6413         * sysdll.c (dll_variable):
6414         * sysdll.c (dll_error):
6415         Add support for loading bundles using Darwin/MacOSX
6416         native API.
6417
6418 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6419
6420         * process.c (start-process-internal): Document coding systems.
6421
6422 2003-07-30  Jerry James  <james@xemacs.org>
6423
6424         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6425
6426 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6427
6428         * event-msw.c (mswindows_enqueue_mouse_button_event):
6429         * event-msw.c (mswindows_wnd_proc):
6430           enqueue button event when scrollwheel event isn't handled by 
6431           mswindows_handle_mousewheel_event, such as when the scrollbars
6432           are not showing.
6433
6434 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6435
6436         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6437
6438 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6439
6440         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6441
6442 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6443
6444         * regex.c (re_match_2_internal): Fix matching degenerate word
6445         boundaries.
6446
6447 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6448
6449         * XEmacs 21.4.13 is released
6450
6451 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6452
6453         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6454         * lisp.h (<inttypes.h>):
6455         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6456         the definition.
6457
6458 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6459
6460         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6461         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6462         Result: "temacs can only be run in -batch mode."
6463         Fix: Check xemacs executable candidate for directory-ness.
6464
6465 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6466
6467         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6468           they conflict with <sys/types.h>.
6469
6470 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6471
6472         * database.c: Berkeley DB wants __STDC__ to be defined.
6473
6474 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6475
6476         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6477
6478 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6479
6480         * process-unix.c (unix_send_process): Fix C++ compile error.
6481
6482 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6483
6484         * Added .dylib as an acceptable shared library file extension
6485         * to support MacOSX.
6486
6487 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6488
6489         * EmacsFrameP.h (EmacsFramePart):
6490         Kludge to allow compiling with Motif1, but linking with Motif2.
6491
6492 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6493
6494         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6495
6496
6497 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6498
6499         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6500
6501 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6502
6503         * sysdll.c: Included lisp.h to define needed alloca_array.
6504
6505 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6506
6507         Make XEmacs redisplay 10 times faster.
6508         If, that is, you're using a slow X connection and MoveOpaque.
6509         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6510         Use compress_motion = TRUE.
6511         * EmacsFrame.c (emacsFrameClassRec): 
6512         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6513         * EmacsManager.c (emacsManagerClassRec):
6514         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6515
6516 2003-01-30  Vin Shelton  <acs@xemacs.org>
6517
6518         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6519
6520 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6521
6522         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6523         Patch by Martin Buchholz.
6524
6525 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6526
6527         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6528         Thanks to icc for warning and Martin Buchholz for reporting.
6529
6530 2003-01-29  Vin Shelton <acs@xemacs.org>
6531
6532         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6533
6534         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6535         remember to multiply by the element size.
6536
6537 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6538
6539         * XEmacs 21.4.12 "Portable Code" is released.
6540
6541 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6542
6543         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6544         * s/cygwin.sc: new linker file.
6545
6546 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6547
6548         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6549
6550         * redisplay-x.c (x_output_string): Use X11-specified types.
6551         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6552         * emacs.c (__free_hook): Use typeof with Intel compiler.
6553         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6554
6555 2003-01-08  Andy Piper  <andy@xemacs.org>
6556
6557         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6558         reserve size during unexec().
6559
6560 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6561
6562         * process-unix.c (unix_create_process): Don't let outchannel block.
6563
6564 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6565
6566         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6567         Needed for IsBadReadPtr().
6568
6569 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6570
6571         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6572
6573 2002-12-14  Ben Wing  <ben@xemacs.org>
6574
6575         * callint.c: Declaration error.
6576         * dumper.c (pdump):
6577         * dumper.c (pdump_load): Warning fix.
6578         * process.c: GCPRO error.
6579         * glyphs.c (unmap_subwindow):
6580         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6581         * event-stream.c (maybe_kbd_translate): Wrong argument to
6582         character_to_event().
6583
6584         * alloc.c (garbage_collect_1):
6585         * emacs.c:
6586         * emacs.c (debug_can_access_memory):
6587         * emacs.c (fatal_error_signal):
6588         * emacs.c (mswindows_handle_hardware_exceptions):
6589         * emacs.c (main_1):
6590         * emacs.c (main):
6591         * emacs.c (assert_failed):
6592         * emacs.c (syms_of_emacs):
6593         * lisp.h:
6594         * print.c:
6595         * print.c (std_handle_out_va):
6596         * print.c (write_string_to_stdio_stream):
6597         * print.c (write_fmt_string):
6598         * print.c (printing_badness):
6599         * print.c (printing_major_badness):
6600         * print.c (print_internal):
6601         * print.c (debug_print_no_newline):
6602         * print.c (debug_backtrace):
6603         Be more defensive in handling bad values when printing.  Add code
6604         from trunk involving inhibit_non_essential_printing_operations.
6605         When going down or in debug_print(), don't do external conversion
6606         and such and try really, really hard when printing to avoid core
6607         dumping.  Add force-debugging-signal, debug_break().
6608
6609 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6610
6611         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6612         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6613
6614 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6615
6616         * database.c: Fix open_database. Berkeley DB API has changed in
6617         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6618
6619 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6620
6621         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6622
6623 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6624
6625         * event-Xt.c (Xt_timeout):
6626         (Xt_timeout_callback):
6627         (emacs_Xt_add_timeout):
6628         (emacs_Xt_remove_timeout):
6629         (Xt_timeout_to_emacs_event):
6630         Turn completed_timeouts from a stack into a queue.  Fixes
6631         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6632
6633 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6634
6635         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6636         * emacs.c (main): Assert that mmap'd allocation is disabled.
6637
6638 2002-10-14  Andy Piper  <andy@xemacs.org>
6639
6640         * glyphs-widget.c (layout_query_geometry): add in fiddle
6641         factor. Include border text in width layout calculation.
6642         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6643
6644 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6645
6646         * XEmacs 21.4.10 "Military Intelligence" is released.
6647
6648 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6649
6650         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6651         using the NAS private array SoundFileInfo that no longer exists in
6652         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6653         and earlier.  This is broken for some versions between 1.5a and
6654         1.5f.
6655
6656 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6657
6658         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6659
6660         * emacs.c (shut_down_emacs): Improve crash message.
6661
6662 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6663
6664         * file-coding.c (determine_real_coding_system): Check for coding
6665         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6666         shebangs and Python PEP 263.
6667
6668 2002-10-08  Andy Piper  <andy@xemacs.org>
6669
6670         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6671         if static sizes haven't been set.
6672
6673 2002-08-30  Mike Alexander  <mta@arbortext.com>
6674
6675         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6676         to close a socket.
6677
6678 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6679
6680         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6681
6682 2002-09-20  Mike Sperber <mike@xemacs.org>
6683
6684         (This partially gets back my patch from 2002-07-20 without the
6685         bug.)
6686         * callproc.c (child_setup): Remove Ben's comment noting confusion
6687         over the file descriptors >= 3: close_process_descs() doesn't
6688         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6689         * process-unix.c (unix_create_process): Call
6690         begin_dont_check_for_quit to inhibit unwanted interaction (and
6691         thus breaking of X event synchronicity) in the child.
6692
6693 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6694
6695         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6696         widget.
6697
6698 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6699
6700         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6701         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6702         the xemacs process did not exit, but looped infinitely here.  This
6703         fixes that problem.
6704
6705 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6706
6707         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6708         (find_context): Improve comments.
6709
6710         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6711         (re_match_2): An XCHAR_TABLE operation was missing.
6712
6713         Many of the following changes were inspired by Andy Piper's (now
6714         obsolete) patch to make syntax-table text property lookup optional.
6715
6716         [Documentation]
6717
6718         * syntax.h (top level): Document semantics of syntax flags.
6719         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6720         * syntax.c, syntax.h (top level): Document syntax cache better in
6721         comments.
6722
6723         [Instrument syntax caching (temporary change)]
6724
6725         * syntax.h (enum syntax_cache_statistics_functions, struct
6726         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6727         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6728         * syntax.c (scan_words, Fforward_comment, scan_lists,
6729         Fbackward_prefix_characters):
6730         * font-lock.c (find_context):
6731         Use them to instrument syntax caching. 
6732         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6733         syntax_cache_statistics_function_names): New type and variables.
6734         * syntax.c (update_syntax_cache): Update and report statistics.
6735
6736         [Major syntax cache optimizations]
6737
6738         syntax.c (lookup_syntax_properties): Default off.
6739
6740         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6741         * syntax.c (update_syntax_cache):
6742         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6743
6744         [Minor syntax cache optimizations and code clarifications]
6745
6746         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6747         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6748         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6749         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6750         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6751         (Code clarification.)
6752
6753         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6754         scan_lists): Compute code from syncode, use Boolean macros instead
6755         of redundant masking operations.  (Code clarification; any decent
6756         compiler can do this optimization.)
6757
6758         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6759         for clarity.
6760
6761         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6762         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6763         use F*_single_property_change instead of F*_extent_change.
6764         Currently F*_single_property_change is _much_ less efficient.
6765
6766         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6767         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6768         syntax_cache.object properly, don't leave Qt or Qnil.
6769         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6770         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6771         tests for Qt or Qnil.
6772
6773 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6774
6775         * redisplay.c (point_in_line_start_cache): 
6776         * extents.c (print_extent_1):
6777         Fix warnings.
6778
6779         * extents.c (Fset_extent_property): Document `syntax-table' property.
6780
6781         * extents.h (Fnext_single_property_change): EXFUN it.
6782
6783 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6784
6785         * search.c (clear_unused_search_regs): New static function.
6786         (search_buffer): 
6787         (simple_search): 
6788         (boyer_moore):
6789         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6790         Minor clarifications in comments.
6791
6792         * regex.c (re_match_2_internal): Ensure no stale submatches.
6793
6794 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6795
6796         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6797
6798 2002-08-29  Jerry James  <james@xemacs.org>
6799
6800         * lisp.h: structrures -> structures.
6801
6802 2002-06-03  Andy Piper  <andy@xemacs.org>
6803
6804         * frame.c (frame_conversion_internal): add conversion appropriate
6805         for setting frame dimensions in pixels.
6806
6807         * console.h (struct console_methods): add device-specific widget
6808         layout functions.
6809
6810         * emacs.c (main_1): initialize glyph vars.
6811
6812         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6813         (handle_focus_event_2): new function. Allow focus to
6814         be set to a particular window and widget.
6815         (enqueue_focus_event): new function. Create a
6816         synthetic focus event.
6817         (emacs_Xt_handle_magic_event): call
6818         handle_focus_event_2.
6819
6820         * frame.c (Fset_frame_pixel_height): new function. Allow
6821         pixel-based sizing. Does the right thing on character-oriented
6822         displays.
6823         (Fset_frame_pixel_width): ditto.
6824         (Fset_frame_pixel_size): ditto.
6825         (syms_of_frame): declare.
6826
6827         * general-slots.h: add :vertically-justify and
6828         :horizontally-justify.
6829
6830         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6831         (mswindows_widget_border_width): new function.
6832         (mswindows_combo_box_instantiate): set border widths.
6833         (console_type_create_glyphs_mswindows): declare.
6834
6835         * glyphs-widget.c:
6836         (check_valid_justification): allow vertical and horizontal
6837         justification.
6838         (widget_border_width): new function. Call device methods.
6839         (widget_instance_border_width): ditto.
6840         (logical_unit_height): new function. Determine the height of a
6841         logical-unit. Logical units are intended to provide grid-like
6842         layout for subcontrols in a layout. If the layout is
6843         :vertically-justify top then subcontrols will be positioned on
6844         logical-unit boundaries, thus allowing adjacent subcontrols to
6845         line up.
6846         (widget_logical_unit_height): ditto for widgets.
6847         (redisplay_widget): misc cleanup.
6848         (widget_spacing): new function. Call device specific
6849         methods. Intended to be the default gap between adjacent widgets.
6850         (widget_query_geometry): use new spacing functions to determine
6851         appropriate geometry.
6852         (initialize_widget_image_instance): initialize horizontal and
6853         vertical justification.
6854         (widget_instantiate): use logica-units where appropriate for
6855         sizing large widgets.
6856         (button_query_geometry): use widget_instance_border_width.
6857         (tree_view_query_geometry): ditto.
6858         (tab_control_query_geometry): ditto.
6859         (edit_field_query_geometry): new function.
6860         (layout_update): pick up :justify, :horizontally-justify and
6861         :vertically-justify none of which worked previously. :justify is
6862         used as a fallback for both horizontal and vertical justification.
6863         (layout_query_geometry): use logical units to size appropriately.
6864         (layout_layout): ditto.
6865         (Fwidget_logical_to_character_width): new function. Allow users to
6866         convert from logical units to characters so that frame sizes can
6867         be set appropriately.
6868         (Fwidget_logical_to_character_height): ditto.
6869         (syms_of_glyphs_widget): declare.
6870         (image_instantiator_edit_fields): add edit_field_query_geometry.
6871         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6872         :horizontally-justify.
6873         (specifier_vars_of_glyphs_widget): new function. Declare
6874         Vwidget_border_width which is not yet used.
6875
6876         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6877         (x_widget_border_width): new function.
6878         (x_widget_instantiate): create a sensible name for widgets.
6879         (console_type_create_glyphs_x): declare x_widget_border_width.
6880
6881         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6882         (struct Lisp_Image_Instance): add :vertically-justify and
6883         :horizontally-justify.
6884         (LAYOUT_JUSTIFY_TOP): new.
6885         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6886         (ROUND_UP): new macro. Round argument up to next integral
6887         interval.
6888
6889         * redisplay-output.c (redisplay_output_layout): misc formatting.
6890
6891         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6892
6893 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6894
6895         * XEmacs 21.4.9 "Informed Management" is released.
6896
6897 2002-08-19  Andy Piper  <andy@xemacs.org>
6898
6899         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6900         win32 format.
6901
6902         * realpath.c (xrealpath): normalize drive spec also so that dir
6903         sep chars are not mixed on cygwin.
6904
6905 2002-08-06  Jerry James  <james@xemacs.org>
6906
6907         * window.c (Fsplit_window): Count only half of the divider width
6908         against the left window when splitting horizontally. 
6909
6910 2002-06-24  Andy Piper  <andy@xemacs.org>
6911
6912         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6913         toolbar was cleared.
6914
6915         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6916         function. Split out from mswindows_output_frame_toolbars.
6917         (mswindows_output_frame_toolbars): move clear pieces to
6918         mswindows_output_frame_toolbars.
6919
6920         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6921         out from gtk_output_frame_toolbars.
6922         (gtk_output_frame_toolbars): move clear pieces to
6923         gtk_clear_frame_toolbars.
6924
6925         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6926         the frame is cleared. How this ever worked before is a mystery.
6927         (x_output_frame_toolbars): Only output toolbars.
6928         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6929
6930         * gutter.c (update_gutter_geometry):
6931         Mark frame layout changed.
6932         (update_frame_gutter_geometry, update_frame_gutters):
6933         Respect frame_layout_changed.
6934
6935         * console.h (struct console_methods): add
6936         clear_frame_toolbars_method.
6937
6938         * redisplay.c (redisplay_frame): call
6939         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6940
6941         * toolbar.h: declare update_frame_toolbars_geometry.
6942
6943         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6944         out from update_frame_toolbars.  Call clear_frame_toolbars.
6945         (update_frame_toolbars): only output, do not change geometry.
6946
6947         * redisplay.c: add frame_layout_changed.
6948
6949         * redisplay.h: add frame_layout_changed.
6950         (CLASS_RESET_CHANGED_FLAGS): set it.
6951         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6952         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6953         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6954
6955         * device.h (struct device): add frame_layout_changed.
6956         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6957
6958         * frame.h (struct frame): add frame_layout_changed.
6959         (MARK_FRAME_LAYOUT_CHANGED): new.
6960
6961 2002-06-30  Mike Alexander  <mta@arbortext.com>
6962
6963         * event-msw.c (mswindows_need_event): Don't wait for a new message
6964         if the queue is not empty.  Suggested by Paul Moore.
6965
6966 2002-06-12  Andy Piper  <andy@xemacs.org>
6967
6968         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6969         for printing on accurately.
6970
6971 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6972
6973         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6974         WM_ACTIVATE message. Make sure that the frame is visible if the
6975         window is visible. This seemss to fix the problem where XEmacs
6976         appears to freeze after switching desktops with certain virtual
6977         window managers.
6978         (debug_output_mswin_message): Added code to output message
6979         parameters for WM_WINDOWPOSCHANGED, 
6980         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6981
6982 2002-05-25  Andy Piper  <andy@xemacs.org>
6983
6984         * select-x.c (vars_of_select_x): Fix docstring of
6985         x-selection-strict-motif-ownership
6986
6987 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6988
6989         * keymap.c (get_keymap):
6990         Add comment about do_autoload GCPROs own args.
6991
6992 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6993
6994         * bytecode.c (execute_optimized_program): check_opcode ifdef
6995         ERROR_CHECK_BYTE_CODE.
6996
6997 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6998
6999         Thanks to Ben Wing and Michael Sperber.
7000
7001         * eval.c (Fcommand_execute):
7002         (Feval):
7003         (Ffuncall):
7004         (Fmacroexpand_internal):
7005         (function_argcount):
7006         callint.c (Fcall_interactively):
7007         Add comment about do_autoload GCPROs own args.
7008
7009         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7010
7011         * eval.c (Ffuncall): Extra braces to placate GCC.
7012
7013 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7014
7015         * backtrace.h (grow_specpdl):
7016         (SPECPDL_RESERVE):
7017         * EmacsFrame.c (EmacsFrameSetValues):
7018         * eval.c (grow_specpdl):
7019         * ExternalShell.c (hack_event_masks_1):
7020         * glyphs-x.c (convert_EImage_to_XImage): 
7021         (x_finalize_image_instance):
7022         * ralloc.c (page_size):
7023         (r_alloc_sbrk):
7024         * xgccache.c (gc_cache_hash):
7025         Fix unsigned comparison warnings.
7026
7027 2002-07-29  Jerry James  <james@xemacs.org>
7028
7029         * lread.c (locate_file): Any nonnegative return value indicates
7030         success if MODE is nonnegative.
7031
7032 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7033
7034         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7035         argument. 
7036
7037 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7038
7039         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7040
7041         * dumper.c (pdump_get_indirect_count):
7042         (pdump_scan_by_alignment):
7043         (pdump_dump_root_struct_ptrs):
7044         (pdump_dump_rtables):
7045         (pdump_dump_root_objects):
7046         (pdump):
7047         * nas.c (WaveOpenDataForReading):
7048         * fns.c (print_bit_vector):
7049         * font-lock.c (SINGLE_SYNTAX_STYLE):
7050         * glyphs.c (check_for_ignored_expose):
7051         (find_matching_subwindow):
7052         * glyphs-eimage.c:
7053         * imgproc.c (get_histogram):
7054         * redisplay.c (point_in_line_start_cache):
7055         * redisplay-output.c (redisplay_unmap_subwindows):
7056         * symbols.c (defsymbol_massage_name_1):
7057         (defkeyword_massage_name):
7058         (deferror_massage_name_and_message):
7059         * redisplay-x.c (x_output_string): 
7060         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7061         * frame.h (struct frame):
7062         * filelock.c (current_lock_owner):
7063         * doprnt.c (emacs_doprnt_1):
7064         * lisp.h (struct Lisp_Bit_Vector):
7065         (DO_REALLOC):
7066         Fix warnings.
7067
7068 2002-02-13  Ben Wing  <ben@xemacs.org>
7069
7070         * event-stream.c (reset_key_echo):
7071         * event-stream.c (reset_this_command_keys):
7072         * event-stream.c (execute_command_event):
7073         If console is dead as a result of C-x 5 0, then post-command stuff
7074         needs to be careful and do only non-console-specific stuff.
7075
7076 2002-07-01  Mike Sperber <mike@xemacs.org>
7077
7078         * process-unix.c (unix_send_process): Mark coding_outstream as
7079         non-open upon SIGPIPE.
7080
7081         * event-stream.c (Fnext_event): Reorder switch cases to something
7082         that makes sense.
7083
7084 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7085
7086         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7087         Don't bogusly reinitialize ascii_character property.
7088
7089 2002-07-08  Mike Sperber <mike@xemacs.org>
7090
7091         * process.c (Fstart_process_internal): Do error checking before we
7092         fork off the child, so the child can't muck with the state of the
7093         parent.
7094
7095 2002-07-08  Mike Sperber <mike@xemacs.org>
7096
7097         * ralloc.c (init_ralloc): Allocate properly for pdump.
7098
7099 2002-06-12  Andy Piper  <andy@xemacs.org>
7100
7101         * glyphs.c (query_string_geometry): check the string.
7102
7103         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7104         widget names.
7105
7106 2002-06-17  Jerry James  <james@xemacs.org>
7107
7108         * sysdll.c: Remove RTLD_GLOBAL initialization.
7109         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7110
7111 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7112
7113         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7114
7115 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7116
7117         * sysdep.c (sys_rename): Make sys_rename work for the case where
7118         Windows rename sets errno to EACCES if target file exists.
7119
7120 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7121
7122         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7123         Fix detection of metric units to work on Win95
7124
7125 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7126
7127         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7128
7129 2002-04-25  Andy Piper  <andy@xemacs.org>
7130
7131         * redisplay.c (create_text_block): Remove extra comment trailer.
7132
7133 2002-04-24  Andy Piper  <andy@xemacs.org>
7134
7135         * redisplay.c (create_text_block): Don't actually add propagation
7136         data if the line ends after we have added a glyph.
7137
7138 2002-04-22  Andy Piper  <andy@xemacs.org>
7139
7140         * extents.c (extent_fragment_update): check for glyphs we have
7141         previously displayed.
7142         * extents.c (print_extent_1): warning removal.
7143         * extents.h: change prototype.
7144         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7145         widths correctly for wide glyphs.
7146         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7147         * redisplay.c (prop_type): add PROP_GLYPH.
7148         * redisplay.c (struct prop_block): add glyph type
7149         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7150         to the propagation data.
7151         * redisplay.c (create_text_block): if there is a glyph in the
7152         propagation data use it to salt extent_fragment_update.
7153         * redisplay.c (create_string_text_block): ditto.
7154
7155 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7156
7157         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7158         * redisplay-output.c (compare_runes): Compare them.
7159         * redisplay.c: Update copyright date.
7160         * redisplay.c (pos_data): Add need_baseline_computation field.
7161         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7162         need_baseline_computation; zero yoffset. Set max_pixmap_height
7163         for all pixmaps, not just automatically positioned ones.
7164         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7165         * redisplay.c (calculate_baseline): New, compute textual baseline.
7166         * redisplay.c (add_glyph_rune): Call them.
7167         * redisplay.c (create_text_block): Likewise.
7168         * redisplay.c (create_overlay_glyph_block): Likewise.
7169         * redisplay.c (add_margin_runes): Likewise.
7170         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7171
7172         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7173         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7174         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7175         * redisplay-msw.c (mswindows_output_string): Likewise.
7176         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7177         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7178         * redisplay-x.c (x_output_display_block): Likewise.
7179
7180 2002-03-28  Ben Wing  <ben@xemacs.org>
7181
7182         * redisplay.c: Fixed bug in redisplay
7183         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7184         and down of the lines, since they're bigger than the line
7185         size. (It was seen most obviously when there's a horizontal scroll
7186         bar, e.g. do C-h a glyph or something like that.) The problem was
7187         that the glyph-contrib-p setting on glyphs was ignored even if it
7188         was set properly, which it wasn't until now.
7189
7190 2002-04-24  Andy Piper  <andy@xemacs.org>
7191
7192         * lisp.h (Dynarr_end): Fix definition.
7193
7194 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7195
7196         * redisplay.c (mark_redisplay): Remove call to
7197         update_frame_window_mirror.
7198
7199 2001-11-15  Andy Piper  <andy@xemacs.org>
7200
7201         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7202         cygwin (again).
7203
7204 2002-02-13  Andy Piper  <andy@xemacs.org>
7205
7206         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7207         we did in fact enqueue the XM_MAPFRAME event.
7208
7209 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7210
7211         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7212         to fix problem switching between virtual desktops under virtuawin
7213         virtual window manager.
7214
7215 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7216
7217         * event-msw.c: Typo fix.
7218         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7219         magic XM_MAPFRAME event has been sent.
7220
7221 2001-11-23  Andy Piper  <andy@xemacs.org>
7222
7223         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7224
7225 2001-11-21  Andy Piper  <andy@xemacs.org>
7226
7227         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7228         mouse events outside the frame.
7229
7230 2002-03-20  Andy Piper  <andy@xemacs.org>
7231
7232         * menubar-msw.c (mswindows_popup_menu): warning removal.
7233         * dialog-msw.c (dialog_popped_down): ditto.
7234
7235 2001-12-11  Andy Piper  <andy@xemacs.org>
7236
7237         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7238         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7239         popup_up_p.
7240         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7241         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7242         * menubar-msw.c (mswindows_popup_menu): ditto.
7243
7244 2001-10-29  Andy Piper  <andy@xemacs.org>
7245
7246         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7247         cancels.
7248
7249 2002-01-03  Andy Piper  <andy@xemacs.org>
7250
7251         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7252         letters.
7253         (xrealpath): ditto.
7254
7255 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7256
7257         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7258         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7259         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7260         Detect and handle case where machine is set up for metric units
7261
7262 2002-04-02  Andy Piper  <andy@xemacs.org>
7263
7264         * dired-msw.c (mswindows_get_files): 
7265         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7266         completely handled by XEmacs. Suggested by Thomas Vogler
7267         <mail@thomas-vogler.de>.
7268
7269 2001-11-14  Andy Piper  <andy@xemacs.org>
7270
7271         * nt.c (REG_ROOT): change registry key to XEmacs.
7272
7273 2002-04-27  Andy Piper  <andy@xemacs.org>
7274
7275         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7276
7277 2002-04-26  Andy Piper  <andy@xemacs.org>
7278
7279         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7280         behavior.
7281
7282 2002-03-14  Mike Alexander  <mta@arbortext.com>
7283
7284         * event-msw.c (mswindows_unwait_process): New, remove process from
7285         wait list
7286         * process-nt.c (nt_finalize_process_data): Call
7287         mswindows_unwait_process
7288         * console-msw.h: Declare mswindows_unwait_process
7289
7290 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7291
7292         * editfns.c (Fdecode_time):
7293         (Fformat_time_string):
7294         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7295         (make_time): Warning elimination (change arg name).
7296
7297 2001-11-24  Andy Piper  <andy@xemacs.org>
7298
7299         * window.c (Fsplit_window): Doc return type.
7300
7301 2002-04-01  Andy Piper  <andy@xemacs.org>
7302
7303         * emacs.c (Fkill_emacs): Only output message box in interactive
7304         mode.
7305
7306 2002-04-26  Andy Piper  <andy@xemacs.org>
7307  
7308         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7309         cygwin.
7310
7311 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7312
7313         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7314         bit platform.
7315
7316 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7317
7318         * XEmacs 21.4.8 "Honest Recruiter" is released.
7319
7320 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7321
7322         Supersedes 2002-04-17 patch.
7323
7324         * process.h (PROCESS_LIVE_P): Use the process status as
7325         evidence of health, not the state of the input stream.
7326         (PROCESS_READABLE_P): Say if the process is readable
7327         from. (It may be dead nonetheless.)
7328         (CHECK_READABLE_PROCESS): Test for that condition.
7329
7330         * process.c (create_process): Use PROCESS_READABLE_P.
7331         (read_process_output, set_process_filter): Likewise.
7332
7333         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7334         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7335
7336         This code is #if 0'd, this is not the time to add new functions:
7337
7338         * process.c (Fprocess_readable_p): Report readability status.
7339         * process.c (Qprocess_readable_p): New, associated symbol...
7340         * process.c (syms_of_process): ... initialize it.
7341
7342 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7343
7344         * XEmacs 21.4.7 "Economic Science" is released.
7345
7346 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7347
7348         * process.h (PROCESS_LIVE_P): Use the process status as
7349         evidence of health, not the state of the input stream.
7350
7351 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7352
7353         * sysdep.c (sys_siglist): change "signum" to "signal"
7354
7355 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7356
7357         * s/darwin.h: New file.
7358         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7359         
7360 2002-04-23  Andreas Jaeger  <aj@suse.de>
7361
7362         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7363         which use lib64 for 64-bit libs.
7364         (START_FILES): Likewise.
7365
7366 2002-02-11  Mike Sperber  <mike@xemacs.org>
7367
7368         * device-x.c: 
7369         (x_IO_error_handler):
7370         (x_init_device): Temporarily keep device in static variable
7371         `device_being_initialized' so we can recover gracefully from
7372         internal XOpenDevice failure.  (XOpenDevice is documented to
7373         return NULL on failure, but sometimes calls the IO error handler
7374         instead.)
7375
7376 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7377
7378         * dired.c (Ffile_name_all_completions): Change documentation --
7379         remove reference to completion-ignored-extensions.
7380         * dired.c (vars_of_dired): Change documentation for
7381         completion-ignored-extensions -- remove reference to
7382         file-name-all-completions.
7383
7384 2002-03-06  Jerry James  <james@xemacs.org>
7385
7386         * emodules.c (emodules_load): Fix multiple loading of same module.
7387
7388 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7389         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7390         RTLD_LAZY to avoid incorrect symbol binding when using nested
7391         shared libraries on Solaris.
7392
7393 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7394
7395         * fileio.c (Ffind_file_name_handler): Improve docstring.
7396
7397 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7398
7399         * fns.c (Fmapconcat): Improve docstring.
7400
7401 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7402
7403         * device-gtk.c: Add prototype for
7404         emacs_gtk_selection_clear_event_handle.
7405         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7406         selection.  Setup signal handler for "selection_clear_event"
7407         (emacs_gtk_selection_clear_event_handle).
7408
7409         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7410         other applications owning the clipboard (based on
7411         x_handle_selection_clear).
7412
7413 2001-12-23  William M. Perry  <wmperry@gnu.org>
7414
7415         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7416         
7417 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7418
7419         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7420
7421 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7422
7423         * XEmacs 21.4.6 "Common Lisp" is released.
7424
7425 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7426
7427         * search.c (Freplace_match): Add missing sub-expression functionality.
7428
7429         * buffer.c (decode_buffer): Add a check for pointer type to
7430         decode_buffer, before gcc's CSE optimization reorders a
7431         dereference in front of the allow_string test.
7432
7433 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7434
7435         * window.c (window_loop): Fix bug that sometimes prevented
7436         window_loop() from iterating across multiple devices.  Also, at
7437         Ben's request, changed infloop-detecting code to abort() instead
7438         of silently terminating window_loop().
7439
7440 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7441
7442         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7443         * editfns.c (make_time): New function.
7444         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7445         * lisp.h (make_time): Prototype and comment it.
7446         * dired.c (wasteful_word_to_lisp): Deprecate.
7447         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7448
7449 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7450
7451         * fileio.c (auto_save_1): Use current coding system, not
7452         escape-quoted.
7453
7454 2001-11-13  Ben Wing  <ben@xemacs.org>
7455
7456         * window.c:
7457         * window.c (window_truncation_on):
7458         * window.c (syms_of_window):
7459         truncate-partial-width-windows should respect the buffer being
7460         displayed, like other redisplay vars.
7461
7462 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7463
7464         * event-stream.c (Fread_key_sequence): save current buffer.
7465
7466 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7467
7468         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7469
7470 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7471
7472         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7473
7474 2001-10-26  Mike Alexander  <mta@arbortext.com>
7475
7476         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7477
7478 2001-10-25  Andy Piper  <andy@xemacs.org>
7479
7480         * ChangeLog:
7481         * dialog-msw.c (handle_directory_proc): new function.
7482          (handle_directory_dialog_box): new fucntion.
7483          (handle_file_dialog_box): use new directory dialog support.
7484          (mswindows_make_dialog_box_internal): ditto.
7485         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7486         handling.
7487         (mswindows_find_frame): make global.
7488         * fileio.c (Fexpand_file_name): build fix.
7489         * general-slots.h: add Qdirectory.
7490         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7491         handling.
7492         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7493         cygwin not leaving win32 paths unchanged.
7494         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7495         cygwin runtime to do path conversion.
7496         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7497         (syms_of_win32): add new function.
7498         * window.c (window_loop): build fix.
7499
7500 2001-10-15  Andy Piper  <andy@xemacs.org>
7501
7502         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7503
7504 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7505
7506         * XEmacs 21.4.5 "Civil Service" is released.
7507
7508 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7509
7510         * glyphs-x.c: Force buffer-tab highlight update when moving the
7511         buffer, avoiding an ugly black border, used for keyboard focus
7512         indication, on a widget that can never have keyboard focus, the
7513         buffer tab.
7514
7515 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7516
7517         * process-unix.c (unix_open_multicast_group): Remove too much
7518         conversion between host and network byte order.
7519
7520 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7521
7522         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7523         before replacing them.
7524
7525         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7526         operation.
7527
7528         * src/window.c (undedicate_windows): Use it.
7529         * src/window.h: Add prototype.
7530
7531 2001-09-17  Ben Wing  <ben@xemacs.org>
7532
7533         * fileio.c (normalize_filename):
7534         * fileio.c (Fexpand_file_name):
7535         Fix various C++ compile errors in Andy's recent code.
7536         
7537         * callint.c (Fcall_interactively):
7538         * editfns.c (Ftemp_directory):
7539         * editfns.c (Fuser_full_name):
7540         * emacs.c (argmatch):
7541         * lread.c (locate_file_map_suffixes):
7542         * redisplay-x.c (x_ring_bell):
7543         Fix sign-compare warnings.
7544         
7545 2001-09-08  Andy Piper  <andy@xemacs.org>
7546
7547         * fileio.c (normalize_filename): copied from nt.c
7548         * (Ffile_name_directory): enable win32 paths under cygwin.
7549         * (Ffile_name_nondirectory): ditto.
7550         * (directory_file_name): ditto.
7551         * (Fexpand_file_name): ditto.
7552         * (Ffile_truename): ditto.
7553         * (Fsubstitute_in_file_name): ditto.
7554         * (Ffile_name_absolute_p): ditto.
7555         * (Ffile_readable_p): ditto.
7556
7557 2001-09-08  Andy Piper  <andy@xemacs.org>
7558
7559         * device-msw.c (mswindows_finish_init_device): remove dde
7560         initialization.
7561         * device-msw.c (mswindows_init_dde): factor out from
7562         mswindows_finish_init_device()
7563         * device-msw.c (init_mswindows_very_early): new function
7564         initialize but don't enable dde.
7565         * emacs.c (main_1): call init_mswindows_very_early.
7566         * event-msw.c:
7567         * event-msw.c (mswindows_dde_callback): only execute when we are
7568         ready.
7569         * symsinit.h: declare init_mswindows_very_early.
7570
7571 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7572
7573         [sjt: This has been in 21.5 for months with no complaints.]
7574
7575         * console.h (struct console_methods): Added flags member.
7576         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7577         (CONMETH_IMPL_FLAG):
7578         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7579         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7580
7581         * device.c (window_system_pixelated_geometry): Use the above macros.
7582
7583         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7584         implememntation flag.
7585         * device.h (DEVICE_DISPLAY_P): Use it.
7586
7587         * frame.c (delete_frame_internal): Use the above macro.
7588
7589         * redisplay.c (redisplay_device): Use it.
7590         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7591         (redisplay_frame): Ditto.
7592
7593         * device-msw.c (mswindows_device_implementation_flags): Removed.
7594         (msprinter_device_implementation_flags): Removed.
7595         (console_type_create_device_mswindows): Removed references to
7596         implementation_flags methods, set implementation flags here.
7597         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7598
7599         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7600         (console_type_create_device_gtk): Removed method declaration.
7601         Added commented out statement which semantically matches the
7602         commented out statement in the above removed method.
7603
7604 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7605
7606         The attached patch fixes a few warnings. 
7607
7608         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7609         * src/frame-gtk.c: guard against GNOME calls in GTK only
7610         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7611         * src/select-gtk.c: prototype lisp_to_time
7612
7613 2001-06-08  Ben Wing  <ben@xemacs.org>
7614
7615         ------ gc-in-window-procedure fixes ------
7616         
7617         * alloc.c:
7618         * alloc.c (struct post_gc_action):
7619         * alloc.c (register_post_gc_action):
7620         * alloc.c (run_post_gc_actions):
7621         * alloc.c (garbage_collect_1):
7622         Create "post-gc actions", to avoid those dreaded "GC during window
7623         procedure" problems.
7624
7625         * event-msw.c:
7626         Abort, clean and simple, when GC in window procedure.  We want
7627         to flush these puppies out.
7628
7629         * glyphs-msw.c:
7630         * glyphs-msw.c (finalize_destroy_window):
7631         * glyphs-msw.c (mswindows_finalize_image_instance):
7632         Use a post-gc action when destroying subwindows.
7633
7634         * lisp.h:
7635         Declare register_post_gc_action().
7636
7637         * scrollbar-msw.c:
7638         * scrollbar-msw.c (unshow_that_mofo):
7639         Use a post-gc action when unshowing scrollbar windows, if in gc.
7640
7641         * redisplay.c (mark_redisplay):
7642         Add comment about the utter evilness of what's going down here.
7643
7644         ------ cygwin setitimer fixes ------
7645         
7646         * Makefile.in.in (sheap_objs):
7647         * Makefile.in.in (profile_objs):
7648         * Makefile.in.in (objs):
7649         Compile profile.c only when HAVE_SETITIMER.
7650         
7651         * nt.c (mswindows_sigset):
7652         * nt.c (mswindows_sighold):
7653         * nt.c (mswindows_sigrelse):
7654         * nt.c (mswindows_sigpause):
7655         * nt.c (mswindows_raise):
7656         * nt.c (close_file_data):
7657         Style fixes.
7658         
7659         * nt.c:
7660         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7661         
7662         * profile.c:
7663         * profile.c (Fstart_profiling):
7664         * profile.c (Fstop_profiling):
7665         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7666         instead of just plain setitimer().
7667         
7668         * signal.c:
7669         * signal.c (set_one_shot_timer):
7670         * signal.c (alarm):
7671         Define qxe_setitimer() as an encapsulation around setitimer() --
7672         call setitimer() directly unless Cygwin or MS Win, in which case
7673         we use our simulated version in win32.c.
7674         
7675         * systime.h:
7676         * systime.h (struct itimerval):
7677         * systime.h (ITIMER_REAL):
7678         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7679         comment about "qxe" and the policy regarding encapsulation.
7680
7681         * win32.c:
7682         * win32.c (setitimer_helper_proc):
7683         * win32.c (setitimer_helper_period):
7684         * win32.c (setitimer_helper):
7685         * win32.c (mswindows_setitimer):
7686         Move setitimer() emulation here, so Cygwin can use it.
7687         Rename a couple of functions and variables to be longer and more
7688         descriptive.  In setitimer_helper_proc(), send the signal
7689         using either mswindows_raise() or (on Cygwin) kill().  If for
7690         some reason we are still getting lockups, we'll change the kill()
7691         to directly invoke the signal handlers.
7692
7693         ------ windows shell fixes ------
7694         
7695         * callproc.c:
7696         * ntproc.c:
7697         Comments about how these two files must die.
7698
7699         * callproc.c (init_callproc):
7700         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7701         not just COMSPEC. (more correct and closer to FSF.) Don't
7702         force a value for SHELL into the environment. (Comments added
7703         to explain why not.)
7704         
7705         * nt.c (init_user_info):
7706         Don't shove a fabricated SHELL into the environment.  See above.
7707
7708 2001-06-01  Ben Wing  <ben@xemacs.org>
7709
7710         * Makefile.in.in (ldflags):
7711         eliminate that pesky "defaulting to 00401000" warning.
7712         * nt.h:
7713         eliminate warnings.
7714
7715 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7716
7717         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7718         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7719
7720 2001-04-24  Jerry James <james@xemacs.org>
7721
7722         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7723         correct order.
7724
7725 2001-06-01  Ben Wing  <ben@xemacs.org>
7726
7727         * event-msw.c (debug_mswin_messages):
7728         conditionalize the messages that were causing compile errors.
7729         (if only macros could generate #ifdef statements ...)
7730
7731 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7732
7733         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7734
7735 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7736
7737         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7738
7739 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7740
7741         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7742         * process-unix.c (unix_canonicalize_host_name):
7743         sysdep.c (init_system_name):
7744         Use it to conditionally support IPv6 canonicalization.
7745
7746 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7747
7748         * event-msw.c:
7749         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7750
7751 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7752
7753         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7754         attempt is made to scroll when no scroll bar is available.
7755
7756 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7757
7758         * input-method-motif.c (XIM_delete_frame): New callback.
7759         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7760         got deleted from 21.4.3.)
7761
7762 2001-06-01  Ben Wing  <ben@xemacs.org>
7763
7764         * nt.c (mswindows_utime):
7765         * nt.c (close_file_data):
7766         fix off-by-one-indirection error.
7767
7768 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7769
7770         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7771         because set_file_times() now takes Lisp_Object path, instead of
7772         char*.
7773         * nt.c: Include buffer.h.
7774         * nt.c (convert_from_time_t): New.
7775         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7776         not set mtime correctly.
7777         * nt.h: Declare mswindows_utime().
7778         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7779         path, instead of char*.
7780         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7781
7782 2001-05-30  Ben Wing  <ben@xemacs.org>
7783
7784         For 21.4:
7785
7786         (Stephen, just take all event-msw.c patches.  This includes
7787         the "iconify" fix below.)
7788
7789         * event-msw.c:
7790         * event-msw.c (mswindows_dequeue_dispatch_event):
7791         * event-msw.c (assert):
7792         * event-msw.c (emacs_mswindows_quit_p):
7793         * event-msw.c (debug_mswin_messages):
7794         * event-msw.c (debug_output_mswin_message):
7795         * event-msw.c (vars_of_event_mswindows):
7796         Fix yet more problems with C-g handling.
7797         Implement debug-mswindows-events.
7798         
7799 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7800
7801         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7802         
7803 2001-05-23  Ben Wing  <ben@xemacs.org>
7804
7805         * event-msw.c (winsock_writer):
7806         * event-msw.c (winsock_closer):
7807         prior kludgy code was clobbering the buffer, thinking it was
7808         "unused" space to store an unneeded return value; instead, use
7809         the variable we've already got staring us in the face.
7810
7811 2001-05-17  Andy Piper  <andy@xemacs.org>
7812
7813         * sysfile.h: don't assume that file attributes are boolean
7814
7815 2001-05-23  Ben Wing  <ben@xemacs.org>
7816
7817         * device-msw.c (msprinter_init_device):
7818         signal an error rather than crash with an unavailable network
7819         printer (from Mike Alexander).
7820         
7821         * event-msw.c:
7822         * event-msw.c (struct winsock_stream):
7823         * event-msw.c (winsock_writer):
7824         * event-msw.c (winsock_closer):
7825         * event-msw.c (make_winsock_stream_1):
7826         cleanup headers.  fix (hopefully) an error with data corruption
7827         when sending to a network connection.
7828
7829         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7830         to handle the ~user prefix by (a) always assuming we're referencing
7831         ourselves and not even verifying the user -- hence any file with
7832         a tilde as its first char is invalid! (b) if there wasn't a slash
7833         following the filename, the pointer was set *past* the end of
7834         file and we started reading from uninitialized memory.  Now we
7835         simply treat these as files, always.
7836
7837         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7838         
7839 2001-05-19  Ben Wing  <ben@xemacs.org>
7840
7841         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7842
7843         * process-nt.c:
7844         * process-nt.c (vars_of_process_nt):
7845         remove unused mswindows-quote-process-args.  rec for 21.4.
7846         
7847 2001-05-12  Ben Wing  <ben@xemacs.org>
7848
7849         * event-msw.c (mswindows_dde_callback):
7850         * event-msw.c (mswindows_wnd_proc):
7851         eliminate cygwin warnings.
7852
7853 2001-05-06  Ben Wing  <ben@xemacs.org>
7854
7855         * console-msw.h:
7856         * device-msw.c:
7857         * device-msw.c (print_dialog_worker):
7858         * device-msw.c (mswindows_handle_print_dialog_box):
7859         * device-msw.c (syms_of_device_mswindows):
7860         * dialog-msw.c (mswindows_make_dialog_box_internal):
7861         * general-slots.h:
7862         implement printing the selection when it's selected.
7863
7864 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7865
7866         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7867
7868 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7869
7870         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7871         EMACS_INT is signed.
7872
7873 2001-04-15  Michael Lausch  <mla@1012surf.net>
7874
7875         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7876         gtk_widget_request_size() to give scrollbar >0 width for
7877         GTK >1.2.8.
7878
7879 2001-05-30  William M. Perry  <wmperry@gnu.org>
7880
7881         * event-gtk.c: Check for buttons as modifier keys.
7882
7883 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7884
7885         * s\mingw32.h:
7886         Properly find MinGW's <process.h> inside Cygwin's restructured
7887         include directories.  Don't try to include <cygwin/version.h>
7888         since we are dropping support for MinGW in versions of Cygwin
7889         earlier than b21.
7890         * nt.c:
7891         Drop support for MinGW in versions of Cygwin before b21.
7892         * sysdep.c:
7893         Properly find MinGW's <process.h> inside Cygwin's restructured
7894         include directories.
7895         * syswindows.h:
7896         Drop support for MinGW in versions of Cygwin before b21.
7897         * unexcw.c:
7898         Even though a.out.h is no longer detected by configure, allow
7899         MinGW to use it until we figure out how to do the job with Win32.
7900
7901 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7902
7903         * syntax.c (find_start_of_comment):
7904         Fix `unbalanced parentheses' bug when dealing with mixed comment
7905         styles in c++/java/etc. mode
7906
7907 2001-05-29  Mike Alexander  <mta@arbortext.com>
7908
7909         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7910         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7911
7912 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7913
7914         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7915
7916 2001-03-31  Mike Sperber <mike@xemacs.org>
7917
7918         * search.c (Freplace_match): Support FSF-style specification of
7919         match subexpression when applied to a buffer.
7920
7921 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7922
7923         * event-stream.c (is_scrollbar_event): add missing semicolon
7924
7925 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7926
7927         * Makefile.in.in: Use TAR macro instead of hardcoding
7928           tar.  Allows use of GNU tar instead of system tar
7929
7930 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7931
7932         * event-stream.c (is_scrollbar_event): add missing semicolon
7933
7934 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7935
7936         * XEmacs 21.4.3 "Academic Rigor" is released.
7937
7938 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7939
7940         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7941
7942 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7943
7944         * buffer.c (Vcase_fold_search): Remove obsolete
7945           comment about non ASCII case-fold-search.  This
7946           bug has been fixed by case-table changes.
7947
7948 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7949
7950         * event-msw.c: Restore include of events-mod.h.
7951
7952 2001-04-22   zhaoway  <zw@debian.org>
7953
7954         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7955         !HAVE_SCROLLBARS.
7956
7957 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7958
7959         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7960
7961 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7962
7963         * mule-charset.c (Fmake_charset): Add missing else.
7964
7965 2001-04-23  Ben Wing  <ben@xemacs.org>
7966
7967         * event-msw.c (FAKE_MOD_QUIT):
7968         * event-msw.c (mswindows_dequeue_dispatch_event):
7969         * event-msw.c (mswindows_wnd_proc):
7970         * event-msw.c (emacs_mswindows_quit_p):
7971         Get critical quit working.
7972
7973 2001-05-05  Ben Wing  <ben@xemacs.org>
7974
7975         * console-msw.h:
7976         * device-msw.c:
7977         * device-msw.c (mswindows_get_default_margin):
7978         * frame-msw.c (mswindows_size_frame_internal):
7979         * frame-msw.c (msprinter_init_frame_1):
7980         * frame-msw.c (vars_of_frame_mswindows):
7981         Change top/bottom margin defaults to 0.5 inches.
7982
7983 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7984
7985         Fix link error with gcc 3.0 on Linux.
7986         * terminfo.c (UP): Remove.
7987         * terminfo.c (BC): Remove.
7988         * terminfo.c (PC): Remove.
7989         They weren't used, and in any case, these symbols should be
7990         defined in the *library*.
7991
7992 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7993
7994         * s/aix4.h: Fix crash with xlc -O3.
7995         Improve comment explaining how -O3 works.
7996
7997 2001-04-15  Ben Wing  <ben@xemacs.org>
7998
7999         * event-stream.c:
8000         * event-stream.c (Fnext_event):
8001         * event-stream.c (is_scrollbar_event):
8002         * event-stream.c (execute_command_event):
8003         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8004         crash' problem.  His fix introduces other problems.  We filter
8005         out scrollbar events specifically, making them somewhat invisible
8006         to command-building, and not appearing in `this-command-keys'.
8007         More work is still needed (see comments in event-stream.c), but
8008         this fixes all the major problems.
8009
8010 2001-04-20  Ben Wing  <ben@xemacs.org>
8011
8012         * .cvsignore: Added stuff for Windows.
8013
8014 2001-04-28  Ben Wing  <ben@xemacs.org>
8015
8016         * buffer.c (Ferase_buffer):
8017         * editfns.c (buffer_insert1):
8018         * editfns.c (Finsert_before_markers):
8019         * editfns.c (Finsert_string):
8020         * editfns.c (Finsert_char):
8021         * editfns.c (Fdelete_region):
8022         * editfns.c (Fwiden):
8023         * editfns.c (Fnarrow_to_region):
8024         remove bogus lines setting zmacs_region_stays to 0.
8025         
8026 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8027
8028         * process-unix.c (unix_open_network_stream): If connect() fails
8029         invalidate file descriptor after closing it.
8030
8031 2001-03-08  Mike Alexander  <mta@arbortext.com>
8032
8033         * event-msw.c (mswindows_need_event_in_modal_loop):
8034         Don't dispatch a message if we didn't get one.
8035         (mswindows_need_event):
8036         Terminate the correct process when one exits instead of the first
8037         one on Vprocess_list and look for process termination when in
8038         mswindows_protect_modal_loop.
8039
8040 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8041
8042         * XEmacs 21.4.1 "Copyleft" is released.
8043
8044 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8045
8046         * input-method-motif.c (XIM_delete_frame): New callback.
8047         (XIM_init_frame): Register it.
8048
8049 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8050
8051         * XEmacs 21.4.0 "Solid Vapor" is released.
8052
8053 2001-04-15  Ben Wing  <ben@xemacs.org>
8054
8055         * cmdloop.c (call_command_loop):
8056         Fix braino in bit-rotting code.
8057         
8058 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8059
8060         * extents.c (Fset_extent_endpoints): Force creation of extent info
8061         in buffer_or_string.
8062
8063         * extents.c (process_extents_for_insertion_mapper): Correctly
8064         check for open-open zero-length extents.
8065
8066 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8067
8068         * lisp.h: New typedefs Memory_count, Element_count.
8069         * regex.c:
8070         * regex.h:
8071         Sign-compare warning elimination: several unsigned -> signed.
8072         Based on work by Ben Wing <ben@xemacs.org>.
8073
8074 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8075
8076         * XEmacs 21.2.47 "Zephir" is released.
8077
8078 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8079
8080         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8081
8082 2001-04-03  Mike Sperber <mike@xemacs.org>
8083
8084         * search.c: Revert previous patch due because of release.
8085
8086 2001-03-30  Ben Wing  <ben@xemacs.org>
8087
8088         * s\cygwin32.h:
8089         Add missing killpg prototype.
8090
8091         * elhash.c:
8092         Add a comment about fixing problems when a new entry is added
8093         while mapping.
8094
8095         * frame-msw.c (mswindows_init_frame_1):
8096         Fix compile warnings.
8097
8098         * menubar.c (vars_of_menubar):
8099         Provide `menu-accelerator-support' to indicate that we properly
8100         support %_ in menu specifications, so that package code can
8101         conditionalize on this (and remove %_ from menu specifications
8102         on older versions).
8103
8104         * event-msw.c:
8105         * scrollbar-msw.c:
8106         * scrollbar-msw.c (can_scroll):
8107         * scrollbar-msw.h:
8108         Fix handling of mouse wheel under Windows to follow standards --
8109         now scrolls window under pointer, not selected window.
8110
8111 2001-03-31  Mike Sperber <mike@xemacs.org>
8112
8113         * search.c (Freplace_match): Support FSF-style specification of
8114         match subexpression when applied to a buffer.
8115
8116 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8117
8118         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8119         function to modify KEYMAP, so map over a copy of the hash table.
8120
8121 2001-03-21  Martin Buchholz <martin@xemacs.org>
8122
8123         * XEmacs 21.2.46 "Urania" is released.
8124
8125 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8126
8127         * realpath.c (xrealpath): Make file-truename work with symlinks to
8128         /cygdrive paths on cygwin. Always lowercase drive-letters on
8129         native windows.
8130         (cygwin_readlink): Don't try to find canonical filename unless
8131         file exists.
8132
8133 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8134
8135         * ChangeLog: Log GTK merge.
8136
8137         * dumper.c:
8138         * select-x.c:
8139         * specifier.c:
8140         * symeval.h:
8141         Revert gratuitous whitespace changes from GTK merge.
8142
8143         * emacs.c: Document end of complex #ifdef @ l. 1495.
8144
8145
8146 2001-03-12  Andy Piper  <andy@xemacs.org>
8147
8148         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8149         have to do likewise.
8150
8151 2001-03-12  Andy Piper  <andy@xemacs.org>
8152
8153         * sysdep.c: we only support mingw now.
8154
8155 2001-03-09  Andy Piper  <andy@xemacs.org>
8156
8157         * unexcw.c (copy_executable_and_dump_data_section): making approx
8158         overrun a warning only.
8159
8160 2001-03-10  William M. Perry  <wmperry@aventail.com>
8161
8162         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8163         satisfy Stephen's identical-after-cpp plea.
8164
8165 2001-03-02  Ben Wing  <ben@xemacs.org>
8166
8167         * cmds.c:
8168         * cmds.c (Fforward_char):
8169         * syntax.c:
8170         * window.c:
8171
8172         Augment documentation of the most common motion commands to make
8173         note of the shifted-motion support.
8174         
8175 2001-03-02  Ben Wing  <ben@xemacs.org>
8176
8177         * nt.c (mswindows_fstat):
8178         * nt.c (mswindows_stat):
8179         * search.c (boyer_moore):
8180         Fix compile warnings under Windows.
8181         
8182         * sysdep.c (sys_readdir):
8183         Fix buggy filename-conversion code under Mule.
8184
8185 2001-03-09  William M. Perry  <wmperry@aventail.com>
8186
8187         * Makefile.in.in:
8188         * config.h.in:
8189         * console.c:
8190         * console.h:
8191         * device.c:
8192         * device.h:
8193         * dragdrop.c:
8194         * emacs.c:
8195         * event-stream.c:
8196         * events.c:
8197         * events.h:
8198         * faces.c:
8199         * frame.h:
8200         * general-slots.h:
8201         * glyphs.c:
8202         * gutter.c:
8203         * inline.c:
8204         * lisp.h:
8205         * lrecord.h:
8206         * make-src-depend:
8207         * redisplay-output.c:
8208         * redisplay.c:
8209         * symsinit.h:
8210         * sysfile.h:
8211         * toolbar.c:
8212         * window.c:
8213         The Great GTK Merge.
8214
8215         * ChangeLog.GTK:
8216         * console-gtk.c:
8217         * console-gtk.h:
8218         * device-gtk.c:
8219         * emacs-marshals.c:
8220         * emacs-widget-accessors.c:
8221         * event-gtk.c:
8222         * frame-gtk.c:
8223         * gccache-gtk.c:
8224         * gccache-gtk.h:
8225         * glade.c:
8226         * glyphs-gtk.c:
8227         * glyphs-gtk.h:
8228         * gtk-glue.c:
8229         * gtk-xemacs.c:
8230         * gtk-xemacs.h:
8231         * gui-gtk.c:
8232         * gui-gtk.h:
8233         * menubar-gtk.c:
8234         * native-gtk-toolbar.c:
8235         * objects-gtk.c:
8236         * objects-gtk.h:
8237         * redisplay-gtk.c:
8238         * scrollbar-gtk.c:
8239         * scrollbar-gtk.h:
8240         * select-gtk.c:
8241         * toolbar-gtk.c:
8242         * ui-byhand.c:
8243         * ui-gtk.c:
8244         * ui-gtk.h:
8245         The Great GTK Merge: new files.
8246
8247 2001-02-26  Ben Wing  <ben@xemacs.org>
8248
8249         Reapplied Lstream change.
8250
8251 2001-02-26  Ben Wing  <ben@xemacs.org>
8252
8253         Undid the last change, since it is more controversial than I
8254         thought.  It should be back in at some point soon.
8255         
8256 2001-02-25  Ben Wing  <ben@xemacs.org>
8257
8258         * buffer.c:
8259         * callproc.c (Fold_call_process_internal):
8260         * event-msw.c (ntpipe_slurp_reader):
8261         * event-msw.c (ntpipe_shove_writer):
8262         * event-msw.c (winsock_reader):
8263         * event-msw.c (winsock_writer):
8264         * file-coding.c:
8265         * file-coding.c (detect_eol_type):
8266         * file-coding.c (detect_coding_type):
8267         * file-coding.c (determine_real_coding_system):
8268         * file-coding.c (Fdetect_coding_region):
8269         * file-coding.c (decoding_reader):
8270         * file-coding.c (decoding_writer):
8271         * file-coding.c (mule_decode):
8272         * file-coding.c (Fdecode_coding_region):
8273         * file-coding.c (encoding_reader):
8274         * file-coding.c (encoding_writer):
8275         * file-coding.c (mule_encode):
8276         * file-coding.c (Fencode_coding_region):
8277         * file-coding.c (detect_coding_sjis):
8278         * file-coding.c (decode_coding_sjis):
8279         * file-coding.c (encode_coding_sjis):
8280         * file-coding.c (detect_coding_big5):
8281         * file-coding.c (decode_coding_big5):
8282         * file-coding.c (encode_coding_big5):
8283         * file-coding.c (detect_coding_ucs4):
8284         * file-coding.c (decode_coding_ucs4):
8285         * file-coding.c (encode_coding_ucs4):
8286         * file-coding.c (detect_coding_utf8):
8287         * file-coding.c (decode_coding_utf8):
8288         * file-coding.c (encode_coding_utf8):
8289         * file-coding.c (detect_coding_iso2022):
8290         * file-coding.c (decode_coding_iso2022):
8291         * file-coding.c (encode_coding_iso2022):
8292         * file-coding.c (decode_coding_no_conversion):
8293         * file-coding.c (encode_coding_no_conversion):
8294         * glyphs-x.c (write_lisp_string_to_temp_file):
8295         * gpmevent.c (tty_get_foreign_selection):
8296         * lisp.h:
8297         * lstream.c:
8298         * lstream.c (Lstream_flush_out):
8299         * lstream.c (Lstream_adding):
8300         * lstream.c (Lstream_write_1):
8301         * lstream.c (Lstream_write):
8302         * lstream.c (Lstream_raw_read):
8303         * lstream.c (Lstream_read_more):
8304         * lstream.c (Lstream_read):
8305         * lstream.c (Lstream_unread):
8306         * lstream.c (Lstream_fputc):
8307         * lstream.c (stdio_reader):
8308         * lstream.c (stdio_writer):
8309         * lstream.c (filedesc_reader):
8310         * lstream.c (filedesc_writer):
8311         * lstream.c (lisp_string_reader):
8312         * lstream.c (struct fixed_buffer_stream):
8313         * lstream.c (make_fixed_buffer_input_stream):
8314         * lstream.c (make_fixed_buffer_output_stream):
8315         * lstream.c (fixed_buffer_reader):
8316         * lstream.c (fixed_buffer_writer):
8317         * lstream.c (struct resizing_buffer_stream):
8318         * lstream.c (resizing_buffer_writer):
8319         * lstream.c (dynarr_writer):
8320         * lstream.c (lisp_buffer_reader):
8321         * lstream.c (lisp_buffer_writer):
8322         * lstream.h:
8323         * lstream.h (lstream_implementation):
8324         * lstream.h (struct lstream):
8325         * md5.c (Fmd5):
8326         * process-nt.c (nt_send_process):
8327         * process-unix.c (unix_send_process):
8328         
8329         Correct Lstream lossage due to mixing of signed and unsigned
8330         quantities.  All Lstream uses of size_t and ssize_t are now a
8331         single signed data type Lstream_data_count.  This fixes problems
8332         under Windows with sending large quantities of data to a process,
8333         and may well fix other subtle bugs.
8334
8335 2001-02-23  Martin Buchholz <martin@xemacs.org>
8336
8337         * XEmacs 21.2.45 "Thelxepeia" is released.
8338
8339 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8340
8341         * lisp-union.h (XSETINT): 
8342         (XSETCHAR):
8343         (XSETOBJ): 
8344         Reverse previous change of 2001-02-06.
8345
8346 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8347
8348         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8349         buffers.
8350         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8351         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8352         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8353         * regex.c (POS_AS_IN_BUFFER): removed
8354         * regex.c (re_search_2):
8355         * regex.c (re_match_2):
8356         Don't use an offset of 1 when calculating buffer positions, since
8357         `BI_BUF_BEGV' does it already.
8358
8359 2001-02-18  Wim Dumon  <wim@easics.be>
8360
8361         * insdel.c (prepare_to_modify_buffer): Also check for
8362         supersession when clash-detection is enabled. 
8363
8364 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8365
8366         * regex.c (re_match_2_internal):
8367         Convert temp characters from 'const unsigned char' to 're_char'.
8368         Fix crashing bug with extended characters under mule.
8369         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8370         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8371         font-lock, pdump, and new syntax-table code.
8372         * syntax.c (find_start_of_comment):
8373         (find_end_of_comment):
8374         (forward-comment):
8375         Fix crashing bugs involving moving beyond end of buffer.
8376         * syntax.c (find_start_of_comment):
8377         Fixed logic to allow proper detection of cases where the same
8378         character is used to end both a two-char comment start and a
8379         two-char comment end sequence. Fixes `(forward-comment -1)'.
8380         * syntax.c (find_start_of_comment):
8381         Return position just past last comment-end character for all cases
8382         (previously was only done for two-char comment-end sequences).
8383         * syntax.c (forward-comment):
8384         Take value returned from `find_end_of_comment', rather than
8385         incrementing it.
8386         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8387         Properly deal with BUFFERP (syntax_cache.object)
8388
8389 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8390
8391         * alloc.c (Fgarbage_collect): 
8392         * alloc.c (make_bit_vector_from_byte_vector):
8393         -Wsign-compare-correctness.
8394
8395 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8396
8397         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8398         (XSETCHAR): Likewise.
8399         (XSETOBJ): Likewise.
8400
8401 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8402
8403         * mule-canna.c (canna-func-delete_previous): 
8404         Rename to canna-func-delete-previous.
8405
8406 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8407
8408         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8409
8410 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8411
8412         * font-lock.c (find_context): Fix C++ compile errors introduced by
8413         recent patch
8414
8415 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8416
8417         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8418         pragma, but earlier ones barf on the same pragma.
8419
8420 2001-02-06  Mike Sperber <mike@xemacs.org>
8421
8422         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8423         `configure-mule-lisp-directory'.
8424
8425 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8426
8427         Make sure dump-id.c is compiled in the same way as other .c's.
8428         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8429         * dump-id.h: Remove.
8430         * emacs.c: Move dump-id.h into dumper.h.
8431         * dumper.h: Move dump-id.h into dumper.h.
8432         * Makefile.in.in:
8433         Use standard .c.o rule for building dump-id.o.
8434         Remove preprocessor flags from link command.
8435         Add dump-id.o to ${otherobjs} if PDUMP.
8436
8437 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8438
8439         Port FSF 20.7 syntax table improvements.
8440         * syntax.c.
8441         * syntax.h.
8442
8443         Fixups for new syntax table stuff.
8444         * dired.c: Include syntax.c.
8445         (Fdirectory_files): Initialize regex_match_object and
8446         regex_emacs_buffer.
8447         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8448         and Fget_char_property.
8449
8450         Use ported FSF 20.7 syntax table improvements.
8451         * font-lock.c.
8452         * regex.c.
8453         * search.c.
8454         
8455 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8456
8457         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8458         Unixware's enum boolean from sys/types.h.
8459
8460 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8461
8462         Fix support for building with latest Purify.
8463         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8464         (PURIFY_FLAGS): Likewise.
8465
8466 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8467
8468         * fileio.c (lisp_string_set_file_times): New.
8469         * fileio.c (Fcopy_file): Use it.
8470         Fixes bug:
8471         (copy-file filename non-ascii-filename t t)
8472         ==> No such file or directory, non-ascii-filename
8473
8474 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8475
8476         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8477         USHRT_MAX seems clearer than ~0 anyways.
8478
8479 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8480
8481         dumper improvements.  Inspired by Olivier.
8482         * dumper.c (pdump_max_align): New.
8483         * dumper.c (pdump_add_entry): Use pdump_max_align.
8484         * dumper.c (pdump_get_entry_list): Likewise.
8485         * dumper.c (pdump_scan_by_alignment): Likewise.
8486         Don't iterate through unnecessary alignments.
8487         * dumper.c (pdump_file_get): No need to align result of malloc().
8488         * dumper.c (pdump_mallocadr): Remove.  
8489         The result of malloc() is guaranteed to be maximally aligned.
8490         * dumper.c: s/elmt/elt/g;
8491         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8492         * dumper.c (pdump_alert_undump_object): Likewise.
8493         * dumper.c (pdump_align_table): 
8494         Don't support alignments > 64.
8495         Store ALIGNOF's, not shift counts, in table.
8496
8497 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8498
8499         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8500         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8501         * systime.h: Use HAVE_UTIME.
8502         * sysdep.c (struct utimbuf): Remove.
8503         * sysdep.c (set_file_times): Prefer utime() to utimes().
8504         * config.h.in (HAVE_UTIME): New.
8505         * config.h.in (HAVE_UTIME_H): Remove.
8506         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8507
8508 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8509
8510         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8511
8512 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8513
8514         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8515
8516 2001-02-08  Martin Buchholz <martin@xemacs.org>
8517
8518         * XEmacs 21.2.44 "Thalia" is released.
8519
8520 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8521
8522         Fixes crashes in kill-emacs on some systems.
8523         * process-unix.c (unix_kill_child_process):
8524         It's OK for kill() to fail with ESRCH.
8525
8526 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8527
8528         Contortions to make .gdbinit tricks work on most systems.
8529         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8530         * alloc.c (dbg_valmask): Make non-const.
8531         * alloc.c (dbg_typemask): Make non-const.
8532         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8533         * alloc.c (dbg_valbits): Make non-const.
8534         * alloc.c (dbg_gctypebits): Make non-const.
8535         * .gdbinit (decode_object): Make it work with AIX cc.
8536
8537 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8538
8539         * elhash.c (make_general_lisp_hash_table):
8540         Use simpler and more efficient calloc to clear entries.
8541
8542 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8543
8544         * window.c (window_scroll): Work around an AIX C compiler bug.
8545         Fixes 'scroll-up' does nothing problem with xlC.
8546
8547 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8548
8549         * .gdbinit: Remove obsolete comment.
8550
8551 2001-01-31  Mike Alexander  <mta@arbortext.com>
8552
8553         * select.c (Fown_selection_internal): Set owned_p for device
8554         method correctly.
8555
8556 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8557
8558         Port to g++ 2.97.
8559         "not" cannot be used as a macro name as it is an operator in C++
8560         * config.h.in: Stop #defining `not'.
8561         * chartab.c (check_category_char): not ==> not_p
8562         * chartab.h: Likewise.
8563         * regex.c (re_match_2_internal): Likewise.
8564
8565 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8566
8567         * lisp-disunion.h: Fix up comments.
8568
8569 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8570
8571         * keymap.c (define_key_check_and_coerce_keysym):
8572         (syms_of_keymap):
8573         Support mouse-6 and mouse-7 bindings in the obvious way.
8574
8575 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8576
8577         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8578
8579 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8580
8581         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8582         Previous patch missed DEFVAR_INT_MAGIC.
8583         Make sure future DEFVAR_foo use correct types.
8584         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8585         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8586         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8587         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8588         * (DEFVAR_INT): Likewise.
8589         * redisplay.c (vertical_clip): Should be of type Fixnum.
8590         * redisplay.c (horizontal_clip): Likewise.
8591         * lisp.h (dump_add_opaque_int): New.
8592         (dump_add_opaque_fixnum): New.
8593
8594 2001-01-29  Andy Piper  <andy@xemacs.org>
8595
8596         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8597         since they can be eval'ed
8598
8599 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8600
8601         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8602         Oops, XEmacs redefines `class'.  Use `typename' instead.
8603
8604 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8605
8606         * dumper.c: Fix C++ compile errors.
8607
8608 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8609
8610         * tparam.c: Use correct prototypes.
8611
8612 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8613
8614         * sysproc.h: #include util.h for NetBSD's openpty.
8615
8616 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8617
8618         More 64-bit correctness.
8619         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8620         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8621         Fix up comments.
8622         This finally finishes the 64-bit SGI port.
8623         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8624         * symbols.c: Fix up comments and type casts.
8625         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8626         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8627         * symeval.h (Fixnum): New type.
8628         * symeval.h (symbol_value_type): Fix up comment.
8629
8630         * commands.h:
8631         * nt.c:
8632         * emacs.c:
8633         * data.c:
8634         * redisplay.c:
8635         * abbrev.c:
8636         * dired-msw.c:
8637         * event-Xt.c:
8638         * eldap.c:
8639         * window.c:
8640         * sound.c:
8641         * event-stream.c:
8642         * eval.c:
8643         * buffer.c:
8644         * mule-canna.c: A million DEFVAR_INTs here...
8645         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8646         * extents.c:
8647         * cmdloop.c:
8648         * lisp.h:
8649         * select-x.c:
8650         * console-x.h:
8651         * event-msw.c:
8652         * mule-wnnfns.c:
8653         * hpplay.c:
8654         * ralloc.c:
8655         * alloc.c:
8656         * keymap.c:
8657         * profile.c:
8658         s/int/Fixnum/g in DEFVAR_INT declarations.
8659
8660 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8661
8662         Port pdump to SGI alignment-sensitive environment.
8663         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8664         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8665         properly aligned.
8666         Define and use aligned reading and writing macros.
8667         Use buffered stdio instead of posix i/o for faster dumping.
8668         Eliminate kludgy 256 byte space for header.
8669         Read and write from dump file using structs for alignment safety.
8670         * dumper.c (pdump_align_stream): New.
8671         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8672         * dumper.c (PDUMP_READ_ALIGNED): New.
8673         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8674         * dumper.c (pdump_static_Lisp_Object): New struct.
8675         * dumper.c (pdump_static_pointer): New struct.
8676         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8677         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8678         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8679         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8680
8681         * dumper.c (pdump_backtrace):
8682         * dumper.c (pdump_get_indirect_count):
8683         * dumper.c (pdump_register_object):
8684         * dumper.c (pdump_register_struct):
8685         * dumper.c (pdump_reloc_one):
8686         * dumper.c (pdump_scan_by_alignment):
8687         * dumper.c (pdump_dump_from_root_struct_ptrs):
8688         * dumper.c (pdump_dump_opaques):
8689         * dumper.c (pdump_dump_rtables):
8690         * dumper.c (pdump_dump_from_root_objects):
8691         * dumper.c (pdump):
8692         * dumper.c (pdump_load_finish):
8693         Use aligned reading and writing.
8694
8695         * dumper.c (pdump_free): Make static.
8696         * dumper.c (pdump_hFile): Likewise.
8697         * dumper.c (pdump_hMap): Likewise.
8698
8699 2001-01-26  Martin Buchholz <martin@xemacs.org>
8700
8701         * XEmacs 21.2.43 "Terspichore" is released.
8702
8703 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8704
8705         Type fiddling for window_config.saved_windows_count
8706         * window.c (struct window_config): 
8707         Make saved_windows_count member unsigned.
8708         * window.c (sizeof_window_config_for_n_windows): 
8709         Make parameter unsigned.
8710         * window.c (mark_window_config):
8711         * window.c (window_config_equal):
8712         * window.c (free_window_configuration):
8713         * window.c (Fset_window_configuration):
8714         * window.c (count_windows):
8715         * window.c (Fcurrent_window_configuration):
8716         * window.c (reinit_vars_of_window):
8717         Update all callers and users.
8718
8719 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8720
8721         Alignment correctness for flexible arrays.
8722         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8723         Make alignment-correct. Add interesting comments.
8724         * alloc.c (size_vector):
8725         * alloc.c (make_vector_internal):
8726         * alloc.c (make_bit_vector_internal):
8727         * alloc.c (sweep_bit_vectors_1):
8728         * fns.c (size_bit_vector):
8729         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8730         * window.c (sizeof_window_config_for_n_windows): 
8731         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8732
8733 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8734
8735         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8736
8737 2001-01-23  Andy Piper  <andy@xemacs.org>
8738
8739         * select.c (Fown_selection_internal): pass owned_p
8740
8741         * select-msw.c (mswindows_own_selection): New Signature.
8742
8743         * console.h (struct console_methods): add owned_p to
8744         _own_selection.
8745
8746         * select-x.c (x_own_selection): pass owned_p
8747         (hack_motif_clipboard_selection): use owned_p
8748         (vars_of_select_x): new variable -
8749         x_selection_strict_motif_ownership.
8750
8751 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8752
8753         * specifier.h (specifier_data_offset): Remove pointless parens.
8754         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8755
8756 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8757
8758         Make Lisp_Object sizeof methods be alignment-correct.
8759         pdump must restore objects to the same alignment as the C compiler
8760         assumes.  It really matters on SGIs.
8761         * lstream.c (aligned_sizeof_lstream): New.
8762         (sizeof_lstream): Use aligned_sizeof_lstream.
8763         (Lstream_new): Likewise.
8764         * opaque.c (aligned_sizeof_opaque): New.
8765         (sizeof_opaque): Use aligned_sizeof_opaque.
8766         (make_opaque): Likewise.
8767         * specifier.c (aligned_sizeof_specifier): New.
8768         (sizeof_specifier): Use aligned_sizeof_specifier.
8769         (make_specifier_internal): Likewise.
8770
8771 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8772
8773         * lstream.h (struct lstream): Use max_align_t for trailing data.
8774         * specifier.h (struct Lisp_Specifier): Likewise.
8775
8776 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8777
8778         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8779         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8780         (CCL_SUSPEND): Likewise.
8781         (CCL_INVALID_CMD): Likewise.
8782         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8783         (ccl_driver): Likewise.
8784         (CCL_WRITE_CHAR): Macro hygiene.
8785         (CCL_WRITE_STRING): Macro hygiene.
8786
8787 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8788
8789         Port "portable" dumper to SunOS 4 and HP-UX.
8790         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8791         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8792         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8793
8794 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8795
8796         * lisp.h (ALIGNOF): A better definition for C++.
8797
8798 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8799
8800         Macro hygiene.
8801         Fix printf warnings: int format, long int arg.
8802         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8803         (PUSH_FAILURE_POINT): Use correct printf formats.
8804         (POP_FAILURE_POINT): Use correct printf formats.  
8805         Use do {...} while (0)
8806
8807 2001-01-20  Martin Buchholz <martin@xemacs.org>
8808
8809         * XEmacs 21.2.42 "Poseidon" is released.
8810
8811 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8812
8813         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8814
8815 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8816
8817         De-kludgify FIXED_TYPE free list frobbing.
8818         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8819         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8820         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8821         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8822         * alloc.c (LRECORD_FREE_P): New.
8823         * alloc.c (MARK_LRECORD_AS_FREE): New.
8824         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8825         * alloc.c (STRUCT_FREE_P): Deleted.
8826         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8827         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8828         * alloc.c (STRING_CHARS_FREE_P): New.
8829         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8830         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8831         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8832         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8833         * alloc.c (resize_string): Use new definitions.
8834         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8835         * alloc.c (verify_string_chars_integrity): Use new definitions.
8836         * alloc.c (compact_string_chars): Use new definitions.
8837         * alloc.c: Update monster comments.
8838         * lrecord.h (lrecord_type): Add some new lrecord types for
8839         alloc.c's use.
8840
8841 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8842
8843         Improve alignment hackery.
8844         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8845         (max_align_t): Moved from opaque.h - general purpose.
8846         (ALIGN_PTR): Use size_t, not long.
8847         * opaque.h (max_align_t): Move to lisp.h.
8848
8849 2001-01-18  Norbert Koch  <nk@LF.net>
8850
8851         * gui.h: Fix and add prototypes to fix build problems.
8852
8853 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8854
8855         temacs is going away, so `dump-temacs' is now a bad name.
8856         * .dbxrc (dump-temacs): Rename to `dmp'.
8857         * .gdbinit (dump-temacs): Rename to `dmp'.
8858
8859 2001-01-17  Andy Piper  <andy@xemacs.org>
8860
8861         * glyphs.c (print_image_instance): comment to make martin happy.
8862
8863         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8864         change.
8865
8866         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8867         activation.
8868         (mswindows_tab_control_redisplay): warning suppression.
8869
8870         * glyphs-widget.c (widget_update): re-write to cope with updated
8871         items.
8872         (widget_instantiate): use new gui_item functions.
8873         (tab_control_update): deleted.
8874         (progress_gauge_update): deleted.
8875         (image_instantiator_progress_guage): take out update reference.
8876         (image_instantiator_tree_view): ditto.
8877         (image_instantiator_tab_control): ditto.
8878
8879         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8880         Right the new way.
8881         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8882         return whether anything was changed.
8883         (update_gui_item_keywords): as it sounds.
8884
8885         * gui.h: declare widget_gui_parse_item_keywords.
8886
8887         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8888         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8889
8890 2001-01-17  Martin Buchholz <martin@xemacs.org>
8891
8892         * XEmacs 21.2.41 "Polyhymnia" is released.
8893
8894 2001-01-16  Didier Verna  <didier@xemacs.org>
8895
8896         * glyphs.c (image_instantiate): don't use fallbacks when
8897         instantiating a face's background pixmap by inheritance.
8898
8899 2001-01-14  Mike Sperber <mike@xemacs.org>
8900
8901         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8902         Conditionalize accordingly.
8903
8904 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8905
8906         * dumper.c (pdump_file_get): Fix a compiler warning.
8907
8908 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8909
8910         Make Purify happy when pdumping.
8911         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8912         iniitalizing all bits of new lisp object memory.
8913         * symbols.c (Fmake_local_variable): Likewise.
8914         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8915         * symbols.c (Fdefvaralias): Likewise.
8916         * mule-charset.c (vars_of_mule_charset): Likewise.
8917
8918 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8919         Add the `-nd' flag when running pre-dump operations under the debugger.
8920         * .dbxrc (run-temacs): Add `-nd'.
8921         * .dbxrc (update-elc): Likewise.
8922         * .dbxrc (dump-temacs): Likewise.
8923         * .gdbinit (run-temacs): Likewise.
8924         * .gdbinit (check-temacs): Likewise.
8925         * .gdbinit (update-elc): Likewise.
8926         * .gdbinit (dump-temacs): Likewise.
8927
8928 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8929
8930         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8931         export OBJECT_MODE=64
8932         configure --pdump --use-union-type=no
8933         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8934         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8935
8936         * miscplay.c (sndcnv8U_2mono):
8937         Avoid two uses of `++' in the same expression.
8938         Suppresses a GCC warning.
8939
8940 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8941
8942         Make sure future compilers don't miscompile alloc.c.
8943         * alloc.c:
8944         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8945         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8946
8947 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8948
8949         * dumper.c: A little post-pdump-rename comment fixup.
8950
8951 2001-01-09  Jerry James  <james@eecs.ku.edu>
8952
8953         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8954
8955 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8956
8957         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8958         script:
8959         #!/bin/sh
8960         replace_symbol () {
8961           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8962         }
8963
8964         replace_symbol pdump_wire_lists pdump_weak_object_chains
8965         replace_symbol pdump_wire_list dump_add_weak_object_chain
8966
8967         replace_symbol pdump_wires pdump_root_objects
8968         replace_symbol pdump_wire dump_add_root_object
8969
8970         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8971         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8972
8973         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8974         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8975         replace_symbol dumpstructinfo pdump_root_struct_ptr
8976         replace_symbol dumpstruct dump_add_root_struct_ptr
8977
8978         replace_symbol dumpopaque dump_add_opaque
8979         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8980         replace_symbol dumpopaqueinfos pdump_opaques
8981         replace_symbol dumpopaqueinfo pdump_opaque
8982
8983         replace_symbol nb_structdump nb_root_struct_ptrs
8984         replace_symbol nb_opaquedump nb_opaques
8985
8986         replace_symbol align_table pdump_align_table
8987         replace_symbol dump_header pdump_header
8988
8989         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8990         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8991
8992
8993 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8994
8995         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8996         optimizing bytecount_to_charcount().
8997
8998 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8999
9000         * config.h.in:
9001         (HAVE_DLFCN_H): Removed.
9002         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9003
9004 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9005
9006         Portable dumper maintainability improvements.
9007         * alloc.c (staticpro):
9008         * alloc.c (staticpro_nodump):
9009         * alloc.c (garbage_collect_1):
9010         * alloc.c (reinit_alloc_once_early):
9011         * alloc.c (init_alloc_once_early):
9012         * alloc.c: Move dumper functions to alloc.c.
9013         * dumper.c (pdump_backtrace):
9014         * dumper.c (pdump_dump_structs):
9015         * dumper.c (pdump_dump_opaques):
9016         * dumper.c (pdump_dump_rtables):
9017         * dumper.c (pdump_dump_wired):
9018         * dumper.c (pdump):
9019         * dumper.c (pdump_load_check):
9020         * dumper.c (pdump_load_finish):
9021         * dumper.c (pdump_file_unmap):
9022         * dumper.c (pdump_file_get):
9023         * dumper.c (pdump_resource_free):
9024         * dumper.c (pdump_resource_get):
9025         * dumper.c (pdump_file_free):
9026         * dumper.c (pdump_file_try):
9027         * dumper.c (pdump_load):
9028         Remove fixed size limits on staticpro(), staticpro_nodump(),
9029         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9030         Remove custom code for dumping lrecord_implementations_table - use
9031         dumpopaque instead.
9032         Remove (most of the) custom code for dumping staticpros - dump it
9033         like any other dynarr.
9034
9035         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9036         * dumper.c: Moved functions from alloc.c.
9037         * alloc.c (dumpstruct): Moved to dumper.c.
9038         * alloc.c (dumpopaque): Likewise.
9039         * alloc.c (pdump_wire): Likewise.
9040         * alloc.c (pdump_wire_list): Likewise.
9041
9042         * lisp.h (Dynarr_sizeof): New.
9043         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9044         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9045         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9046
9047         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9048         * lisp.h (dumpopaque): ditto.
9049         * lisp.h (pdump_wire): ditto.
9050         * lisp.h (pdump_wire_list): ditto.
9051
9052 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9053
9054         * make-src-depend (PrintPatternDeps):
9055         Use `sort' to make output independent of perl version.
9056
9057 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9058
9059         Port to Netbsd 1.5.
9060         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9061         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9062
9063 2001-01-03  Didier Verna  <didier@xemacs.org>
9064
9065         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9066         that `focus_frame' is alive before thinking of calling
9067         `redisplay_redraw_cursor' on it.
9068
9069 2001-01-08  Martin Buchholz <martin@xemacs.org>
9070
9071         * XEmacs 21.2.40 is released.
9072
9073 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9074
9075         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9076
9077 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9078
9079         * alloc.c (dbg_valmask): Make const.
9080         * alloc.c (dbg_typemask): Make const.
9081         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9082         * alloc.c (dbg_valbits): Make const.
9083         * alloc.c (dbg_gctypebits): Make const.
9084
9085 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9086
9087         * redisplay-x.c (x_bevel_area):
9088         redisplay.h (struct rune):
9089         Typo fixes in comments.
9090
9091 2001-01-05  Andy Piper  <andy@xemacs.org>
9092
9093         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9094         adjustment.
9095
9096         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9097
9098 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9099
9100         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9101
9102         * mule-ccl.c (stack_idx_of_map_multiple):
9103         Non const global data must not be initialized!
9104         Found by MIYASHITA Hisashi.
9105
9106 2001-01-02  Andy Piper  <andy@xemacs.org>
9107
9108         * frame.c (change_frame_size): make sure frame size is always
9109         marked as changed.
9110
9111         * glyphs.c (image_instance_layout): minor code reuse.
9112
9113         * window.c (Fcurrent_window_configuration): revert previous
9114         change.
9115
9116 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9117
9118         * glyphs.h:
9119         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9120
9121 2000-12-31  Andy Piper  <andy@xemacs.org>
9122
9123         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9124         when widget gets unmapped.
9125
9126         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9127         function. Make sure widgets losing focus don't just drop it.
9128         (handle_focus_event_1): record the widget with focus.
9129
9130 2000-12-31  Andy Piper  <andy@xemacs.org>
9131
9132         * window.c (allocate_window): use
9133         make_image_instance_cache_hash_table.
9134         (make_dummy_parent): ditto.
9135         (Fset_window_configuration): ditto.
9136
9137         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9138
9139         * glyphs.c (process_image_string_instantiator): use
9140         INSTANTIATOR_TYPE.
9141         (get_image_instantiator_governing_domain): ditto.
9142         (normalize_image_instantiator): ditto.
9143         (instantiate_image_instantiator): ditto.
9144         (make_image_instance_1): ditto.
9145         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9146         (instantiator_eq_equal): new function for use with instance hash
9147         tables.
9148         (instantiator_eq_hash): ditto.
9149         (make_image_instance_cache_hash_table): create a suitable hash
9150         table for storing image instances.
9151
9152         * elhash.h (hash_table_weakness): new internal weakness type
9153         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9154         declare new functions.
9155
9156         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9157         another weakness type for glyphs.
9158         (make_standard_lisp_hash_table): new function split out from
9159         make_general_lisp_hash_table.
9160         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9161         (hash_table_instantiate): ditto.
9162         (Fmake_hash_table): ditto.
9163
9164 2000-12-31  Martin Buchholz <martin@xemacs.org>
9165
9166         * XEmacs 21.2.39 is released.
9167
9168 2000-12-29  Andy Piper  <andy@xemacs.org>
9169
9170         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9171
9172         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9173         the frame has changed so that we pick up geometry changes such as
9174         menubar visibility.
9175
9176 2000-12-28  Andy Piper  <andy@xemacs.org>
9177
9178         * lastfile.c (my_ebss): make a char array so we can pad the
9179         bss. Fixes cygwin unexec.
9180
9181         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9182
9183 2000-12-26  Andy Piper  <andy@xemacs.org>
9184
9185         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9186         comments and try and be more precise about a non-/SIGIO world.
9187         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9188         SIGIO.
9189
9190         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9191         we don't normalize to zero width or height.
9192
9193 2000-12-24  Andy Piper  <andy@xemacs.org>
9194
9195         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9196
9197 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9198
9199         * s/sco5.h: SCO 5 has pty support.
9200
9201 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9202
9203         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9204         input-method-xlib.c contains whole contents of input-method-xfs.c,
9205         so we can use input-method-xlib.c's code for USE_XFONTSET
9206         using #ifdefs.
9207         * input-method-xfs.c: removed.
9208
9209 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9210
9211         * file-coding.h (enum coding_category_type): reorder enumerators to
9212         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9213         (now one greater than largest real coding_category_type enumerator).
9214         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9215         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9216         Fcoding_category_list, Fset_coding_priority_list,
9217         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9218         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9219
9220 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9221
9222         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9223         * redisplay-output.c (redisplay_output_window): Clear top of window
9224         when face is changed.
9225         * redisplay-x.c (x_redraw_exposed_window): Call
9226         redisplay_clear_top_of_window.
9227         * redisplay.h: Publish redisplay_clear_top_of_window.
9228
9229 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9230
9231         * buffer.c (Fkill_buffer): Map over all devices.
9232         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9233         (list_windows): New function.
9234         (list_all_windows): Ditto.
9235         (Freplace_buffer_in_windows): Use them.
9236
9237 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9238
9239         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9240         (Fopen_database): Use `db_create' instead of `db_open'.
9241         (syms_of_database): Initialize Qqueue.
9242
9243 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9244
9245         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9246         buffer_local_face_property.
9247         * buffer.h (struct buffer): New member buffer_local_face_property.
9248         * window.c (Fset_window_buffer):  Mark window's face as changed
9249         when buffer has buffer local face.
9250         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9251         * objects.c (color_after_change): Set buffer_local_face_property
9252         when locale of face specifier is buffer.
9253         * objects.c (font_after_change): Ditto.
9254         * objects.c (face_boolean_after_change): Ditto.
9255         * glyphs.c (image_after_change): Ditto.
9256
9257 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9258
9259         * nt.c (mswindows_fstat): Report file permissions, volume serial
9260         number, etc. Code adapted from FSF Emacs 20.7.
9261
9262 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9263
9264         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9265         of stat when we don't have symbolic links, to make sure
9266         mswindows_stat is called on mswindows.
9267
9268 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9269
9270         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9271
9272 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9273
9274         * doprnt.c (emacs_doprnt_1): More printing fixes.
9275         Make printing of numbers compatible with libc and FSF Emacs.
9276         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9277         Use the system printf to do most of the hard work of formatting,
9278         instead of doprnt_1().
9279         Calculate memory to allocate for format string.
9280         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9281         (doprnt_1): Cleaner code and documentation.
9282
9283 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9284
9285         * Makefile.in.in: Use the loop variable to install headers.
9286
9287 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9288
9289         * window.c (Fsplit_window): Don't invalidate face cache.
9290
9291 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9292
9293         * minibuf.c (Fall_completions): Undo the previous change
9294         which removed checking elements start with space.
9295
9296 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9297
9298         * mule-canna.c: Didier suppression.
9299
9300 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9301
9302         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9303         (warning suppression).  Add English comment translations.
9304
9305 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9306
9307         * unexelfsgi.c (unexec): Better test for mmap failure.
9308
9309 2000-12-05  Martin Buchholz <martin@xemacs.org>
9310
9311         * XEmacs 21.2.38 is released.
9312
9313 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9314
9315         * redisplay.c (bar-cursor): Make a user variable.
9316
9317         * symsinit.h: Add init_postgresql_from_environment.
9318
9319 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9320
9321         * regex.c: Convert to clean C.
9322
9323 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9324
9325         * realpath.c:
9326         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9327         initialization.
9328         (sys_readlink): renamed to system_readlink to avoid conflict with
9329         the other sys_readlink.
9330
9331 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9332
9333         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9334
9335 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9336
9337         * postgresql.c (init_postgresql_from_environment): new function.
9338         (vars_of_postgresql): Move code initializing Lisp variables out and
9339         into init_postgresql_from_environment.
9340         emacs.c (main_1): Call init_postgresql_from_environment if and only
9341         if running a dumped XEmacs.
9342
9343 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9344
9345         * buffer.c: Make find-file-compare-truenames default to true on
9346         windows.
9347
9348         * realpath.c (win32_abs_start):
9349         (cygwin_readlink):
9350         (win32_readlink): New functions.
9351         (xrealpath): Return really real filenames on windows.
9352
9353         * fileio.c (Ffile_truename): Make file-truename work on windows.
9354
9355 2000-11-29  Didier Verna  <didier@xemacs.org>
9356
9357         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9358         * faces.c (update_face_cachel_data): use it.
9359         * faces.c (add_face_cachel): use it. Complete background pixmap
9360         frobbing in face cache if `update_face_cachel_data' has not done so.
9361
9362 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9363
9364         * search.c (string_match_1): Don't set last_thing_searched
9365         when search failed.
9366
9367 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9368
9369         * buffer.c: Include casetab.h
9370         (common_init_complex_vars_of_buffer): Use new case-table object.
9371         * buffer.h: Include casetab.h
9372         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9373         (DOWNCASE_TABLE_OF): Ditto.
9374         * bufslots.h: Remove char-tables and add case-table.
9375         * casetab.c: Include casetab.h
9376         (CASE_TABLE_P): Removed.
9377         (mark_case_table): New function.
9378         (allocate_case_table): New function.
9379         (Fcase_table_p): Use new case-table.
9380         (case_table_char): New function.
9381         (Fget_case_table): Ditto.
9382         (Fput_case_table): Ditto.
9383         (Fput_case_table_pair): Ditto.
9384         (Fcopy_case_table): Ditto.
9385         (Fcurrent_case_table): Return case-table.
9386         (Fstandard_case_table): Return case-table.
9387         (Fset_case_table): Fix doc-string.
9388         (set_case_table): Use case-table
9389         (syms_of_casetab): DEFSUBR new functions.
9390         (complex_vars_of_casetab): Set up standard case-table.
9391         * casetab.h: New file.
9392         * editfns.c: Include casetab.h
9393         (Fcompare_buffer_substrings): Use case-table.
9394         * inline.c: Include casetab.h
9395         * lisp.h: Remove bogus extern.
9396         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9397         * search.c: Include casetab.h
9398         (TRANSLATE_ASCII): Removed.
9399         (TRANSLATE): Unconditionally translate character.
9400         (looking_at_1): Use case-table.
9401         (string_match_1): Ditto.
9402         (fast_string_match): Ditto.
9403         (search_command): Ditto.
9404         (search_buffer): Separate boyer_moore.  Check whether
9405         boyer_moore is possible.
9406         (simple_search): New function.
9407         (boyer_moore): Separated from search_buffer. Translate char.
9408
9409 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9410
9411         * regex.c (RE_TR_ASCII): Removed.
9412         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9413         (PATFETCH): Call PATFETCH_RAW.
9414         (PATFETCH_RAW): Fetch Emchar.
9415         (PATUNFETCH): Decrement charptr.
9416         (GET_BUFFER_SPACE): Rename b to buf_end.
9417         (BUF_PUSH): Ditto.
9418         (BUF_PUSH_2): Ditto.
9419         (BUF_PUSH_3): Ditto.
9420         (EXTEND_BUFFER): Ditto.
9421         (SET_LIST_BIT): Ditto.
9422         (regex_compile): Ditto.  Translate non ASCII char.
9423         (compile_range): Ditto.
9424         (re_search_2): Ditto.
9425         (re_match_2_internal): Compare Emchar.
9426         (bcmp_translate): Ditto.
9427
9428 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9429
9430         * lisp.h (basic char/int typedefs):  comment improvement.
9431
9432 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9433
9434         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9435         unstomp inhibit_site_lisp.  Improve comments.
9436
9437 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9438
9439         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9440
9441 2000-11-28  Andy Piper  <andy@xemacs.org>
9442
9443         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9444         clipped display for windows in the gutter also.
9445         (redisplay_display_boxes_in_window_p): change semantics of return
9446         codes to be more intuitive.
9447
9448         * gutter.h: declare display_boxes_in_gutter_p.
9449
9450         * gutter.c (display_boxes_in_gutter_p): new function for
9451         redisplay.
9452
9453 2000-11-22  Andy Piper  <andy@xemacs.org>
9454
9455         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9456         autodetect domain.
9457
9458 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9459
9460         * callproc.c (Fold_call_process_internal):
9461         * gpm.c (Freceive_gpm_event):
9462         (tty_get_foreign_selection): Might be just warning supression.
9463         * fileio.c (Fwrite_region_internal):
9464         (Fset_visited_file_modtime):
9465         * keymap.c (event_matches_key_specifier_p):
9466         Initialize GCPROed variable.
9467
9468         * menubar-x.c (command_builder_find_menu_accelerator):
9469         Initialize before use.
9470
9471 2000-11-23  Andy Piper  <andy@xemacs.org>
9472
9473         * unexcw.c (unexec): make the resulting executable executable.
9474
9475 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9476
9477         * doc.c (get_doc_string):
9478         Use size_t, not int, for result of XSTRING_LENGTH.
9479
9480         * cmds.c (Fdelete_char):
9481         * cmds.c (Fpoint_at_eol):
9482         * cmds.c (Fself_insert_command):
9483         Use EMACS_INT, not int, for result of XINT.
9484         Someday, someone will want to insert more than 2**31 identical characters.
9485
9486         * cmds.c (Fdelete_char):
9487         * cmds.c (Fdelete_backward_char):
9488         * syntax.c (Fforward_word):
9489         * syntax.c (Fforward_comment):
9490         Make COUNT argument optional, for consistency with forward-char et al.
9491
9492 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9493
9494         * lisp.h:
9495         * print.c (long_to_string):
9496         Return a useful value: the pointer at end of data written.
9497
9498         * doprnt.c:
9499         Use `static const char * const' for constant strings.
9500         (union printf_arg): Delete `i', `ui' members.
9501         (get_doprnt_args):
9502         (emacs_doprnt_1):
9503         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9504         Do all printf-ing via the `l' specifier.
9505         Use EMACS_INT instead of int.
9506         Optimize.
9507
9508 2000-11-20  Didier Verna  <didier@xemacs.org>
9509
9510         * faces.c (update_face_cachel_data): don't frob the background
9511         pixmap when the window is being created. The face is needed but
9512         does not exist yet.
9513
9514 2000-11-20  Andy Piper  <andy@xemacs.org>
9515
9516         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9517         messing with a debug environment.
9518
9519 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9520
9521         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9522
9523 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9524
9525         * casetab.c (Fcase_table_p): Fix compile error and crash.
9526
9527 2000-11-18  Philip Aston  <philipa@mail.com>
9528
9529         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9530
9531 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9532
9533         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9534         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9535
9536 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9537
9538         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9539         * unexelf.c: Use HAVE_ELF_H.
9540         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9541         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9542         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9543         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9544         for testing.
9545         So this is an unexelfsgi.c from a different line of development.
9546
9547 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9548
9549         * regex.c (RE_TR_ASCII): New function.
9550         (RE_TRANSLATE): Call it.
9551
9552 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9553
9554         * buffer.h (TRT_TABLE_OF): Remove assert.
9555         (IN_TRT_TABLE_DOMAIN): Removed.
9556
9557 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9558
9559         * free-hook.c (log_gcpro):
9560         (show_gcprohist): Add support for GCPRO5.
9561
9562 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9563
9564         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9565
9566 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9567
9568         * symeval.h: Declare flush_all_buffer_local_cache.
9569
9570         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9571         (flush_buffer_local_cache): Added.
9572         (flush_all_buffer_local_cache): Added.
9573
9574         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9575
9576         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9577         (pdump_dump_data): Ditto.
9578         (pdump_reloc_one): Ditto.
9579         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9580         before dumping.
9581
9582
9583 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9584
9585         * buffer.c: Remove if 0'ed entry.
9586         * buffer.h: Rewrite TRT to use char-table.
9587         * bufslots.h: Remove mirror tables.
9588         * casetab.c: Remove mirror tables.
9589         (CASE_TABLE_P): New macro.
9590         (Fcase_table_p): Element of a case table is string or char-table.
9591         (make_mirror_trt_table): Removed.
9592         (set_case_table): Setup char-table from strings for backward
9593         compatibility.
9594         * dired.c (Fdirectory_files):
9595         * dired-msw.c: (mswindows_get_files):
9596         * lisp.h: Change prototype of re_pattern_buffer.
9597         * regex.c: (RE_TRANSLATE): New macro.
9598         (TRANSLATE_P): Ditto.
9599         Change translate to type RE_TRANSLATE_TYPE.
9600         * regex.h: Define RE_TRANSLATE_TYPE
9601         * search.c (TRANSLATE): New macro.
9602         (TRANSLATE_ASCII): New macro.
9603         Translate table is changed to Lisp_Object.
9604         (signal_failure): Inhibit return.
9605
9606 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9607
9608         * device-msw.c:
9609         * eldap.c:
9610         * event-Xt.c:
9611         * event-stream.c:
9612         * print.c:
9613         Do UNGCPRO before return.
9614
9615 2000-11-14  Martin Buchholz <martin@xemacs.org>
9616
9617         * XEmacs 21.2.37 is released.
9618
9619 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9620
9621         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9622         Add comments about discarded return value.
9623
9624 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9625
9626         * callint.c:
9627         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9628
9629 2000-10-27  Andy Piper  <andy@xemacs.org>
9630
9631         * gutter.c (Fset_default_gutter_position): default left and right
9632         gutters to visible.
9633         (calculate_gutter_size): calculate resonable heuristic for left
9634         and right gutter sizes.
9635         (specifier_vars_of_gutter): change left and right gutter sizes to
9636         autodetect.
9637         (calculate_gutter_size_from_display_lines): new function.
9638         (output_gutter): check for resizing on left and right gutters.
9639         (clear_gutter): don't special case top and left gutters.
9640         (specifier_vars_of_gutter): use new signature for
9641         set_specifier_caching.
9642
9643         * glyphs-x.c (x_redisplay_widget): spelling fix.
9644         * glyphs.c (specifier_vars_of_glyphs):
9645         * menubar.c (specifier_vars_of_menubar):
9646         * redisplay.c (specifier_vars_of_redisplay):
9647         * toolbar.c (specifier_vars_of_toolbar):
9648         * window.c (specifier_vars_of_window):
9649         * scrollbar.c (specifier_vars_of_scrollbar):
9650         (complex_vars_of_scrollbar): use new signature for
9651         set_specifier_caching.
9652
9653         * specifier.c (set_specifier_caching): include recompute flag.
9654         (recompute_one_cached_specifier_in_window): always recompute if
9655         flag set.
9656         (recompute_one_cached_specifier_in_frame): ditto.
9657
9658         * specifier.h (struct specifier_caching): add recompute flag.
9659
9660 2000-10-24  Andy Piper  <andy@xemacs.org>
9661
9662         * unexcw.c (copy_executable_and_dump_data_section): add new
9663         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9664         5.0 happy.
9665
9666 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9667
9668         * console-x.h (x_device): New member modifier_release_time.
9669         * event-Xt.c (x_handle_sticky_modifiers):
9670         Bound interval modifier keys are sticky.
9671         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9672         * events.h: extern it.
9673
9674 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9675
9676         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9677
9678 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9679
9680         * event-stream.c (execute_command_event): Preserve current_events
9681         and the like when event is misc-user-event.
9682         Inhibit quit during the call to maybe_echo_keys.
9683
9684 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9685
9686         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9687         symlink when buffer is killed.
9688         (inhibit_clash_detection): New variable.
9689
9690 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9691
9692         * console.c (Fset_input_method): Trigger redisplay on tty.
9693
9694 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9695
9696         * process.c (Fprocess_status): Revert to previous behavior:
9697         (process-status "nosuchprocess") ==> nil
9698
9699 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9700
9701         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9702         Work around another GCC 2.95.2 optimizer bug.
9703
9704 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9705
9706         * process.c (Fget_process): Use LIST_LOOP_2.
9707         (kill_buffer_processes): Use LIST_LOOP_2.
9708
9709         * minibuf.c (Fall_completions):
9710         Delete old non-functional code for FSF fourth argument.
9711
9712         * frame.c (frame_matches_frame_spec):
9713         Renamed from `frame_matches_frametype'.  Update all callers.
9714         (device_matches_device_spec):
9715         Renamed from 'device_matches_console_spec'.  Update all callers.
9716
9717         * doc.c (Fsubstitute_command_keys):
9718         Remove buffer overflow crash.  Small code cleanups.
9719
9720         * casetab.c (check_case_table): Simpler code.
9721
9722         * window.c (Freplace_buffer_in_windows):
9723         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9724         (and similar implementation) as Fdelete_windows_on.
9725         Update all callers.
9726
9727         * alloc.c (Fmake_list):
9728         * alloc.c (make_vector):
9729         * alloc.c (Fmake_vector):
9730         * alloc.c (make_bit_vector):
9731         * alloc.c (Fmake_bit_vector):
9732         * alloc.c (Fbit_vector):
9733         * alloc.c (Fmake_string):
9734         * alloc.c (Fpurecopy):
9735         * alloc.c (Fmemory_limit):
9736         * buffer.c:
9737         * buffer.c (Fget_buffer):
9738         * buffer.c (Fkill_buffer):
9739         * buffer.c (complex_vars_of_buffer):
9740         * bytecode.c (Fcompiled_function_stack_depth):
9741         * callint.c (Fprefix_numeric_value):
9742         * event-stream.c:
9743         * event-stream.c (Fread_key_sequence):
9744         * casetab.c:
9745         * casetab.c (Fcase_table_p):
9746         * casetab.c (check_case_table):
9747         * casetab.c (Fset_case_table):
9748         * casetab.c (Fset_standard_case_table):
9749         * chartab.c:
9750         * chartab.c (Fchar_table_type):
9751         * chartab.c (Freset_char_table):
9752         * chartab.c (Fget_char_table):
9753         * chartab.c (Fget_range_char_table):
9754         * chartab.c (Fput_char_table):
9755         * chartab.c (Fmap_char_table):
9756         * chartab.c (Fcategory_table_p):
9757         * chartab.c (Fcheck_category_at):
9758         * chartab.c (Fchar_in_category_p):
9759         * chartab.c (Fcategory_table):
9760         * chartab.c (Fcopy_category_table):
9761         * chartab.c (Fset_category_table):
9762         * chartab.c (Fcategory_designator_p):
9763         * chartab.c (Fcategory_table_value_p):
9764         * cmds.c (Fdelete_char):
9765         * cmds.c (Fdelete_backward_char):
9766         * cmds.c (Fself_insert_command):
9767         * cmds.c (Fself_insert_internal):
9768         * console.c (Fvalid_console_type_p):
9769         * console.c (Fcdfw_console):
9770         * console.c (Fconsole_type):
9771         * console.c (Fconsole_name):
9772         * console.c (Fconsole_device_list):
9773         * console.c (Fconsole_on_window_system_p):
9774         * data.c:
9775         * data.c (Feq):
9776         * data.c (Fold_eq):
9777         * data.c (Fsubr_interactive):
9778         * data.c (Fchar_to_int):
9779         * data.c (Fint_to_char):
9780         * data.c (Fsetcar):
9781         * data.c (Fsetcdr):
9782         * data.c (Fnumber_to_string):
9783         * data.c (Fstring_to_number):
9784         * data.c (Frem):
9785         * database.c (mark_database):
9786         * database.c (finalize_database):
9787         * database.c (Fdatabase_live_p):
9788         * database.c (Fdatabasep):
9789         * device-x.c (Fx_get_resource):
9790         * device.c (Fdfw_device):
9791         * dired.c:
9792         * dired.c (Ffile_name_completion):
9793         * dired.c (Ffile_name_all_completions):
9794         * dired.c (Fuser_name_completion):
9795         * dired.c (Fuser_name_completion_1):
9796         * dired.c (Fuser_name_all_completions):
9797         * doc.c (Fdocumentation):
9798         * doc.c (Fdocumentation_property):
9799         * doc.c (Fsubstitute_command_keys):
9800         * editfns.c:
9801         * editfns.c (Fchar_to_string):
9802         * editfns.c (Fstring_to_char):
9803         * editfns.c (Ftemp_directory):
9804         * editfns.c (Finsert_char):
9805         * editfns.c (Fbuffer_substring_no_properties):
9806         * editfns.c (Fnarrow_to_region):
9807         * editfns.c (Fchar_equal):
9808         * editfns.c (Fchar_Equal):
9809         * editfns.c (Ftranspose_regions):
9810         * emacs.c (Fdump_emacs):
9811         * eval.c (Fthrow):
9812         * eval.c (Fcommand_execute):
9813         * eval.c (Fautoload):
9814         * eval.c (Fbacktrace):
9815         * eval.c (Fbacktrace_frame):
9816         * events.c:
9817         * events.c (Fcopy_event):
9818         * events.c (Fcharacter_to_event):
9819         * events.c (Fevent_button):
9820         * events.c (Fevent_process):
9821         * extents.c:
9822         * extents.c (Fnext_extent_change):
9823         * extents.c (Fextent_property):
9824         * faces.c (Ffacep):
9825         * faces.c (Fmake_face):
9826         * file-coding.c:
9827         * file-coding.c (Fencode_shift_jis_char):
9828         * file-coding.c (Fencode_big5_char):
9829         * fileio.c (Ffile_name_directory):
9830         * fileio.c (Ffile_name_nondirectory):
9831         * fileio.c (Ffile_name_as_directory):
9832         * fileio.c (Fdirectory_file_name):
9833         * fileio.c (Ffile_truename):
9834         * fileio.c (Fsubstitute_in_file_name):
9835         * fileio.c (Ffile_modes):
9836         * fileio.c (Fset_file_modes):
9837         * fileio.c (Fset_default_file_modes):
9838         * fileio.c (Fverify_visited_file_modtime):
9839         * floatfns.c (Facos):
9840         * floatfns.c (Fasin):
9841         * floatfns.c (Fatan):
9842         * floatfns.c (Fcos):
9843         * floatfns.c (Fsin):
9844         * floatfns.c (Ftan):
9845         * floatfns.c (Fbessel_j0):
9846         * floatfns.c (Fbessel_j1):
9847         * floatfns.c (Fbessel_jn):
9848         * floatfns.c (Fbessel_y0):
9849         * floatfns.c (Fbessel_y1):
9850         * floatfns.c (Fbessel_yn):
9851         * floatfns.c (Ferf):
9852         * floatfns.c (Ferfc):
9853         * floatfns.c (Flog_gamma):
9854         * floatfns.c (Fexp):
9855         * floatfns.c (Fexpt):
9856         * floatfns.c (Flog):
9857         * floatfns.c (Flog10):
9858         * floatfns.c (Fsqrt):
9859         * floatfns.c (Fcube_root):
9860         * floatfns.c (Facosh):
9861         * floatfns.c (Fasinh):
9862         * floatfns.c (Fatanh):
9863         * floatfns.c (Fcosh):
9864         * floatfns.c (Fsinh):
9865         * floatfns.c (Ftanh):
9866         * floatfns.c (Fabs):
9867         * floatfns.c (Ffloat):
9868         * floatfns.c (Flogb):
9869         * floatfns.c (Fceiling):
9870         * floatfns.c (Ffloor):
9871         * floatfns.c (Fround):
9872         * floatfns.c (Ftruncate):
9873         * floatfns.c (Ffceiling):
9874         * floatfns.c (Fffloor):
9875         * floatfns.c (Ffround):
9876         * floatfns.c (Fftruncate):
9877         * fns.c (Fstring_equal):
9878         * fns.c (Fstring_lessp):
9879         * fns.c (concat2):
9880         * fns.c (concat3):
9881         * fns.c (vconcat2):
9882         * fns.c (vconcat3):
9883         * fns.c (Fsubstring):
9884         * fns.c (Fassoc):
9885         * fns.c (Fold_assoc):
9886         * fns.c (assoc_no_quit):
9887         * fns.c (Fassq):
9888         * fns.c (Fold_assq):
9889         * fns.c (assq_no_quit):
9890         * fns.c (Frassoc):
9891         * fns.c (Fold_rassoc):
9892         * fns.c (Frassq):
9893         * fns.c (Fold_rassq):
9894         * fns.c (rassq_no_quit):
9895         * fns.c (Fremassoc):
9896         * fns.c (remassoc_no_quit):
9897         * fns.c (Fremassq):
9898         * fns.c (remassq_no_quit):
9899         * fns.c (Fremrassoc):
9900         * fns.c (Fremrassq):
9901         * fns.c (remrassq_no_quit):
9902         * fns.c (Fsort):
9903         * fns.c (Fplist_get):
9904         * fns.c (Fplist_put):
9905         * fns.c (Fplist_remprop):
9906         * fns.c (Fplist_member):
9907         * fns.c (Flax_plist_get):
9908         * fns.c (Flax_plist_put):
9909         * fns.c (Flax_plist_remprop):
9910         * fns.c (Flax_plist_member):
9911         * fns.c (Fequal):
9912         * fns.c (Fold_equal):
9913         * fns.c (Frequire):
9914         * fns.c (Fbase64_encode_region):
9915         * fns.c (Fbase64_encode_string):
9916         * fns.c (Fbase64_decode_region):
9917         * frame.c:
9918         * frame.c (frame_matches_frame_spec):
9919         * frame.c (device_matches_device_spec):
9920         * frame.c (next_frame):
9921         * frame.c (previous_frame):
9922         * frame.c (Fnext_frame):
9923         * frame.c (Fprevious_frame):
9924         * frame.c (Fframe_property):
9925         * frame.c (Fset_frame_height):
9926         * frame.c (Fset_frame_size):
9927         * frame.h:
9928         * glyphs.c:
9929         * glyphs.c (if):
9930         * glyphs.c (decode_error_behavior_flag):
9931         * glyphs.c (Fmake_image_instance):
9932         * indent.c (Findent_to):
9933         * intl.c (Fignore_defer_gettext):
9934         * keymap.c (Fkeymapp):
9935         * keymap.c (Flookup_key):
9936         * lread.c:
9937         * lread.c (Fload_internal):
9938         * lread.c (Feval_buffer):
9939         * lread.c (Feval_region):
9940         * macros.c (Fexecute_kbd_macro):
9941         * marker.c (set_marker_internal):
9942         * marker.c (Fset_marker):
9943         * marker.c (set_marker_restricted):
9944         * marker.c (Fcopy_marker):
9945         * marker.c (noseeum_copy_marker):
9946         * menubar.c:
9947         * menubar.c (Fpopup_menu):
9948         * minibuf.c:
9949         * mule-charset.c (Fcharset_name):
9950         * mule-charset.c (Fchar_charset):
9951         * mule-charset.c (Fchar_octet):
9952         * mule-charset.c (Fsplit_char):
9953         * mule-wnnfns.c (Fwnn_open):
9954         * mule-wnnfns.c (Fwnn_dict_comment):
9955         * mule-wnnfns.c (Fwnn_quit_henkan):
9956         * mule-wnnfns.c (Fwnn_word_toroku):
9957         * mule-wnnfns.c (Fwnn_word_sakujo):
9958         * mule-wnnfns.c (Fwnn_word_use):
9959         * mule-wnnfns.c (Fwnn_hindo_set):
9960         * objects.c:
9961         * objects.c (Fmake_color_instance):
9962         * objects.c (Fmake_font_instance):
9963         * print.c (Fwrite_char):
9964         * process.c:
9965         * process.c (mark_process):
9966         * process.c (print_process):
9967         * process.c (get_process_from_usid):
9968         * process.c (Fprocessp):
9969         * process.c (Fprocess_live_p):
9970         * process.c (Fget_process):
9971         * process.c (Fget_buffer_process):
9972         * process.c (get_process):
9973         * process.c (Fprocess_id):
9974         * process.c (Fprocess_name):
9975         * process.c (Fprocess_command):
9976         * process.c (init_process_io_handles):
9977         * process.c (start_process_unwind):
9978         * process.c (Fstart_process_internal):
9979         * process.c (Fopen_multicast_group_internal):
9980         * process.c (Fset_process_window_size):
9981         * process.c (read_process_output):
9982         * process.c (send_process):
9983         * process.c (Fprocess_tty_name):
9984         * process.c (Fset_process_buffer):
9985         * process.c (Fprocess_buffer):
9986         * process.c (Fprocess_mark):
9987         * process.c (set_process_filter):
9988         * process.c (Fset_process_filter):
9989         * process.c (Fprocess_filter):
9990         * process.c (Fprocess_send_region):
9991         * process.c (Fprocess_send_string):
9992         * process.c (exec_sentinel):
9993         * process.c (Fset_process_sentinel):
9994         * process.c (Fprocess_sentinel):
9995         * process.c (status_notify):
9996         * process.c (Fprocess_status):
9997         * process.c (Fprocess_exit_status):
9998         * process.c (process_send_signal):
9999         * process.c (Fprocess_send_eof):
10000         * process.c (deactivate_process):
10001         * process.c (remove_process):
10002         * process.c (Fdelete_process):
10003         * process.c (kill_buffer_processes):
10004         * process.c (Fprocess_kill_without_query):
10005         * process.c (Fprocess_kill_without_query_p):
10006         * rangetab.c:
10007         * rangetab.c (Fget_range_table):
10008         * rangetab.c (Fput_range_table):
10009         * rangetab.c (Fremove_range_table):
10010         * rangetab.c (Fclear_range_table):
10011         * search.c:
10012         * search.c (Fskip_chars_forward):
10013         * search.c (Fskip_chars_backward):
10014         * search.c (Fskip_syntax_forward):
10015         * search.c (Fskip_syntax_backward):
10016         * search.c (search_command):
10017         * search.c (Freplace_match):
10018         * search.c (Fregexp_quote):
10019         * select.c (Fown_selection_internal):
10020         * select.c (Fselection_owner_p):
10021         * select.c (Fselection_exists_p):
10022         * select.c (Fget_selection_internal):
10023         * specifier.c:
10024         * symbols.c:
10025         * symbols.c (Fintern):
10026         * symbols.c (Fintern_soft):
10027         * symbols.c (Funintern):
10028         * symbols.c (Fapropos_internal):
10029         * symbols.c (Fset_default):
10030         * syntax.c:
10031         * syntax.c (Fsyntax_table_p):
10032         * syntax.c (Fcopy_syntax_table):
10033         * syntax.c (Fset_syntax_table):
10034         * syntax.c (Fchar_syntax):
10035         * syntax.c (syntax_match):
10036         * syntax.c (Fmatching_paren):
10037         * syntax.c (Fforward_word):
10038         * syntax.c (scan_lists):
10039         * syntax.c (Fscan_lists):
10040         * syntax.c (Fscan_sexps):
10041         * syntax.c (Fparse_partial_sexp):
10042         * toolbar.c (Fcheck_toolbar_button_syntax):
10043         * tooltalk.doc:
10044         * window.c:
10045         * window.c (Fwindowp):
10046         * window.c (Fwindow_live_p):
10047         * window.c (Fwindow_point):
10048         * window.c (Fdelete_window):
10049         * window.c (Fnext_window):
10050         * window.c (Fprevious_window):
10051         * window.c (Fother_window):
10052         * window.c (window_loop):
10053         * window.c (Fget_lru_window):
10054         * window.c (Fsplit_window):
10055         * window.c (Fenlarge_window):
10056         * window.c (Fenlarge_window_pixels):
10057         * window.c (Fshrink_window):
10058         * window.c (Fshrink_window_pixels):
10059         * window.c (change_window_height):
10060         * window.c (Fwindow_configuration_p):
10061         * window.c (Fcurrent_window_configuration):
10062         * window.h:
10063         * casefiddle.c (casify_object):
10064         * casefiddle.c (Fupcase):
10065         * casefiddle.c (Fdowncase):
10066         * casefiddle.c (Fcapitalize):
10067         * casefiddle.c (Fupcase_initials):
10068         * casefiddle.c (casify_region_internal):
10069         * casefiddle.c (casify_region):
10070         * casefiddle.c (Fupcase_region):
10071         * casefiddle.c (Fdowncase_region):
10072         * casefiddle.c (Fcapitalize_region):
10073         * casefiddle.c (Fupcase_initials_region):
10074         * casefiddle.c (Fupcase_word):
10075         * casefiddle.c (Fdowncase_word):
10076         * casefiddle.c (Fcapitalize_word):
10077         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10078         Replace 0 with '\0' when working with bytes.
10079         Replace initial "(" with "\(" in docstrings.
10080
10081 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10082
10083         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10084
10085         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10086
10087 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10088
10089         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10090
10091 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10092
10093         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10094         correctly.
10095
10096 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10097
10098         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10099         (inhibit_auto_save_session): New variable.
10100         (vars_of_fileio): Declare and initialize them.
10101         * fileio.c (Fdo_auto_save): Don't create session file if
10102         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10103
10104 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10105
10106         * sgiplay.c (play_internal): C++ compilability.
10107         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10108         * callproc.c (Fold_call_process_internal):
10109         Remove unused vars `env', `first'.
10110         * scrollbar.c (update_scrollbar_instance):
10111         #### unused var `current_window'.
10112         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10113         etc. within #ifdef NOT_YET.
10114         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10115         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10116         * specifier.c (specifier_instance):
10117         #### unused var `tag'.
10118         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10119
10120 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10121
10122         * fns.c (Fbutlast):
10123         * fns.c (list_sort):
10124         * fns.c (Ffillarray):
10125         * fns.c (bytecode_nconc2):
10126         * fns.c (Fnconc):
10127         * fns.c (mapcar1):
10128         * fns.c (Fmapconcat):
10129         Be pedantically 64-bit correct.  For the time when someone will
10130         want to have a list with length > 2**32.
10131
10132         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10133         Work around MIPSpro compiler bug.
10134
10135         * process-unix.c (unix_kill_child_process): Add snarky comment.
10136         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10137
10138         * config.h.in: Oops, _getpt ==> _getpty
10139
10140 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10141
10142         * config.h.in:
10143         * regex.c:
10144         Use void*, not char*, as return type of alloca().
10145
10146         * alloc.c (free_marker): Side effect inside assert expression!
10147
10148 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10149
10150         * mule-charset.c (Fset_charset_ccl_program): To check
10151         if the given ccl program is valid, use setup_ccl_program()
10152         instead of CHECK_VECTOR().
10153         (Fmake_charset): Likewise.
10154
10155 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10156
10157         * faces.c (get_extent_fragment_face_cache_index):
10158         Fix cachel.merged_faces memory leak.
10159
10160 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10161
10162         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10163         Reset MSB of octets obtained by DECODE_SJIS
10164         because of the incompatibility with Emacs.
10165         (ccl_driver)<CCL_ENCODE_SJIS>:
10166         Set MSB of octets before passing them to
10167         ENCODE_SJIS because of the incompatibility
10168         with Emacs.
10169
10170 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10171
10172         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10173         (DECLARE_LRECORD): Undo the last change.
10174         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10175
10176 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10177
10178         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10179         the implementation to lrecord_implementations_table.
10180
10181 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10182
10183         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10184         initial value of `lrecord_type_##c_name' and
10185         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10186         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10187         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10188         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10189         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10190
10191 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10192
10193         * miscplay.c (sndcnv8S_2mono):
10194         (sndcnv2monounsigned):
10195         (sndcnvULaw_2linear):
10196         (sndcnv16swap):
10197         Remove implementation-defined behavior.
10198
10199 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10200
10201         * input-method-xlib.c: Warning suppression.
10202
10203 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10204
10205         * mule-ccl.c: Sync up with Emacs 21.0.90.
10206         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10207         Do nothing.
10208         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10209         Likewise.
10210         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10211         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10212         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10213         leading char belongs to official 2-dimensional charset.
10214         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10215         write the given character as is.  Otherwise,
10216         if it is a multibyte char, convert it by
10217         non_ascii_set_charptr_emchar, then write it.
10218         (CCL_WRITE_STRING): Likewise.
10219         (ccl_get_compiled_code): New function.
10220         (setup_ccl_program): When ccl_prog is invalid,
10221         return -1.
10222         (Fregister_code_conversion_map): New function.
10223         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10224
10225         * mule-ccl.h: Sync up with Emacs 21.0.90.
10226         (Fregister_ccl_program): export it.
10227
10228         * redisplay-msw.c (separate_textual_runs):
10229         If ccl program is not valid, don't do ccl conversion.
10230
10231         * redisplay-x.c (separate_textual_runs): Ditto.
10232
10233         * file-coding.c (Fmake_coding_system):
10234         When type is ccl and value is vector, register it
10235         with a proper symbol.  And checks whether the
10236         given ccl program is valid.
10237         (mule_decode): When calling ccl_driver, if src indicates
10238         NULL pointer, set an empty string instead.
10239         (mule_encode): Likewise.
10240
10241 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10242
10243         The following large batch of changes gets us back to a state of
10244         C++ compilability.  Extbyte is now a char, which means that
10245         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10246
10247         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10248
10249         * sound.c (Fplay_sound): Type correctness.
10250
10251         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10252         (x_get_window_property): Type correctness.
10253         (receive_incremental_selection): unsigned char ==> Extbyte
10254         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10255         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10256         (Fx_store_cutbuffer_internal): Type correctness.
10257
10258         * process-unix.c (try_to_initialize_subtty): Type correctness.
10259
10260         * objects-x.c (x_print_color_instance): Type correctness.
10261         (x_print_font_instance): Type correctness.
10262         (x_list_fonts): SExtbyte ==> Extbyte.
10263         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10264         (x_find_charset_font): SExtbyte ==> Extbyte.
10265         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10266         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10267         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10268         Use bufbyte_strcmp.
10269
10270         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10271         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10272         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10273         (BYTE_C0_P): Use bit ops for char-signedness safety.
10274         (BYTE_C1_P): Use bit ops for char-signedness safety.
10275         (CHARSET_BY_LEADING_BYTE):
10276         (CHARSET_BY_ATTRIBUTES):
10277         Always use inline function.
10278         Use type_checking_assert.
10279         Hide chlook.
10280
10281         * mule-charset.c (non_ascii_charptr_copy_char):
10282         Modify to work with both ASCII and non-ASCII characters.
10283         Improve docs and variable names.
10284         Replace over-clever fall-through switch with a simple loop.
10285         (Lstream_get_emchar_1):
10286         Replace over-clever fall-through switch with a simple loop.
10287
10288         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10289         Warning suppression.
10290
10291         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10292         the return value of Lstream_getc, which could be EOF as well.
10293
10294         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10295
10296         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10297         APIs can be used on Extbytes without casts.  Risky!
10298         (SExtbyte): Remove.
10299         (UExtbyte): Remove.
10300
10301         * input-method-xlib.c (XIM_init_device):
10302         Use Xlib.h instead of IntrinsicP.h.
10303         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10304         which will break in X11R7.
10305         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10306         to call XRegisterIMInstantiateCallback with correct types.
10307
10308         * gui-x.c (button_item_to_widget_value): Type correctness.
10309
10310         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10311
10312         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10313         (xbm_instantiate_1): Type correctness.
10314         (BUILD_GLYPH_INST):  Type correctness.
10315
10316         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10317
10318         * file-coding.c:
10319         (decode_coding_sjis):
10320         (decode_coding_big5):
10321         (decode_coding_ucs4):
10322         (decode_coding_utf8):
10323         (decode_coding_iso2022):
10324         (decode_coding_no_conversion):
10325         Make all decoding functions take an Extbyte * arg.
10326         (encode_coding_sjis):
10327         (encode_coding_big5):
10328         (encode_coding_ucs4):
10329         (encode_coding_utf8):
10330         (encode_coding_iso2022):
10331         (encode_coding_no_conversion):
10332         Make all encoding functions take a Bufbyte * arg.
10333         Use size_t instead of unsigned int for memory sizes.
10334         Only cast to unsigned char whenever dereferencing Extbyte *.
10335
10336         * doc.c (unparesseuxify_doc_string): Type correctness.
10337
10338         * console-x.c (split_up_display_spec):
10339         Rewrite without using details of internal string representation.
10340         (x_semi_canonicalize_device_connection): Type correctness.
10341
10342         * config.h.in:
10343         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10344         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10345         (HAVE_XFREE386): Removed.
10346
10347         * buffer.h (DEC_CHARPTR): `const' correctness.
10348         (bufbyte_strcmp): New.
10349         (bufbyte_memcmp): New.
10350
10351         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10352
10353         * buffer.h (XCHAR_OR_CHAR_INT):
10354         Always use inline function.
10355         Remove redundant type checking assert() - XINT will abort quite nicely.
10356
10357 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10358
10359         * search.c (Freplace_match): Set newtext to an empty string.
10360
10361 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10362
10363         * s/decosf1-3.h: Remove #include of stropts.h
10364         * s/ptx.h: Remove #include of stropts.h
10365         * s/usg5-4.h: Remove #include of stropts.h
10366         * sysproc.h:
10367         * config.h.in:
10368         Use stropts.h, not sys/stropts.h.
10369         Use strtio.h, not sys/strtio.h.
10370
10371 2000-10-04  Martin Buchholz <martin@xemacs.org>
10372
10373         * XEmacs 21.2.36 is released.
10374
10375 2000-09-21  Andy Piper  <andy@xemacs.org>
10376
10377         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10378         changes still involve copying the widget tree.
10379         (update_widget_face): make sure a change is register in the widget
10380         tree. Call update_tab_widget_face appropriately.
10381         (update_tab_widget_face): ditto.
10382         (x_tab_control_redisplay): make sure non-structural changes still
10383         involve copying the widget tree.
10384
10385 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10386
10387         * lread.c (locate_file): Check the path element is non-nil.
10388
10389 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10390
10391         * lisp.h: Warning suppression for SCO compilers.
10392
10393         * redisplay-tty.c (reset_tty_modes): Fix crash.
10394         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10395
10396 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10397
10398         Big signal/process handling overhaul.  Bugs fixed:
10399         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10400         M-x comint-kill-subjob should work for both values nil and t of
10401         process-connection-type. It was broken on most platforms.
10402         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10403         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10404         * process-unix.c: Signal/Process handling overhaul.
10405         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10406         (allocate_pty): Use all available modern methods of allocating
10407         ptys, falling back to old style BSD allocation as a last resort.
10408         Use allegedly more secure Unix98 pty allocation by default.
10409         (allocate_pty_the_old_fashioned_way): New. the last resort.
10410         (unix_create_process): Push ptem, ldterm, ttcompat where
10411         available.  Autoconfiscate.
10412         (try_to_initialize_subtty): New.
10413         (unix_kill_child_process): Proper signal handling for ptys on most
10414         platforms, using special knowledge of AIX, BSD, etc...
10415         (unix_create_process): Always disconnect_controlling_terminal() for
10416         subprocesses, whether using ptys or not.
10417         * process.h: Remove old getpt-dependent PTY code.
10418         * process.c (Fprocess_send_signal): New, obvious generic function.
10419         (decode_signal): New.
10420         (Finterrupt_process):
10421         (Fkill_process):
10422         (Fquit_process):
10423         (Fstop_process):
10424         (Fcontinue_process):
10425         (Fsignal_process): Use decode_signal.
10426         (process_send_signal):
10427         Many docstring corrections.
10428         Allow any signal to be sent to a process object.
10429         * config.h.in: Add symbols for big signal/process overhaul.
10430         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10431         * sysproc.h: Include process-related headers, where available:
10432         sys/stropts.h sys/strtio.h pty.h libutil.h
10433         * s/irix4-0.h:
10434         * s/irix5-0.h:
10435         * s/cygwin32.h:
10436         * s/gnu.h:
10437         * s/linux.h:
10438         * s/hpux.h:
10439         * s/aix3-1.h:
10440         Remove old S&M pty stuff.
10441         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10442         * systty.h: Simplify cpp hackery, improve comments.
10443         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10444
10445         * editfns.c (Fformat_time_string):
10446         Be a little more paranoid with the return value of ctime.
10447
10448         * fileio.c (check_executable):
10449         (check_writable):
10450         Use symbolic constants X_OK, W_OK.
10451
10452         * console-x.c (split_up_display_spec): Fix a warning.
10453
10454 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10455
10456         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10457         * ntproc.c (sys_spawnve): make_string ==> build_string
10458         Small clarity improvements.
10459
10460 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10461
10462         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10463
10464         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10465
10466         * config.h.in (HAVE_STRCASECMP): Remove.
10467
10468 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10469
10470         * redisplay-output.c (redisplay_output_pixmap):
10471         Cleaner and possibly more 64-bit correct code.
10472
10473 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10474
10475         * dumper.c (pdump_load_finish): move restoration of
10476         `noninteractive1' to emacs.c (main_1).
10477         * emacs.c (main_1): protect LISP-visible command-line flags
10478         from pdump_load().
10479
10480 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10481
10482         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10483         DUMP_TARGET instead of literal program names.
10484
10485 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10486
10487         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10488
10489 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10490
10491         * *: Spelling mega-patch
10492
10493 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10494
10495         * fns.c (bad_bad_turtle):
10496         Delete "Eek!" comment, since we fixed the bug to which it refers.
10497
10498 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10499
10500         * alloca.c: Replace REGISTER with register.
10501
10502 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10503
10504         * file-coding.c (ucs_to_char): Use countof.
10505
10506 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10507
10508         * file-coding.c: (ucs_to_char):
10509         (complex_vars_of_file_coding):
10510         Use countof instead of sizeof.
10511         Use CHECK_NATNUM instead of CHECK_INT.
10512
10513         * sysdep.c (strcasecmp): Remove.
10514         * device-x.c (ascii_strcasecmp): New.
10515         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10516         Avoid using non-standard non-portable strcasecmp.
10517
10518 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10519
10520         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10521         * font-lock.c: remove reference to emacsfns.h.
10522         * search.c: small doc improvement.
10523         * event-Xt.c: correct file names in comments.
10524         * console-x.h Correct file names in comments.
10525         * frame.c: Correct file names in comments.
10526         * event-stream.c: remove Energize from comments.
10527
10528 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10529
10530         * symeval.h (DEFERROR_STANDARD):
10531         (DEFERROR):
10532         (DEFSYMBOL):
10533         (DEFSYMBOL_NO_DUMP):
10534         (DEFSYMBOL_MULTIWORD_PREDICATE):
10535         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10536         (DEFKEYWORD):
10537         The construct &##name is not sensible C.
10538         Fixes compilation errors with Unixware native compiler.
10539
10540 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10541
10542         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10543         (next_frame_internal): Removed.  We now just have next_frame.
10544         (next_frame):
10545         Write a simpler and cleaner one-pass algorithm.
10546         Remove called_from_delete_device arg and #ifdefed-out code.
10547         (previous_frame):
10548         Renamed from prev_frame.  Update callers.
10549         Cleaned up to have an analogous implementation to next_frame.
10550         (other_visible_frames_internal): Remove the
10551         called_from_delete_device bogus arg, and hence, remove this
10552         function.  Just use other_visible_frames().
10553
10554         * window.c (Fnext_window):
10555         Prettify docstring.
10556         Since next_frame() is guaranteed to return a frame, remove check
10557         for nil inserted in previous patch.
10558         (Fprevious_window):
10559         Prettify docstring.
10560         Make code look more like Fnext_window.
10561         (window_loop):
10562         Respect the `console' arg when iterating through windows.
10563         Fixes bug: (get-buffer-window buffer t device) not respecting
10564         the `device' arg.
10565         This function needs more work, as others have pointed out.
10566
10567         * frame.h: Rename prev_frame to previous_frame.
10568         device_matches_console_spec no longer takes a `frame' arg.
10569
10570         * s/gnu.h:
10571         * s/linux.h:
10572         * s/hpux.h:
10573         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10574         From "Golubev I. N." <gin@mo.msk.ru>.
10575
10576         * make-src-depend: Fix typo.
10577
10578 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10579
10580         * window.c (Fnext_window):
10581         next_frame() might return nil, not a frame.
10582         Fixes this crash:
10583         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10584
10585         * frame.c (next_frame_internal):
10586         We've passed a frame if we've passed its device.
10587         Fixes this crash:
10588         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10589 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10590
10591 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10592
10593         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10594         Allow option to suppress accelerators in menu/dialog items.
10595         (populate_or_checksum_helper): Pass dialog title through above.
10596
10597 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10598
10599         * event-msw.c (mswindows_key_to_emacs_keysym):
10600         Add "pause" key, fix "menu" key.
10601
10602 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10603
10604         * eval.c (reinit_vars_of_eval):
10605         Increase max_lisp_eval_depth to 1000,
10606         required for thai-xtis.el to byte-compile under some circumstances.
10607
10608 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10609
10610         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10611         From Kenichi Handa.
10612
10613 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10614
10615         * make-src-depend: Make the generated Makefiles smaller.
10616
10617         * s/hpux.h (SETUP_SLAVE_PTY):
10618         Provide a %d in the format string for the errno argument.
10619
10620         * editfns.c (Ftemp_directory):
10621         Warning fix.
10622         Avoid buffer overrun on very long file name.
10623
10624         * input-method-xlib.c (XIM_init_device):
10625         6th parameter of XRegisterIMInstantiateCallback has different
10626         pointer types on different OSes, so simply cast to (void *).
10627
10628         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10629
10630         * sysdll.c (dll_open):
10631         shl_load will hang hard if passed a NULL filename.
10632         Simply return NULL for compatibility with dlopen.
10633         * sysdll.c: Conform to XEmacs coding standards.
10634
10635         * sysdep.c (get_pty_max_bytes):
10636         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10637
10638 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10639
10640         * tooltalk.c: Add #include <syssignal.h>
10641
10642 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10643
10644         * s/hpux.h: Don't use undefined function sigunblock().
10645
10646 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10647
10648         * config.h.in: Add HAVE_BALLOON_HELP.
10649         * emacs.c: Use HAVE_BALLOON_HELP.
10650         * Makefile.in.in (x_objs):
10651         Make Balloon Help conditional on finding shape.h.
10652
10653 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10654
10655         * syntax.c (regex_emacs_buffer_p): New variable.
10656         * syntax.h (regex_emacs_buffer_p): extern.
10657         * search.c (looking_at_1):
10658         (string_match_1):
10659         (fast_string_match):
10660         (search_buffer): Set regex_emacs_buffer_p.
10661         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10662         when before_dot, at_dot, after_dot.
10663
10664 2000-08-23  Andy Piper  <andy@xemacs.org>
10665
10666         * gui-x.c (popup_selection_callback): Only set action_occurred
10667         when we really have an image instance.
10668         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10669
10670 2000-08-23  Andy Piper  <andy@xemacs.org>
10671
10672         * gui-msw.c (mswindows_handle_gui_wm_command): set
10673         action_occurred.
10674         * gui-x.c (popup_selection_callback): ditto.
10675
10676         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10677         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10678         (struct Lisp_Image_Instance): add action_occurred flag.
10679
10680         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10681         (image_instance_changed): ditto.
10682         (reset_frame_subwindow_instance_cache): only unmap windows - do
10683         not remove them from the cache also.
10684
10685         * glyphs-widget.c (tab_control_update): better debug.
10686         (progress_gauge_update): ditto.
10687         (layout_update): ditto.
10688         (layout_instantiate): ditto.
10689         (tab_control_order_only_changed): cope with null pending items.
10690
10691         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10692         debug. Force selection of an item when an action occurred. Cope
10693         with null pending_items.
10694         (mswindows_progress_gauge_redisplay): better debug.
10695         * glyphs-x.c (x_tab_control_redisplay): ditto.
10696
10697         * redisplay.c (redisplay_frame): reset the frame cache if the
10698         frame is garbaged.
10699
10700         * window.c (Fset_window_configuration): potentially re-enable
10701         frame cache reset.
10702         (window_unmap_subwindows): need to finalize instances here since
10703         it is only used in mark_window_as_deleted.
10704
10705 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10706
10707         * nas.c (SndOpenDataForReading):
10708         nas.c (WaveOpenDataForReading):
10709         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10710         Somehow escaped from the 2000-08-14 patch.
10711
10712 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10713
10714         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10715         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10716
10717 2000-08-21  Andy Piper  <andy@xemacs.org>
10718
10719         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10720         window if it is not already displayed.
10721
10722         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10723         it is not already displayed.
10724
10725         * window.c (Fset_window_configuration): don't reset the frame
10726         cache.
10727
10728         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10729         instances from the frame cache if we are actually finalizing them.
10730         (reset_frame_subwindow_instance_cache): reset frame cache only
10731         after unmapping everything.
10732         (map_subwindow): set displayed flag after mapping.
10733
10734 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10735
10736         * data.c (indirect_function):
10737         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10738
10739         * eval.c (function_argcount):
10740         Use original function when signaling errors.
10741
10742 2000-08-18  Andy Piper  <andy@xemacs.org>
10743
10744         * frame.c (delete_frame_internal): use new
10745         free_frame_subwindow_instances name.
10746
10747         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10748         (add_tab_item): make return type correct.
10749         (mswindows_tab_control_instantiate): assert index of tab.
10750         (mswindows_tab_control_redisplay): Re-code to use
10751         gui_item_equal_sans_selected and gui_item_list_find_selected.
10752
10753         * glyphs-widget.c (tab_control_update): Correct comment.
10754
10755         * window.c (window_unmap_subwindows): use new
10756         unmap_subwindow_instance_cache_mapper.
10757         (window_unmap_subwindows_cache_mapper): deleted.
10758         (Fset_window_configuration): comparisons should now be with
10759         EQ. Preserve the subwindow instance cache across configuration
10760         changes.
10761         (allocate_window): ditto.
10762         (make_dummy_parent): ditto.
10763
10764         * glyphs.c (free_frame_subwindow_instances): rename from
10765         free_frame_subwindow_instance_cache. finalize all instances rather
10766         than just those in the display cache.
10767         (finalize_all_subwindow_instances): walk windows unmapping and
10768         finalizing subwindows.
10769         (unmap_subwindow_instance_cache_mapper): moved from
10770         window.c. Allow finalization as well as unmapping.
10771
10772         * gui.c (gui_item_list_find_selected): new function.
10773
10774         * gui.h (gui_item_list_find_selected): declare.
10775
10776         * glyphs-x.c (x_tab_control_redisplay): pick tab
10777         explicitly. Re-code to use gui_item_equal_sans_selected and
10778         gui_item_list_find_selected.
10779
10780         * glyphs-x.h: add lwlib-utils.h
10781
10782         * buffer.c (Frecord_buffer): undo previous change.
10783
10784 2000-08-09  Vin Shelton  <acs@xemacs.org>
10785
10786         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10787         possible.  Create temporary files more securely.  The patch was
10788         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10789         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10790         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10791         for details.
10792
10793 2000-08-07  Ben Wing  <ben@xemacs.org>
10794
10795         * getloadavg.c: remove duplicate (and windows-breaking)
10796         includes of fcntl.h and sys/file.h.
10797
10798         * nt.c: remove duplicate getloadavg() definition.
10799
10800         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10801         encodings.
10802
10803 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10804
10805         * eval.c (function_argcount): If function needs to be autoloaded
10806         actually use the loaded definition.
10807         GCPRO function.
10808
10809 2000-08-05  Ben Wing  <ben@xemacs.org>
10810
10811         * getloadavg.c: add prototype for getloadavg().  remove
10812         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10813         of the code).  remove duplicate header includes.
10814
10815         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10816
10817         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10818         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10819         useful load average.
10820
10821         * alloc.c (reinit_alloc_once_early): removed references to
10822         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10823         the lisp vars are the only things referencing the malloc_sbrk_*
10824         vars, and they were already if 0'd out.  these vars only exist
10825         in the older malloc.c, which is basically unused, and they're
10826         only for informational purposes.
10827
10828         * m\*.h: removed useless VIRT_ADDR_VARIES.
10829
10830         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10831
10832 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10833
10834         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10835         color if the image is a mono pixmap.
10836
10837 2000-07-30  Ben Wing  <ben@xemacs.org>
10838
10839         * Makefile.in.in (release):
10840         Remove stray @.
10841
10842         * buffer.c (directory_is_current_directory):
10843         * dired-msw.c (mswindows_get_files):
10844         * dired.c:
10845         * dired.c (Fdirectory_files):
10846         * dired.c (file_name_completion_stat):
10847         * dired.c (Ffile_attributes):
10848         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10849         preprocessor tricks, to avoid problems on some machines
10850         (e.g. SCO).
10851
10852         * callproc.c (egetenv): GC docs.
10853
10854         * console-msw.h:
10855         * console-msw.h (struct mswindows_dialog_id):
10856         * lrecord.h (lrecord_type):
10857         New object for use with MSW dialogs.
10858
10859         * console.h (struct console_methods):
10860         New enable/disable frame methods, for proper modal dialogs.
10861
10862         * device-msw.c (msprinter_default_printer): Fix to follow
10863         proper Mule conventions.
10864
10865         * device-msw.c:
10866         * device-msw.c (signal_open_printer_error):
10867         * device-msw.c (msprinter_init_device):
10868         * device-msw.c (ensure_not_printing):
10869         * device-msw.c (plist_get_margin):
10870         * device-msw.c (Fmsprinter_select_settings):
10871         * device-msw.c (finalize_devmode):
10872         * device-msw.c (Fmsprinter_settings_despecialize):
10873         * device-msw.c (signal_enum_priner_error):
10874         * extents.c (decode_extent):
10875         * extents.c (decode_map_extents_flags):
10876         * extents.c (decode_extent_at_flag):
10877         * extents.c (Fextent_at):
10878         * extents.c (Fextents_at):
10879         * extents.c (symbol_to_glyph_layout):
10880         [[[[2]]]] Use structured errors.
10881
10882         * dialog-msw.c:
10883         * dialog-msw.c (mswindows_is_dialog_msg):
10884         * dialog-msw.c (mark_mswindows_dialog_id):
10885         * dialog-msw.c (dialog_proc):
10886         * dialog-msw.c (handle_question_dialog_box):
10887         * dialog-msw.c (syms_of_dialog_mswindows):
10888         Define new object to clean up marking; use it as a dialog identifier.
10889         Call new delete-dialog-box-hook.
10890
10891         * dialog-x.c (dbox_selection_callback):
10892         * dialog-x.c (dbox_descriptor_to_widget_value):
10893         * dialog-x.c (x_make_dialog_box_internal):
10894         Call new delete-dialog-box-hook.
10895         Return an id.
10896
10897         * dialog.c:
10898         * dialog.c (syms_of_dialog):
10899         * dialog.c (vars_of_dialog):
10900         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10901
10902         * eval.c:
10903         * eval.c (signal_call_debugger):
10904         when noninteractive, output stack traces on the console instead
10905         of in a (never-seen) buffer.
10906
10907         * eval.c (signal_type_error):
10908         * eval.c (invalid_argument_2):
10909         * lisp.h:
10910         new funs for use w/structured errors.
10911
10912         * event-Xt.c:
10913         * event-Xt.c (x_to_emacs_keysym):
10914         * event-Xt.c (describe_event):
10915         * event-Xt.c (emacs_Xt_event_handler):
10916         * event-Xt.c (vars_of_event_Xt):
10917         * event-msw.c:
10918         * event-msw.c (mswindows_wnd_proc):
10919         * event-msw.c (vars_of_event_mswindows):
10920         rename {x,mswindows}-debug-events to debug-{}-events for
10921         consistency with other debug-foo variables.
10922
10923         * event-stream.c:
10924         document next-event more clearly.
10925
10926         * fileio.c (Ffile_name_directory):
10927         * fileio.c (Ffile_name_nondirectory):
10928         * fileio.c (Funhandled_file_name_directory):
10929         * fileio.c (file_name_as_directory):
10930         * fileio.c (Ffile_name_as_directory):
10931         * fileio.c (directory_file_name):
10932         * fileio.c (Fdirectory_file_name):
10933         * fileio.c (Fmake_temp_name):
10934         * fileio.c (Ffile_truename):
10935         * fileio.c (Fsubstitute_in_file_name):
10936         * fileio.c (expand_and_dir_to_file):
10937         * fileio.c (barf_or_query_if_file_exists):
10938         * fileio.c (check_executable):
10939         * fileio.c (Ffile_exists_p):
10940         * fileio.c (Ffile_writable_p):
10941         * fileio.c (Ffile_directory_p):
10942         * fileio.c (Ffile_regular_p):
10943         * fileio.c (Ffile_modes):
10944         * fileio.c (Ffile_newer_than_file_p):
10945         * fileio.c (Fverify_visited_file_modtime):
10946         * fileio.c (Fset_visited_file_modtime):
10947         * fileio.c (auto_save_1):
10948         (1). (2).
10949         fix up gcpro's.
10950
10951         * frame-msw.c:
10952         * frame-msw.c (mswindows_init_frame_1):
10953         * frame-msw.c (mswindows_enable_frame):
10954         * frame-msw.c (error_frame_unsizable):
10955         * frame-msw.c (msprinter_init_frame_1):
10956         * frame-msw.c (msprinter_init_frame_3):
10957         * frame-msw.c (console_type_create_frame_mswindows):
10958         (2).
10959         implement new enable/disable frame methods.
10960
10961         * frame-x.c:
10962         * frame-x.c (x_enable_frame):
10963         * frame-x.c (console_type_create_frame_x):
10964         implement new enable/disable frame methods.
10965
10966         * frame.c:
10967         * frame.c (Fdisable_frame):
10968         * frame.c (syms_of_frame):
10969         * frame.h (struct frame):
10970         implement new enable/disable frame methods/functions.
10971
10972         * general-slots.h:
10973         add initial-focus.
10974
10975         * glyphs-msw.c (mswindows_widget_instantiate):
10976         comment that initial-focus should be implemented.
10977
10978         * glyphs-widget.c:
10979         * glyphs-widget.c (check_valid_instantiator):
10980         * glyphs-widget.c (check_valid_orientation):
10981         * glyphs-widget.c (check_valid_tab_orientation):
10982         * glyphs-widget.c (check_valid_justification):
10983         * glyphs-widget.c (check_valid_border):
10984         * glyphs-widget.c (check_valid_callback):
10985         * glyphs-widget.c (check_valid_int_or_function):
10986         * glyphs-widget.c (check_valid_string_or_vector):
10987         * glyphs-widget.c (check_valid_item_list_1):
10988         * glyphs-widget.c (widget_validate):
10989         * glyphs-widget.c (combo_box_validate):
10990         * glyphs-widget.c (widget_instantiate):
10991         * glyphs-widget.c (syms_of_glyphs_widget):
10992         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10993         * glyphs-widget.c (image_instantiator_combo_box):
10994         * glyphs-widget.c (image_instantiator_scrollbar):
10995         * glyphs-widget.c (image_instantiator_tab_control):
10996         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10997         (2).
10998         support (unimplemented) keyword initial-focus.
10999         reindent long macros.
11000
11001         * glyphs-x.c (x_redisplay_widget):
11002         * glyphs-x.c (x_button_instantiate):
11003         * glyphs-x.c (x_button_redisplay):
11004         * glyphs-x.c (x_progress_gauge_instantiate):
11005         * glyphs-x.c (x_edit_field_instantiate):
11006         * glyphs-x.c (x_combo_box_instantiate):
11007         * glyphs-x.c (x_tab_control_instantiate):
11008         * glyphs-x.c (x_label_instantiate):
11009         * gui-x.c:
11010         * gui-x.c (button_item_to_widget_value):
11011         * gui-x.c (gui_items_to_widget_values_1):
11012         * gui-x.c (gui_item_children_to_widget_values):
11013         * gui-x.c (gui_items_to_widget_values):
11014         * gui-x.h:
11015         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11016         add new flag to gui-parsing routines to indicate whether
11017         accelerator specs should be supported.
11018
11019         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11020
11021         * glyphs.h (struct Lisp_Image_Instance):
11022         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11023         add initial-focus flag.
11024
11025         * gui.c:
11026         * gui.c (syms_of_gui):
11027         * gui.c (vars_of_gui):
11028         clean up menu-no-selection-hook.
11029
11030         * gui.h:
11031         support delete-dialog-box-hook.
11032
11033         * lread.c (Fload_internal):
11034         * lread.c (locate_file_in_directory_mapper):
11035         (1).
11036
11037         * lrecord.h:
11038         * lrecord.h (struct toolbar_button):
11039         * lrecord.h (syms_of_toolbar):
11040         document how to create a new object.
11041
11042         * menubar-msw.c (mswindows_char_is_accelerator):
11043         may be called on frames w/o menus.
11044
11045         * menubar.c (vars_of_menubar):
11046         clean up :filter docs.
11047
11048         * nt.c (readdir):
11049         * ntproc.c:
11050         (1).
11051
11052         * process-nt.c:
11053         * process-nt.c (validate_signal_number):
11054         * process-nt.c (signal_cannot_launch):
11055         * process-nt.c (nt_create_process):
11056         * process-nt.c (nt_send_process):
11057         * process-nt.c (nt_kill_child_process):
11058         * process-nt.c (nt_open_network_stream):
11059         * process-nt.c (syms_of_process_nt):
11060         (2).
11061         delete quote-handling.  call new lisp code that does it better.
11062
11063         * process-unix.c (connect_to_file_descriptor):
11064         * process-unix.c (allocate_pty):
11065         * process-unix.c (unix_send_process):
11066         * process-unix.c (unix_kill_child_process):
11067         * process-unix.c (unix_open_network_stream):
11068         * process-unix.c (unix_open_multicast_group):
11069         (1). (2).
11070
11071         * process.c:
11072         * process.c (Fstart_process_internal):
11073         (2).  need to canonicalize process path even if absolute.
11074
11075         * select-msw.c (symbol_to_ms_cf):
11076         * select-msw.c (ms_cf_to_symbol):
11077         * select-msw.c (cf_is_autofreed):
11078         * select-msw.c (mswindows_destroy_selection):
11079         * select.c:
11080         * select.c (syms_of_select):
11081         * select.h:
11082         support dibv5, fix bugs. (from Mike Alexander)
11083
11084         * select.c (Fget_selection_internal):
11085         * select.c (select_convert_out):
11086
11087         * sysdep.c:
11088         * sysdep.c (xemacs_stat):
11089         renamed.
11090
11091         * sysdep.c (mkdir):
11092         * sysdep.c (rmdir):
11093         but keep original stat() here because we provide encapsulation
11094         around these funs.
11095
11096         * sysfile.h:
11097         * sysfile.h (fstat):
11098         remove stat garbage.
11099
11100         * syswindows.h:
11101         fix X/MSW conflict.
11102         don't include tchar.h.  it's inappropriate because it makes
11103         compile-time distinctions when we want runtime distinctions.
11104         (we provide our own tchar replacements)
11105
11106         * toolbar.c:
11107         use default object printer for toolbar-button.
11108
11109         * unexcw.c:
11110         make sure we don't encapsulate.
11111
11112         * window.c (vars_of_window):
11113         emphasize that temp-buffer-show-hook is obsolete.
11114
11115 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11116
11117         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11118         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11119
11120         * events.c (Fevent_timestamp_lessp):
11121         Not 64-bit clean.  Use EMACS_INT, not int.
11122
11123 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11124
11125         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11126         unsigned int and changed the last enum to
11127         lrecord_type_last_built_in_type.
11128         (lrecord_implementations_table): changed prototype to know how
11129         long the array is supposed to be.
11130         (lrecord_type_count): new unsigned int to keep track of the
11131         current number of lisp lrecord types.
11132         (DEFINE_EXTERNAL_LRECORD):
11133         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11134         dynamic-modules to declare new lisp types. They are the same
11135         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11136         int for each new type, and increment lrecord_type_count by 1.
11137
11138         * alloc.c (lrecord_implementations_table): Changed to reference
11139         lrecord_type_last_built_in_type for the size of the array.
11140         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11141
11142 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11143
11144         * glyphs.h (check_valid_item_list): Renamed from
11145         check_valid_item_list_1.
11146
11147 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11148
11149         * select.c (Qselect_coerce): New.
11150         * select.c (Vselection_coercion_alist): New.
11151         * select.c (syms_of_select): Declare.
11152         * select.c (get-selection-internal): Use it.
11153         Use the new select-coerce functionality.
11154
11155         * select.c (select_coerce): New.
11156         * select.h (select_coerce): Declare.
11157         New function to coerce one type of data into another.
11158
11159 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11160
11161         * callproc.c (Fcall_process_internal):
11162         (Fcall_process_internal):
11163         * process-unix.c (unix_create_process):
11164         Save and restore the value of errno, so that error messages are accurate.
11165
11166 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11167
11168         * elhash.c (print_hash_table):
11169         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11170         Prettify docstrings and indentation.
11171
11172 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11173
11174         * window.c (Fwindow_pixel_edges): Subtract frame border and
11175         gutter size.
11176
11177 2000-07-31  Andy Piper  <andy@xemacs.org>
11178
11179         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11180         will acknowledge the change.
11181
11182         * glyphs.h: declare tab_control_order_only_changed.
11183
11184         * glyphs-x.c (x_tab_control_redisplay): use
11185         tab_control_order_only_changed.
11186
11187         * glyphs-widget.c (tab_control_order_only_changed): new function.
11188
11189         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11190         tab_control_order_only_changed.
11191
11192         * gui.c (gui_item_equal_sans_selected): new function.
11193         (gui_item_equal): use it.
11194
11195         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11196         :properties in favor of :items..
11197
11198         * glyphs-widget.c (check_valid_item_list): rename from
11199         check_valid_item_list_1.
11200         (check_valid_item_list_1): renamed.
11201         (combo_box_validate): deprecate :properties in favor of :items.
11202         (widget_instantiate): ditto.
11203         (tab_control_update): ditto.
11204         (image_instantiator_combo_box): ditto.
11205         (image_instantiator_tree_view): ditto.
11206         (image_instantiator_tab_control): ditto.
11207         (layout_post_instantiate): remove dead code.
11208
11209         * print.c (debug_print_no_newline): only write to debugger if in
11210         WIN32_NATIVE.
11211
11212         * elhash.c (Fmake_hash_table): update doc string.
11213
11214         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11215         messages whilst in GC. This at least stops XEmacs crashing but has
11216         the potential for wierd behaviour.
11217
11218 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11219
11220         * config.h.in:
11221         Make existence of s&m files optional.
11222
11223         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11224         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11225         * s/gnu.h: Remove HAVE_GETLOADAVG.
11226         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11227         * s/sol2.h: Remove HAVE_GETLOADAVG.
11228         * lisp.h: Remove getloadavg() declaration.
11229         * fns.c:
11230         Include <sys/loadavg.h> if available.
11231         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11232         * config.h.in:  Group together getloadavg()-related macros.
11233         Use only configure-time tests to detect getloadavg().
11234
11235 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11236
11237         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11238
11239 2000-07-25  Andy Piper  <andy@xemacs.org>
11240
11241         * syswindows.h: add tchar.h for native builds.
11242
11243         * frame.c (syms_of_frame): remove set-glyph-image.
11244
11245         * general-slots.h: add Qset_glyph_image.
11246
11247         * glyphs-widget.c (layout_update): add domain arg to
11248         set-glyph-image.
11249         (syms_of_glyphs_widget): remove set-glyph-image.
11250
11251 2000-07-23  Ben Wing  <ben@xemacs.org>
11252
11253         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11254         Vpopup_frame_list.
11255
11256 2000-07-22  Andy Piper  <andy@xemacs.org>
11257
11258         * symsinit.h: add syms_of_win32().
11259
11260         * gui-msw.c (syms_of_gui_mswindows): remove
11261         Fmswindows_shell_execute.
11262         (Fmswindows_shell_execute): moved to win32.c.
11263
11264         * emacs.c (main_1): add syms_of_win32 ().
11265
11266         * win32.c (init_potentially_nonexistent_functions): rewrite in
11267         compiler-friendly terms.
11268         (Fmswindows_shell_execute): move here from gui-msw.c.
11269         (syms_of_win32): new.
11270
11271         * device-msw.c (Fmswindows_printer_list): clean up args to
11272         EnumPrinters.
11273         Don't include tchar under cygwin or mingw.
11274         (msprinter_default_printer): make cygwin-friendly.
11275
11276 2000-07-21  Andy Piper  <andy@xemacs.org>
11277
11278         * glyphs-widget.c (image_instantiator_tree_view): use tab
11279         control's update function.
11280         (layout_property): new function. Retrieve items.
11281
11282         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11283         function. Re-populate the tree view from the pending items.
11284
11285         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11286         is designated the parent if the domain is an image instance. This
11287         is needed so that dirtiness can be cascade up the hierarchy and
11288         thus for layout children to be redisplayed correctly.
11289         (allocate_image_instance): rename glyph -> parent.
11290
11291         * redisplay.h: change redisplay_output_layout signature.
11292
11293         * redisplay-msw.c (mswindows_output_display_block): use domain
11294         arg.
11295
11296         * redisplay-x.c (x_output_display_block): use domain arg.
11297
11298 2000-07-10  Andy Piper  <andy@xemacs.org>
11299
11300         * window.c (Fset_window_configuration): add comment.
11301
11302         * redisplay-output.c (compare_runes):
11303         (redisplay_output_subwindow): redisplay rather than update subwindow.
11304         (redisplay_output_layout): ditto.
11305
11306         * redisplay-msw.c (mswindows_frame_output_end):
11307         (mswindows_frame_output_end): make defer window pos optional.
11308
11309         * lisp.h: add Flast.
11310
11311         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11312         normalize method. Change update method to be for changed
11313         instantiators. Add redisplay method. Change signature of layout
11314         method.
11315         (struct Lisp_Image_Instance): add instantiator.
11316         (IMAGE_INSTANCE_INSTANTIATOR): new.
11317         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11318         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11319         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11320
11321         * glyphs.c:
11322         (find_instantiator_differences): new function.
11323         (Fset_instantiator_property): new convenience function.
11324         (check_image_instance_structure): strictly check for vector
11325         instantiators.
11326         (normalize_image_instantiator): make non-static.
11327         (instantiate_image_instantiator): pass on dest_mask and use new
11328         signatures for image_instance_layout and friends.
11329         (mark_image_instance): mark the instantiator. Mark the subwindow
11330         face not the widget face.
11331         (image_instance_equal): add instantiator.
11332         (image_instance_hash): ditto.
11333         (allocate_image_instance): ditto.
11334         (Fset_image_instance_property): removed.
11335         (Fimage_instance_file_name): ditto.
11336         (Fcolorize_image_instance): ditto.
11337         (image_instance_layout): add offsets to be set.
11338         (update_image_instance): new function. update an image instance
11339         from its changed instantiator.
11340         (inherit_normalize): add dest_mask.
11341         (xbm_normalize): ditto.
11342         (xface_normalize): ditto.
11343         (xpm_normalize): ditto.
11344         (text_update): set_property -> update.
11345         (image_instantiate): use the glyph identity as a hash key, not the
11346         instantiator.
11347         (glyph_width): use new image_instance_layout signature.
11348         (glyph_ascent): ditto.
11349         (glyph_descent): ditto.
11350         (glyph_height): ditto.
11351         (glyph_query_geometry): ressurrect.
11352         (glyph_layout): ditto.
11353         (redisplay_subwindow): update -> redisplay.
11354         (syms_of_glyphs): add Fset_instantiator_property.
11355         (image_instantiator_format_create): set_property -> update.
11356
11357         * glyphs-x.c:
11358         (autodetect_normalize): add dest_maks to signature.
11359         (x_redisplay_subwindow): update -> redisplay.
11360         (x_redisplay_widget): ditto.
11361         (x_button_redisplay): ditto.
11362         (x_progress_gauge_redisplay): ditto.
11363         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11364         stacking order.
11365         (console_type_create_glyphs_x): update -> redisplay.
11366         (image_instantiator_format_create_glyphs_x): ditto.
11367
11368         * glyphs-widget.c:
11369         (check_valid_instantiator): disallow glyphs in the instantiator,
11370         they must now be vectors.
11371         (check_valid_instantiator_list): ditto.
11372         (glyph_instantiator_to_glyph): use internal symbol rather than
11373         intern.
11374         (widget_update): renamed from widget_set_property. Call cascaded
11375         update methods.
11376         (redisplay_widget): renamed from update_widget.
11377         (widget_layout): image_instance_layout now takes position as well
11378         as size.
11379         (widget_normalize): ditto.
11380         (widget_instantiate): ditto.
11381         (tab_control_query_geometry) ditto.:
11382         (tab_control_update): renamed from tab_control_set_property.
11383         (progress_gauge_update): set_property -> update.
11384         (layout_normalize): rewrite so that child instantiators are
11385         normalized also.
11386         (layout_update): new function. Create glyphs from the normalized
11387         children and cope with any other layout keywords. We do not
11388         instantiate children here that will be take care of by
11389         redisplay_output_layout.
11390         (layout_instantiate): call layout_update and not much else.
11391         (layout_post_instantiate): not sure whether this is needed
11392         anymore.
11393         (layout_query_geometry): query glyph geometry rather than
11394         image_instance geometry.
11395         (layout_layout): set offsets from pass in parameters. Use glyph
11396         geometry and layout functions rather than image instance ones.
11397         (native_layout_layout): ditto.
11398         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11399         (image_instantiator_widget): set_property -> update.
11400         (image_instantiator_buttons): ditto.
11401         (image_instantiator_progress_guage): ditto.
11402         (image_instantiator_tab_control): ditto.
11403         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11404         (image_instantiator_layout): add update method.
11405
11406         * glyphs-msw.c (bmp_normalize):
11407         (mswindows_resource_normalize): add dest_mask so that it can be
11408         proprogated by layout_normalize.
11409         (begin_defer_window_pos): make optional because it may not be the
11410         right thing to do and it introduces differences with X.
11411         (mswindows_unmap_subwindow): ditto.
11412         (mswindows_map_subwindow): ditto.
11413         (mswindows_redisplay_subwindow): renamed from
11414         mswindows_update_subwindow.
11415         (mswindows_redisplay_widget): ditto.
11416         (mswindows_button_redisplay): renamed from
11417         mswindows_button_update. Update is now what the instantiation
11418         function does for a changed instantiator.
11419         (mswindows_progress_gauge_instantiate): set the progress value
11420         here if appropriate.
11421         (mswindows_tab_control_redisplay): cope with re-ordering of the
11422         members of the tab widget by simply selecting the new top
11423         widget. This makes things appear ok if you click on a tab.
11424         (mswindows_combo_box_instantiate): image_instance_layout now takes
11425         position as well as size.
11426         (mswindows_progress_gauge_redisplay): renamed from
11427         mswindows_progress_gauge_update.
11428         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11429         (image_instantiator_format_create_glyphs_mswindows): ditto.
11430
11431         * glyphs-eimage.c (jpeg_normalize):
11432         (gif_normalize):
11433         (png_normalize):
11434         (tiff_normalize): add dest_mask so that it can be proprogated by
11435         layout_normalize.
11436
11437         * elhash.c:
11438         (print_hash_table):
11439         (hash_table_weakness_validate):
11440         (decode_hash_table_weakness):
11441         (Fhash_table_weakness):
11442         (Fhash_table_type):
11443         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11444
11445         * console.h (struct console_methods): move update_* to
11446         redisplay_*.
11447
11448 2000-07-20  Ben Wing  <ben@xemacs.org>
11449
11450         * *.[ch] (XSETOBJ): remove unused middle argument.
11451         lisp-disunion.h: correct wrap_object() to one argument.
11452
11453 2000-07-15  Ben Wing  <ben@xemacs.org>
11454
11455         * s/cygwin32.h:
11456         * s/cygwin32.h (CYGWIN_CONV_PATH):
11457         Add missing logb prototype for v1.1.
11458         Use post-b20 names and alias to pre-b20 names when pre-b20.
11459
11460         * s/windowsnt.h: [5].
11461
11462 2000-07-15  Ben Wing  <ben@xemacs.org>
11463
11464         * Makefile.in.in (x_objs):
11465         * Makefile.in.in (sheap_objs):
11466         * Makefile.in.in (objs):
11467         added win32.o, cosmetic cleanups.
11468
11469         * alloc.c (Fmake_byte_code):
11470         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11471         etc. macros which declare their own args now.
11472
11473         * alloc.c (syms_of_alloc):
11474         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11475
11476         * buffer.c:
11477         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11478
11479         * buffer.c (Fget_file_buffer):
11480         Fixed GCPRO problem.
11481
11482         * buffer.c (get_truename_buffer):
11483         Fixed comment about GC checking.
11484
11485         * buffer.c (syms_of_buffer):
11486         Undeclared those dedicated frame funs.
11487         [2].
11488
11489         * buffer.h:
11490         Define convenience macros for internal/external conversions.
11491         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11492         and Qenvironment_variable_encoding for cleaner code.
11493
11494         * bufslots.h:
11495         Remove dedicated-frame; in lisp.
11496
11497         * bytecode.c (funcall_compiled_function):
11498         [1].
11499
11500         * bytecode.c (syms_of_bytecode):
11501         [2].
11502
11503         * console-msw.c:
11504         * console-msw.c (mswindows_show_console): Rewrote.
11505
11506         * console-msw.c (Fmswindows_debugging_output): New.
11507         Sends to OutputDebugString (special MSWin debugger interface).
11508
11509         * console-msw.c (Fmswindows_message_box):
11510         Fixed stupid bugs so it works when called from kill-emacs.
11511
11512         * console-msw.c (syms_of_console_mswindows):
11513         Declare Fmswindows_debugging_output.
11514
11515         * console-msw.h:
11516         New MSWin prototypes.
11517
11518         * console-msw.h (struct mswindows_frame):
11519         New entry last-click-mods for improved button-modifier support.
11520
11521         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11522         New struct entry `popup' with corresponding accessor.
11523
11524         * console-x.c:
11525         * console-x.c (split_up_display_spec):
11526         * console-x.c (get_display_arg_connection):
11527         * console-x.c (x_semi_canonicalize_console_connection):
11528         * console-x.c (x_canonicalize_device_connection):
11529         [[[6]]]: Change char to more specific type.
11530         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11531
11532         * console-x.c (x_semi_canonicalize_console_connection):
11533         * console-x.c (x_canonicalize_device_connection):
11534         [[[9]]]: Fix up error signalling to use new structured error system.
11535
11536         * console-x.h:
11537         [[[4]]]: Define codesys aliases:
11538         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11539         Qx_color_name_encoding, Qx_display_name_encoding.
11540
11541         * console.h (struct console_methods):
11542         New method make_dialog_box_internal supersedes older
11543         popup_dialog_box method.
11544
11545         * data.c:
11546         Define many new errors, part of new structured errors.
11547
11548         * data.c (init_errors_once_early):
11549         * data.c (syms_of_data):
11550         [2].
11551
11552         * device-msw.c (mswindows_init_device):
11553         [[[5]]]: Cleanup to support NT 3.51.
11554
11555         * device-msw.c (decode_devmode): Cleanup.
11556
11557         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11558         * device-msw.c (mswindows_handle_print_dialog_box):
11559         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11560         * device-msw.c (syms_of_device_mswindows):
11561         Delete the dialog box primitives recently introduced by Kirill and
11562         instead interface to general dialog box interface.
11563
11564         * device-x.c:
11565         * device-x.c (compute_x_app_name):
11566         * device-x.c (x_init_device):
11567         * device-x.c (Fx_valid_keysym_name_p):
11568         * device-x.c (Fx_set_font_path):
11569         [6].
11570         [7].
11571
11572         * device.h (wrap_device): New.
11573         First of its kind; meant to replace XSETDEVICE.
11574
11575         * dialog-msw.c: Many file-dialog symbols.
11576
11577         * dialog-msw.c (mswindows_register_popup_frame): New.
11578         * dialog-msw.c (mswindows_is_dialog_msg): New.
11579         For supporting kbd traversal in dialog boxes.
11580
11581         * dialog-msw.c (dialog_proc):
11582         Support hitting ESC in dialogs.
11583
11584         * dialog-msw.c (struct):
11585         Common dialog box errors.
11586
11587         * dialog-msw.c (handle_file_dialog_box): New.
11588         Add file dialog code.
11589
11590         * dialog-msw.c (handle_question_dialog_box):
11591         Redo existing code to support new question dialog syntax.
11592
11593         * dialog-msw.c (console_type_create_dialog_mswindows):
11594         We support new dialog console method.
11595
11596         * dialog-msw.c (syms_of_dialog_mswindows):
11597         * dialog-msw.c (vars_of_dialog_mswindows):
11598         New file dialog symbols, vars.
11599
11600         * dialog-x.c:
11601         * dialog-x.c (maybe_run_dbox_text_callback):
11602         * dialog-x.c (dbox_descriptor_to_widget_value):
11603         * dialog-x.c (x_make_dialog_box_internal):
11604         * dialog-x.c (console_type_create_dialog_x):
11605         Mule-ize entire file.
11606         Redo to support question dialog syntax.
11607         [6].
11608
11609         * dialog.c:
11610         * dialog.c (Fmake_dialog_box_internal):
11611         * dialog.c (syms_of_dialog):
11612         Kill old popup-dialog-box, replace with new primitive.
11613         Just call device method or signal error.
11614
11615         * eldap.c (Fldap_open):
11616         * eldap.c (Fldap_search_basic):
11617         * eldap.c (Fldap_add):
11618         * eldap.c (Fldap_modify):
11619         [1].
11620         [7].
11621
11622         * emacs.c:
11623         * emacs.c (make_arg_list_1):
11624         * emacs.c (make_arg_list):
11625         Mule-ize call to dll_init().
11626         [6].
11627         [8].
11628
11629         * emacs.c (make_argc_argv):
11630         * emacs.c (free_argc_argv):
11631         * emacs.c (init_cmdargs):
11632         * emacs.c (main_1):
11633         * emacs.c (Fkill_emacs):
11634         * emacs.c (Fdump_emacs):
11635         Update comments about what can be used in syms_* etc.
11636         Call init_win32() when necessary.
11637         Fix up MS Win dialog box in kill-buffer to actually work right.
11638         [7].
11639
11640         * eval.c:
11641         * eval.c (For):
11642         * eval.c (Fand):
11643         * eval.c (Fprogn):
11644         * eval.c (Fprog1):
11645         * eval.c (Fprog2):
11646         * eval.c (FletX):
11647         * eval.c (Flet):
11648         * eval.c (condition_case_3):
11649         * eval.c (Feval):
11650         * eval.c (function_argcount):
11651         * eval.c (funcall_lambda):
11652         [1].
11653
11654         * eval.c (type_error): New.
11655         * eval.c (maybe_type_error): New.
11656         * eval.c (continuable_type_error): New.
11657         * eval.c (maybe_continuable_type_error): New.
11658         * eval.c (type_error_with_frob): New.
11659         * eval.c (maybe_type_error_with_frob): New.
11660         * eval.c (continuable_type_error_with_frob): New.
11661         * eval.c (maybe_continuable_type_error_with_frob): New.
11662         New functions for use with structured errors.
11663
11664         * event-Xt.c:
11665         * event-Xt.c (x_event_to_emacs_event):
11666         Buttons are now modifiers too.
11667
11668         * event-Xt.c (emacs_Xt_current_event_timestamp):
11669         Implement new event method.
11670         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11671
11672         * event-msw.c:
11673         * event-msw.c (ntpipe_shove_writer): [5].
11674         * event-msw.c (mswindows_enqueue_mouse_button_event):
11675         * event-msw.c (mswindows_drain_windows_queue):
11676         * event-msw.c (mswindows_wnd_proc): [7].
11677         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11678         * event-msw.c (mswindows_modifier_state):
11679         Throughout: support new button modifiers.
11680
11681         * event-msw.c (emacs_mswindows_current_event_timestamp):
11682         Implement new event method.
11683         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11684
11685         * event-stream.c:
11686         * event-stream.c (event_stream_current_event_timestamp): New.
11687         * event-stream.c (maybe_kbd_translate): New functionality.
11688         * event-stream.c (vars_of_event_stream):
11689         Document new kbd-translate-table functionality.
11690
11691         * event-stream.c (Fcurrent_event_timestamp): New.
11692         New primitive for use in fabricated events.
11693         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11694
11695         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11696
11697         * events.c:
11698         * events.c (Fmake_event):
11699         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11700         [1].
11701         [9].
11702
11703         * events.c (format_event_object): fix gcc warnings.
11704
11705         * events.c (Fevent_timestamp): Document new primitives.
11706
11707         * events.c (TIMESTAMP_HALFSPACE): New.
11708
11709         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11710         comparing timestamps correctly (half-space algorithm).
11711
11712         * events.c (Fevent_modifier_bits): Doc fix.
11713
11714         * events.c (Fevent_modifiers): Major doc addition.
11715         * events.c (event_x_y_pixel_internal): Typo fix.
11716         * events.c (syms_of_events): Declare new primitives.
11717
11718         * events.h:
11719         Update long comment for button modifiers, timestamps.
11720
11721         * events.h (struct event_stream):
11722         New current_event_timestamp method.
11723
11724         * extents.c:
11725         * extents.c (extent_in_region_p):
11726         * extents.c (decode_extent):
11727         * extents.c (Fset_extent_parent):
11728         * extents.c (decode_map_extents_flags):
11729         Fix gcc warnings.
11730         [9].
11731
11732         * extents.c (struct extent_at_arg):
11733         * extents.c (decode_extent_at_flag):
11734         * extents.c (extent_at_mapper):
11735         * extents.c (extent_at_bytind):
11736         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11737         * extents.c (Fextents_at): New primitive. [9].
11738         * extents.c (symbol_to_glyph_layout): [9].
11739         Support new primitive `extents-at'.
11740
11741
11742         * extents.c (get_text_property_bytind):
11743         extent_at_bytind has another arg.
11744         [9].
11745
11746         * extents.c (syms_of_extents): New primitive.
11747
11748         * file-coding.c (Fmake_coding_system): [1].
11749         * file-coding.c (subsidiary_coding_system): fix gcc warning
11750         * file-coding.c (syms_of_file_coding): [2].
11751
11752         * fileio.c (Fexpand_file_name):
11753         * fileio.c (Fsysnetunam):
11754         * fileio.c (Ffile_exists_p):
11755         * fileio.c (Ffile_executable_p):
11756         * fileio.c (Fverify_visited_file_modtime):
11757         Clean up GCPROing.
11758
11759         * fileio.c (syms_of_fileio): [2].
11760
11761         * filelock.c (lock_file_1):
11762         * filelock.c (current_lock_owner):
11763         * filelock.c (lock_if_free):
11764         * filelock.c (lock_file):
11765         * filelock.c (unlock_file):
11766         Clean up GCPROing.
11767
11768         * fns.c (concat): Fix gcc warning.
11769
11770         * fns.c (Fmember):
11771         * fns.c (Fold_member):
11772         * fns.c (Fmemq):
11773         * fns.c (Fold_memq):
11774         * fns.c (memq_no_quit):
11775         * fns.c (Fassoc):
11776         * fns.c (Fold_assoc):
11777         * fns.c (Fassq):
11778         * fns.c (Fold_assq):
11779         * fns.c (assq_no_quit):
11780         * fns.c (Frassoc):
11781         * fns.c (Fold_rassoc):
11782         * fns.c (Frassq):
11783         * fns.c (Fold_rassq):
11784         * fns.c (rassq_no_quit):
11785         * fns.c (Fdelete):
11786         * fns.c (Fold_delete):
11787         * fns.c (Fdelq):
11788         * fns.c (Fold_delq):
11789         * fns.c (delq_no_quit):
11790         * fns.c (Fremassoc):
11791         * fns.c (Fremassq):
11792         * fns.c (remassq_no_quit):
11793         * fns.c (Fremrassoc):
11794         * fns.c (Fremrassq):
11795         * fns.c (remrassq_no_quit):
11796         * fns.c (Freverse):
11797         * fns.c (mapcar1):
11798         [1].
11799
11800         * frame-msw.c (mswindows_init_frame_1):
11801         * frame-msw.c (mswindows_delete_frame):
11802         Register popups with dialog code so keyboard traversing works.
11803
11804         * frame-tty.c (tty_raise_frame_no_select): [1].
11805
11806         * frame-x.c:
11807         * frame-x.c (x_set_frame_text_value):
11808         * frame-x.c (x_set_frame_properties):
11809         * frame-x.c (x_create_widgets):
11810         [7].
11811
11812         * frame.c:
11813         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11814
11815         * frame.h (wrap_frame): New.
11816         Macro like wrap_device.
11817
11818         * general.c:
11819         * general.c (SYMBOL):
11820         * general.c (syms_of_general):
11821         Major reorg.  This is now just a wrapper and symbols themselves
11822         are listed in general-slots.h.
11823
11824         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11825         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11826
11827         * glyphs-msw.c (mswindows_native_layout_instantiate):
11828         Add DS_CONTROL so keyboard traversal will work.
11829
11830         * glyphs-widget.c:
11831         * glyphs-widget.c (syms_of_glyphs_widget):
11832         Move some symbols to general-slots.h.
11833
11834         * glyphs-x.c:
11835         * glyphs-x.c (xbm_instantiate_1):
11836         * glyphs-x.c (x_xbm_instantiate):
11837         * glyphs-x.c (x_xface_instantiate):
11838         * glyphs-x.c (autodetect_instantiate):
11839         * glyphs-x.c (cursor_font_instantiate):
11840         * glyphs-x.c (x_update_widget):
11841         * glyphs-x.c (x_widget_instantiate):
11842         * glyphs.c (bitmap_to_lisp_data):
11843         * glyphs.c (pixmap_to_lisp_data):
11844         [7].
11845
11846         * glyphs.c (syms_of_glyphs):
11847         [2].
11848
11849         * gui-x.c:
11850         * gui-x.c (print_widget_value):
11851         * gui-x.c (menu_separator_style_and_to_external):
11852         * gui-x.c (add_accel_and_to_external):
11853         * gui-x.c (button_item_to_widget_value):
11854         * gui-x.c (gui_items_to_widget_values_1):
11855         * gui-x.c (gui_items_to_widget_values):
11856         * gui-x.c (syms_of_gui_x):
11857         * gui-x.c (vars_of_gui_x):
11858         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11859         [9].
11860
11861         * gui-x.h:
11862         Muleize, prototype changes matching gui-x.c.
11863
11864         * gui.c:
11865         * gui.c (separator_string_p):
11866         * gui.c (gui_item_add_keyval_pair):
11867         * gui.c (make_gui_item_from_keywords_internal):
11868         * gui.c (signal_too_long_error):
11869         * gui.c (parse_gui_item_tree_item):
11870         * gui.c (syms_of_gui):
11871         * gui.c (vars_of_gui):
11872         * gui.h:
11873         menu-no-selection-hook moved here (used by MSWin).
11874         Move some symbols to general-slots.h.
11875         [6].
11876         [9].
11877
11878         * insdel.c (get_buffer_pos_char):
11879         * insdel.c (get_buffer_range_char):
11880         Add GC comments.
11881
11882         * keymap.c (keymap_lookup_directly):
11883         * keymap.c (keymap_store):
11884         * keymap.c (ensure_meta_prefix_char_keymapp):
11885         * keymap.c (describe_map):
11886         * keymap.h:
11887         Support new button modifiers.
11888
11889         * lisp-disunion.h (wrap_object):
11890         * lisp-disunion.h (XSETOBJ):
11891         Rename make_obj to wrap_object.
11892
11893         * lisp-union.h:
11894         * lisp-union.h (make_int):
11895         * lisp-union.h (make_char):
11896         Support wrap_object.
11897
11898         * lisp.h:
11899         * lisp.h (LIST_LOOP):
11900         * lisp.h (EXTERNAL_LIST_LOOP):
11901         * lisp.h (LIST_LOOP_2):
11902         * lisp.h (EXTERNAL_LIST_LOOP_1):
11903         * lisp.h (EXTERNAL_LIST_LOOP_2):
11904         * lisp.h (EXTERNAL_LIST_LOOP_3):
11905         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11906         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11907         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11908         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11909         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11910         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11911         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11912         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11913         * lisp.h (struct Lisp_Symbol):
11914         * lisp.h (maybe_continuable_error_with_frob):
11915         Fix up section comments.
11916         Add new types for char to indicate usage.
11917         Delete symbols auto-generated from general-slots.h.
11918         Add prototypes for structured error functions.
11919         Add long comments describing looping macros and change interface
11920         so that lvalues are automatically declared.
11921         Add NO_DECLARE macro in case callers want to declare lvalues
11922         themselves.
11923
11924         * lread.c (read_syntax_error):
11925         * lread.c (continuable_read_syntax_error):
11926         * lread.c (read_structure):
11927         * lread.c (sequence_reader):
11928         * lread.c (read_list_conser):
11929         * lread.c (read_compiled_function):
11930         Rename syntax_error and continuable_syntax_error to avoid clash
11931         with same-named structured error functions.
11932
11933         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11934         * menubar-msw.c (populate_menu_add_item):
11935         * menubar-msw.c (populate_or_checksum_helper):
11936         [5].
11937         [9].
11938
11939         * menubar-x.c:
11940         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11941         Mule-ize whole file.
11942
11943         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11944
11945         * mule-charset.c (Fmake_charset):
11946         * mule-wnnfns.c (Fwnn_set_param):
11947         [1].
11948
11949         * ntproc.c (create_child):
11950         * ntproc.c (Fwin32_set_current_locale):
11951         Add comments portending doom.
11952
11953         * objects-msw.c:
11954         * objects-msw.c (old_font_enum_callback_2):
11955         * objects-msw.c (font_enum_callback_1):
11956         * objects-msw.c (mswindows_enumerate_fonts):
11957         [5].
11958
11959         * objects-x.c:
11960         * objects-x.c (allocate_nearest_color):
11961         * objects-x.c (x_parse_nearest_color):
11962         * objects-x.c (x_initialize_color_instance):
11963         * objects-x.c (x_print_color_instance):
11964         * objects-x.c (x_finalize_color_instance):
11965         * objects-x.c (x_valid_color_name_p):
11966         * objects-x.c (x_initialize_font_instance):
11967         * objects-x.c (x_print_font_instance):
11968         * objects-x.c (valid_x_font_name_p):
11969         * objects-x.c (truename_via_FONT_prop):
11970         * objects-x.c (truename_via_random_props):
11971         * objects-x.c (truename_via_XListFonts):
11972         * objects-x.c (x_font_truename):
11973         * objects-x.c (x_font_instance_truename):
11974         * objects-x.c (x_font_instance_properties):
11975         * objects-x.c (x_list_fonts):
11976         * objects-x.c (x_find_charset_font):
11977         Mule-ize entire file.
11978         [7].
11979
11980         * objects-x.h:
11981         Mule-verify.
11982
11983         * print.c:
11984         * print.c (std_handle_out_external):
11985         * print.c (debug_print_no_newline):
11986         * print.c (syms_of_print):
11987         Output to all debugger kinds in debug-print.
11988         Fix console-output code under MSWin to actually work.
11989
11990         * process-nt.c (send_signal):
11991         * process-nt.c (nt_create_process):
11992         Use newer Unicode macros.
11993
11994         * process-unix.c (unix_create_process):
11995         * process-unix.c (unix_canonicalize_host_name):
11996         * process-unix.c (unix_open_network_stream):
11997         [7].
11998
11999         * scrollbar-x.c:
12000         Mule-verify.
12001
12002         * search.c (syms_of_search):
12003         [2].
12004
12005         * select-msw.c (mswindows_destroy_selection):
12006         Use LIST_LOOP_2.
12007
12008         * select-x.c (symbol_to_x_atom):
12009         [7].
12010
12011         * select.c (syms_of_select):
12012         [2].
12013
12014         * sound.c (Fplay_sound_file):
12015         [7].
12016
12017         * specifier.c:
12018         * specifier.c (decode_specifier_type):
12019         * specifier.c (Fvalid_specifier_locale_type_p):
12020         * specifier.c (check_valid_locale_or_locale_type):
12021         * specifier.c (decode_locale):
12022         * specifier.c (decode_locale_type):
12023         * specifier.c (decode_locale_list):
12024         * specifier.c (check_valid_domain):
12025         * specifier.c (decode_specifier_tag_set):
12026         * specifier.c (Fcanonicalize_tag_set):
12027         * specifier.c (Fdefine_specifier_tag):
12028         * specifier.c (Fspecifier_tag_predicate):
12029         * specifier.c (check_valid_inst_list):
12030         * specifier.c (check_valid_spec_list):
12031         * specifier.c (decode_how_to_add_specification):
12032         * specifier.c (check_modifiable_specifier):
12033         * specifier.c (specifier_add_spec):
12034         * specifier.c (boolean_validate):
12035         * specifier.c (display_table_validate):
12036         [9].
12037
12038         * specifier.c (syms_of_specifier):
12039         Move some symbols to general-slots.h.
12040         [2].
12041
12042         * symbols.c:
12043         * symbols.c (Fmapatoms):
12044         * symbols.c (Fapropos_internal):
12045         Add GCPROs.
12046
12047         * symbols.c (set_default_buffer_slot_variable):
12048         * symbols.c (set_default_console_slot_variable):
12049         [1].
12050
12051         * symbols.c (defsymbol_massage_name_1):
12052         * symbols.c (defkeyword_massage_name):
12053         * symbols.c (deferror_1):
12054         * symbols.c (deferror):
12055         * symbols.c (deferror_massage_name_and_message):
12056         * symeval.h:
12057         * symeval.h (DEFSYMBOL):
12058         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12059
12060         * symbols.c (syms_of_symbols):
12061         [2].
12062
12063         * symsinit.h:
12064         * symsinit.h (init_win32): New.
12065         Also new is syms_of_dialog_mswindows.
12066
12067         * syswindows.h:
12068         Add new Unicode macros, missing Cygwin wide-char functions,
12069         convenience conversion macros for Qmswindows_tstr, macros for
12070         encapsulating required MSWin <-> Cygwin filename conversions,
12071         prototype for dynamically-extracted (not in NT 3.51) functions.
12072
12073         * toolbar-x.c:
12074         Mule-verify.
12075
12076         * tooltalk.c (Fadd_tooltalk_message_arg):
12077         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12078         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12079         [7].
12080
12081         * tooltalk.c (syms_of_tooltalk):
12082         [2].
12083
12084         * unexnt.c:
12085         * unexnt.c (unexec):
12086         Fix up headers, declaration of unexec() to be more standard.
12087
12088 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12089
12090         * offix.h: Revert change to guard macros - they're used in offix.c!
12091
12092 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12093
12094         * lisp.h: Defsubred Fdelete.
12095
12096         * console-msw.h:  (msprinter_default_printer): Added.
12097
12098         * console-msw.c (msprinter_canonicalize_console_connection):
12099         (msprinter_canonicalize_device_connection): Added.
12100
12101         * device-msw.c (msprinter_default_printer):
12102         (Fmswingows_get_default_printer):
12103         (signal_enum_priner_error):
12104         (Fmswingows_printer_list): Added.
12105
12106 2000-07-19  Martin Buchholz <martin@xemacs.org>
12107
12108         * XEmacs 21.2.35 is released.
12109
12110 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12111
12112         * select-x.c (x_handle_selection_request):
12113         Text selected in xemacs and pasted into xterm failed to appear.
12114         Spelling fixes and cosmetic changes.
12115
12116 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12117
12118         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12119         XEmacs frame (fix for doubling chars in dialog boxes).
12120
12121 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12122
12123         * select.c (select_convert_in, select_convert_out):
12124         Don't call intern() every time.
12125
12126         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12127         * select.c (vars_of_select): Initialise them.
12128
12129 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12130
12131         * select.c (selection-coercible-types): New.
12132
12133         * select.c (own-selection-internal):
12134         * select.c (get-selection-internal):
12135         MULE bug fix - these should default to COMPOUND_TEXT and not
12136         STRING for MULE. I think.
12137
12138         * select.c (select_convert_out): Use selection-coercible-types
12139         to find types that we can attempt to perform coercions on.
12140
12141 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12142
12143         * mule-wnnfns.c:
12144         * mule-canna.c:
12145         Add coding: cookie to identify encoding.
12146
12147         * mule-canna.c (CANNA_mode_keys): make static.
12148         Use proper prototypes, even for functions of no arguments.
12149         Remove external prototype for Fding().
12150
12151         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12152
12153         * select.c (syms_of_select): Add missing DEFSUBR.
12154
12155 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12156
12157         * select.c (get_selection_internal, own_selection_internal):
12158         Make the type default to STRING, rather than placing a nil type
12159         into Vselection_alist.
12160
12161 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12162
12163         * gpmevent.c (tty_selection_exists_p):
12164         * gpmevent.c (tty_own_selection):
12165         Updated parameter lists.
12166
12167 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12168
12169         * select.h (selection-alist): Removed declaration.
12170
12171         * select.h (get_local_selection):
12172         * select.c (get_local_selection):
12173         Made static.
12174
12175         * select.h (convert_selection): Removed declaration.
12176         * select.c (convert_selection): Removed.
12177         This function belongs in Lisp.
12178
12179         * select.h (select_convert_in): Declare.
12180         * select.h (select_convert_out): Declare.
12181         * select.c (select_convert_in): New.
12182         * select.c (select_convert_out): New.
12183         New conversion functions for other files to call.
12184
12185         * select.h (select_notify_buffer_kill): Declare.
12186         * select.c (select_notify_buffer_kill): New.
12187         New functions that get called from kill-buffer.
12188
12189         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12190         X-specific lisp code.
12191
12192         * select.h: Declare some of the lisp-visible functions for
12193         external use.
12194
12195         * select.c (clean_local_selection_data): Removed. This was
12196         a disgusting function, and previously should have been in
12197         select-x.c in any case. The functionality is now provided
12198         in select-convert-from-integer (select.el).
12199
12200         * select.c (available-selection-types): Fixed stupidity where
12201         INTEGER and ATOM got added twice. Also add STRING when we see an
12202         extent.
12203
12204         * select.c (get-selection-internal): Removed symbol stripping. No
12205         longer causes conversion when data comes from the internal cache.
12206
12207         * select.c (syms_of_select): Added new functions.
12208
12209         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12210         error checking - previously this called abort!
12211
12212         * select-x.c (x_own_selection): Changed comment.
12213
12214         * select-x.c (x_handle_selection_request): Use select_convert_out.
12215         Don't mess with selection-alist; it's an internal variable of select.c.
12216
12217         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12218
12219         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12220         rather than messing with selection-alist.
12221
12222         * select-msw.c (mswindows_get_foreign_selection):
12223         Use TO_INTERNAL_FORMAT rather than hacking.
12224
12225 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12226
12227         * process-unix.c (unix_open_multicast_group):
12228         (unix_open_multicast_group): Remove useless casts.
12229
12230 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12231
12232         * sound.c (Fplay_sound): Fix `unused variable' warning.
12233
12234         * emacs.c (main): Use correct type for _environ on SCO5.
12235
12236 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12237
12238         * console.h (own_selection_method):
12239         * console.h (selection_exists_p_method):
12240         * console.h (available_selection_types_method): New.
12241         * console.h (register_selection_data_type_method): New.
12242         * console.h (selection_data_type_name): New.
12243
12244         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12245         function & alist to track GlobalAlloc()'d handles that need
12246         releasing when the clipboard data gets replaced or emptied.
12247
12248         * event-msw.c (mswindows_wnd_proc): Call it.
12249
12250         * lisp.h, general.c (Qappend): New symbol representing a
12251         `how-to-add' mode.
12252
12253         * select.c (own-selection-internal):
12254         * select.c (selection-exists-p):
12255         * select.c (available-selection-types): New.
12256         * select.c (register-selection-data-type): New.
12257         * select.c (selection-data-type-name): New.  New functions to deal
12258         with device-specific selection data formats.
12259         * select.c (selection-converter-out-alist): Renamed.
12260         * select.c (selection-converter-in-alist): New.
12261         * select.c (selection-appender-alist): New.  Added new alists.
12262         * select.c (syms_of_select, vars_of_select): Added new symbols &
12263         variables.
12264         * select.c (get_local_selection): Split.
12265         * select.c: Removed spurious type checking - selections may now be
12266         of any type, not just strings.
12267         * select.c (own-selection-internal):
12268
12269         * select.h, select.c (convert_selection): New. Created
12270         convert_selection() function based on get_local_selection().
12271         * select.h, select.c (QCF_*): New symbols representing mswindows
12272         clipboard formats.
12273         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12274         symbols representing `how-to-add' modes.
12275
12276         * select-msw.c (x_sym_p): New.
12277         * select-msw.c (symbol_to_ms_cf): New.
12278         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12279         symbols & clipboard formats. Can also handle string names.
12280         * select-msw.c (mswindows_own_selection):
12281         * select-msw.c (mswindows_selection_exists_p):
12282         Added `data-type' parameter. Use it.
12283         * select-msw.c (mswindows_available_selection_types): New.
12284         * select-msw.c (mswindows_register_selection_data_type): New.
12285         * select-msw.c (mswindows_selection_data_type_name): New.
12286         * select-msw.c (mswindows_own_selection):
12287         * select-msw.c (mswindows_get_foreign_selection):
12288         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12289         * select-msw.c (console_create_select_mswindows): Added new methods.
12290         * select-msw.c (mswindows_destroy_selection): New.
12291         * select-msw.c (Vhandle_alist): New list.
12292         * select-msw.c (mswindows_own_selection):
12293
12294         * select-x.c (x_own_selection):
12295         * select-x.c (x_selection_exists_p):
12296         * select-x.c: Added some comments about maybe using new
12297         functionality.
12298         * select-x.c (x_own_selection):
12299
12300         * specifier.c: Remove definition of Qappend (now in general.c)
12301         * specifier.c (syms_of_specifier): Remove Qappend.
12302
12303 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12304
12305         * config.h.in: Add socklen_t.
12306
12307         * s/decosf4-0.h: No special compiler flags needed or desired.
12308         In particular, undefine _BSD for DEC OSF 4.0.
12309
12310 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12311
12312         * redisplay-msw.c (msprinter_frame_output_end): Added.
12313         (console_type_create_redisplay_mswindows): Referred the above.
12314
12315         * frame.c (setup_frame_without_minibuffer): Do not create a
12316         default minibuffer frame on a printer device.
12317
12318         * frame-msw.c (apply_dc_geometry): Added.
12319         (msprinter_start_page):
12320         (msprinter_init_frame_3):
12321         (msprinter_eject_page): Use it.
12322
12323         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12324         and removed residual duplex and orientation properties.
12325
12326 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12327
12328         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12329
12330         * unexalpha.c: Remove system prototypes from C sources!
12331
12332 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12333
12334         * eval.c: Remove references to M-x edit-options in DEFUNs for
12335         `defvar' and `defconst'.
12336
12337 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12338
12339         * config.h.in: Remove SMART_INCLUDE hackery.
12340
12341         PostgreSQL hacking:
12342         * config.h.in: Don't use SMART_INCLUDE.
12343
12344         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12345         * inline.c: Simply #include "postgresql.h"
12346         * postgresql.c:
12347         - Don't use SMART_INCLUDE
12348         - Use simply "const".
12349         - Use standard doc string conventions.
12350         - Use correct type for result of PQstatus.
12351
12352 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12353
12354         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12355
12356         C++ compilation changes.
12357         * config.h.in (EXTERN_C): Define.
12358         * config.h.in (not): This is also a C++ keyword.
12359         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12360         * cm.c: Use EXTERN_C.
12361         * redisplay-tty.c: Use EXTERN_C.
12362         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12363
12364 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12365
12366         * general.c: Remove duplicate definition for Qfunction.
12367
12368 2000-07-08  Ben Wing  <ben@xemacs.org>
12369
12370         * device-msw.c (msprinter_init_device):
12371         * device-msw.c (sync_printer_with_devmode):
12372         * device-msw.c (handle_devmode_changes):
12373         * device-msw.c (print_dialog_worker):
12374         * device-msw.c (Fmsprinter_apply_settings):
12375         * device-msw.c (hash_devmode):
12376         * device-msw.c (Fmsprinter_settings_despecialize):
12377         use Qmswindows_tstr, not Qctext.
12378
12379         * vm-limit.c (check_memory_limits):
12380         avoid infinite loop printing warning messages.
12381
12382 2000-07-05  Craig Lanning  <lanning@scra.org>
12383
12384         * Makefile.in.in: Add support for including the Windows resources
12385         when building with the cygwin and mingw targets.
12386
12387         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12388         not set or not correct.
12389         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12390         (init_initial_directory): Don't try to use $PWD on the
12391         WIN32_NATIVE target.
12392
12393         * s\cygwin32.h:
12394         [[Add -mwindows to eliminate console window.]] not required --ben
12395         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12396         (MAIL_USE_POP): removed; now handled by configure.
12397
12398         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12399         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12400         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12401         (MAIL_USE_POP): removed; now handled by configure.
12402         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12403         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12404         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12405         constant string.
12406         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12407         up from <winsock.h> via systime.h.
12408         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12409         (getpagesize): from Dan Holmsand, added.
12410         Added #endif which was left dangling by Ben's mega patch; added
12411         comment to help prevent this in the future.
12412
12413         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12414
12415 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12416
12417         * console-msw.h (struct mswindows_device): Removed unnecessary
12418         cached device geometry values.
12419         Added update_tick and an accessor macro.
12420         (Lisp_Devmode): Added lrecord declaration.
12421         (struct msprinter_device): Contain devmode as a Lisp object.
12422         Added mswindows_get_selected_frame_hwnd();
12423
12424         * console.h (struct console_methods): Indentation nitpicking.
12425
12426         * device-msw.c (mswindows_init_device): Do not initialize geometry
12427         cache. Initialize update tick.
12428         (mswindows_device_system_metrics): Ask the device for its geometry.
12429         (global_free_2_maybe):
12430         (devmode_to_hglobal):
12431         (handle_printer_changes):
12432         (ensure_not_printing):
12433         (print_dialog_worker):
12434         (Fmsprinter_print_setup_dialog):
12435         (Fmsprinter_print_dialog):
12436         (plist_get_margin):
12437         (plist_set_margin):
12438         (Fmsprinter_page_setup_dialog): Added functions.
12439         (sync_printer_with_devmode):
12440         (handle_devmode_changes):
12441         (Fmsprinter_get_settings):
12442         (Fmsprinter_select_settings):
12443         (Fmsprinter_apply_settings):
12444         (allocate_devmode):
12445         (Fmsprinter_settings_copy):
12446         (Fmsprinter_settings_despecialize):
12447         (print_devmode):
12448         (finalize_devmode):
12449         (equal_devmode):
12450         (hash_devmode): Added functions
12451         (syms_of_device_mswindows): Init devmode lrecord class.
12452
12453         * device.h: Added an exfun for find-device.
12454
12455         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12456         geometry; although, recreate the device compatible DC.
12457
12458         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12459         (msprinter_init_frame_3):
12460         (msprinter_frame_property):
12461         (msprinter_internal_frame_property_p):
12462         (msprinter_frame_properties):
12463         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12464         print job properties (will move to device settings).
12465
12466         * lisp.h: Added symbols.
12467
12468         * general.c (syms_of_general): Declared them.
12469
12470         * hash.c (string_hash): Added.
12471
12472         * lrecord.h (lrecord_type): Added devmode lrecord type.
12473
12474 2000-07-02  Mike Sperber <mike@xemacs.org>
12475
12476         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12477         FreeBSD 4.0.
12478
12479 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12480
12481         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12482         integer.
12483
12484 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12485
12486         * data.c (Fstring_to_number): Don't recognize floating point if
12487         base is not 10.
12488
12489 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12490
12491         * glyphs-widget.c (tab_control_query_geometry):
12492         (widget_query_geometry):
12493         (button_query_geometry):
12494         * glyphs.c (text_query_geometry):
12495         Enforce type correctness.
12496
12497 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12498
12499         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12500         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12501
12502 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12503
12504         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12505         conflicts with gcc's fixincluded version of FOO.h.
12506
12507         * glyphs.h (image_instance_geometry): Remove trailing `,'
12508
12509 2000-06-08  Mike Alexander  <mta@arbortext.com>
12510
12511         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12512         (shove_thread): Don't write the same output twice
12513         (make_ntpipe_output_stream): Increase priority of shove thread
12514         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12515         chance to run
12516         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12517         it.
12518
12519 2000-06-12  Ben Wing  <ben@xemacs.org>
12520
12521         * s\mingw32.h (sigset):
12522         * s\windowsnt.h (sigset):
12523         rename msw_ to mswindows_ for consistency with general convention.
12524
12525 2000-06-12  Ben Wing  <ben@xemacs.org>
12526
12527         * console-msw.c:
12528         * console-msw.c (mswindows_get_console_hwnd):
12529         * console-msw.c (mswindows_ensure_console_allocated):
12530         * console-msw.c (mswindows_hide_console):
12531         * console-msw.c (mswindows_show_console):
12532         * console-msw.c (mswindows_ensure_console_buffered):
12533         * console-msw.c (mswindows_output_console_string):
12534         * console-msw.c (mswindows_windows9x_p):
12535         * console-msw.h:
12536         * device-msw.c (mswindows_get_workspace_coords):
12537         * device-msw.c (mswindows_device_system_metrics):
12538         * dialog-msw.c (mswindows_popup_dialog_box):
12539         * event-msw.c (mswindows_wnd_proc):
12540         * frame-msw.c (mswindows_size_frame_internal):
12541         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12542         * menubar-msw.c (displayable_menu_item):
12543         * menubar-msw.c (mswindows_char_is_accelerator):
12544         * nt.c:
12545         * nt.c (mswindows_sigset):
12546         * nt.c (mswindows_sigrelse):
12547         * nt.c (mswindows_sigpause):
12548         * nt.c (mswindows_raise):
12549         * nt.c (timer_proc):
12550         * ntproc.c:
12551         * ntproc.c (find_child_console):
12552         * ntproc.c (sys_kill):
12553         * print.c:
12554         * print.c (std_handle_out_external):
12555         * process-nt.c (find_child_console):
12556         * process-nt.c (send_signal_the_95_way):
12557         * process-nt.c (ensure_console_window_exists):
12558         * process-nt.c (nt_create_process):
12559         * syssignal.h:
12560         rename msw_ to mswindows_ for consistency with general convention.
12561
12562         * emacs.c:
12563         * dumper.c:
12564         include nt.h, not syswindows.h.
12565
12566         * nt.c (mswindows_fstat):
12567         * nt.c (mswindows_stat):
12568         prefix mswindows_ instead of attempting to directly override the
12569         library functions.  fix declarations.
12570
12571         * nt.h:
12572         include syswindows.h.  move some sysdep.h stuff here.
12573
12574         * ntheap.h:
12575         include syswindows.h, not <windows.h>.
12576
12577         * ntplay.c:
12578         clean up headers.
12579
12580         * sysdep.c:
12581         clean up headers.
12582
12583         * sysdep.c (sys_fstat):
12584         * sysdep.c (sys_stat):
12585         call mswindows versions when appropriate.
12586
12587         * sysdep.h:
12588         move mswin decls to nt.h.
12589
12590         * syswindows.h:
12591         add long comment describing appropriate use of the various windows
12592         headers.
12593
12594 2000-06-11  Ben Wing  <ben@xemacs.org>
12595
12596         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12597
12598 2000-06-10  Ben Wing  <ben@xemacs.org>
12599
12600         * Makefile.in.in (release):
12601         Correction to make sure xemacs.exe always dumped when correct.
12602
12603         * alloca.c:
12604         * balloon_help.c:
12605         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12606
12607         * buffer.c (set_buffer_internal):
12608         [[[[2]]]]: Remove HAVE_FEP code.
12609
12610         * buffer.c (init_initial_directory):
12611         [3].
12612
12613         * bytecode.c:
12614         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12615         individual files.
12616
12617         * callproc.c:
12618         * callproc.c (call_process_cleanup):
12619         * callproc.c (Fold_call_process_internal):
12620         * callproc.c (child_setup):
12621         * callproc.c (getenv_internal):
12622         * callproc.c (init_callproc):
12623         * callproc.c (vars_of_callproc):
12624         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12625         __CYGWIN32__ -> CYGWIN.
12626         DOS_NT -> WIN32_NATIVE.
12627         Remove MSDOS support/references, converting to WIN32_NATIVE
12628           where correct.
12629         __MINGW32__ -> MINGW.
12630         Fix windows.h includes.
12631         Remove bogus HAVE_NTGUI.
12632
12633         * config.h.in:
12634         [2].
12635
12636         * console-msw.c:
12637         mswindows_message_outputted added for use in allowing startup
12638         errors on the console to be seen.
12639
12640         * console-msw.c (msw_ensure_console_allocated):
12641         * console-msw.c (msw_output_console_string):
12642         * console-msw.c (DHEADER):
12643         * console-msw.c (DOPAQUE_DATA):
12644         * console-msw.c (DEVENT):
12645         * console-msw.c (DCONS):
12646         * console-msw.c (DCONSCDR):
12647         * console-msw.c (DSTRING):
12648         * console-msw.c (DVECTOR):
12649         * console-msw.c (DSYMBOL):
12650         * console-msw.c (DSYMNAME):
12651         Fix warnings.
12652
12653         * console-stream.c (stream_init_console):
12654         Fix text/binary problems.
12655
12656         * device-msw.c:
12657         * device-msw.c (mswindows_finish_init_device):
12658         * device-msw.c (mswindows_delete_device):
12659         [1].
12660
12661         * device.c (handle_asynch_device_change):
12662         [3].
12663
12664         * dgif_lib.c:
12665         * dgif_lib.c (DGifOpenFileName):
12666         * dgif_lib.c (DGifOpenFileHandle):
12667         * dgif_lib.c (DGifGetLine):
12668         * dgif_lib.c (DGifGetPixel):
12669         Added config.h/lisp.h, fix up includes.
12670         [1].
12671
12672         * dired-msw.c:
12673         [4].
12674
12675         * dired.c:
12676         * dired.c (file_name_completion):
12677         * dired.c (Ffile_attributes):
12678         * dired.c (syms_of_dired):
12679         [1].
12680
12681         * dumper.c:
12682         * dumper.c (pdump_file_unmap):
12683         * dumper.c (pdump_load):
12684         [1].
12685
12686         * editfns.c:
12687         * editfns.c (Ftemp_directory):
12688         * editfns.c (user_login_name):
12689         * editfns.c (Fuser_real_login_name):
12690         * editfns.c (get_home_directory):
12691         [1].
12692
12693         * elhash.c (finish_marking_weak_hash_tables):
12694         [[[[5]]]]: Fix GCC warnings.
12695
12696         * emacs.c:
12697         * emacs.c (mswindows_handle_hardware_exceptions):
12698         * emacs.c (make_arg_list_1):
12699         * emacs.c (main_1):
12700         * emacs.c (Fkill_emacs):
12701         * emacs.c (Fdump_emacs):
12702         [1].
12703         Fix problems with nested crashes, add long comment.
12704
12705         * event-Xt.c (init_event_Xt_late):
12706         [1].
12707
12708         * event-msw.c:
12709         * event-msw.c (mswindows_dde_callback):
12710         * event-msw.c (mswindows_handle_sticky_modifiers):
12711         * event-msw.c (mswindows_wnd_proc):
12712         [1].
12713         [5].
12714
12715         * events.c (character_to_event):
12716         [1].
12717
12718         * fileio.c:
12719         * fileio.c (Ffile_name_directory):
12720         * fileio.c (Ffile_name_nondirectory):
12721         * fileio.c (directory_file_name):
12722         * fileio.c (Fexpand_file_name):
12723         * fileio.c (Fsubstitute_in_file_name):
12724         * fileio.c (Ffile_name_absolute_p):
12725         * fileio.c (check_executable):
12726         * fileio.c (Ffile_readable_p):
12727         * fileio.c (Ffile_accessible_directory_p):
12728         * fileio.c (Ffile_modes):
12729         * fileio.c (Funix_sync):
12730         * fileio.c (vars_of_fileio):
12731         [1]. [4].
12732
12733         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12734
12735         Expand getdefdir defn.
12736         Fix bogus rename() comment.
12737
12738         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12739         to use standard XEmacs include files, e.g. sysfile.h, rather
12740         than system-specific includes.
12741
12742         * fns.c:
12743         * fns.c (Fsubseq):
12744         [5]. [6].
12745
12746         * frame.c (vars_of_frame):
12747         [1].
12748
12749         * getloadavg.c:
12750         * getloadavg.c (getloadavg):
12751         [1]. [6].
12752         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12753         (We don't use it elsewhere in the code; just add a comment.)
12754
12755         * gif_io.c:
12756         [6].
12757         Add config.h.
12758
12759         * glyphs-msw.c:
12760         * glyphs-msw.c (mswindows_resource_instantiate):
12761         [1].
12762
12763         * glyphs-x.c (x_native_layout_instantiate):
12764         [5].
12765
12766         * gui-msw.c (Fmswindows_shell_execute):
12767         [1].
12768
12769         * insdel.c:
12770         [4].
12771
12772         * lisp.h:
12773         [4]. [5].
12774
12775         * lread.c (locate_file_in_directory_mapper):
12776         [1].
12777
12778         * lstream.c:
12779         [4].
12780
12781         * mem-limits.h:
12782         * mem-limits.h (get_lim_data):
12783         [1].
12784
12785         * menubar-msw.c:
12786         [4].
12787
12788         * ndir.h:
12789         [1].
12790
12791         * nt.c:
12792         * nt.c (getwd):
12793         * nt.c (closedir):
12794         * nt.c (rva_to_section):
12795         * nt.c (mswindows_executable_type):
12796         [1]. [6].
12797         Fix closedir() defn.
12798
12799         * nt.h:
12800         [[[[8]]]]: *_OK defs moved to sysfile.h.
12801
12802         * ntproc.c:
12803         [6]. [7].
12804
12805         * objects-x.c:
12806         [4].
12807
12808         * print.c:
12809         * print.c (std_handle_out_external):
12810         [1]. [4].
12811
12812         * process-nt.c:
12813         * process-nt.c (nt_create_process):
12814         [6].
12815         try to fix process quoting somewhat.
12816
12817         * process-unix.c (unix_create_process):
12818         [1].
12819
12820         * process.c:
12821         * process.c (vars_of_process):
12822         Add Vnull_device.
12823
12824         * process.h:
12825         [1].
12826
12827         * realpath.c:
12828         * realpath.c (xrealpath):
12829         [1].
12830
12831         * redisplay-tty.c (init_tty_for_redisplay):
12832         [3].
12833
12834         * redisplay.c:
12835         [4]. [6].
12836
12837         * scrollbar-msw.c:
12838         [4].
12839
12840         * sheap.c:
12841         * sheap.c (more_static_core):
12842         * sheap.c (report_sheap_usage):
12843         [5]. [6].
12844
12845         * signal.c:
12846         * signal.c (alarm_signal):
12847         [1]. [6].
12848
12849         * sound.c:
12850         [6].
12851
12852         * strftime.c:
12853         * strftime.c (zone_name):
12854         [1]. [5].
12855
12856         * symsinit.h (init_sunpro):
12857         [1].
12858
12859         * syscommctrl.h:
12860         commctrl.h not in Cygwin b20.1.
12861
12862         * sysdep.c:
12863         * sysdep.c (endif):
12864         * sysdep.c (sys_subshell):
12865         * sysdep.c (init_baud_rate):
12866         * sysdep.c (emacs_get_tty):
12867         * sysdep.c (emacs_set_tty):
12868         * sysdep.c (tty_init_sys_modes_on_device):
12869         * sysdep.c (init_system_name):
12870         * sysdep.c (sys_open):
12871         * sysdep.c (interruptible_open):
12872         * sysdep.c (sys_fopen):
12873         * sysdep.c (sys_mkdir):
12874         * sysdep.c (sys_rename):
12875         * sysdep.c (get_process_times_1):
12876         [1]. [6].
12877
12878         * sysdep.h:
12879         [1].
12880
12881         * sysdir.h:
12882         * sysdir.h (DIRENTRY_NONEMPTY):
12883         [1]. [6].
12884
12885         * sysdll.c (dll_init):
12886         * sysdll.h:
12887         [1].
12888
12889         * sysfile.h:
12890         [1]. [6]. [8].
12891         added text/binary defs.
12892
12893         * sysfloat.h:
12894         [1].
12895
12896         * sysproc.h:
12897         * sysproc.h (EDESTADDRREQ):
12898         * sysproc.h (poll_fds_for_input):
12899         [1]. [6].
12900
12901         * syspwd.h:
12902         [6].
12903
12904         * syssignal.h:
12905         [1].
12906
12907         * systime.h:
12908         [1]. [6].
12909
12910         * systty.h:
12911         [1].
12912
12913         * syswindows.h:
12914         [1].
12915         Always define WIN32_LEAN_AND_MEAN.
12916
12917         * unexcw.c (unexec):
12918         [5].
12919
12920         * unexec.c:
12921         * unexec.c (copy_text_and_data):
12922         * unexec.c (adjust_lnnoptrs):
12923         [1].
12924
12925         * unexnt.c:
12926         * unexnt.c (_start):
12927         [1].
12928
12929 2000-06-07  Ben Wing  <ben@xemacs.org>
12930
12931         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12932         was used only as a model.  We've long since extracted any useful
12933         logic or code out of this. (I just did an exhaustive search.)
12934
12935         * s\msdos.h: Removed.
12936
12937         * s\windows95.h: Removed.
12938
12939 2000-06-10  Ben Wing  <ben@xemacs.org>
12940
12941         * s\cygwin32.h:
12942         [1]. [5].
12943         Don't use extern with fun defs.
12944
12945         * s\mingw32.h:
12946         [1]. [7].
12947         Remove nt\inc include.
12948         Remove getdisk, getdefdir. (The former is unused, the latter
12949         expanded in fileio.h.)
12950
12951         * s\windowsnt.h:
12952         * s\windowsnt.h (WIN32_NATIVE):
12953         * s\windowsnt.h (HAVE_STRCASECMP):
12954         [1]. [7].
12955         Add long comment about preprocessor changes.
12956         Remove getdisk, getdefdir. (The former is unused, the latter
12957         expanded in fileio.h.)
12958
12959 2000-06-10  Ben Wing  <ben@xemacs.org>
12960
12961         * m\arm.h:
12962         * m\delta.h:
12963         * m\intel386.h:
12964         * m\sequent.h:
12965         * m\template.h:
12966         * m\windowsnt.h:
12967         [1].
12968         Remove bogus/unused NO_SOCK_SIGIO.
12969
12970 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12971
12972         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12973         not an Emchar.
12974
12975 2000-06-04  Mike Sperber <mike@xemacs.org>
12976
12977         * casetab.c (set_case_table): For `set-standard-case-table',
12978         actually deposit the new case tables where the rest of XEmacs can
12979         see them.
12980
12981 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12982
12983         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12984
12985 2000-06-05  Ben Wing  <ben@xemacs.org>
12986
12987         * callproc.c (child_setup): Don't do close_load_descs() under
12988         MS Windows.  Put in a comment explaining why.
12989
12990 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12991
12992         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12993         Toolkit shell" which breaks `kill-compilation' on Windows NT
12994         native, retaining STDERR handling improvements.
12995
12996 2000-06-01  Andreas Jaeger  <aj@suse.de>
12997
12998         * s/s390.h: Support for S390, based on a patch by Martin
12999         Schwidefsky <schwidefsky@de.ibm.com>.
13000
13001 2000-05-30  Andy Piper  <andy@xemacs.org>
13002
13003         * window.c (allocate_window):
13004         (make_dummy_parent):
13005         (Fset_window_configuration): use new hashtable type.
13006
13007         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13008         (struct image_instantiator_methods):
13009         (struct Lisp_Image_Instance): make instance geometry signed.
13010
13011         * glyphs.c (instantiate_image_instantiator):
13012         (image_instance_query_geometry):
13013         (image_instance_layout):
13014         (image_instance_layout):
13015         (query_string_geometry):
13016         (text_query_geometry):
13017         (image_instantiate):
13018         (image_instantiate):
13019         (cache_subwindow_instance_in_frame_maybe):
13020         (subwindow_query_geometry): make instance geometry signed.
13021
13022         * glyphs-widget.c (widget_query_geometry):
13023         (widget_layout):
13024         (button_query_geometry):
13025         (tree_view_query_geometry):
13026         (tab_control_query_geometry):
13027         (layout_query_geometry):
13028         (layout_layout):
13029         (native_layout_layout): make instance geometry signed.
13030
13031 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13032
13033         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13034         constant.
13035
13036         * general.c (syms_of_general): Add Qfull_assoc symbol.
13037
13038         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13039         correctly.
13040         (decode_weak_list_type): Decode full-assoc type.
13041         (encode_weak_list_type): Encode full-assoc type.
13042         (Fmake_weak_list): Update doc string.
13043
13044 2000-05-30  Andy Piper  <andy@xemacs.org>
13045
13046         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13047
13048         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13049         (decode_hash_table_weakness): ditto.
13050         (Fhash_table_weakness): ditto.
13051         (Fhash_table_type): ditto.
13052         (finish_marking_weak_hash_tables): ditto.
13053         (hash_table_weakness_validate): ditto.
13054         (syms_of_elhash): ditto.
13055
13056 2000-05-28  Martin Buchholz <martin@xemacs.org>
13057
13058         * XEmacs 21.2.34 is released.
13059
13060 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13061
13062         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13063         start cache.
13064         (updating_line_start_cache): Gone.
13065         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13066         generic code to force a minimum of 1 line laid out in the
13067         CMOTION_DISP case.
13068
13069 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13070
13071         * glyphs.c (instantiate_image_instantiator): Check for initialized
13072         height & width no longer special cases IMAGE_NOTHING.
13073         (nothing_instantiate): Set height and width of instance.
13074
13075 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13076
13077         * unexelf.c (unexec): Search for ".data" section.
13078         Initialize new_data2_offset from old_data_index.
13079         Remove redundant check for ElfW.
13080
13081 2000-05-23  Andy Piper  <andy@xemacs.org>
13082
13083         * glyphs.c (get_image_instantiator_governing_domain): allow more
13084         specific domains as the governing domain rather than expecting an
13085         exact match. This fixes problems with layouts.
13086
13087 2000-05-22  Andy Piper  <andy@xemacs.org>
13088
13089         * redisplay-output.c (compare_runes): check for non-images
13090
13091         * glyphs.c (set_glyph_dirty_p): ditto.
13092         (update_glyph_cachel_data): ditto.
13093
13094         * glyphs-widget.c (layout_post_instantiate): ditto.
13095         (layout_post_instantiate): ditto.
13096
13097         * event-msw.c (mswindows_wnd_proc): warning removal.
13098
13099 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13100
13101         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13102
13103         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13104
13105         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13106
13107         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13108         (mswindows_executable_type): mingw32 now has enough headers for
13109         this to work.
13110
13111 2000-05-20  Andy Piper  <andy@xemacs.org>
13112
13113         * console-msw.c (mswindows_output_last_error): ; -> ,
13114
13115 2000-05-12  Andy Piper  <andy@xemacs.org>
13116
13117         * console-msw.c (FROB): compare ints with ints.
13118
13119 2000-05-11  Andy Piper  <andy@xemacs.org>
13120
13121         * glyphs-x.c (x_finalize_image_instance): make minimal build
13122         happy.
13123
13124 2000-05-20  Ben Wing  <ben@xemacs.org>
13125
13126         * event-Xt.c:
13127         * event-Xt.c (vars_of_event_Xt):
13128         move modifier-keys-are-sticky to event-stream.c.
13129
13130         * event-msw.c:
13131         * event-msw.c (mswindows_enqueue_mouse_button_event):
13132         * event-msw.c (key_needs_default_processing_p):
13133         * event-msw.c (XEMSW_LCONTROL):
13134         * event-msw.c (mswindows_handle_sticky_modifiers):
13135         * event-msw.c (FROB):
13136         * event-msw.c (clear_sticky_modifiers):
13137         * event-msw.c (output_modifier_keyboard_state):
13138         * event-msw.c (output_alt_keyboard_state):
13139         * event-msw.c (mswindows_wnd_proc):
13140         * event-msw.c (mswindows_modifier_state):
13141         * event-msw.c (emacs_mswindows_handle_magic_event):
13142         implement sticky modifiers.
13143
13144         * event-stream.c:
13145         * event-stream.c (vars_of_event_stream):
13146         move modifier-keys-are-sticky here.
13147
13148         * lisp.h:
13149         add CHECK_FUNCTION.
13150
13151         * rangetab.c:
13152         implement map-range-table.
13153
13154
13155 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13156
13157         * redisplay-tty.c (reset_tty_modes):
13158         (tty_redisplay_shutdown): Adjust argument type to
13159         tty_frame_output_end.
13160
13161 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13162
13163         * eval.c (Fbacktrace): Don't output a line with only right
13164         parenthesis.
13165
13166 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13167
13168         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13169         (Fpq_reset_poll): Ditto.
13170
13171 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13172
13173         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13174
13175 2000-05-16  Ben Wing  <ben@xemacs.org>
13176
13177         * buffer.c:
13178         * buffer.c (dfc_convert_to/from_internal_format):
13179         * buffer.c (reinit_vars_of_buffer):
13180         Fix conversion functions to allow reentrancy.
13181
13182         * console-msw.c:
13183         * console-msw.c (mswindows_output_last_error):
13184         New fun, generally useful -- output a human-readable
13185         version of GetLastError() on the console.
13186
13187         * console-msw.h:
13188         * console-msw.h (struct mswindows_frame):
13189         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13190
13191         * console-stream.c (stream_output_begin):
13192         * console-stream.c (stream_output_end):
13193         * console-stream.c (stream_output_vertical_divider):
13194         * console-stream.c (stream_clear_region):
13195         * console-stream.c (stream_flash):
13196         * console-stream.c (console_type_create_stream):
13197         Delete blank stream methods, not needed.
13198
13199         * console.h (struct console_methods):
13200         Split begin/end methods into window and frame.
13201
13202         * event-msw.c:
13203         * event-msw.c (mswindows_handle_paint):
13204         * event-msw.c (output_alt_keyboard_state):
13205         * event-msw.c (mswindows_wnd_proc):
13206         * event-msw.c (vars_of_event_mswindows):
13207         Comment about problems with ignored-expose.
13208         Define mswindows-debug-events; not really implemented.
13209
13210         * frame-msw.c (mswindows_init_frame_1):
13211         random cleanups.
13212
13213         * glyphs-msw.c:
13214         * glyphs-msw.c (begin_defer_window_pos):
13215         * glyphs-msw.c (mswindows_unmap_subwindow):
13216         * glyphs-msw.c (mswindows_map_subwindow):
13217         * glyphs-msw.c (mswindows_resize_subwindow):
13218         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13219
13220         * glyphs.c (make_image_instance_1):
13221         Fix crash.
13222
13223         * gutter.c (Fredisplay_gutter_area):
13224         Use new begin/end methods.
13225
13226         * lisp.h (Dynarr_new2):
13227         New creation fun.
13228
13229         * redisplay-msw.c:
13230         * redisplay-msw.c (mswindows_frame_output_begin):
13231         * redisplay-msw.c (mswindows_frame_output_end):
13232         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13233         New begin/end methods -- handle DeferWindowPos.
13234
13235         * redisplay-output.c (redisplay_move_cursor):
13236         * redisplay-output.c (redraw_cursor_in_window):
13237         * redisplay-output.c (redisplay_update_line):
13238         * redisplay-output.c (redisplay_output_window):
13239         New begin/end methods.
13240
13241         * redisplay-tty.c:
13242         * redisplay-tty.c (tty_frame_output_begin):
13243         * redisplay-tty.c (tty_frame_output_end):
13244         * redisplay-tty.c (console_type_create_redisplay_tty):
13245         New begin/end methods.
13246
13247         * redisplay-x.c:
13248         * redisplay-x.c (x_window_output_begin):
13249         * redisplay-x.c (x_window_output_end):
13250         * redisplay-x.c (console_type_create_redisplay_x):
13251         New begin/end methods.
13252
13253         * redisplay.c (redisplay_frame):
13254         * redisplay.c (Fredisplay_echo_area):
13255         New begin/end methods.
13256         use MAYBE_DEVMETH for clear_frame; it may not exist.
13257
13258         * window.h (WINDOW_XFRAME):
13259         WINDOW_XFOO macros -- get locale and decode struct pointer.
13260
13261
13262 2000-05-12  Ben Wing  <ben@xemacs.org>
13263
13264         * emacs.c:
13265         * emacs.c (ensure_no_quitting_from_now_on):
13266         * emacs.c (fatal_error_signal):
13267         * emacs.c (mswindows_handle_hardware_exceptions):
13268         * emacs.c (main):
13269         * emacs.c (Fkill_emacs):
13270         * emacs.c (shut_down_emacs):
13271         * emacs.c (assert_failed):
13272         various improvements in fatal error handling.
13273
13274         * eval.c:
13275         move preparing_for_armageddon to emacs.c.
13276
13277         * lisp.h:
13278         declare fatal_error_in_progress.
13279
13280         * print.c:
13281         * print.c (std_handle_out_external):
13282         * print.c (std_handle_out_va):
13283         * print.c (stderr_out):
13284         * print.c (stdout_out):
13285         use console under mswin when no standard output.
13286         don't do code conversion during fatal error.
13287
13288         * scrollbar.c (Fscrollbar_page_up):
13289         * scrollbar.c (Fscrollbar_page_down):
13290         fix missing else.  reindent.
13291
13292 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13293
13294         Emergency fix.
13295
13296         * glyphs.h (GLYPH_CACHEL_DESCENT):
13297         (GLYPH_CACHEL_DESCENT):
13298         (GLYPH_CACHEL_DESCENT):
13299         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13300         used in case these are inline functions.
13301         Use more absurd values to error check.
13302
13303         include window.h for error check functions.
13304
13305 2000-05-11  Ben Wing  <ben@xemacs.org>
13306
13307         * cmdloop.c (Freally_early_error_handler):
13308         Display message box under windows; otherwise, message will disappear
13309         before it can be viewed.
13310
13311         * console-msw.c:
13312         * console-msw.c (Fmswindows_message_box):
13313         * console-msw.c (FROB):
13314         * console-msw.c (syms_of_console_mswindows):
13315         Define new fun `mswindows-message-box'.
13316         #### I will merge this into `popup-dialog-box'; just give me
13317         a bit of time.
13318
13319         * general.c:
13320         * general.c (syms_of_general):
13321         Some new symbols used in `mswindows-message-box'.
13322
13323         * glyphs.c:
13324         * glyphs.c (Fset_image_instance_property):
13325         put warning in this fun.
13326
13327         * glyphs.h:
13328         * glyphs.h (GLYPH_CACHEL_WIDTH):
13329         * glyphs.h (GLYPH_CACHEL_ASCENT):
13330         * glyphs.h (GLYPH_CACHEL):
13331         * glyphs.h (GLYPH_CACHEL_GLYPH):
13332         define error-checking versions to try to catch a bug i've seen --
13333         redisplay gets in an infinite loop because the glyph width of the
13334         continuation glyph is 65535.
13335
13336         * lisp.h:
13337         Extern message-box stuff.
13338
13339         * window.c (allocate_window):
13340         * window.c (make_dummy_parent):
13341         * window.c (Fset_window_configuration):
13342         Use EQUAL not EQ for subwindow caches to make them work a bit
13343         better. (Something is still very broken.)
13344
13345
13346 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13347
13348         * glyphs.c (image_instantiate): Suppress gcc warnings.
13349         (Fmake_image_instance): Fix doc string.
13350         * specifier.c (Fmake_specifier): Ditto.
13351
13352 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13353
13354         * paths.h.in (PATH_LOCK): Removed.
13355         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13356         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13357
13358 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13359
13360         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13361         Document (featurep '(and xemacs 21.02)).
13362
13363 2000-05-09  Ben Wing  <ben@xemacs.org>
13364
13365         * buffer.c (complex_vars_of_buffer):
13366         update modeline-format doc.
13367
13368         * device.h:
13369         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13370
13371         * emacs.c:
13372         timeline of all released versions of Emacs, for use in creating
13373         authorship comments and in synching up.
13374
13375         * glyphs-widget.c (image_instantiator_buttons):
13376         * glyphs-widget.c (image_instantiator_edit_fields):
13377         * glyphs-widget.c (image_instantiator_combo_box):
13378         * glyphs-widget.c (image_instantiator_scrollbar):
13379         * glyphs-widget.c (image_instantiator_progress_guage):
13380         * glyphs-widget.c (image_instantiator_tree_view):
13381         * glyphs-widget.c (image_instantiator_tab_control):
13382         * glyphs-widget.c (image_instantiator_labels):
13383         * glyphs-widget.c (image_instantiator_layout):
13384         * glyphs-widget.c (image_instantiator_native_layout):
13385         rename decode_domain method to governing_domain.
13386
13387         * glyphs.c:
13388         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13389         * glyphs.c (add_entry_to_device_ii_format_list):
13390         make sure we don't put an entry more than once into the list.
13391         * glyphs.c (check_instance_cache_mapper):
13392         *************************************************************
13393         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13394         HAVE BEEN GETTING.
13395         *************************************************************
13396         * glyphs.c (get_image_instantiator_governing_domain):
13397         clean up, expand on new concept of governing domain.
13398         * glyphs.c (instantiate_image_instantiator):
13399         * glyphs.c (allocate_image_instance):
13400         use governing_domain instead of cache_domain in naming.
13401         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13402         * glyphs.c (make_image_instance_1):
13403         * glyphs.c (Fmake_image_instance):
13404         allow for any domain (not just device), and process the
13405         governing domain correctly.  very big doc fix.
13406         * glyphs.c (Fimage_instance_domain):
13407         new primitive, to retrieve the governing domain of an image instance.
13408         * glyphs.c (image_instantiate):
13409         use new governing_domain stuff.  this fixes a crash you could get
13410         by instantiating certain widget glyphs in frame locales. (should
13411         signal an error instead of crashing.)
13412         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13413         * glyphs.c (Fglyphp): clean up doc.
13414         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13415         * glyphs.c (syms_of_glyphs):
13416         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13417         * glyphs.c (image_instantiator_format_create): add some comments about
13418         bogus code.
13419         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13420         for current-display-table. (Apparently Hrjove implemented in 1998 a
13421         design I wrote up in 1996, but didn't update the doc string.)
13422
13423         * glyphs.h: clean up a doc string.
13424         * glyphs.h (governing_domain):
13425         * glyphs.h (struct image_instantiator_methods):
13426         changes for governing_domain stuff.
13427
13428         * gutter.c:
13429         * gutter.c (Fgutter_specifier_p):
13430         * gutter.c (Fgutter_size_specifier_p):
13431         * gutter.c (Fgutter_visible_specifier_p):
13432         * objects.c:
13433         * objects.c (Fcolor_specifier_p):
13434         * objects.c (Ffont_specifier_p):
13435         * objects.c (Fface_boolean_specifier_p):
13436         doc strings moved to make-*-specifier.
13437
13438         * redisplay.c (add_disp_table_entry_runes_1):
13439         * redisplay.c (generate_fstring_runes):
13440         * redisplay.c (screen):
13441         add random comments and doc strings.
13442
13443         * specifier.c:
13444         * specifier.c (Fmake_specifier):
13445         major overhaul of this doc string.
13446
13447         * specifier.c (Fvalid_specifier_domain_p):
13448         comment about the bogosity of image instances being domains.
13449         * specifier.c (decode_domain):
13450         now non-static, used in glyphs.c.
13451         * specifier.c (specifier_instance):
13452         comment about the bogosity of image instances being domains.
13453         * specifier.c (Fgeneric_specifier_p):
13454         move doc string to make-generic-specifier.
13455         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13456         rebackslashify.
13457
13458         * specifier.h:
13459         * specifier.h (DOMAIN_FRAME):
13460         * specifier.h (DOMAIN_LIVE_P):
13461         * specifier.h (DOMAIN_XDEVICE):
13462         rebackslashify.
13463         add comments about problems with these macros.
13464         prototype for decode_domain.
13465
13466         * toolbar.c:
13467         * toolbar.c (Ftoolbar_specifier_p):
13468         move doc string to `make-toolbar-specifier'.
13469
13470         * window.c (window_unmap_subwindows_cache_mapper):
13471         *************************************************************
13472         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13473         HAVE BEEN GETTING.
13474         *************************************************************
13475
13476 2000-05-09  Andy Piper  <andy@xemacs.org>
13477
13478         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13479
13480         * window.c (Fset_window_configuration): reset the frame subwindow
13481         cache and re-initialize the window subwindow caches.
13482
13483         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13484
13485 2000-05-09  Ben Wing  <ben@xemacs.org>
13486
13487         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13488         DWORD.
13489
13490 2000-04-26  Mike Woolley  <mike@bulsara.com>
13491
13492         * ntheap.c: Changed recreate_heap to limit the amount reserved
13493         for the heap to that which is actually available. Also now
13494         displays a message box (with some dignostics) in the event that
13495         it still can't start.
13496
13497 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13498
13499         * callproc.c (Fold_call_process_internal): GCPRO path
13500
13501 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13502
13503         Patch by Bill Perry.
13504
13505         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13506         back data instead of #ifdef.
13507         (Fscrollbar_page_down): ditto.
13508
13509 2000-05-07  Ben Wing  <ben@xemacs.org>
13510
13511         * buffer.h:
13512         Kludge for defining Qmswindows_tstr.
13513
13514         * nt.c:
13515         * nt.c (open_input_file):
13516         * nt.c (open_output_file):
13517         * nt.c (rva_to_section):
13518         * nt.c (mswindows_executable_type):
13519         Move all memory-mapped-file routines here (some were in unexnt.c,
13520         which is bad because they are used by process-nt.c, and unexnt
13521         won't be around when portable dumping).  Synched the above routines
13522         with FSF 20.6.
13523
13524         * nt.h:
13525         Removed ifdef'd out bogus code.
13526         Fixed some prototypes.
13527
13528         * nt.h (file_data):
13529         * nt.h (OFFSET_TO_RVA):
13530         * nt.h (RVA_TO_OFFSET):
13531         * nt.h (RVA_TO_PTR):
13532         Moved the memory-mapped-file structures, macros and prototypes
13533         here, to parallel nt.c.  ntheap.h should really be removed
13534         entirely, and it's a non-portable-dumper specific file.
13535
13536         * ntheap.h (round_to_next):
13537         Moved the memory-mapped-file structures, macros and prototypes
13538         to nt.h.
13539
13540         * ntproc.c (compare_env):
13541         Moved rva_to_section and mswindows_executable_type to nt.c.
13542         Moved compare_env to process-nt.c.
13543         ntproc.c will die, one day.
13544
13545         * ntproc.c (sys_spawnve):
13546         Account for win32_ -> mswindows_.
13547
13548         * process-nt.c:
13549         * process-nt.c (struct nt_process_data):
13550         * process-nt.c (ensure_console_window_exists):
13551         * process-nt.c (compare_env):
13552         * process-nt.c (nt_create_process):
13553         * process-nt.c (nt_kill_process_by_pid):
13554         * process-nt.c (syms_of_process_nt):
13555         * process-nt.c (vars_of_process_nt):
13556         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13557         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13558         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13559         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13560         Move compare_env here from ntproc.c.
13561
13562         * process.c (Fprocess_send_region):
13563         Takes an optional fourth argument, BUFFER, which should fix some
13564         problems with call-process.
13565
13566         * syscommctrl.h:
13567         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13568
13569         * syswindows.h:
13570         Move ICC_BAR_CLASSES to syscommctrl.h.
13571         Add preliminary macros for MSWindows/Mule.  More to come.
13572
13573         * unexnt.c:
13574         * unexnt.c (unexec):
13575         open_output_file moved to nt.c.
13576
13577
13578 2000-05-05  Andy Piper  <andy@xemacs.org>
13579
13580         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13581         instance from the frame cache also since GC may catch up too late
13582         to make frame deletion sane.
13583
13584 2000-05-04  Andy Piper  <andy@xemacs.org>
13585
13586         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13587         (x_finalize_image_instance): ungcpro on deletion.
13588
13589         * glyphs.c (image_instantiator_format_create): give pointers a
13590         query geometry method so that the geometry is at least set.
13591
13592         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13593         initialize layouts if using widgets.
13594
13595 2000-05-03  Andy Piper  <andy@xemacs.org>
13596
13597         * nt.c: remove bogus reference to sysmmsystem.h
13598
13599         * gui-x.c (popup_selection_callback): fix no selection abort.
13600
13601 2000-05-02  Andy Piper  <andy@xemacs.org>
13602
13603         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13604         (mswindows_widget_instantiate): ditto.
13605
13606         * glyphs-widget.c (initialize_widget_image_instance): initialize
13607         children correctly.
13608         (widget_instantiate): cope with children and items in the same
13609         instance.
13610
13611         * glyphs.c (mark_image_instance): cope with children as a first
13612         class member.
13613         (image_instance_equal): ditto.
13614         (image_instance_hash): ditto.
13615         (image_instance_changed): ditto.
13616
13617 2000-04-30  Andy Piper  <andy@xemacs.org>
13618
13619         * glyphs.c (subwindow_query_geometry): new function. Return some
13620         defaults.
13621         (subwindow_instantiate): don't assign dimensions if none have been
13622         given.
13623         (image_instantiator_format_create): add subwindow_query_geometry.
13624         (print_image_instance): cope with layouts as widgets.
13625
13626 2000-04-29  Andy Piper  <andy@xemacs.org>
13627
13628         * frame.c (delete_frame_internal): call
13629         free_frame_subwindow_instance_cache so that all subwindows are
13630         finalized before their parent.
13631         (mark_frame): remove subwindow_cachels.
13632         (Fmake_frame): remove subwindow_cachel manipulation.
13633         (allocate_frame_core): subwindow_instance_cache is a weak list.
13634         (delete_frame_internal): set subwindow_instance_cache to nil.
13635
13636         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13637         finalization safe.
13638         (mswindows_finalize_image_instance): use the device
13639         not the domain as the domain may have died already.
13640
13641         * glyphs-x.c (x_finalize_image_instance): ditto.
13642         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13643         HEIGHT.
13644
13645         * redisplay-output.c (redisplay_unmap_subwindows): update for
13646         subwindow instance cache as a weak list.
13647         (redisplay_unmap_subwindows_maybe): ditto.
13648         (redisplay_unmap_subwindows_except_us): ditto.
13649
13650         * glyphs.c (unmap_subwindow): error checking will check the domain
13651         so don't deal with it here. Don't use cachels anymore.
13652         (map_subwindow): ditto.
13653         (update_subwindow_cachel_data): remove old accessor names.
13654         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13655         (Fresize_subwindow): don't update cachel.
13656         (mark_subwindow_cachels):
13657         (update_subwindow_cachel_data):
13658         (add_subwindow_cachel):
13659         (get_subwindow_cachel_index):
13660         (update_subwindow_cachel):
13661         (reset_subwindow_cachels):
13662         (mark_subwindow_cachels_as_not_updated): deleted.
13663         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13664         subwindow instance to the frame cache.
13665         (find_matching_subwindow): update for subwindow instance cache as
13666         a weak list.
13667         (update_widget_instances): ditto.
13668         (image_instance_type_to_mask):inlined.
13669         (free_frame_subwindow_instance_cache): new function. finalize all
13670         subwindows that are instantiated.
13671
13672         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13673         of cachel information.
13674         (IMAGE_INSTANCE_DISPLAY_X):
13675         (IMAGE_INSTANCE_DISPLAY_Y):
13676         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13677         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13678         (XIMAGE_INSTANCE_DISPLAY_X):
13679         (XIMAGE_INSTANCE_DISPLAY_Y):
13680         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13681         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13682         remove subwindow_cachel structure and function references.
13683         (image_instance_type_to_mask): inline from glyphs.c
13684
13685         * redisplay.c (redisplay_frame): remove subwindow_cachel
13686         references.
13687
13688         * frame.h (struct frame): remove subwindow_cachels.
13689         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13690
13691         * frameslots.h: add subwindow_instance_cache.
13692
13693         * window.c (replace_window): check subwindow cache of replacement.
13694         (window_unmap_subwindows_cache_mapper):
13695         (window_unmap_subwindows): new functions. Unmap all subwindows
13696         cached on this window.
13697         (mark_window_as_deleted): unmap all subwindows.
13698
13699 2000-04-27  Andy Piper  <andy@xemacs.org>
13700
13701         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13702
13703         * glyphs-widget.c (widget_layout): return something.
13704         (layout_layout): return something. Fail if not initialized.
13705         (layout_query_geometry): ditto.
13706         (image_instantiator_native_layout): new function. Initialized the
13707         native layout type.
13708         (widget_instantiate): don't do layout stuff here.
13709
13710         * glyphs.c (instantiate_image_instantiator): reorded calling or
13711         instantiate and post_instantiate with layout in between.
13712         (image_instance_layout): be more selective about deciding whether
13713         the layout has been done or not.
13714
13715         * glyphs.h (struct image_instantiator_methods): return a value
13716         from layout_method.
13717
13718 2000-04-26  Andy Piper  <andy@xemacs.org>
13719
13720         * glyphs.c (allocate_image_instance): make initial width and
13721         height unspecified. Set initialized to 0.
13722
13723         * syscommctrl.h new file. Encapsulates commctrl.h.
13724
13725         * syswindows.h new file. Encapsulates windows.h.
13726
13727         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13728         * nt.c: ditto.
13729         * console-msw.h: ditto.
13730
13731         * redisplay-tty.c (tty_output_display_block): remove layout references.
13732
13733         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13734         window handle rather than just the frame.
13735
13736         * glyphs.c (mark_image_instance): remove layout references.
13737         (print_image_instance): ditto.
13738         (image_instance_equal): ditto.
13739         (image_instance_hash): ditto.
13740         (decode_image_instance_type): ditto.
13741         (encode_image_instance_type): ditto.
13742         (image_instantiate): ditto.
13743         (allocate_glyph): ditto.
13744         (Fimage_instance_height): ditto.
13745         (Fimage_instance_width): ditto.
13746         (update_subwindow): ditto.
13747
13748         * redisplay-x.c (x_output_display_block): recode for layouts as
13749         widgets.
13750
13751         * redisplay-output.c (redisplay_output_layout): recode for layouts
13752         as widgets.
13753         (compare_runes): remove layout references.
13754
13755         * redisplay-msw.c (mswindows_output_display_block): recode for
13756         layouts as widgets.
13757
13758         * glyphs-widget.c (image_instantiator_layout): remove
13759         layout_possible_dest_types.
13760         (layout_possible_dest_types): deleted.
13761
13762         * glyphs.h (image_instance_type): remove layout references.
13763         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13764         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13765         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13766
13767 2000-04-25  Andy Piper  <andy@xemacs.org>
13768
13769         * glyphs-widget.c (image_instantiator_buttons):
13770         (image_instantiator_edit_fields):
13771         (image_instantiator_combo_box):
13772         (image_instantiator_scrollbar):
13773         (image_instantiator_progress_guage):
13774         (image_instantiator_tree_view):
13775         (image_instantiator_tab_control):
13776         (image_instantiator_labels):
13777         (image_instantiator_layout): call default post_instantiate method.
13778         (widget_post_instantiate): new function. Simply lays out the
13779         widgets.
13780
13781         * glyphs.h (struct image_instantiator_methods): add
13782         post_instantiate method.
13783
13784         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13785         method calls.
13786
13787 2000-04-23  Andy Piper  <andy@xemacs.org>
13788
13789         * glyphs.h (struct image_instantiator_methods): add
13790         decode_domain_method.
13791         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13792         derived from the domain.
13793         (IMAGE_INSTANCE_FRAME): new accessor.
13794         (XIMAGE_INSTANCE_FRAME): ditto.
13795
13796         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13797         instead of _SUBWINDOW_FRAME.
13798         (finalize_image_instance): ditto.
13799         (Fimage_instance_foreground): ditto.
13800         (Fimage_instance_background): ditto.
13801         (image_instantiate): ditto.
13802         (update_subwindow_cachel): ditto.
13803         (update_subwindow): ditto.
13804         (unmap_subwindow): ditto.
13805         (map_subwindow): ditto
13806         (subwindow_instantiate): ditto.
13807         * glyphs-msw.c (mswindows_update_widget): ditto.
13808         (mswindows_progress_gauge_instantiate): ditto.
13809         (mswindows_tab_control_update): ditto.
13810         * glyphs-x.c (x_update_widget): ditto.
13811         (x_widget_instantiate): ditto.
13812         (x_tab_control_instantiate): ditto.
13813         (x_tab_control_update): ditto.
13814         * event-msw.c (mswindows_wnd_proc): ditto
13815
13816         * glyphs-widget.c (image_instantiator_layout): use
13817         subwindow_decode_domain.
13818         (image_instantiator_buttons): ditto.
13819         (image_instantiator_edit_fields): ditto.
13820         (image_instantiator_combo_box): ditto.
13821         (image_instantiator_scrollbar): ditto.
13822         (image_instantiator_progress_guage): ditto.
13823         (image_instantiator_tree_view): ditto.
13824         (image_instantiator_tab_control): ditto.
13825         (image_instantiator_labels): ditto.
13826         (image_instantiator_layout): ditto.
13827
13828         * glyphs.c: add instance error checking to many functions.
13829         (instantiate_image_instantiator): decode device from cache_domain.
13830         (image_instantiate): partially rewrite by using
13831         decode_image_instantiator_domain to determine what domain the
13832         instance needs to be cached in.
13833         (decode_image_instantiator_domain): new function. Determine what
13834         domain the image needs to be cached in.
13835         (check_window_subwindow_cache): new error checking function.
13836         (check_instance_cache_mapper): ditto.
13837         (check_image_instance_structure): ditto.
13838         (subwindow_decode_domain): new function. Encodes a window as a
13839         subwindow's cache domain.
13840         (image_instantiator_format_create): use it for text and
13841         subwindows.
13842
13843 2000-04-21  Andy Piper  <andy@xemacs.org>
13844
13845         * glyphs.c (image_instance_device): new function.
13846         (image_instance_frame): new function.
13847         (image_instance_window): new function.
13848         (image_instance_live_p): new function.
13849
13850         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13851         cache to nil.
13852
13853         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13854         (IMAGE_INSTANCE_DOMAIN): new accessor.
13855         (XIMAGE_INSTANCE_DOMAIN): ditto.
13856
13857         * glyphs-x.c (x_finalize_image_instance): device->domain.
13858
13859         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13860         (mswindows_finalize_image_instance): ditto.
13861
13862         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13863         (gif_instantiate): ditto.
13864         (png_instantiate): ditto.
13865         (tiff_instantiate): ditto.
13866
13867         * glyphs.c (instantiate_image_instantiator): use domain rather
13868         than device.
13869         (mark_image_instance): device -> domain.
13870         (print_image_instance): ditto.
13871         (finalize_image_instance): ditto.
13872         (image_instance_equal): ditto.
13873         (allocate_image_instance): ditto.
13874         (Fcolorize_image_instance): ditto.
13875         (query_string_geometry): ditto.
13876         (image_instantiate): ditto
13877         (query_string_font): ditto.
13878         (image_instantiate): ditto.
13879         (update_subwindow): ditto.
13880         (unmap_subwindow): ditto.
13881         (map_subwindow): ditto.
13882         (subwindow_instantiate): ditto.
13883
13884         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13885         (DOMAIN_FRAME): ditto.
13886         (DOMAIN_WINDOW): ditto.
13887         (DOMAIN_LIVE_P): ditto.
13888         (XDOMAIN_DEVICE): ditto.
13889         (XDOMAIN_FRAME): ditto.
13890         (XDOMAIN_WINDOW): ditto.
13891
13892         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13893         a valid specifier domain.
13894
13895 2000-04-19  Andy Piper  <andy@xemacs.org>
13896
13897         * glyphs-widget.c (syms_of_glyphs_widget): remove
13898         widget-callback-current-channel.
13899         (vars_of_glyphs_widget): ditto.
13900         * glyphs.h: ditto
13901
13902         * gui.c (get_gui_callback): revert to previous behaviour.
13903
13904 2000-04-18  Andy Piper  <andy@xemacs.org>
13905
13906         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13907         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13908         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13909
13910         * glyphs.c (image_instance_equal): add margin_width.
13911         (image_instance_hash): ditto.
13912
13913         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13914         (layout_query_geometry): ditto.
13915         (layout_layout): ditto.
13916         (syms_of_glyphs_widget): add margin-width.
13917         (image_instantiator_layout): allow margin-width.
13918
13919         * glyphs.c (update_widget_instances): make a normal function.
13920         (syms_of_glyphs): remove Qupdate_widget_instances.
13921         * glyphs.h: ditto.
13922
13923         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13924         so that we don't corrupt ideas about the last event or
13925         command. Remove widget-callback-current-channel fiddling.
13926         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13927
13928 2000-05-01  Martin Buchholz <martin@xemacs.org>
13929
13930         * XEmacs 21.2.33 is released.
13931
13932 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13933
13934         * make-src-depend: Allow dots in header file name.
13935
13936 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13937
13938         * mule-charset.h (struct charset_lookup): Add
13939         next_allocated_1_byte_leading_byte and
13940         next_allocated_2_byte_leading_byte.
13941         * mule-charset.c: Move above two variables so that those values
13942         will be dumped.
13943
13944 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13945
13946         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13947         when string length is zero.
13948         (find_charsets_in_emchar_string): Ditto.
13949
13950 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13951
13952         * lisp.h: extern Qdialog and Qmenubar.
13953
13954         * gui-x.c: added events.h.
13955                 also fixed typo which made the file uncompilable.
13956
13957         * general.c: Added Qmenubar and Qdialog
13958
13959 2000-04-28  Ben Wing  <ben@xemacs.org>
13960
13961         * frame-msw.c (mswindows_init_frame_1):
13962         * frame-msw.c (mswindows_mark_frame):
13963         * event-msw.c (mswindows_enqueue_dispatch_event):
13964         * console-msw.h:
13965         * console-msw.h (struct mswindows_frame):
13966         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13967         there are now three hash tables for callbacks.
13968         mswindows_enqueue_dispatch_event is no longer static.
13969
13970         * dialog-x.c (maybe_run_dbox_text_callback):
13971         * dialog-x.c (dbox_descriptor_to_widget_value):
13972         switch to new cons3 form for callbacks.
13973
13974         * glyphs-msw.c (mswindows_register_gui_item):
13975         * glyphs-msw.c (mswindows_widget_instantiate):
13976         * glyphs-msw.c (add_tree_item):
13977         * glyphs-msw.c (add_tab_item):
13978         new image instance parameter, so it can be passed to callback-ex.
13979         respect :callback-ex as well as :callback.
13980
13981         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13982         add :callback-ex.
13983
13984         * glyphs.c (print_image_instance):
13985         prettify, e.g. now prints widget type.
13986
13987         * gui-x.h:
13988         certain funs have new image instance parameter.
13989
13990         * gui.c:
13991         * gui.c (get_gui_callback):
13992         * gui.c (gui_item_add_keyval_pair):
13993         * gui.c (gui_item_init):
13994         * gui.c (gui_add_item_keywords_to_plist):
13995         * gui.c (mark_gui_item):
13996         * gui.c (gui_item_hash):
13997         * gui.c (gui_item_equal):
13998         * gui.c (copy_gui_item):
13999         * gui.c (syms_of_gui):
14000         recognize callback-ex in a number of places.
14001         also, fix the annoying "can't get out of yes-no dialog" bug.
14002
14003         * gui.h:
14004         * gui.h (struct Lisp_Gui_Item):
14005         recognize callback-ex in a number of places.
14006
14007         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14008         new parameter in button_item_to_widget_value.
14009
14010         * glyphs-x.c (x_update_widget):
14011         * glyphs-x.c (x_button_instantiate):
14012         * glyphs-x.c (x_button_update):
14013         * glyphs-x.c (x_progress_gauge_instantiate):
14014         * glyphs-x.c (x_edit_field_instantiate):
14015         * glyphs-x.c (x_combo_box_instantiate):
14016         * glyphs-x.c (x_tab_control_instantiate):
14017         * glyphs-x.c (x_label_instantiate):
14018         new image instance parameter in various places.
14019
14020         * event-Xt.c:
14021         * event-Xt.c (enqueue_Xt_dispatch_event):
14022         this fun gets exported.
14023
14024         * gui-msw.c:
14025         * gui-msw.c (mswindows_handle_gui_wm_command):
14026         handle both :callback and :callback-ex, and generate our own
14027         event because it's one of the callback-ex arguments.
14028
14029         * gui-x.c:
14030         * gui-x.c (popup_selection_callback):
14031         handle both :callback and :callback-ex, and generate our own
14032         event because it's one of the callback-ex arguments.
14033         * gui-x.c (button_item_to_widget_value):
14034         * gui-x.c (gui_items_to_widget_values_1):
14035         * gui-x.c (gui_item_children_to_widget_values):
14036         * gui-x.c (gui_items_to_widget_values):
14037         new image instance parameter in various places.
14038
14039         * fns.c (Freplace_list):
14040         fix small typo in doc string.
14041
14042         * lisp.h:
14043         declare enqueue_Xt_dispatch_event.
14044
14045 2000-04-28  Ben Wing  <ben@xemacs.org>
14046
14047         * buffer.c:
14048         * buffer.c (Frecord_buffer):
14049         * buffer.c (syms_of_buffer):
14050         delete record-buffer-hook.
14051
14052         * fns.c:
14053         * fns.c (Freplace_list):
14054         * fns.c (syms_of_fns):
14055         new primitive replace-list.
14056
14057         * frameslots.h:
14058         slot for old buffer-alist.
14059
14060         * lisp.h:
14061         exfun replace-list.
14062
14063         * redisplay.c:
14064         * redisplay.c (redisplay_frame):
14065         * redisplay.c (syms_of_redisplay):
14066         * redisplay.c (vars_of_redisplay):
14067         new hook buffer-list-changed-hook.
14068         call it.
14069
14070 2000-04-27  Ben Wing  <ben@xemacs.org>
14071
14072         * extents.h: extern in_modeline_generation.
14073
14074         * redisplay.c (generate_formatted_string_db): set
14075         in_modeline_generation.
14076
14077         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14078         flags if in modeline generation.  otherwise frame-modified-tick
14079         is ticked far too often.
14080         Declare in_modeline_generation.
14081
14082 2000-04-26  Ben Wing  <ben@xemacs.org>
14083
14084         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14085         option.
14086         (vars_of_emacs): add quick-build as an error-checking option.
14087         A bit kludgy, but there doesn't seem much point in creating
14088         a real var for this.
14089
14090         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14091
14092 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14093
14094         * redisplay.h (struct display_line): Add a new variable,
14095         line_continuation.
14096
14097         * redisplay.c (create_text_block): Set dl->line_continuation if
14098         the line continues.
14099         (create_string_text_block): Ditto.
14100         (regenerate_window_incrementally): Use line_continuation instead
14101         of searching continuation glyph.
14102         (add_margin_runes): Call add_glyph_rune.
14103         (add_glyph_rune): Handle margin glyph.
14104
14105 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14106
14107         * filelock.c (fill_in_lock_file_name):
14108         ANSIfy.
14109         Check for IS_ANY_SEP instead of '/'.
14110         (lock_file_1):
14111         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14112         Never check errno without first seeing that system call failed.
14113         (unlock_file): Add GCPRO.
14114         (Flock_buffer): Fix docstring.
14115         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14116
14117 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14118
14119         * sysdep.c (get_pty_max_bytes):
14120         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14121         strings longer than 252 bytes.
14122
14123         * md5.c: Unconditionally include ANSI header <limits.h>
14124
14125         * glyphs-x.c (convert_EImage_to_XImage):
14126         * lisp-union.h (union Lisp_Object):
14127         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14128
14129 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14130
14131         * filelock.c (current_lock_owner): Remove unused variable o, p.
14132
14133 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14134
14135         * callint.c: Remove multiply defined symbol Qlet
14136         (syms_of_callint): ditto.
14137
14138 2000-04-14  Andy Piper  <andy@xemacs.org>
14139
14140         * general.c (syms_of_general): add last-command, this-command, let
14141         and funcall.
14142
14143         * lisp.h: declare various symbols.
14144
14145         * glyphs.h: declare Qwidget_callback_current_channel;
14146
14147         * glyphs-widget.c (syms_of_glyphs_widget): add
14148         Qgui_callback_current_channel.
14149         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14150
14151         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14152         widget-callback-current-channel when invoking the interactive
14153         arg. Also bind last-command and next-command when invoking the
14154         widget updates.
14155         * gui-x.c (popup_selection_callback): ditto.
14156
14157         * gui.c (get_gui_callback): massage args so that we are always
14158         calling eval. This allows us to add our own variable bindings
14159         outside.
14160
14161         * glyphs-x.c (x_button_instantiate): use
14162         gui_items_to_widget_values since this is GC safe.
14163         (x_progress_gauge_instantiate): ditto.
14164         (x_edit_field_instantiate): ditto.
14165         (x_label_instantiate): ditto.
14166
14167         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14168         (emacs_Xt_event_widget_focus_out): new function
14169         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14170         focus.
14171         (emacs_Xt_event_add_widget_actions): new function. add focus
14172         functions as actions.
14173         (init_event_Xt_late): use it.
14174
14175 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14176
14177         * event-stream.c (Fdispatch_event): Doc fix.
14178
14179 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14180
14181         * postgresql.c: Remove all references to PQsetenv*.
14182
14183         * postgresql.h: Remove references to PGsetenvHandler object.
14184         * lrecord.h (lrecord_type): Ditto.
14185
14186 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14187
14188         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14189         real_heigh and real_width members, and accessor macros for these.
14190
14191         * glyphs-msw.c (init_image_instance_geometry): New function.
14192         (init_image_instance_from_dibitmap): Use it.
14193         (mswindows_resource_instantiate): Use it.
14194         (init_image_instance_from_xbm_inline): Use it.
14195         (mswindows_initialize_image_instance_mask): Use real bitmap
14196         geometry.
14197         (mswindows_create_resized_bitmap): Ditto.
14198         (mswindows_create_resized_mask): Ditto.
14199
14200         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14201         and bitmap to their surface size.
14202
14203 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14204
14205         * process-unix.c (unix_send_process): Guard against process MIA
14206         after Faccept_process_output.
14207
14208 2000-04-11  Ben Wing  <ben@xemacs.org>
14209
14210         * eval.c (unbind_to_hairy): fix brokenness introduced by
14211         nanosecond speed improvements.
14212
14213 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14214
14215         * sunplay.c (init_device): To play sounds correctly, the device
14216         apparently needs to be initialized at least once by XEmacs.  Make
14217         it so.
14218
14219 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14220
14221         * redisplay.c (add_margin_runes): Add text image glyph
14222           handling.
14223
14224 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14225
14226         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14227         gcc is newer than 2.5.
14228
14229 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14230
14231         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14232
14233         * fns.c (size_bit_vector):
14234         * alloc.c (size_vector):
14235         (make_vector_internal):
14236         (make_bit_vector_internal):
14237         (sweep_bit_vectors_1):
14238         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14239
14240 2000-04-06  Andy Piper  <andy@xemacs.org>
14241
14242         * gmalloc.c (malloc): undo previous change.
14243         (malloc): ditto.
14244         (free): ditto.
14245         (realloc): ditto.
14246
14247 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14248
14249         * line-number.c (buffer_line_number): Revert to former version.
14250
14251 2000-04-06  Andy Piper  <andy@xemacs.org>
14252
14253         * gmalloc.c (malloc): add error checking.
14254         (malloc): ditto.
14255         (free): ditto.
14256         (realloc): ditto.
14257
14258         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14259         button_item_to_widget_value arg.
14260
14261         * glyphs-x.c (x_button_instantiate): add extra
14262         button_item_to_widget_value arg.
14263         (x_progress_gauge_instantiate): ditto.
14264         (x_edit_field_instantiate): ditto.
14265         (x_label_instantiate): ditto.
14266
14267         * gui-x.c (gui_items_to_widget_values_1): add extra
14268         button_item_to_widget_value arg.
14269         (button_item_to_widget_value): add extra menu_item_p arg.
14270
14271         * gui-x.h: change signature of button_item_to_widget_value.
14272
14273         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14274         button_item_to_widget_value arg.
14275
14276 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14277
14278         * buffer.h (struct buffer): auto_save_modified should be long.
14279
14280 2000-04-05  Andy Piper  <andy@xemacs.org>
14281
14282         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14283         type.
14284         (button_query_geometry): give a little more room so that athena
14285         buttons fit.
14286
14287 2000-04-05  Andy Piper  <andy@xemacs.org>
14288
14289         * faces.c (complex_vars_of_faces): The widget face should inherit
14290         the font of the gui-element face.
14291
14292 2000-04-04  Andy Piper  <andy@xemacs.org>
14293
14294         * glyphs-x.c (x_button_update): new function. unconditionally
14295         update a button's state when the instance is dirty.
14296         (image_instantiator_format_create_glyphs_x): add x_button_update.
14297         (x_widget_instantiate): remove old resize cruft.
14298
14299 2000-04-02  Andy Piper  <andy@xemacs.org>
14300
14301         * frame.c (change_frame_size_1): The introduction of gutters means
14302         that we need to allow 0 as a potential frame dimension.
14303
14304 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14305
14306         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14307         image glyph if allow_cursor.
14308         (add_hscroll_rune): Don't allow cursor to border glyph.
14309         (create_text_block): Ditto.
14310
14311         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14312         text not in buffer.
14313         (redisplay_output_layout): Call ensure_face_cachel_complete for
14314         text image glyph.
14315
14316
14317 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14318
14319         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14320
14321         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14322         not in buffer
14323
14324         * redisplay-tty.c (tty_output_display_block): Delete the routine
14325         for text image glyph
14326         * redisplay-x.c (x_output_display_block): ditto
14327         * redisplay-msw.c (mswindows_output_display_block): ditto
14328
14329 2000-02-02  Mike Alexander  <mta@arbortext.com>
14330
14331         Note: Some of these were committed by accident as part of other
14332         patches.
14333
14334         * regex.c (regex_compile): Avoid compiler warnings.
14335
14336         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14337
14338         * nt.h: Declare term_ntproc correctly.
14339
14340         * nt.c: Remove incorrect declaration of get_home_directory which
14341         is declared correctly in lisp.h.
14342
14343         * keymap.c (get_keyelt): Avoid compiler warnings.
14344         (raw_lookup_key_mapper): Avoid compiler warnings.
14345
14346         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14347
14348         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14349
14350         * filemode.c (mode_string): Avoid compiler warnings.
14351
14352         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14353         avoid warning.
14354
14355         * events-mod.h: Undef some things that winuser.h defines differently.
14356
14357         * data.c (Faset): Avoid compiler warnings.
14358
14359         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14360
14361 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14362
14363         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14364         Fall through to simple beep on error.
14365         Replace "extern" by real header file.
14366
14367         * linuxplay.c: Use nativesound.h
14368         (play_sound_data): Return error code. Be less verbose on error.
14369
14370         * sunplay.c: Use nativesound.h
14371         (play_sound_data): Return error code. Be less verbose on error.
14372
14373         * ntplay.c: Use nativesound.h
14374         (play_sound_data): Return fake error code
14375
14376         * sgiplay.c: Use nativesound.h
14377         (play_sound_data): Return error code
14378
14379         * hpplay.c: Use nativesound.h, partially implement
14380         new error code. Break compilation until finished.
14381         (play_sound_data): error code.
14382
14383         * nativesound.h (play_sound_file):
14384           (play_sound_data): Prototype in new header.
14385
14386 2000-03-31  Andy Piper  <andy@xemacs.org>
14387
14388         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14389         for toggle and radio buttons.
14390         (image_instantiator_buttons): use it.
14391
14392 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14393
14394         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14395         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14396         found. Scrollbar event probably belonged to some old config.
14397
14398 2000-03-31  Andy Piper  <andy@xemacs.org>
14399
14400         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14401         than 1.
14402         (initialize_widget_image_instance): default layout to
14403         LAYOUT_HORIZONTAL rather than 0.
14404         (widget_instantiate): reverse the item list at the end rather than
14405         every iteration.
14406         (layout_layout): re-code for the border text at the front of the
14407         item list rather than at the end.
14408         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14409         provided by the user.
14410         (widget_query_geometry): comment.
14411
14412 2000-03-30  Andy Piper  <andy@xemacs.org>
14413
14414         * glyphs-widget.c (image_instantiator_layout): allow standard
14415         widget keywords in layouts.
14416
14417         * gutter.c (output_gutter): cope with nil gutter contents.
14418
14419         * frame.c (Fset_frame_properties): add gutter docs.
14420
14421 2000-03-29  Andy Piper  <andy@xemacs.org>
14422
14423         * toolbar-msw.c (TBSTYLE_FLAT): add.
14424         (mswindows_output_toolbar): minor fiddling.
14425
14426 2000-03-29  Andy Piper  <andy@xemacs.org>
14427
14428         * gutter.c (output_gutter): force gutter size recalculation if
14429         what we are trying to display won't fit.
14430         (update_gutter_geometry): new function. A per-gutter version of
14431         update_frame_gutter_geometry.
14432         (update_frame_gutter_geometry): use it.
14433         (redraw_exposed_gutter): add extra debugging output.
14434
14435 2000-03-28  Mike Alexander  <mta@arbortext.com>
14436
14437         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14438         (pdump_file_unmap): Implement it on Windows
14439         (pdump_file_get): Save alocated handles for pdump_file_unmap
14440
14441 2000-03-28  Andy Piper  <andy@xemacs.org>
14442
14443         * gui.c (get_gui_callback): treat Quit specially.
14444
14445 2000-03-27  Andy Piper  <andy@xemacs.org>
14446
14447         * glyphs.c (image_instantiate): be careful to check in the same
14448         way we assigned.
14449
14450 2000-03-27  Didier Verna  <didier@xemacs.org>
14451
14452         * config.h.in: define the proper SMART_INCLUDE macro.
14453         handle renaming of `foo_h_path' to `foo_h_file'.
14454
14455         * database.c: ditto.
14456
14457         * emacs.c: ditto.
14458
14459         * linuxplay.c: ditto.
14460
14461         * terminfo.c: ditto.
14462
14463         * tooltalk.h: ditto.
14464
14465 2000-03-27  Andy Piper  <andy@xemacs.org>
14466
14467         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14468         gets updated whenever the face might have changed.
14469
14470 2000-03-26  Mike Alexander  <mta@arbortext.com>
14471
14472         * dumper.c (pdump_resource_free): Fix the comment.
14473
14474 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14475
14476         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14477
14478 2000-03-22  Mike Alexander  <mta@arbortext.com>
14479
14480         * dumper.c: Include Windows headers on Windows
14481         (pdump_resource_free): Add a body to the function
14482         (pdump_load): exe_name -> exe_path and add some comments.
14483
14484 2000-03-25  Mike Alexander  <mta@arbortext.com>
14485
14486         * gui.c (copy_gui_item_tree): Return a value in all cases
14487
14488 2000-03-21  Didier Verna  <didier@xemacs.org>
14489
14490         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14491         lwlib/config.h.in.
14492         (SMART_INCLUDE): new macro.
14493         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14494         the proper location.
14495
14496         * postgresql.c: use it.
14497
14498         * inline.c: ditto.
14499
14500 2000-03-24  Andy Piper  <andy@xemacs.org>
14501
14502         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14503         do this.
14504
14505 2000-03-24  Andy Piper  <andy@xemacs.org>
14506
14507         * redisplay-output.c (compare_runes): use image_instance_changed
14508         to detect changes. Do not depend on glyphs_changed, only depend on
14509         dirtiness.
14510          (redisplay_output_layout): add debug messages.
14511         (compare_runes): ditto.
14512
14513         * glyphs.h: declare new functions.
14514         (struct Lisp_Image_Instance): remove percent and associated
14515         accessors.
14516
14517         * gui.h: declare new copying functions.
14518
14519         * gui.c (copy_gui_item_tree): new function.
14520         (copy_gui_item): new function.
14521         (gui_item_id_hash): revert to standard hash.
14522         (gui_item_hash): ditto.
14523         (gui_item_hash_internal): deleted.
14524         (mark_gui_item): mark value.
14525         (gui_item_add_keyval_pair): add value.
14526         (gui_item_init): ditto.
14527         (gui_add_item_keywords_to_plist): ditto.
14528         (gui_item_equal): ditto.
14529         (syms_of_gui): add Q_value.
14530
14531         * glyphs-x.c (x_progress_gauge_update): use pending items and
14532         value for setting the state.
14533         (x_update_widget): don't set items from pending here.
14534
14535         * glyphs-widget.c (update_widget): update items here.
14536         (progress_gauge_set_property): use items for storing value. Put
14537         new value in pending items.
14538
14539         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14540         items for new value. Convert percent -> value.
14541         (mswindows_tab_control_update): don't update items here.
14542
14543         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14544         (update_subwindow): ditto.
14545         (image_instance_changed): new function. Compare hash values and
14546         past and present widget items.
14547         (image_instantiate): We more careful about where we instantiate
14548         things.
14549         (image_instantiate): add error checking.
14550
14551         * gutter.c (syms_of_gutter): use -hook.
14552
14553 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14554
14555         * console-tty.c (Fset_console_tty_input_coding_system): Use
14556         Qkeyboard.
14557         (Fset_console_tty_output_coding_system): Use Qterminal.
14558         (tty_init_console): Use Qkeyboard and Qterminal.
14559
14560 2000-03-21  Ben Wing  <ben@xemacs.org>
14561
14562         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14563         From Mike Alexander <mta@arbortext.com>.
14564
14565 2000-03-21  Ben Wing  <ben@xemacs.org>
14566
14567         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14568         process brokenness.  Proper implementation to come.
14569         * callproc.c:
14570         Rename call-process-internal to old-call-process-internal.
14571         New impl. in process.el.
14572
14573 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14574
14575         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14576
14577 2000-03-20  Andy Piper  <andy@xemacs.org>
14578
14579         * glyphs.c (full_list_hash): make hashes of the same elements in
14580         different orders return different values.
14581
14582 2000-03-20  Martin Buchholz <martin@xemacs.org>
14583
14584         * XEmacs 21.2.32 is released.
14585
14586 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14587
14588         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14589         (DFC_MALLOC_USE_CONVERTED_DATA):
14590         Add aliasing-safe casts to allow use with char* or unsigned char*
14591         lvalues.
14592
14593         * eldap.c (Fldap_open):
14594         (Fldap_search_basic):
14595         (Fldap_add):
14596         (Fldap_modify):
14597         Make C++-compilable.
14598         Make sure GCPRO'ed variables are initialized.
14599         Use temp variables to avoid repeated calls to Flength.
14600
14601 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14602
14603         * sysfile.h:
14604         Make sure PATH_MAX is always defined.
14605         Include limits.h for PATH_MAX.
14606         Deprecate use of MAXPATHLEN.
14607
14608 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14609
14610         * emacs.c: Add reinit_vars_of_fileio.
14611         * symsinit.h: Add reinit_vars_of_fileio.
14612         * fileio.c (reinit_vars_of_fileio): New.
14613         * fileio.c (Fmake_temp_name):
14614         Initialize temp_name random number from microseconds to make
14615         collisions even less likely.  Initialize always at process startup
14616         time.  (make-temp-name) used to return the same file name twice in
14617         a row when PDUMP.
14618         Random stylistic fiddling.
14619         Comment fixes.
14620
14621 2000-03-20  Andy Piper  <andy@xemacs.org>
14622
14623         * glyphs.c (image_instantiate): allow text glyphs to be
14624         instantiated in the minibuffer window.
14625
14626 2000-03-19  Andy Piper  <andy@xemacs.org>
14627
14628         * glyphs.c (image_instance_hash): be careful about which items we
14629         hash on.
14630
14631         * glyphs-widget.c (tab_control_set_property): record into pending
14632         items rather than the actual items.
14633
14634         * glyphs-x.c (x_update_widget): use pending items to update with.
14635
14636         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14637         to update with.
14638
14639         * glyphs.c (mark_image_instance): mark pending items.
14640
14641         * window.c (Fset_window_configuration): record the buffer.
14642         (Fselect_window): totally revert previous change which breaks many
14643         things.
14644
14645 2000-03-18  Andy Piper  <andy@xemacs.org>
14646
14647         * glyphs-msw.c (mswindows_tab_control_update): force selected
14648         item.
14649
14650         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14651         window domain cache, otherwise we get inconsistencies at
14652         startup. There is something fishy at startup which can lead to the
14653         minibuffer being the selected window when the gutter content is
14654         instantiated.
14655
14656         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14657         gcpros.
14658         (parse_gui_item_tree_children): ditto.
14659         (parse_gui_item_tree_item): ditto.
14660
14661         * glyphs.c (Fupdate_widget_instances): return something.
14662
14663 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14664
14665         * window.c (Fselect_window): Undo 2000-03-17 change.
14666
14667 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14668
14669         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14670         against v7.0 libraries.  Insta-coredump city until the postgres
14671         folks fix it.
14672
14673 2000-03-17  Andy Piper  <andy@xemacs.org>
14674
14675         * faces.c (complex_vars_of_faces): don't give the widget face an
14676         inherited background pixmap.
14677
14678         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14679         selected item.
14680
14681         * event-stream.c (Fdispatch_non_command_events): return something.
14682
14683         * gutter.c (output_gutter): use widget face.
14684         (clear_gutter): ditto.
14685
14686         * NEWS: adjust again.
14687
14688         * window.c (Fselect_window): make sure this runs to completion to
14689         avoid oddities with Fset_window_configuration.
14690         (Fcurrent_window_configuration): in general do not save the
14691         minibuffer as the selected window.
14692
14693         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14694
14695 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14696
14697         * emacs.c (Frunning_temacs_p): Revert previous patch.
14698         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14699
14700 2000-03-16  Andy Piper  <andy@xemacs.org>
14701
14702         * glyphs-x.c (x_tab_control_update): if no widget values then
14703         return.
14704
14705         * NEWS: update for new features.
14706
14707         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14708         synthetic event to the native system.
14709         (reinit_vars_of_event_Xt): set force_event_pending to
14710         emacs_Xt_force_event_pending.
14711
14712         * events.h (struct event_stream): add force_event_pending.
14713
14714         * specifier.c (recompute_one_cached_specifier_in_window): add
14715         comment.
14716
14717         * redisplay.c (redisplay_frame): don't call
14718         update_frame_subwindows. Reset subwindow cachels when
14719         subwindows_changed, removing this was an optimization too far.
14720
14721         * redisplay-output.c (compare_runes): reorganize so that we catch
14722         glyph changes when we want them. Set optimize_output when this
14723         would help layouts.
14724         (redisplay_output_layout): remove frame_really_changed, use
14725         optimize_output instead.
14726
14727         * redisplay-msw.c (mswindows_output_display_block): reset
14728         optimize_output after outputting a glyph.
14729         * redisplay-x.c (x_output_display_block): ditto.
14730         * redisplay-tty.c (tty_output_display_block): ditto.
14731
14732         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14733         functions.
14734         (gutter_specs_changed): do specific gutter positions.
14735         (top_gutter_specs_changed): new function. Only update the
14736         specified gutter specs.
14737         (bottom_gutter_specs_changed): ditto.
14738         (left_gutter_specs_changed): ditto.
14739         (right_gutter_specs_changed): ditto.
14740
14741         * gui.c (gui_item_hash_internal): new function, does a real hash.
14742         (gui_item_id_hash): use it.
14743         (gui_item_hash): hash the eval'ed gui_item.
14744
14745         * gui-x.c (popup_selection_callback): send an eval event to call
14746         Fupdate_widget_instances.
14747
14748         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14749         to call Fupdate_widget_instances.
14750
14751         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14752         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14753
14754         * glyphs.c: (update_frame_subwindows): deleted.
14755         (Fupdate_widget_instances): new function for updating the dirty
14756         state of widgets that might have changed.
14757         (syms_of_glyphs): add Qupdate_widget_instances.
14758         (full_list_hash): hash a list completely.
14759         (image_instance_hash): use it for items and properties.
14760
14761         * frame-msw.c (mswindows_size_frame_internal): remove unused
14762         variable.
14763
14764         * faces.h (struct face_cachel): fix comment.
14765
14766         * event-stream.c (Fdispatch_non_command_events): new
14767         function. Process non-command events, forcing an event cycle
14768         beforehand.
14769         (syms_of_event_stream): declare.
14770         (event_stream_force_event_pending): new function. Force an event
14771         on the native event queue so that an event cycle will occur next
14772         time we check.
14773
14774         * event-msw.c:
14775         (struct ntpipe_shove_stream):
14776         (mswindows_enqueue_dispatch_event):
14777         (mswindows_dequeue_dispatch_event):
14778         (mswindows_cancel_dispatch_event):
14779         (mswindows_pump_outstanding_events):
14780         (mswindows_drain_windows_queue):
14781         (mswindows_handle_paint):
14782         (mswindows_wnd_proc):
14783         (mswindows_key_to_emacs_keysym):
14784         (get_process_input_waitable):
14785         (emacs_mswindows_delete_stream_pair): re-indent file.
14786         (mswindows_need_event): do not process further fds if the windows
14787         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14788         fixes the 100% cpu problem.
14789         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14790
14791 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14792
14793         * alloc.h: New.
14794         * dumper.h: New.
14795         * dumper.c: New.
14796
14797         * emacs.c: Moved dump file searching to dumper.c.
14798         (Frunning_temacs_p): Fixed.
14799
14800         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14801         last_lrecord_type_index_assigned.
14802
14803 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14804
14805         * symsinit.h: Added reinit parameter to init_console_stream
14806         declaration.
14807
14808         * lisp.h: Added file parameter to pdump_load declaration.
14809
14810         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14811         support.  Added dump file searching.
14812
14813         * config.h.in: Added EMACS_PROGNAME.
14814
14815         * console-stream.c (init_console_stream): Fix reinitialisation
14816         when running from temacs.
14817
14818         * alloc.c (pdump): Add id support.
14819         (pdump_load): Add file parameter and signature/id support.
14820
14821         * Makefile.in.in: Add full pdump support.
14822
14823 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14824
14825         * postgresql.c: Update documentation to reflect latest code
14826         status.
14827         (print_result): Show tuple counts in printed representation when
14828         appropriate.
14829         (Fpq_put_nbytes): MULE-ize.
14830         (Fpq_get_line_async): Ditto.
14831
14832 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14833
14834         * postgresql.c (Fpq_lo_import): Fix return value.
14835         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14836
14837 2000-03-13  Ben Wing  <ben@xemacs.org>
14838
14839         * alloc.c (pdump_load):
14840         Fix compile warning under mswin.
14841
14842 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14843
14844         * postgresql.c: Mule-ization, bug fixes.
14845         Use PG_CODING to encapsulate coding system name changes.
14846         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14847         (pg-coding-system): Create.
14848
14849         (Fpq_conn_defaults): Mule-ize.
14850         (Fpq_connectdb): Mule-ize & bug fix.
14851         (Fpq_connect_start): Mule-ize.
14852         (Fpq_set_client_encoding): Mule-ize.
14853         (Fpq_finish): Document `DEAD' connection status.
14854         (Fpq_clear): Ditto.
14855         (Fpq_pgconn): Mule-ize.
14856         (Fpq_exec): Mule-ize & bug fix.
14857         (Fpq_send_query): Ditto.
14858         (Fpq_get_result): Ditto.
14859         (Fpq_res_status): Mule-ize.
14860         (Fpq_result_error_message): Mule-ize.
14861         (Fpq_ntuples): fix comments.
14862         (Fpq_fname): Mule-ize.
14863         (Fpq_fnumber): Mule-ize.
14864         (Fpq_ftype): fix comments.
14865         (Fpq_get_value): Mule-ize.
14866         (Fpq_cmd_status): Ditto.
14867         (Fpq_cmd_tuples): Ditto.
14868         (Fpq_oid_value): Ditto.
14869         (Fpq_notifies): Ditto.
14870         (Fpq_lo_import): Ditto.
14871         (Fpq_lo_export): Ditto.
14872         (Fpq_get_line): Ditto.
14873         (Fpq_put_line): Mule-ize and bug fix.
14874         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14875
14876 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14877
14878         * postgresql.c (vars_of_postgresql): Mule-ize.
14879         (Fpq_conn_defaults): Ditto.
14880
14881 2000-03-12  Ben Wing  <ben@xemacs.org>
14882
14883         * alloc.c (Fmake_byte_code):
14884         * alloc.c (debug_string_purity_print):
14885         * alloc.c (pdump_backtrace):
14886         * alloc.c (pdump_get_indirect_count):
14887         * alloc.c (pdump_register_sub):
14888         * alloc.c (pdump_register_object):
14889         * alloc.c (pdump_register_struct):
14890         * alloc.c (pdump_dump_data):
14891         * alloc.c (pdump_reloc_one):
14892         Minor cleanups.
14893
14894         * console-msw.c:
14895         * console-msw.c (GetConsoleHwnd):
14896         * console-msw.c (msw_hide_console):
14897         * console-msw.c (msw_show_console):
14898         * console-msw.c (msw_ensure_console_buffered):
14899         * console-msw.c (msw_output_console_string):
14900         * console-msw.c (console_type_create_mswindows):
14901
14902         a) Added functions to manipulate the console window for use with
14903         shell support.
14904
14905         b) Added support for writing text to the console, which is now
14906         used under Windows when xemacs is not being run non-interactively,
14907         to write text that would otherwise be destined for stdout because
14908         under these circumstances, text written to stdout tends to
14909         disappear and not be seen.
14910
14911         * console-msw.h:
14912         * event-Xt.c:
14913         * event-Xt.c (x_event_to_emacs_event):
14914         * event-Xt.c (describe_event_window):
14915         * events-mod.h (XEMACS_MOD_CONTROL):
14916         * events.c:
14917         * events.c (Fmake_event):
14918         * events.c (character_to_event):
14919         * events.c (event_to_character):
14920         * events.c (format_event_object):
14921         * events.c (Fevent_modifiers):
14922         * events.h:
14923         * events.h (struct key_data):
14924         * events.h (struct button_data):
14925         * events.h (struct misc_user_data):
14926         * frame-x.c (Fcde_start_drag_internal):
14927         * frame-x.c (Foffix_start_drag_internal):
14928         * gpmevent.c (Freceive_gpm_event):
14929         * keymap.c:
14930         * keymap.c (bucky_sym_to_bucky_bit):
14931         * keymap.c (control_meta_superify):
14932         * keymap.c (make_key_description):
14933         * keymap.c (keymap_lookup_directly):
14934         * keymap.c (create_bucky_submap):
14935         * keymap.c (keymap_store):
14936         * keymap.c (define_key_check_and_coerce_keysym):
14937         * keymap.c (define_key_parser):
14938         * keymap.c (define_key_alternate_name):
14939         * keymap.c (Fdefine_key):
14940         * keymap.c (raw_lookup_key_mapper):
14941         * keymap.c (struct map_keymap_unsorted_closure):
14942         * keymap.c (map_keymap_unsorted_mapper):
14943         * keymap.c (map_keymap_sort_predicate):
14944         * keymap.c (map_keymap_sorted):
14945         * keymap.c (accessible_keymaps_mapper_1):
14946         * keymap.c (where_is_recursive_mapper):
14947         * keymap.c (describe_map_mapper):
14948         * keymap.c (describe_map_sort_predicate):
14949         * keymap.c (describe_map):
14950         * keymap.c (complex_vars_of_keymap):
14951         And a number of other files, the key modifier preprocessor
14952         constants that xemacs uses have names that conflict with constants
14953         defined under MS Windows for other purposes, so they were renamed
14954         to begin with the prefix XEMACS_. The variables that hold such
14955         modifiers were changed to consistently be of type int to fix
14956         various compile warnings.
14957
14958         * console.c (complex_vars_of_console):
14959         * device.c:
14960         * device-msw.c:
14961         * device-msw.c (mswindows_finish_init_device):
14962         * device-msw.c (msw_get_workspace_coords):
14963         * device-msw.c (mswindows_device_system_metrics):
14964         and various other files, added support for a new
14965         device property called offset-workspace which returns the position
14966         of the upper left corner of the workspace area and goes along with
14967         the existing size-workspace property.
14968
14969         * dialog-msw.c:
14970         * dialog-msw.c (push_bufbyte_string_as_unicode):
14971         * dialog-msw.c (mswindows_popup_dialog_box):
14972         Added support for XEmacs-style accelerator specifications in
14973         button text.  Note: I didn't add support for this under X Windows,
14974         and somebody needs to do this.
14975
14976         * dialog.c:
14977         * dialog.c (Fpopup_dialog_box):
14978         Documented the support for accelerators that was just mentioned.
14979
14980         editfns.c (get_home_directory): Changed behavior under Windows
14981         when HOME not defined; former behavior was irretrievably broken.
14982
14983         * emacs.c:
14984         * emacs.c (main_1):
14985         * emacs.c (main):
14986         * minibuf.c (clear_echo_area_internal):
14987         * minibuf.c (echo_area_append):
14988         * print.c:
14989         * print.c (std_handle_out_external):
14990         * print.c (std_handle_out_va):
14991         * print.c (fatal):
14992         * print.c (write_string_to_stdio_stream):
14993         * print.c (output_string):
14994         * print.c (debug_print):
14995         * print.c (debug_backtrace):
14996         * print.c (debug_short_backtrace):
14997         Cleaned up the code that prints text to stdout so that this can be
14998         changed to output into a console window instead under MS Windows,
14999         as described above.
15000
15001         * eval.c:
15002         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15003         * eval.c (internal_catch):
15004         * eval.c (unwind_to_catch):
15005         * eval.c (throw_or_bomb_out):
15006         * eval.c (condition_case_1):
15007         * eval.c (signal_1):
15008         * eval.c (check_error_state_sanity):
15009         * eval.c (call_with_suspended_errors_1):
15010         * eval.c (call_with_suspended_errors):
15011         * eval.c (reinit_vars_of_eval):
15012         Added code to catch throw loops and check for a pesky bug that may
15013         be gone now.
15014
15015         * event-msw.c:
15016         * event-msw.c (key_needs_default_processing_p):
15017         * event-msw.c (mswindows_wnd_proc):
15018         * event-msw.c (mswindows_modifier_state):
15019         * event-msw.c (emacs_mswindows_quit_p):
15020         * event-msw.c (vars_of_event_mswindows):
15021         a) Added support for using the alt key to select menu items as is
15022         standard under MS Windows.  This is controlled using the variable
15023         menu-accelerator-enabled, just like under X Windows.  There is an
15024         option on the options menu to turn this support on.  I really
15025         think that it should be on by default under Windows, but I'm not
15026         going to make this change yet.
15027
15028         b)  Added support for dynamic display size changes under Windows.
15029
15030         * event-stream.c:
15031         * event-stream.c (maybe_echo_keys):
15032         * event-stream.c (Fnext_event):
15033         * event-stream.c (command_builder_find_leaf):
15034         * event-stream.c (lookup_command_event):
15035         * event-stream.c (execute_command_event):
15036         * event-stream.c (pre_command_hook):
15037         * event-stream.c (post_command_hook):
15038         * event-stream.c (syms_of_event_stream):
15039         * event-stream.c (vars_of_event_stream):
15040         * event-stream.c (complex_vars_of_event_stream):
15041         * events.h (struct command_builder):
15042
15043         a) Tried to clean up a little bit the horribly written x-specific
15044         accelerator code that crept into this file.  I moved this code
15045         into menubar-x.c where it belongs. I also needed to move the
15046         command builder structure into the file events.h because it is
15047         accessed directly by this accelerator code.  What I didn't do, but
15048         which should be done at some point, is to properly abstract this
15049         code using device methods instead of the kludgy way that it
15050         currently hooks into the event code.
15051
15052         b) Added the lisp variables this-command-properties and
15053         last-command- properties, which should be used to synchronize two
15054         adjacent commands in preference to playing games with the variable
15055         this-command, which is typically what happens.
15056
15057         c) Added some slightly nasty code to hook into the lisp support
15058         for shifted- motion-key selection.  This is actually necessary for
15059         somewhat complicated reasons, which are described in
15060         simple.el. (NB: I think the proper thing would be to have the code
15061         that calls the pre and post command hooks also call out to generic
15062         lisp functions in simple.el, where all built-in stuff could be
15063         added.  I will think about this more.)
15064
15065         * event-unixoid.c (poll_fds_for_input):
15066         * lread.c (readchar):
15067         * redisplay-tty.c (tty_clear_frame):
15068         * redisplay-x.c (x_get_gc):
15069         * signal.c (interrupt_signal):
15070         And a whole bunch of other files: fixed up places that printed
15071         directly to stderr to instead call the function stderr_out so that
15072         the changes I made under Windows work correctly.
15073
15074         * filemode.c (mode_string):
15075         Warning fixes.
15076
15077         * frame-msw.c:
15078         * frame-msw.c (mswindows_size_frame_internal):
15079         Fixed the computation of frame size and position to keep the frame
15080         within the workspace area, rather than within the physical
15081         dimensions of the screen, so that the frame doesn't overlap window
15082         manager decorations, such as the start menu and toolbar, typically
15083         at the bottom of the screen.
15084
15085         * frame.c (vars_of_frame):
15086         Changed the default frame title format under MS Windows to consist
15087         of buffername-XEmacs, which is standard under MS Windows.  I think
15088         it might be a good idea to change this everywhere because I think
15089         it is superior to the current frame title format, but this is the
15090         kind of change that is likely to cause some people to get annoyed,
15091         so I'm not making it.
15092
15093         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15094
15095         * gui-msw.c (mswindows_handle_gui_wm_command):
15096         Fixed compile warnings.
15097
15098         * gui-x.c:
15099         * gui-x.c (strdup_and_add_accel):
15100         * gui-x.c (button_item_to_widget_value):
15101         * gui-x.h:
15102         Added code to automatically put an accelerator onto the beginning
15103         of menu items that don't have one as is now the standard, and is
15104         described more later.  Also fixed things so that the menu item
15105         name can be an evaluated expression, again a new standard.
15106
15107         * gui.c:
15108         * gui.c (gui_item_add_keyval_pair):
15109         * gui.c (make_gui_item_from_keywords_internal):
15110         * gui.c (gui_add_item_keywords_to_plist):
15111         * gui.c (gui_item_accelerator):
15112         * gui.c (gui_name_accelerator):
15113         * gui.c (gui_item_included_p):
15114         * gui.c (gui_item_display_flush_left):
15115         * gui.c (gui_item_display_flush_right):
15116         * gui.c (parse_gui_item_tree_item):
15117         * gui.c (parse_gui_item_tree_children):
15118         * gui.c (parse_gui_item_tree_list):
15119         Mule-ized.  Cleanup.  GCPRO addition.
15120
15121         * line-number.c (buffer_line_number):
15122         * lisp.h:
15123         * lisp.h (EMACS_INT_MAX):
15124         Added the manifest constant EMACS_INT_MIN corresponding to the
15125         existing constant EMACS_INT_MAX.  This is partially to fix compile
15126         warnings under Windows, and partly for cleanliness.
15127
15128         * menubar-msw.c:
15129         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15130         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15131         * menubar-msw.c (displayable_menu_item):
15132         * menubar-msw.c (populate_menu_add_item):
15133         * menubar-msw.c (populate_or_checksum_helper):
15134         * menubar-msw.c (populate_menu):
15135         * menubar-msw.c (update_frame_menubar_maybe):
15136         * menubar-msw.c (prune_menubar):
15137         * menubar-msw.c (msw_char_is_accelerator):
15138         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15139         * menubar-msw.c (mswindows_handle_wm_command):
15140         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15141         * menubar-msw.c (mswindows_handle_wm_initmenu):
15142         * menubar-msw.c (mswindows_update_frame_menubars):
15143         * menubar-msw.c (mswindows_free_frame_menubars):
15144         * menubar-msw.c (mswindows_popup_menu):
15145         Fixed a bug in handling accelerators where an extra character
15146         would be displayed in the menu item.  Also generalized the
15147         function displayable_menu_item because it is now used by the
15148         dialog box code as well.  And finally, added code in the functions
15149         that create the menubar to extract a list of accelerators for the
15150         top level menubar, which is used in the event code to determine
15151         whether a particular alt-key combination should be used to invoke
15152         a menu item, or should be passed through to access the standard
15153         XEmacs keymap binding for this key combination.
15154
15155         Much needed GCPROing.
15156
15157         * menubar-x.c:
15158         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15159         * menubar-x.c (menu_item_descriptor_to_widget_value):
15160         * menubar-x.c (restore_in_menu_callback):
15161         * menubar-x.c (x_popup_menu):
15162         * menubar-x.c (menu_move_up):
15163         * menubar-x.c (menu_move_down):
15164         * menubar-x.c (menu_move_left):
15165         * menubar-x.c (menu_move_right):
15166         * menubar-x.c (menu_select_item):
15167         * menubar-x.c (command_builder_operate_menu_accelerator):
15168         * menubar-x.c (menu_accelerator_junk_on_error):
15169         * menubar-x.c (command_builder_find_menu_accelerator):
15170         * menubar-x.c (Faccelerate_menu):
15171         * menubar.h:
15172         Moved a whole bunch of code here that was previously in
15173         event-stream.c as described above.  There is also code connected
15174         to the new standard of adding an accelerator to the beginning of
15175         menu items that don't have one as described above and below.
15176
15177         * menubar.c:
15178         * menubar.c (menu_parse_submenu_keywords):
15179         * menubar.c (Fmenu_find_real_submenu):
15180         * menubar.c (Fnormalize_menu_item_name):
15181         * menubar.c (syms_of_menubar):
15182         * menubar.c (vars_of_menubar):
15183         * menubar.c (complex_vars_of_menubar):
15184
15185         a) Cleaned up a bunch of documentation and improved it.
15186
15187         b) XEmacs now automatically adds an accelerator onto the beginning
15188         of any menu items that don't have one.  I did this because there
15189         will inevitably be some menu items on the main menubar that don't
15190         have accelerators on them because the package that adds that
15191         particular menu item hasn't yet been fixed up to have accelerators
15192         in them and it looked rather strange to have some items with and
15193         some items without accelerators, especially since even in items
15194         without accelerators, you can, at least under windows, still
15195         access the item through an accelerator corresponding to the first
15196         character in the item's name.  If people don't like this behavior,
15197         I can add a variable to turn it off optionally, but I'm not sure
15198         this is a good idea because we really do need to have accelerators
15199         on all of the menu items, and if a package doesn't like the
15200         accelerators being put on the first character, then it should put
15201         the accelerators where they belong.
15202
15203         c) I made a behavior change, which is that the descriptor that
15204         specifies the text of the menu item, which formerly was just a
15205         string, can now also be an evaluated expression.  This makes this
15206         descriptor parallel with all of the others, which could also be
15207         evaluated expressions.  This also obviates the need for the
15208         keyword :label, which was previously listed in the documentation
15209         as unimplemented, and which was for the same purpose.
15210
15211         d) GCPROing.
15212
15213         * ntproc.c:
15214         * ntproc.c (new_child):
15215         * ntproc.c (sys_spawnve):
15216         * ntproc.c (find_child_console):
15217         * ntproc.c (sys_kill):
15218         Fixed compile warnings.  By the way, this file should really go
15219         away entirely, and this will happen as soon as Kirill makes his
15220         final round of process cleanups, which affect the function
15221         call-process.
15222
15223         * process-nt.c:
15224         * process-nt.c (struct nt_process_data):
15225         * process-nt.c (find_process_from_pid):
15226         * process-nt.c (send_signal_the_nt_way):
15227         * process-nt.c (enable_child_signals):
15228         * process-nt.c (find_child_console):
15229         * process-nt.c (send_signal_the_95_way):
15230         * process-nt.c (nt_finalize_process_data):
15231         * process-nt.c (ensure_console_window_exists):
15232         * process-nt.c (nt_create_process):
15233         * process-nt.c (nt_kill_child_process):
15234         * process-nt.c (nt_kill_process_by_pid):
15235         * process-nt.c (nt_open_network_stream):
15236         * process-nt.c (vars_of_process_nt):
15237         Copied over code from Emacs 20.5 to correctly send signals to sub-
15238         processes under Windows 95.  Also added code to automatically
15239         create and hide console window when a sub-process is created under
15240         Windows 95, which obviates the need for the separate runemacs.exe
15241         executable, and finally implemented some variables that were
15242         implemented in Emacs 20.5, but previously not in XEmacs.  These
15243         include mswindows- start-process-share-console and
15244         mswindows-start-process-inherit-error-mode. (Both of these only
15245         apply to Windows 95.)
15246
15247         * regex.c (regex_compile): Fixed a compile warning.
15248
15249         * select-msw.c:
15250         * select-msw.c (mswindows_own_selection):
15251         * select-msw.c (mswindows_get_foreign_selection):
15252         * select-msw.c (mswindows_disown_selection):
15253         * select-msw.c (console_type_create_select_mswindows):
15254         * select-msw.c (syms_of_select_mswindows):
15255         Cleaned up the file and implemented the device method
15256         selection_exists_p, which had accidentally been left out.  Also
15257         removed four lisp functions that were remnants from before the
15258         time when the selection code was properly device abstracted.
15259         These functions are no longer needed because there are generic
15260         equivalents, and because they were added recently and don't exist
15261         in FSF Emacs, I don't think there's any problem with just deleting
15262         them.
15263
15264         * sysdep.c:
15265         * sysdep.c (sys_subshell):
15266         Fixed a compile warning, although in this case there's probably
15267         something wrong with this code, and it ought to be looked into
15268         more thoroughly by somebody who understands it.
15269
15270         * window.c:
15271         * window.c (Fwindow_text_area_height):
15272         * window.c (Fwindow_width):
15273         * window.c (Fwindow_full_width):
15274         * window.c (Fwindow_pixel_width):
15275         * window.c (debug_print_window):
15276         * window.c (syms_of_window):
15277         Added functions window-text-area-height and window-full-width,
15278         which are functions for returning various width and height
15279         characteristics of a window. (One of these functions is necessary
15280         for making the file dialog box work correctly, and the other one
15281         was added for completeness.)  Also added a table to the
15282         documentation for window-height which describes the entire scheme
15283         for accessing width and height characteristics of a window.
15284
15285 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15286
15287         * nt.c (fstat): Added a comment for another problem with
15288         non-encapsulated [f]stat(), reported by Adrian Aichner
15289         <aichner@ecf.teradyne.com>.
15290
15291 2000-03-11  Andy Piper  <andy@xemacs.org>
15292
15293         * window.c (make_dummy_parent): initialize subwindow instance
15294         cache.
15295         (Fset_window_configuration): zero extent_modiff.
15296
15297 2000-03-10  Andy Piper  <andy@xemacs.org>
15298
15299         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15300         more changes can be triggered.
15301         (Fredisplay_frame): ditto.
15302         (Fredraw_device): ditto.
15303         (Fredisplay_device): ditto.
15304         (redisplay_frame): make non-static.
15305         (redisplay_frame): call update_frame_gutter_geometry outside of
15306         display proper.
15307
15308         * gutter.h: declare update_frame_gutter_geometry.
15309
15310         * redisplay.h: declare redisplay_frame.
15311
15312         * gutter.c (update_frame_gutter_geometry): move geometry changes
15313         in update_frame_gutters here. Geometry changes can only occur
15314         outside of redisplay.
15315         (update_frame_gutters): remove geometry change code.
15316         (Fredisplay_gutter_area): make sure that we are in display when we
15317         update and that we have flushed any size changes.
15318
15319 2000-03-11  Andy Piper  <andy@xemacs.org>
15320
15321         * alloc.c (pdump_dump_data): remove i & count shadows.
15322
15323 2000-02-27  Mike Alexander  <mta@arbortext.com>
15324
15325         * sysdep.h: Declare pdump_read_file
15326
15327         * sysdep.c (pdump_read_file): New function
15328
15329         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15330         dump data
15331
15332 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15333
15334         * lrecord.h: add `lrecord_type_pgsetenv'.
15335
15336 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15337
15338         * symsinit.h: declare (vars|syms)_of* functions.
15339         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15340
15341 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15342
15343         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15344
15345         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15346         GCCs.
15347
15348         * emacs.c (main_1): Call postgres initialization code.
15349
15350         * postgresql.h: New file.  PostgreSQL RDBMS support.
15351         * postgresql.c: New file.
15352
15353 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15354
15355         * redisplay-output.c (redisplay_output_display_block): Disable
15356         redundant code.
15357
15358 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15359
15360         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15361         (Fcanna_henkan_next): Ditto.
15362         (Fcanna_bunsetu_henkou): Ditto.
15363         (Fcanna_henkan_kakutei): Ditto.
15364         (Fcanna_henkan_end): Ditto.
15365         (Fcanna_henkan_quit): Ditto.
15366         (Fcanna_henkan_next): Set retun value correctly.
15367         (c2mu): Use unsigned char instead of signed char.
15368
15369 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15370
15371         * emacs.c (main_1): Always call syms_of_gui.
15372         * inline.c: include gui.h
15373
15374 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15375
15376         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15377         converted to Lisp_Object.
15378         (Qtop_bottom): New variable.
15379         (syms_of_redisplay): Initialize it.
15380         * redisplay.h (Vvisible_bell): Ditto.
15381         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15382         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15383         only flash top and bottom.
15384
15385 2000-03-08  Andy Piper  <andy@xemacs.org>
15386
15387         * buffer.c (Frename_buffer): record new buffer name the right way.
15388
15389 2000-03-08  Andy Piper  <andy@xemacs.org>
15390
15391         * glyphs.c (update_subwindow): increase hash depth so that widget
15392         items get picked up properly.
15393
15394         * redisplay-output.c (compare_runes): increase hash depth so that
15395         widget items get picked up properly.
15396
15397 2000-03-08  Andy Piper  <andy@xemacs.org>
15398
15399         * gutter.c (output_gutter): add some debug.
15400
15401         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15402         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15403         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15404
15405         * redisplay-output.c (compare_runes): use display_hash to
15406         determine if glyphs really are not the same.
15407
15408         * glyphs.c (update_subwindow): check display_hash to see if
15409         anything really needs to be updated. If not then do
15410         nothing. Record the display_hash after updating.
15411         (image_instance_equal): compare the image_instance face also.
15412
15413 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15414
15415         * redisplay.h: Fix comment style.
15416
15417 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15418
15419         * consle-msw.h (struct mswindows_frame):
15420         Added new member paint_pending to indicate whether a WM_PAINT
15421         magic event has been queued for this frame.
15422
15423         * event-msw.c (mswindows_drain_windows_queue):
15424         Don't queue a WM_PAINT magic event if one is already queued.
15425         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15426
15427         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15428
15429 2000-03-07  Didier Verna  <didier@xemacs.org>
15430
15431         * dired.c: #include `regex.h' after `sysfile.h'.
15432
15433 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15434
15435         * sound.c (init_nas_sound): Fix compiler warning.
15436
15437         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15438         (FREE_STRUCT_P):
15439         (MARK_STRUCT_AS_FREE):
15440         (MARK_STRUCT_AS_NOT_FREE):
15441         Make `gcc -fstrict-aliasing' work properly.
15442
15443 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15444
15445         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15446         (mswindows_delete_device): Call CoUnnitialize().
15447
15448         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15449
15450 2000-02-25    <CraigL@DyCon.com>
15451
15452         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15453         <errno.h>.
15454
15455         * sysdep.c: This extern declaration for environ prevents MinGW
15456         from finding the variable in CRTDLL.DLL.
15457
15458         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15459         windows headers.
15460         (SHGFI_EXETYPE): ..
15461         (WM_MOUSEWHEEL): ..
15462         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15463         definitions.
15464         (MMRESULT): Removed, now defined in cygwin's windows headers.
15465         (TIMECAPS): ..
15466         (uid_t,gid_t,pid_t,ssize_t): ..
15467         (_timeb): Removed, MinGW defines both _timeb and timeb.
15468         (HAVE_H_ERRNO): Added.
15469         (HAVE_TZNAME): Added, configure is not detecting this.
15470
15471 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15472
15473         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15474         * syntax.c (syntax_match): Use it.
15475
15476         * cmds.c: Import auto-fill-chars from FSF Emacs.
15477         (Vauto_fill_chars): New variables.
15478         (internal_self_insert): Check Vauto_fill_chars.
15479         (vars_of_cmds):
15480         Declare auto-fill-chars as a Lisp variable and initialize it.
15481
15482 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15483
15484         * fileio.c (Fmake_symbolic_link):
15485         (Ffile_symlink_p):
15486         Run handlers even if local machine doesn't have symlinks.
15487
15488 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15489
15490         * event-msw.c (mswindows_drain_windows_queue):
15491         Don't generate paint magic events for non-XEmacs frames.
15492
15493 2000-03-05  Andy Piper  <andy@xemacs.org>
15494
15495         * redisplay.c (redisplay_frame): generate_displayable_area and
15496         friends assumes that we are not in GC, we therefore have to make
15497         sure that this doesn't happen.
15498
15499         * gutter.c (calculate_gutter_size): generate_displayable_area
15500         assumes that we are not in GC, we therefore have to make sure that
15501         this doesn't happen.
15502
15503 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15504
15505         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15506
15507 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15508
15509         * redisplay.c (regenerate_window): Make sure we set a sane value
15510         for end_pos even if we jump out of the loop.
15511         (regenerate_window): Answer Ben's question :-).
15512         (start_end_of_last_line): Add may_error argument.
15513         (start_of_last_line):
15514         (end_of_last_line): Pass may_error = 0.
15515         (end_of_last_line_may_error): New function.
15516         (pixel_to_glyph_translation): Use it, so we don't crash in
15517         event_to_glyph.
15518
15519 2000-03-04  Andy Piper  <andy@xemacs.org>
15520
15521         * window.h (struct window): add gutter_extent_modiff.
15522
15523         * window.c (allocate_window): zero out gutter_extent_modiff.
15524
15525         * redisplay.h: declare sync_display_line_structs.
15526
15527         * redisplay.c (add_glyph_rune): add a better comment.
15528
15529         * redisplay-output.c (sync_display_line_structs): made non-static.
15530         (compare_runes): remove unneccesary glyph cachel access.
15531
15532         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15533
15534         * gutter.c (output_gutter): don't output the gutter if extent
15535         changes only involve extents in buffers. use 4 sets of display
15536         lines.
15537         (gutter_extent_signal_changed_region_maybe): new function. Mark
15538         extents in gutters as changed.
15539         (update_frame_gutters): use 4 sets of display lines.
15540         (reset_gutter_display_lines): ditto.
15541         (free_frame_gutters): ditto.
15542         (redraw_exposed_gutter): force output of gutters.
15543
15544         * frame.h (struct frame): add 4 sets of gutter display lines.
15545
15546         * extents.c: (extent_changed_for_redisplay): signal changes to
15547         extents in strings in the gutter as well as extents in buffers.
15548
15549 2000-03-02  Andy Piper  <andy@xemacs.org>
15550
15551         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15552
15553         * frame.c (Fmake_frame): make sure the gutters get initialized
15554         after the frame is visible.
15555         (set_frame_selected_window): re-arrange compilation macros a
15556         little.
15557         (change_frame_size_1): mark gutters changed.
15558
15559         * device.c (Fset_device_class): mark gutters changed.
15560
15561 2000-03-01  Andy Piper  <andy@xemacs.org>
15562
15563         * window.c (window_top_frame_gutter_height): deleted.
15564         (window_bottom_frame_gutter_height): ditto.
15565         (window_left_frame_gutter_height): ditto.
15566         (window_right_frame_gutter_height): ditto.
15567         (window_top_gutter_height): don't use them.
15568         (window_bottom_gutter_height): ditto.
15569         (window_left_gutter_width): ditto.
15570         (window_right_gutter_width): ditto.
15571         (Fsplit_window): ditto.
15572         (Fwindow_pixel_edges): don't use border dimensions here.
15573
15574         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15575         (update_scrollbar_instance): ditto.
15576
15577         * redisplay.c (generate_modeline): don't take gutters into account.
15578         (generate_modeline): ditto.
15579         (redisplay_frame): small gutter display optimization.
15580
15581         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15582
15583         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15584         gutters into account.
15585
15586         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15587         for window position and type.
15588
15589         * gutter.c (get_gutter_coords): fix for frame gutters.
15590         (update_frame_gutters): update frame geometry if the gutters have
15591         changed.
15592         (init_frame_gutters): record current gutter geometries.
15593
15594         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15595         var.
15596         (mswindows_widget_instantiate): ditto.
15597
15598         * frame.h (struct frame): add current_gutter_bounds.
15599
15600         * frame.c (change_frame_size_1): position window and minibuffer
15601         appropriately taking into account the frame gutters.
15602
15603         * frame-x.c: (x_initialize_frame_size): take into account the
15604         frame gutters.
15605
15606 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15607
15608         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15609
15610 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15611
15612         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15613
15614 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15615
15616         * file-coding.c (reset_decoding_stream): Clear previous
15617         detection state when autodetect.
15618
15619 2000-02-29  Didier Verna  <didier@xemacs.org>
15620
15621         * extents.c (set_extent_glyph_1): don't require extents to be
15622         attached.
15623
15624 2000-02-27  Andy Piper  <andy@xemacs.org>
15625
15626         * gutter.c (Fset_default_gutter_position): don't default left and
15627         right gutter visibility to t.
15628         (Fset_default_gutter_position): run
15629         default-gutter-position-changed-hook.
15630         (syms_of_gutter): add default-gutter-position-changed-hook.
15631
15632 2000-02-26  Andy Piper  <andy@xemacs.org>
15633
15634         * specifier.c (Fmake_specifier): add gutter references.
15635
15636         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15637
15638         * lisp.h: declare Fvalid_plist_p.
15639
15640         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15641         as changed.
15642         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15643         well as its visibility so that it gets reconstructed.
15644         (construct_window_gutter_spec): new function. Construct a string
15645         to be displayed in the gutter from a plist of strings. Take care
15646         to only use elements that are declared as visible.
15647         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15648         WINDOW_GUTTER.
15649         (gutter_validate): allow plists of strings in the specifier.
15650         (gutter_specs_changed): construct the real_gutter from the gutter
15651         specs using construct_window_gutter_spec.
15652         (gutter_visible_validate): gutter-visible is a new specifier type.
15653         (Fgutter_visible_specifier_p): new function for the new specifier.
15654         (syms_of_gutter): declare gutter-visible and
15655         Fgutter_visible_specifier_p.
15656         (specifier_type_create_gutter): intitalize new gutter-visible
15657         specifier.
15658         (reinit_specifier_type_create_gutter): ditto.
15659         (specifier_vars_of_gutter): use new specifier type for gutter
15660         visibility.
15661         (init_frame_gutters): construct real_gutter correctly.
15662         (Fgutter_specifier_p): beef up documentation.
15663         (Fgutter_size_specifier_p): ditto.
15664
15665         * winslots.h: add real_gutter slots.
15666
15667 2000-02-25  Andy Piper  <andy@xemacs.org>
15668
15669         * device-msw.c: Be kind to older cygwin versions. From Raymond
15670         Toy <toy@rtp.ericsson.se>.
15671
15672         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15673         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15674
15675 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15676
15677         * elhash.c (MARK_OBJ): Practice macro hygiene.
15678
15679 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15680
15681         * miscplay.c: s/__inline__/inline/g;
15682         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15683         (get_device_compdc): INLINE ==> static inline
15684         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15685         find -name '*.h' | \
15686         xargs global-replace \
15687         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15688
15689 2000-02-25  Andy Piper  <andy@xemacs.org>
15690
15691         * window.c (window_top_frame_gutter_height): new function.
15692         (window_top_window_gutter_height): ditto.
15693         (window_top_gutter_height): use them.
15694         (window_bottom_frame_gutter_height): new function.
15695         (window_bottom_window_gutter_height): ditto.
15696         (window_bottom_gutter_height): use them.
15697         (window_left_window_gutter_width): new function.
15698         (window_left_frame_gutter_width): ditto.
15699         (window_left_gutter_width): use them.
15700         (window_right_window_gutter_width): new function.
15701         (window_right_frame_gutter_width): ditto.
15702         (window_right_gutter_width): use them.
15703         (window_pixel_height): new function. calulate window pixel height
15704         with frame gutter involvement.
15705         (Fsplit_window): calculate new sizes taking frame gutters into
15706         account.
15707         (window_char_height_to_pixel_height): don't include frame gutters.
15708         (window_char_height): use window_pixel_height.
15709         (window_pixheight): rename from window_pixel_height.
15710         (change_window_height): use it.
15711         (window_pixel_height_to_char_height): don't include frame gutters.
15712         (window_char_width_to_pixel_width): ditto.
15713
15714 2000-02-25  Andy Piper  <andy@xemacs.org>
15715
15716         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15717         if it is.
15718
15719 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15720
15721         * alloc.c (staticpro):
15722         (staticpro_nodump):
15723         (dumpstruct):
15724         (dumpopaque):
15725         (pdump_wire):
15726         (pdump_wire_list):
15727         (compact_string_chars):
15728         (pdump_dump_wired):
15729         Convert:  if (foo) abort();  ==>  assert (! foo);
15730
15731         * eldap.c (Fldap_search_basic):
15732         (Fldap_add):
15733         (Fldap_modify):
15734         (Fldap_delete):
15735         Fix compiler warnings, and possible crashes if (random) return
15736         value were to be used.
15737
15738 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15739
15740         * device-msw.c: Workaround ResetDC failure.
15741
15742         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15743         applying a devmode.
15744
15745         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15746         (mswindows_text_width): Do not start printer page.
15747
15748         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15749
15750         * glyphs-msw.c: Added image methods to msprinter console and
15751         msprinter-specific image instantiation.
15752
15753 2000-02-20  Mike Alexander  <mta@arbortext.com>
15754
15755         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15756         to avoid crashes when selection-sets-clipboard is on
15757         (mswindows_own_selection): ditto
15758
15759 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15760
15761         * glyphs-msw.c:
15762         * redisplay-msw.c (get_frame_dc):
15763         (get_frame_compdc):
15764         * console-msw.h:
15765         * device-msw.c (mswindows_init_device):
15766         (mswindows_delete_device):
15767         (msprinter_init_device):
15768         (msprinter_delete_device):
15769         * frame-msw.c (mswindows_init_frame_1):
15770         (mswindows_delete_frame):
15771         (msprinter_init_frame_3):
15772         (msprinter_delete_frame): Move compatible DC to device object from
15773         frame object, for both mswindows and msprinter. Only one at a time
15774         is needed, it is a real waste to have one per frame!
15775
15776 2000-02-23  Andy Piper  <andy@xemacs.org>
15777
15778         * glyphs.c: add dynamic width and height elements.
15779         (image_instance_equal): ditto.
15780
15781         * glyphs-widget.c (widget_query_geometry): calculate width and
15782         height dynamically if required.
15783         (initialize_widget_image_instance): initialize dynamic dimensions.
15784         (widget_instantiate): pick-up dynamic dimensions.
15785
15786         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15787         dynamic determination. Add appropriate macros.
15788
15789         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15790         dimensions safe.
15791         (WINDOW_GUTTER_SIZE): ditto.
15792         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15793
15794         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15795         inline.
15796         (get_frame_dc): ditto.
15797
15798         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15799         here.
15800
15801 2000-02-23  Martin Buchholz <martin@xemacs.org>
15802
15803         * XEmacs 21.2.31 is released.
15804
15805 2000-02-22  Ben Wing <ben@xemacs.org>
15806
15807         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15808
15809 2000-02-22  Andy Piper  <andy@xemacs.org>
15810
15811         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15812
15813 2000-02-21  Mike Sperber <mike@xemacs.org>
15814
15815         * .dbxrc:
15816         * .gdbinit:
15817         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15818         variables.
15819
15820 2000-02-21  Mike Sperber <mike@xemacs.org>
15821
15822         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15823
15824 2000-02-21  Martin Buchholz <martin@xemacs.org>
15825
15826         * XEmacs 21.2.30 is released.
15827
15828 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15829
15830         Performance hacking.
15831         * *.c (syms_of_*):
15832         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15833         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15834         * emacs.c (main_1):
15835         * lisp.h (DEFUN):
15836         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15837         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15838         * symeval.h (DEFVAR_SYMVAL_FWD):
15839         * symbols.c (guts_of_unbound_marker):
15840         Make all c_readonly objects also lisp_readonly and marked for life.
15841         * lrecord.h (struct lrecord_implementation):
15842         Document flags better.
15843         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15844         * lrecord.h (DECLARE_LRECORD):
15845         * lrecord.h (XSETRECORD):
15846         * lrecord.h (RECORDP):
15847         * lrecord.h (RECORD_TYPEP):
15848         * lrecord.h (RECORD_MARKER): New.
15849         * lrecord.h (error_check_*):
15850         * lrecord.h (CONCHECK_NONRECORD):
15851         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15852         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15853         * lrecord.h (set_lheader_implementation):
15854         * lrecord.h (enum lrecord_type): New.
15855         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15856         * alloc.c (disksave_object_finalization_1):
15857         * alloc.c (mark_object):
15858         * alloc.c (lrecord_type_index):
15859         * alloc.c (tick_lcrecord_stats):
15860         * alloc.c (Fgarbage_collect):
15861         * alloc.c (init_alloc_once_early):
15862         * alloc.c (pdump_load):
15863         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15864         * alloc.c (lrecord_type_index): Delete.
15865         Make lisp object type indexes be constant.
15866           Makes (byte-compile) 5% faster.
15867         Put all marker functions into their own array.
15868           Makes (garbage-collect) 5% faster.
15869         Optimize SYMBOL_VALUE_MAGIC_P.
15870           Makes (byte-compile) 2-3% faster.
15871         * config.h.in (gc_checking_assert): New.
15872         * alloc.c: Use gc_checking_assert().
15873         * .dbxrc: Make compatible with new object type implementation.
15874         * .gdbinit: Make compatible with new object type implementation.
15875         * alloc.c: Delete all symbols defined only for debugging, such as
15876         Lisp_Type_Vector and lrecord_charset.
15877
15878 2000-02-21  Andy Piper  <andy@xemacs.org>
15879
15880         * gui-msw.c (Fmswindows_shell_execute): fix file location
15881         problems.
15882
15883         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15884         unshowing so that set_window_buffer doesn't undo
15885         kill_buffer_hook's hard work.
15886
15887         * glyphs-widget.c (tab_control_query_geometry): don't count the
15888         first item when calculating geometry.
15889
15890         * glyphs.c (map_subwindow): remove redundant code.
15891         (update_frame_subwindows): be more circumspect about when to
15892         update subwindows.
15893
15894         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15895         when items haven't changed. Update faces if faces have changed as
15896         well as just the widget face.
15897         (x_tab_control_update): Update faces if faces have changed as well
15898         as just the widget face.
15899
15900 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15901
15902         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15903         registration.
15904         (build_syscolor_string): Use mswindows_color_to_string to try to
15905         get a named color.
15906         (mswindows_device_system_metrics): Reverse the foreground and
15907         background colors so that they match the documentation.
15908
15909         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15910         they match the default Windows palette.
15911         (mswindows_color_to_string): New function.
15912
15913 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15914
15915         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15916
15917 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15918
15919         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15920         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15921
15922         * symbols.c (init_symbols_once_early): Removed obsolete
15923         DATA_SEG_BITS related kludge.
15924         (defvar_magic): Ditto.
15925
15926         * malloc.c: Removed obsolete DATA_SEG_BITS
15927         * ralloc.c: Ditto.
15928         * mem-limits.h: Ditto.
15929
15930         * Makefile.in.in: Removed obsolete HAVE_SHM
15931         * emacs.c: Ditto.
15932
15933 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15934
15935         *  device-msw.c (mswindows_delete_device): Free DDE string
15936         handles.
15937
15938 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15939
15940         * keymap.c (get_keyelt):
15941         * unexnt.c (unexec):
15942         * vm-limit.c (memory_warnings):
15943         * ntheap.c (recreate_heap):
15944         * ntheap.h (UNINIT_PTR):
15945         * select-msw.c (Fmswindows_get_clipboard):
15946         (Fmswindows_set_clipboard):
15947         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15948         * objects-msw.c:
15949         * menubar-msw.c (displayable_menu_item):
15950         * glyphs-msw.c:
15951         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15952         * sysdep.c (sys_subshell):
15953         * process-nt.c (nt_create_process):
15954         * nt.c (normalize_filename):
15955         (dostounix_filename):
15956         (unixtodos_filename):
15957         * ntproc.c (win32_executable_type):
15958         * ntplay.c (play_sound_data_1):
15959         (play_sound_file):
15960         * editfns.c (get_home_directory):
15961         * event-msw.c (struct winsock_stream):
15962         (mswindows_dde_callback):
15963         * device-msw.c (msprinter_init_device):
15964         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15965
15966         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15967         mswindows_clear_toolbar were swapped!
15968
15969         * objects-msw.c:(colormap_t):
15970         (fontmap_t):
15971         * emacs.c (struct standard_args): Fixed const jumble.
15972
15973         * glyphs-widget.c (update_widget): Fixed comparison notation.
15974
15975         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15976
15977         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15978         __declspec(noreturn) syntax.
15979
15980 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15981
15982         * eldap.c (Fldap_open):
15983         (Fldap_search_basic):
15984         (Fldap_add):
15985         (Fldap_modify):
15986         Use new coding system conversion macros.
15987
15988 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15989
15990         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15991
15992 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15993
15994         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15995         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15996
15997         * eldap.c (Qadd, Qreplace): New constant symbols
15998         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15999         interruptions by XEmacs signals
16000         Remove unnecessary calls to slow_down_interrupts and
16001         speed_up_interrupts
16002         (Fldap_search_basic): Renamed from Fldap_search_internal
16003         Added new optional parameter VERBOSE that triggers the
16004         display of progress messages
16005         Remove unnecessary calls to slow_down_interrupts and
16006         speed_up_interrupts
16007         LDAP result code analysis rewritten
16008         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16009         (syms_of_eldap): Define the new symbols and functions
16010
16011
16012 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16013
16014         * realpath.c: Determine PATH_MAX maximally portably.
16015
16016         * insdel.c (bytecount_to_charcount): Optimize.
16017         The function used to be optimized for entirely ASCII sequences.
16018         Now it is optimized for successive characters from the same
16019         charset.  This also wins big for _mostly_ ASCII sequences.
16020
16021         * fileio.c (Ffile_truename): convert return from realpath() using
16022         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16023         - Rewrite GCPROing slightly.
16024
16025         * sysdep.c (sys_open): Do filename conversion, like all other
16026         sys_* functions.  Fixes bug:
16027         (let ((file-name-coding-system 'iso-8859-2))
16028            (write-region x y latin2-name))
16029         ==> writes filename using internal encoding.
16030
16031 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16032
16033         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16034         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16035         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16036         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16037         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16038         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16039         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16040         (CONST_IF_NOT_DEBUG): Delete.
16041         * alloc.c (this_one_is_unmarkable): Delete.
16042         (mark_object): Don't check for this_one_is_unmarkable. Use the
16043         c_readonly flag instead.
16044         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16045
16046 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16047
16048         * event-msw.c (mswindows_drain_windows_queue):
16049         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16050         away redundant repaint events.
16051
16052 2000-02-17  Andy Piper  <andy@xemacs.org>
16053
16054         * redisplay.h: declare mark_redisplay_structs.
16055
16056         * redisplay.c (redisplay_window):
16057         (redisplay_frame): don't check subwindows_state_changed.
16058         (mark_redisplay): mark gutters here.
16059
16060         * glyphs.c: (instantiate_image_instantiator): always layout if we
16061         haven't done so already.
16062         (allocate_image_instance): don't mark as dirty.
16063         (update_subwindow): bind inhibit_quit.
16064
16065         * gutter.c (mark_gutters): new function.
16066
16067         * glyphs-x.c (x_update_widget): Always resize to get round a
16068         widget bug.
16069
16070         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16071         breaking absolutely everything.
16072
16073         * gutter.h: declare mark_gutters.
16074
16075 2000-02-16  Martin Buchholz <martin@xemacs.org>
16076
16077         * XEmacs 21.2.29 is released.
16078
16079 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16080
16081         * fns.c (size_bit_vector): Fix computation of the size.
16082
16083 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16084
16085         * *.[ch]: Change CONST to const globally.
16086         find -name '*.[ch]' | \
16087         xargs global-replace \
16088         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16089         - Remove vestigial references to CONST_IS_LOSING
16090
16091 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16092
16093         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16094         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16095         events instead of dispatching them directly.
16096         (mswindows_handle_paint): New function to do repainting.
16097         (mswindows_wnd_proc):
16098         (emacs_mswindows_handle_magic_event): Call above function.
16099
16100 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16101
16102         * objects-msw.c (mswindows_create_font_variant): Return the new
16103         font handle.
16104         (initialize_font_instance): Get font metrics from the underlined
16105         variant of the font to cope with the case where the underlined
16106         font has a bigger descent.
16107
16108 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16109
16110         * gui.c (gui_item_accelerator): Return the first underlined
16111         character in item name.
16112
16113 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16114
16115         * lisp.h: Added Qprinter.
16116
16117         * general.c (syms_of_general): Initialized it.
16118
16119         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16120         (get_frame_dc):
16121         (get_frame_compdc): Made inline.
16122
16123         * console.h (struct console_methods): Added eject_page method.
16124
16125         * frame.h: Added FRAME_DISPLAY_P and friends.
16126         Aligned backslahes in many macros in more readable fashion.
16127         Added page_number to struct frame, and an accessor macro
16128         for it.
16129
16130         * defice.h: Added DEVICE_DISPLAY_P and friends.
16131
16132         * device.c (Fdevice_printer_p): Used these.
16133
16134         * frame.c (allocate_frame_core): Initialize page number.
16135         (Fprint_job_page_number):
16136         (Fprint_job_eject_page): Implemented.
16137
16138         * frame-msw.c (msprinter_eject_page): Added method.
16139         (msprinter_start_page): Added.
16140
16141         * window.c (Fwindow_truncated_p): Fixed docstring.
16142         (Fwindow_last_line_visible_height): Implemented.
16143
16144 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16145
16146         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16147
16148 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16149
16150         * syntax.c (scan_words): Always advance at least one character.
16151
16152 2000-02-13  Andy Piper  <andy@xemacs.org>
16153
16154         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16155         to make sure the glyph is in the cachels.
16156
16157         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16158         global image instance flag.
16159         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16160         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16161
16162         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16163         (Fset_image_instance_property): mark layout as changed.
16164         (invalidate_glyph_geometry_maybe): mark layout as changed.
16165         (glyph_width): use new NEEDS_LAYOUT macro.
16166         (glyph_ascent): ditto.
16167         (glyph_descent): ditto.
16168         (glyph_height): ditto.
16169         (image_instance_layout): mark layout as clean after laying out.
16170         (update_subwindow): don't mark layout as clean here.
16171
16172         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16173         should no longer be needed.
16174
16175         * glyphs-x.c (x_update_widget): sanitize asserts.
16176         (x_finalize_image_instance): sanitize assignment to widgets.
16177
16178         * glyphs-widget.c (widget_instantiate): don't need to clear the
16179         layout flag here.
16180
16181 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16182
16183         * sysdep.c (getcwd): Use standard prototype.
16184         * sysdep.h (getcwd): Use standard prototype.
16185
16186         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16187         (sequence, start, end).
16188         Remove redundant type checking.
16189         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16190         view of `caller-protects') to avoid a crash where the real fix was
16191         found elsewhere.
16192
16193 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16194
16195         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16196
16197         * s/sol2.h: Remove feature macro initialization.
16198
16199         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16200         (vector_hash): New.  Code from internal_hash.
16201         * lrecord.h:
16202         Fix up allocation subsystem comments.
16203
16204         * config.h.in: Add __EXTENSIONS__ for Solaris.
16205
16206         * systime.h (EMACS_GETTIMEOFDAY): New.
16207         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16208         Remove Solaris-specific code.
16209         Use void* for the (ignored) second arg for gettimeofday().
16210
16211         * elhash.c (hash_table_hash): Implement it, finally.
16212         * elhash.c:  Use hashcode_t.
16213
16214         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16215         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16216
16217         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16218         * fns.c (size_bit_vector):
16219         * alloc.c (size_vector):
16220         (make_vector_internal):
16221         (make_bit_vector_internal):
16222         (sweep_bit_vectors_1):
16223         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16224
16225 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16226
16227         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16228         Include strings.h to avoid warnings for bzero and strcasecmp.
16229
16230 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16231
16232         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16233         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16234
16235         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16236         sequence.
16237
16238 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16239
16240         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16241         use a value field instead.
16242         (symbol_value_forward_forward): Use value field.
16243         (DEFVAR_SYMVAL_FWD): Use value field.
16244         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16245         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16246         (DEFVAR_CONST_INT): Ditto.
16247         (DEFVAR_BOOL): Ditto.
16248         (DEFVAR_CONST_BOOL): Ditto.
16249         (DEFVAR_INT_MAGIC): Ditto.
16250         (DEFVAR_BOOL_MAGIC): Ditto.
16251
16252         * symbols.c (guts_of_unbound_marker): Use value field.
16253         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16254         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16255
16256         * lisp.h: Declare dumpopaque and noninteractive1.
16257
16258         * alloc.c (dumpopaque): Added.
16259         (pdump_dump_opaquevec): Added.
16260         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16261         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16262         noninteractive.
16263
16264 2000-02-10  Andy Piper  <andy@xemacs.org>
16265
16266         * glyphs.c (image_instance_layout): if the size changes, mark it
16267         as such.
16268
16269         * redisplay-output.c (redisplay_output_layout): Update the
16270         subwindow here.
16271         (redisplay_output_subwindow): ditto.
16272
16273         * glyphs.c (update_subwindow): make sure we reset flags for
16274         layouts as well as everything else.
16275
16276         * glyphs-widget.c (layout_layout): don't need to set the instances
16277         dimensions here.
16278
16279 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16280
16281         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16282         not HAVE_DLOPEN, which is a lower-level thing.
16283
16284         * .cvsignore: Ignore gmon.out
16285
16286 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16287
16288         * .cvsignore: Ignore portable dumper xemacs.dmp file
16289
16290 2000-02-09  Andy Piper  <andy@xemacs.org>
16291
16292         * redisplay-output.c (redisplay_output_layout): be more clever
16293         about when we output based on the changed flags.
16294
16295         * glyphs.h (struct image_instantiator_methods): add update_method.
16296         (struct Lisp_Image_Instance): add changed flags. Declare new
16297         macros for manipulating them.
16298
16299         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16300         (image_instance_parent_glyph): find an image_instance's parent
16301         glyph or image_instance.
16302         (image_instance_layout): mark the size as changed.
16303         (set_image_instance_dirty_p): new function. mark an image
16304         instance, plus all of its parents, as dirty.
16305         (Fset_image_instance_property): use it.
16306         (Fglyph_animated_timeout_handler): use it.
16307         (update_subwindow): call update_widget and device methods for
16308         update_subwindow. Mark all changed flags as clean.
16309         (Fresize_subwindow): mark size as changed.
16310
16311         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16312         failures.
16313         (x_update_subwindow): only resize subwindows here.
16314         (x_update_widget): new function. Update all changed properties of
16315         a widget.
16316         (x_resize_subwindow): deleted.
16317         (x_widget_set_property): deleted.
16318         (x_progress_gauge_set_property): deleted.
16319         (x_progress_gauge_update): new function. Implement recorded
16320         changes.
16321         (x_tab_control_update): ditto.
16322         (x_tab_control_set_property): deleted.
16323         (console_type_create_glyphs_x): declare new functions.
16324         (image_instantiator_format_create_glyphs_x): ditto.
16325
16326         * glyphs-widget.c (widget_set_property): mark text changed.
16327         (update_widget): new function. Update properties of a widget.
16328         (widget_instantiate): for layouts make sure we set their
16329         children's parent correctly.
16330         (tab_control_set_property): new function. Record changes that will
16331         take place under redisplay's control.
16332         (progress_gauge_set_property): ditto.
16333         (image_instantiator_progress_guage): declare new functions.
16334         (image_instantiator_tab_control): ditto.
16335
16336         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16337         now.
16338         (mswindows_update_widget): new function. Update all properties on
16339         a widget that have changed.
16340         (mswindows_button_update): new function. Update a button's set
16341         state.
16342         (mswindows_tab_control_update): new function. Update the items in
16343         a tab.
16344         (mswindows_tab_control_set_property): deleted.
16345         (mswindows_progress_gauge_update): new function. Update the
16346         progress gauge's progress.
16347         (mswindows_widget_set_property): deleted. This is all done
16348         asynchronously now.
16349         (mswindows_progress_gauge_set_property): ditto.
16350         (console_type_create_glyphs_mswindows): declare new methods.
16351         (image_instantiator_format_create_glyphs_mswindows): ditto.
16352
16353         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16354         (msprinter_set_frame_properties): ditto.
16355
16356         * console.h (struct console_methods): Add update_widget_method.
16357
16358 2000-02-09  Andy Piper  <andy@xemacs.org>
16359
16360         * gui-msw.c (Fmswindows_shell_execute): Make
16361         mswindows-shell-execute industrial strength.
16362
16363 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16364
16365         * lrecord.h: Make macro argument `props' match member function `plist'.
16366         * fns.c (Fget):
16367         * fns.c (Fput):
16368         * fns.c (Fremprop):
16369         * fns.c (Fobject_plist):
16370         * alloc.c:
16371         * symbols.c:
16372         Object property list frobbing cleanup.
16373         - Allow any lisp object (compared with `eq'), not just symbols, as
16374           keys in object plists.
16375         - Move symbol plist frobbing into symbols.c, where it belongs.
16376         - Move string plist frobbing into alloc.c, where it belongs.
16377         - Everything's an lrecord now, so no need to test for symbolp, etc.
16378         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16379
16380         * extents.c: Reorder code to remove declarations.
16381
16382         * frame.h (store_in_alist): Remove useless declaration.
16383
16384 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16385
16386         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16387         * config.h.in: Add HAVE_XCONVERTCASE.
16388
16389 2000-02-07  Andy Piper  <andy@xemacs.org>
16390
16391         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16392         it breaks many things.
16393
16394 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16395
16396         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16397         actually can start a common comment type.
16398         * src/syntax.h (SYNTAX_END_P): ditto for end.
16399
16400 2000-02-07  Martin Buchholz <martin@xemacs.org>
16401
16402         * XEmacs 21.2.28 is released.
16403
16404 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16405
16406         * event-Xt.c (x_keysym_to_character): New.
16407         (maybe_define_x_key_as_self_inserting_character): New.
16408         (x_has_keysym): New.
16409         Auto-define all keys on the keyboard as self-insert-key.
16410
16411 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16412
16413         * menubar.c (vars_of_menubar): A small code simplification.
16414
16415         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16416
16417         * ExternalShell.c:
16418         * ExternalClient.c:
16419         * EmacsShell-sub.c:
16420         * EmacsManager.c:
16421         * EmacsFrame.c:
16422         Use consistent style for specifying X resources.
16423
16424         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16425         This makes (dontusethis-set-symbol-value-handler) actually usable.
16426
16427         * lrecord.h (lrecord_decription_type):
16428         * alloc.c (pdump_register_sub):
16429         (pdump_dump_data):
16430         (pdump_reloc_one):
16431         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16432         Comply with XEmacs coding style.
16433         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16434         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16435
16436         * keymap.c (Faccessible_keymaps):
16437         Make (accessible-keymaps map "\C-h") do the Right Thing.
16438         Make (accessible-keymaps map []) do the Right Thing.
16439         Make (accessible-keymaps map "") do the Right Thing.
16440         (check_keymap_definition_loop): New function.
16441         (keymap_store_internal): Keep luser from shooting self in foot,
16442           via (define-key ctl-x-4-map "p" global-map).
16443         Remove fullness slot from struct Lisp_Keymap, since hash tables
16444         are now reliable.
16445         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16446
16447 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16448
16449         * redisplay.c (init_redisplay): Fix small memory leak.
16450         * elhash.h:
16451         * elhash.c (pdump_reorganize_hash_table):
16452         Rename from reorganize_hash_table. Change prototype.
16453         Reuse the original memory for hentries.  Save 100k.
16454         * alloc.c (PDUMP_READ): new macro.
16455         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16456         * alloc.c: No need to #ifndef before #undef.
16457
16458         * print.c: Allow debug_print() to print readably by modifying
16459         debug_print_readably.  Use consistent variable names.
16460
16461         * .dbxrc: Try to get things to work even if stopped in a function
16462         without source available by explicitly specifying source files.
16463 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16464
16465         * unexnt.c (_start): Removed bogus code which caused loading heap
16466         from differrent executable file.
16467         Removed bogus assignment to _fmode, which caused inconsistencies.
16468
16469 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16470
16471         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16472         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16473         Do not preliminary `#define signal sigset'.
16474
16475         * systime.h: Do not prototype environ on windows nt and cygwin,
16476         this conflicts with system header.
16477
16478         * syssignal.h: Use correct define for WINDOWSNT
16479
16480         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16481         with system header.
16482
16483         * sysdep.c (near start of file): Fixed commentary and rearranged
16484         ifdefs in readable order.
16485         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16486         (start_of_text):
16487         (end_of_text):
16488         (end_of_data): Do not compile in if using PDUMP.
16489
16490         * symsinit.h: Prototyped vars_of_nt().
16491
16492         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16493         (find_child_console): Use it.
16494         (sys_kill): Use it.
16495
16496         * ntheap.h: Do not extern os_subtype.
16497
16498         * ntheap.c (cache_system_info): Do not cache unneeded:
16499         nt_major_version, nt_minor_version and os_subtype.
16500         (recreate_heap): Do not compile in when PDUMPing.
16501
16502         * nt.c (geteuid and friends): Use the new varibale
16503         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16504         (init_user_info): Removed the above mentioned hackery.
16505         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16506         stat has been fixed in the C runtime.
16507         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16508
16509         * file-coding.c (struct file_coding_dump): Do not define
16510         ucs_to_mule_table in the struct if not MULE.
16511         (struct struct lrecord_description fcd_description_1): Do not dump
16512         the above.
16513
16514         * emacs.c (main_1): Call vars_of_nt().
16515         (right before Fdump_emacs_data): Don't need lastfile if using both
16516         portabe dumper and system malloc.
16517
16518         * alloc.c (Fmemory_limit): Conditionalized out.
16519         (pdump): Use OPEN_BINARY for the portable dump file.
16520         (pdump_load): Ditto.
16521
16522 2000-02-02  Mike Alexander  <mta@arbortext.com>
16523
16524         * nt.c (convert_time): Set tm_isdst before calling mktime and
16525         avoid calling it at all if the compiler supports 64 bit integers.
16526         Also initialize utc_base_ft before using it.
16527
16528 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16529
16530         * frame.c (change_frame_size_1): Take f->internal_border_width
16531         into consideration when calculating the width of the frame.
16532
16533 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16534
16535         * window.c (frame_min_height):
16536         (frame_size_valid_p):
16537         (frame_pixsize_valid_p): Added.
16538         (check_frame_size): Generalized.
16539
16540         * window.h: Prototyped the above.
16541
16542         * lisp.h:
16543         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16544         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16545         Deleted Vwin32_* and Vbinary_process_* unused variables.
16546
16547         * device-msw.c (msprinter_init_device): Do not get printer font
16548         list; Added DEVMODE functions.
16549
16550         * frame-msw.c: Added lots of printer code.
16551
16552         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16553         general.c.
16554
16555         * console-msw.h: Added more msprinter device private slots.
16556
16557 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16558
16559         * event-msw.c (key_needs_default_processing_p): Added.
16560         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16561
16562 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16563
16564         * glyphs.c (image_instance_layout): Mark image instance as clean
16565         after layout.
16566         (glyph_dirty_p): Removed redundant function.
16567         (invalidate_glyph_geometry_maybe): Added.
16568         (update_glyph_cachel_data): Call it.
16569
16570         * glyphs.h: Prototyped it.
16571
16572         * redisplay.c (add_glyph_rune): Call it.
16573         (redisplay_window): Reset glyphs cachels when frame faces have
16574         changed, thus forcing recomputation of built-in border glyphs.
16575
16576 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16577
16578         * Makefile.in.in: Make portable dumper and purify play well together.
16579         Add imperfect, but better than nothing, support for pdump.
16580         Remove xemacs.dmp when temacs is re-generated.
16581         Don't ignore errors when dumping xemacs.
16582
16583         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16584
16585 2000-01-28  Andy Piper  <andy@xemacs.org>
16586
16587         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16588         (setup_normal_frame): ditto.
16589         (setup_frame_without_minibuffer): ditto.
16590         (setup_minibuffer_frame): ditto.
16591         (delete_frame_internal): ditto.
16592         (Fmake_frame_invisible): ditto.
16593         (Ficonify_frame): ditto.
16594
16595         * window.h: change Fset_window_buffer signature.
16596
16597         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16598         (Fset_window_buffer): allow recording of buffer if the window is
16599         the selected window.
16600         (window_loop): Use new Fset_window signature.
16601
16602 2000-01-23  Daniel Pittman  <daniel@danann.net>
16603
16604         * config.h.in: Added template for `HAVE_ATHENA_3D'
16605
16606 2000-01-29  Andy Piper  <andy@xemacs.org>
16607
16608         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16609
16610         * gutter.c (output_gutter): Don't output if the window isn't live.
16611
16612 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16613
16614         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16615         of 01/12/00: Moved SetFocus back here where it belongs.
16616
16617 2000-01-23  Andy Piper  <andy@xemacs.org>
16618
16619         * s/cygwin32.h: declare printer things.
16620
16621 2000-01-26  Andy Piper  <andy@xemacs.org>
16622
16623         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16624         Alexander.
16625
16626 2000-01-24  Andy Piper  <andy@xemacs.org>
16627
16628         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16629         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16630
16631         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16632
16633         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16634
16635         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16636
16637         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16638         (mswindows_output_display_block): Avoid local shadows.
16639
16640         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16641         (mswindows_enqueue_mouse_button_event): ditto.
16642         (mswindows_handle_gui_wm_command): remove declaration.
16643
16644         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16645         warnings.
16646
16647         * console-msw.h: Avoid shadows.
16648         (mswindows_get_toolbar_button_text):
16649         (emacs_mswindows_create_stream_pair):
16650         (emacs_mswindows_delete_stream_pair):
16651         (mswindows_handle_toolbar_wm_command): declare.
16652
16653         * device-msw.c (build_syscolor_string): Avoid shadows.
16654
16655 2000-01-23  Andy Piper  <andy@xemacs.org>
16656
16657         * glyphs-widget.c (widget_instantiate): reverse the items for
16658         layouts so that children are in the expected order.
16659
16660 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16661
16662         * ralloc.c: safe_bcopy ==> memmove
16663         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16664         * s/msdos.h: Remove BCOPY macros.
16665         * insdel.c (gap_right): Remove BCOPY conditional code.
16666         * insdel.c (gap_left): Remove BCOPY conditional code.
16667         XEmacs demands a working ANSI C compiler - hence memmove.
16668
16669         * regex.c (regex_compile): Remove accidental use of trigraphs.
16670
16671 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16672
16673         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16674         event timestamp.
16675
16676 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16677
16678         * event-msw.c (mswindows_drain_windows_queue): Added the
16679         parameter.
16680         (mswindows_need_event): Commented the call to
16681         mswindows_drain_windows_queue().
16682         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16683         only.
16684
16685         * console-msw.h: Moved a few function prototypes here from
16686         event-msw.c.
16687
16688         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16689         parameter from unsigned short to unsigned long.
16690         (Fmswindows_shell_execute): Added return value.
16691
16692 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16693
16694         * sysdep.c (init_system_name):
16695           process-unix.c (unix_canonicalized_host_name):
16696         Don't call freeaddrinfo() if getaddrinfo() fails.
16697
16698         * process-unix.c (unix_open_unix_network_stream):
16699         Moved the code to get a port # into address loop.
16700
16701 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16702
16703         * buffer.c (reinit_vars_of_buffer):
16704         The right place to initialize conversion_in_dynarr and
16705         conversion_out_dynarr.
16706
16707         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16708
16709         * process-unix.c (unix_canonicalize_host_name): Muleize.
16710         (unix_open_network_stream): Muleize.
16711
16712         * buffer.h: Fix up prototypes for ralloc.c functions.
16713
16714 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16715         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16716         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16717                 instead of gethostbyname()
16718         * process-unix.c: In unix_canonicalize_host_name() and
16719                 unix_open_network_stream(), add code to use getaddrinfo()
16720                 instead of gethostbyname().
16721
16722 2000-01-27  Daniel Pittman <daniel@danann.net>
16723
16724         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16725         libs when built with flat Athena.
16726
16727 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16728
16729         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16730         Use coding standards for function prototypes.
16731
16732 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16733
16734         * dialog-msw.c (push_lisp_string_as_unicode):
16735         * doc.c (unparesseuxify_doc_string):
16736         * dired.c (Fuser_name_completion_1):
16737         * dired.c (Fuser_name_all_completions):
16738         * dired.c (free_user_cache):
16739         * dired.c (user_name_completion):
16740         * console-x.c (get_display_arg_connection):
16741         * minibuf.c (clear_echo_area_internal):
16742         * minibuf.c (echo_area_append):
16743         * eldap.c (Fldap_open):
16744         * eldap.c (Fldap_search_internal):
16745         * frame-x.c (x_set_frame_text_value):
16746         * frame-x.c (x_set_frame_properties):
16747         * frame-x.c (x_create_widgets):
16748         * redisplay-tty.c (term_get_fkeys_1):
16749         * objects-x.c (x_parse_nearest_color):
16750         * objects-x.c (x_valid_color_name_p):
16751         * objects-x.c (x_initialize_font_instance):
16752         * objects-x.c (x_list_fonts):
16753         * objects-x.c (x_find_charset_font):
16754         * tooltalk.c (Fadd_tooltalk_message_arg):
16755         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16756         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16757         * process-unix.c (unix_create_process):
16758         * ntproc.c (sys_spawnve):
16759         * sound.c (Fplay_sound_file):
16760         * sound.c (Fplay_sound):
16761         * buffer.c (init_initial_directory):
16762         * buffer.c (init_buffer):
16763         * editfns.c (init_editfns):
16764         * editfns.c (Ftemp_directory):
16765         * editfns.c (Fuser_full_name):
16766         * editfns.c (uncache_home_directory):
16767         * editfns.c (get_home_directory):
16768         * editfns.c (Fuser_home_directory):
16769         * editfns.c (Fformat_time_string):
16770         * editfns.c (Fcurrent_time_string):
16771         * gui-x.c (button_item_to_widget_value):
16772         * database.c (Fopen_database):
16773         * event-Xt.c (x_to_emacs_keysym):
16774         * event-Xt.c (x_event_to_emacs_event):
16775         * event-Xt.c (describe_event_window):
16776         * event-msw.c (mswindows_wnd_proc):
16777         * glyphs-eimage.c (jpeg_instantiate):
16778         * glyphs-eimage.c (gif_instantiate):
16779         * glyphs-eimage.c (png_instantiate):
16780         * glyphs-eimage.c (tiff_instantiate):
16781         * glyphs-x.c (xbm_instantiate_1):
16782         * glyphs-x.c (x_xbm_instantiate):
16783         * glyphs-x.c (x_xface_instantiate):
16784         * glyphs-x.c (autodetect_instantiate):
16785         * glyphs-x.c (cursor_font_instantiate):
16786         * glyphs-x.c (x_widget_instantiate):
16787         * glyphs-x.c (x_widget_set_property):
16788         * glyphs-x.c (x_widget_property):
16789         * glyphs-x.c (BUILD_GLYPH_INST):
16790         * print.c (write_string_to_stdio_stream):
16791         * print.c (output_string):
16792         * print.c (Falternate_debugging_output):
16793         * print.c (Fexternal_debugging_output):
16794         * glyphs-msw.c (extract_xpm_color_names):
16795         * glyphs-msw.c (mswindows_xpm_instantiate):
16796         * glyphs-msw.c (bmp_instantiate):
16797         * glyphs-msw.c (resource_name_to_resource):
16798         * glyphs-msw.c (mswindows_resource_instantiate):
16799         * glyphs-msw.c (xbm_instantiate_1):
16800         * glyphs-msw.c (mswindows_xbm_instantiate):
16801         * glyphs-msw.c (mswindows_xface_instantiate):
16802         * glyphs-msw.c (mswindows_widget_instantiate):
16803         * glyphs-msw.c (add_tree_item):
16804         * glyphs-msw.c (add_tab_item):
16805         * glyphs-msw.c (mswindows_combo_box_instantiate):
16806         * glyphs-msw.c (mswindows_widget_property):
16807         * glyphs-msw.c (mswindows_combo_box_property):
16808         * glyphs-msw.c (mswindows_widget_set_property):
16809         * console.c (stuff_buffered_input):
16810         * objects-msw.c (mswindows_initialize_color_instance):
16811         * objects-msw.c (mswindows_valid_color_name_p):
16812         * objects-msw.c (mswindows_list_fonts):
16813         * objects-msw.c (mswindows_font_instance_truename):
16814         * bytecode.c (optimize_compiled_function):
16815         * select-x.c (symbol_to_x_atom):
16816         * select-x.c (x_atom_to_symbol):
16817         * select-x.c (hack_motif_clipboard_selection):
16818         * select-x.c (selection_data_to_lisp_data):
16819         * select-x.c (lisp_data_to_selection_data):
16820         * select-x.c (Fx_get_cutbuffer_internal):
16821         * select-x.c (Fx_store_cutbuffer_internal):
16822         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16823         * buffer.h (TO_INTERNAL_FORMAT): New function.
16824         * emacs.c (make_arg_list_1):
16825         * emacs.c (make_argc_argv):
16826         * emacs.c (main_1):
16827         * emacs.c (Fdump_emacs):
16828         * emacs.c (split_string_by_emchar_1):
16829         * file-coding.h:
16830         * lisp.h:
16831         * lstream.h:
16832         * symsinit.h:
16833         * device-x.c (x_init_device):
16834         * device-x.c (Fx_valid_keysym_name_p):
16835         * device-x.c (Fx_get_font_path):
16836         * device-x.c (Fx_set_font_path):
16837         * glyphs.c (bitmap_to_lisp_data):
16838         * glyphs.c (pixmap_to_lisp_data):
16839         * alloc.c (make_ext_string): Use coding system arguments.  Update
16840         all callers.
16841         * alloc.c (build_string):
16842         * callproc.c (child_setup):
16843         * callproc.c (init_callproc):
16844         * fileio.c (lisp_strerror):
16845         * fileio.c (directory_file_name):
16846         * fileio.c (Fexpand_file_name):
16847         * fileio.c (Ffile_truename):
16848         * fileio.c (Fsysnetunam):
16849         * fileio.c (Fdo_auto_save):
16850         * sysdep.c (sys_readdir):
16851         * tests.c: New file.  Allow adding C tests.
16852         Replace GET_* macros with a more comprehensible and flexible
16853         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16854         Modify all calls.
16855         Any coding system can be used to do format conversion.
16856         Eliminate enum external_data_format.
16857         Eliminate convert_to_external_format.
16858         Eliminate convert_to_internal_format.
16859         Make sure file-name, keyboard, terminal, and ctext are always
16860         defined as coding systems or aliases.  Make
16861         file-name-coding-system, terminal-coding-system, and
16862         keyboard-coding-system magical variables that are equivalent to
16863         defining the corresponding coding system aliases.
16864
16865         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16866         * file-coding.c (Fcoding_system_alias_p): New function.
16867         * file-coding.c (Fcoding_system_aliasee): New function.
16868         * file-coding.c (append_suffix_to_symbol): New function.
16869         * file-coding.c (dangling_coding_system_alias_p): New function.
16870         * file-coding.c (Ffind_coding_system):
16871         * file-coding.c (Fcopy_coding_system):
16872         * file-coding.c (encode_coding_no_conversion):
16873         * file-coding.c (syms_of_file_coding):
16874         * file-coding.c (vars_of_file_coding):
16875         Rewrite coding system alias code.
16876         Allow nested aliases, like symbolic links.
16877         Allow redefinition of coding system aliases.
16878         Prevent existence of dangling coding system aliases.
16879
16880         * dired.c (Fuser_name_completion_1):
16881         * dired.c (Fuser_name_all_completions):
16882         A crash would happen if user did QUIT in the middle of building
16883         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16884
16885         * lisp.h:
16886         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16887
16888         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16889         an unsigned char *.  Update all callers.
16890
16891 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16892
16893         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16894
16895 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16896
16897         * elhash.c (hentry_description): Use more portable definition.
16898         (resize_hash_table): Initialize new hentries using
16899         xnew_array_and_zero, thereby simplifying the code.
16900
16901         * mule-charset.c (make_charset): Make sure entire object is
16902         initialized, to avoid Purify warnings.
16903
16904         * alloc.c (resize_string): Fix unlikely crash with big strings.
16905
16906 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16907
16908         * realpath.c (xrealpath):
16909         Don't call getwd().
16910
16911 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16912
16913         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16914
16915 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16916
16917         * unexelfsgi.c (unexec): Change the way we decide which segment
16918         should be extended.
16919
16920         Assumption that .bss section should be outside the PT_LOADable
16921         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16922         it's present) is inside the 'data' segment. This would fail the
16923         test which was used to find a segment to grow and cover new
16924         heap. Instead of this assumption, I created another one - on IRIX
16925         the segment to grow should start below .bss and it's address
16926         should extent above the end of .bss. Once this segment is
16927         identified, it's grown to accommodate the new heap and new
16928         zero-length .bss section is added at the end of .data2.
16929
16930 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16931
16932         * eval.c (Feval): Wrong number of arguments should use original
16933         function, not the indirect_function version of it.
16934
16935 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16936
16937         * glyphs-x.c (x_button_instantiate): Don't add image if
16938         it is not a pixmap.
16939         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16940         is relative.
16941
16942 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16943
16944         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16945         declaration.
16946         (DEFVAR_INT_MAGIC): Ditto.
16947         (DEFVAR_BOOL_MAGIC): Ditto.
16948         * glyphs.h: Reindent backslash.
16949
16950 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16951
16952         * glyphs-widget.c (layout_query_geometry):
16953         (layout_layout): Use correct types for gheight, gwidth.
16954
16955 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16956
16957         * EmacsManager.c (QueryGeometry): Purified.
16958
16959 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16960
16961         * alloc.c (make_float): Make sure entire object is initialized, to
16962         avoid Purify warnings.
16963         (pdump_register_sub): Remove useless assignment.
16964         (pdump): Use xmalloc, not malloc.
16965         (pdump_load): Use xmalloc, not malloc.
16966
16967 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16968
16969         * callproc.c:
16970         * dired-msw.c:
16971         * fileio.c:
16972         * process-nt.c:
16973         * redisplay-msw.c:
16974         * sysdep.c: Removed redundant #include <windows.h>
16975
16976 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16977
16978         * frame.c (delete_frame_internal): Do not delete device when its
16979         implementation so declares.
16980         (delete_frame_internal): Set device selected frame to nil when
16981         last frame goes away.
16982
16983         * device-msw.c (msprinter_device_system_metrics): Implemented.
16984         (mswindows_device_system_metrics): Added 'device-dpi property.
16985
16986         * device.c: (Fdevice_printer_p): Added.
16987         Added 'offset-workspace device metric.
16988
16989         * console.h (device_metrics): Declared DM_offset_workspace.
16990
16991 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16992
16993         * fileio.c (Ffile_truename): Remove pointless and confusing
16994         initialization of elen.
16995
16996         * glyphs-widget.c: Compiler warning fixes.
16997
16998 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16999
17000         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17001         instead of a Lisp_Object as argument to make it consistent with
17002         the other LIVE_P macros.
17003         (CHECK_LIVE_PROCESS): New macro.
17004
17005         * process.c: Declare Qprocess_live_p.
17006         (Fprocess_live_p): New function.
17007         (create_process): Use PROCESS_LIVE_P.
17008         (read_process_output): Ditto.
17009         (set_process_filter): Ditto.
17010         (Fdelete_process): Ditto.
17011         (kill_buffer_processes): Ditto
17012         (process_send_signal): Use CHECK_LIVE_PROCESS.
17013         (Fprocess_input_coding_system): Check whether process is still
17014         alive (fix PR#1061).
17015         (Fprocess_output_coding_system): Ditto.
17016         (Fprocess_coding_system): Ditto.
17017         (Fset_process_input_coding_system): Ditto.
17018         (Fset_process_output_coding_system): Ditto.
17019
17020 2000-01-23  Andy Piper  <andy@xemacs.org>
17021
17022         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17023         layout and widget.
17024
17025         * glyphs.c (mark_image_instance): take into account changed
17026         image_instance format.
17027         (image_instance_equal): ditto.
17028         (image_instance_hash): ditto.
17029
17030         * glyphs-widget.c (widget_instantiate): Incorporate layout
17031         instantiation here. Delay layout of the layout until later.
17032         (layout_instantiate): deleted.
17033         (layout_query_geometry): new function. get the geometry of a
17034         layout.
17035         (layout_layout): layout a layout dynamically.
17036         (image_instantiator_widget): New function - splitting up
17037         image_instantiator_format_create_glyphs_widget for netwinder
17038         compilation.
17039         (image_instantiator_buttons):
17040         (image_instantiator_edit_fields):
17041         (image_instantiator_combo_box):
17042         (image_instantiator_scrollbar):
17043         (image_instantiator_progress_guage):
17044         (image_instantiator_tree_view):
17045         (image_instantiator_tab_control):
17046         (image_instantiator_labels):
17047         (image_instantiator_layout): ditto.
17048         (image_instantiator_format_create_glyphs_widget): Call preceding
17049         functions.
17050
17051 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17052
17053         * process.c (Fset_process_coding_system):
17054         * device-x.c (Fx_keysym_hash_table):
17055         Docstring fixes.
17056
17057         * lstream.c (Lstream_write): Return documented value, not 0.
17058
17059         * fileio.c (directory_file_name):
17060         (Fsubstitute_in_file_name):
17061         (Fsubstitute_insert_file_contents_internal):
17062         (Fwrite_region_internal):
17063         * emacs.c:
17064         * sysdep.c:
17065         * getloadavg.c:
17066         * systty.h:
17067         Remove vestigial APOLLO-conditional code.
17068
17069 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17070
17071         * getpagesize.h: Add guard macros.
17072         * libsst.h: Add guard macros.
17073         * libst.h: Add guard macros.
17074         * line-number.h: Add guard macros.
17075         * ndir.h: Add guard macros.
17076         * sysfloat.h: Add guard macros.
17077         * sysfile.h: Add guard macros.
17078         * sysproc.h: Add guard macros.
17079         * syswait.h: Add guard macros.
17080         * xintrinsic.h: Add guard macros.
17081         * xintrinsicp.h: Add guard macros.
17082         * xmmanager.h: Add guard macros.
17083         * xmmanagerp.h: Add guard macros.
17084         * xmprimitive.h: Add guard macros.
17085         * xmu.h: Add guard macros.
17086         * gpmevent.h: Add copyright statement. Add guard macros.
17087         * miscplay.h: Add guard macros.
17088         * *.h: Use consistent C-standards-approved guard macro names.
17089
17090         * opaque.c (make_opaque): Switch parameter order.
17091         * opaque.h (make_opaque): Switch parameter order.
17092         Update all callers.
17093         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17094
17095         * config.h.in (type_checking_assert): Added.
17096         (bufpos_checking_assert): Added.
17097
17098 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17099
17100         * alloc.c: Harmless pdump changes.
17101         - Use countof().
17102         - spell alignment correctly.
17103         * sysdep.c: Use countof()
17104
17105 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17106
17107         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17108         initially_selected_for_input() console method, default to 0.
17109         (semi_canonicalize_console_connection): Try to delegate to
17110         canonicalize_console_connection if no such console method.
17111         (canonicalize_console_connection): Vice versa.
17112         (print_console): Do not print nil connection.
17113
17114         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17115         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17116         (XDEVIMPF_FRAMELESS_OK): Added.
17117         (CONSOLE_INHERITS_METHOD): Added.
17118
17119         * console-msw.c (mswindows_canonicalize_console_connection):
17120         Added.
17121         (mswindows_canonicalize_device_connection): Added.
17122
17123         * console-msw.h (struct msprinter_device): Added this struct and
17124         accessor macros.
17125         (mswindows_device): Made fontlist a lisp object.
17126
17127         * device.c (semi_canonicalize_device_connection):  Try to delegate
17128         to canonicalize_device_connection if no such console method.
17129         (canonicalize_device_connection): Vice versa.
17130         (print_device): Do not print nil connection.
17131
17132         * device-msw.c (mswindows_init_device): Call InitCommonControls
17133         when have widgets.
17134         (mswindows_delete_device): Removed fontlist deallocation.
17135         (mswindows_mark_device): Added.
17136
17137         * events.c (event_equal): Added abort() at unreached code.
17138         (event_hash): Ditto.
17139
17140         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17141         fallback tags of Windows devices.
17142
17143         * general.c (syms_of_general): Initialized Qmsprinter.
17144
17145         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17146         of fallback tags of Windows devices.
17147
17148         * lisp.h: Declared Qmsprinter.
17149
17150         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17151         of strings.
17152         (mswindows_list_fonts): Ditto.
17153         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17154         that it can be used by both mswindows and msprinter devices.
17155         (initialize_font_instance): Added.
17156         (mswindows_initialize_font_instance): Use it.
17157         (msprinter_initialize_font_instance): Added.
17158
17159         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17160         and implementation flags check.
17161         (redisplay_without_hooks): Changed the call to the above.
17162         (Fredraw_device): Ditto.
17163         (Fredisplay_device): Ditto.
17164
17165         * redisplay-msw.c (get_frame_dc): Implemented.
17166         (get_frame_compdc): Implemented.
17167         (many functions): Use the two functions above to get device
17168         contexts, ether for a window or a printer.
17169
17170 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17171
17172         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17173         initialization here.
17174         (init_symbols_once_early): Call it.
17175         * emacs.c (main_1): Call it.
17176         * symsinit.h: Declare it.
17177
17178 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17179
17180         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17181         Lisp_Object.
17182         (pdump_backtrace): Ditto.
17183         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17184         (pdump_get_entry): Abort if trying to register a null pointer.
17185         (pdump_dump_data): Cleanup types when relocating.
17186         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17187         (pdump_dump_rtables): Remove bad casts.
17188         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17189         Lisp_Object instead of a EMACS_INT for the hashtable
17190         reorganization.
17191
17192 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17193
17194         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17195
17196         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17197
17198         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17199
17200         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17201
17202 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17203
17204         * faces.h (FACE_STRIKETHRU_P): Added.
17205
17206         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17207         of font variants.
17208
17209         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17210         (mswindows_set_dc_font): New function, aware of font variants,
17211         separated from mswindows_update_dc.
17212
17213         * objects-msw.h (struct mswindows_font_instance_data): Added
17214         definition.
17215
17216         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17217         cached fonts and the data structure.
17218         (mswindows_initialize_font_instance): Added creation of font data
17219         structure.
17220         (mswindows_print_font_instance): Print at least something.
17221         (mswindows_create_font_variant): Implemented.
17222         (mswindows_get_hfont): Implemented.
17223
17224 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17225
17226         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17227         prototyping problem with msvc.
17228
17229         * emacs.c (main_1): added syms_of_gui_mswindows() call
17230
17231         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17232         syms_of_gui_mswindows() function
17233
17234         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17235
17236 2000-01-18  Martin Buchholz <martin@xemacs.org>
17237
17238         * XEmacs 21.2.27 is released.
17239
17240 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17241
17242         * glyphs-eimage.c (struct tiff_error_struct):
17243         (tiff_error_func):
17244         (tiff_warning_func):
17245         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17246
17247         * unexmips.c:
17248         * unexhp9k3.c:
17249         * unexfreebsd.c:
17250         * unexec.c: Remove vestigial Lucid C code.
17251         * unexalpha.c:
17252         * unexaix.c:
17253         * termcap.c:
17254         * libsst.c: Ansify.
17255         Remove declarations of errno and strerror().
17256
17257         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17258
17259         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17260
17261 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17262
17263         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17264         Optimize.
17265
17266 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17267
17268         * md5.c:
17269         * file-coding.c:
17270         * file-coding.h:
17271         Change enum eol_type to eol_type_t.
17272
17273 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17274
17275         * gui.c (get_gui_callback): Check cons before accessing car.
17276
17277 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17278
17279         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17280         (XSETSPECIFIER_TYPE): Ditto.
17281
17282 2000-01-17  Didier Verna  <didier@xemacs.org>
17283
17284         * redisplay.c (generate_fstring_runes): compute string size in
17285         characters, not bytes.
17286
17287 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17288
17289         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17290
17291 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17292
17293         * print.c (print_error_message): Call print_prepare().
17294
17295 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17296
17297         * .dbxrc: Renamed from dbxrc.
17298
17299         * events.c (event_to_character):
17300         Use `assert (foo)' instead of `if (!foo) abort()'
17301
17302         * .gdbinit (xtype): Add documentation.
17303         * .gdbinit (check-temacs): New function.
17304         * .gdbinit (check-xemacs): New function.
17305         * dbxrc (check-xemacs): New function.
17306         * dbxrc (check-xemacs): New function.
17307
17308 2000-01-14  Andy Piper  <andy@xemacs.org>
17309
17310         * glyphs-widget.c (widget_query_geometry): Make sure that we
17311         calculate default dimensions correctly.
17312
17313 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17314
17315         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17316
17317         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17318         pdump_wire'd variable.
17319
17320         * emacs.c: (main_1): Conditionalized calls to
17321         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17322
17323 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17324
17325         * window.c (Fset_window_configuration):
17326         * sysdep.c (_start):
17327         * input-method-motif.c (res):
17328         * event-Xt.c (Xt_process_to_emacs_event):
17329         Simple compiler warning fixes.
17330
17331         * bytecode.c (funcall_compiled_function): Use the original
17332         function symbol on the backtrace list in preference to the
17333         compiled_function object in error messages.
17334
17335 2000-01-13  Andy Piper  <andy@xemacs.org>
17336
17337         * glyphs-x.c (update_widget_face): Make sure we update the widget
17338         background as well as foreground.
17339
17340 2000-01-13  Andy Piper  <andy@xemacs.org>
17341
17342         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17343         fields to subwindow.
17344         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17345         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17346         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17347         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17348
17349         * glyphs-widget.c (check_valid_tab_orientation): new function.
17350         (initialize_widget_image_instance): zero orientation and
17351         justification.
17352         (widget_instantiate): pick up orientation.
17353         (tab_control_query_geometry): return appropriate values for
17354         vertical tabs.
17355
17356         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17357         appropriate creation flags for left, right and bottom tabs.
17358
17359         * s/cygwin32.h: add tab definitions.
17360
17361 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17362
17363         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17364         frame upon hiding a subwindow.
17365         (mswindows_button_instantiate): Changed the push button style to
17366         BS_PUSHBUTTON.
17367         (mswindows_button_instantiate): Removed button BS_NOTIFY
17368         style.
17369         (mswindows_button_instantiate): Removed redundant check for
17370         a disabled gui item.
17371         (mswindows_button_instantiate): Made use of WS_TABSTOP
17372         consistent: "operable" controls (edit, button, tree, scroll) have
17373         this style, "display-only" ones (static, progress gauge) do
17374         not. This style is currently ignored by XEmacs though. Also,
17375         removed the WS_EX_CONTROLPARENT style - it is not for children,
17376         it is for their parents!
17377         (mswindows_edit_field_instantiate): Ditto.
17378         (mswindows_progress_gauge_instantiate): Ditto.
17379         (mswindows_tree_view_instantiate): Ditto.
17380         (mswindows_tab_control_instantiate): Ditto.
17381         (mswindows_scrollbar_instantiate): Ditto.
17382         (mswindows_combo_box_instantiate): Ditto.
17383         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17384         style to the "clip" window.
17385         (mswindows_button_instantiate): Removed compilation warning by
17386         equally typing terms of the ?: operator.
17387
17388 2000-01-12  Didier Verna  <didier@xemacs.org>
17389
17390         * redisplay.c (generate_fstring_runes): new parameter holding the
17391         last modeline-format extent.
17392         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17393         extent, fill the glyph block with it.
17394         (generate_fstring_runes): handle these parameters.
17395         (generate_formatted_string_db): ditto.
17396
17397         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17398         glyphs'extents in the modeline.
17399
17400 1999-01-11  Mike Woolley  <mike@bulsara.com>
17401
17402         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17403         256Mb, as a workaround for the non-starting problem many people
17404         have experienced.
17405
17406 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17407
17408         * console-tty.c (Fset_console_tty_output_coding_system):
17409         Force redrawing tty frame.
17410
17411 2000-01-10  Didier Verna  <didier@xemacs.org>
17412
17413         * redisplay.c (generate_fstring_runes): fix size computation bug.
17414
17415 2000-01-09  William M. Perry <wmperry@aventail.com>
17416
17417         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17418
17419 2000-01-09  Andy Piper  <andy@xemacs.org>
17420
17421         * glyphs-msw.c: index -> i to avoid shadows.
17422         (xbm_create_bitmap_from_data): make static.
17423         (check_valid_string_or_int): deleted.
17424         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17425
17426         * glyphs-x.c (x_update_subwindow): remove unused args.
17427
17428         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17429         back pointer - this is done in allocate_image_instance.
17430         (query_string_font): return Qnil to make the compiler happy.
17431         (unmap_subwindow): set to ~0 to make the compiler happy.
17432         (glyph_query_geometry): comment out until used.
17433         (glyph_layout): ditto.
17434
17435 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17436
17437         * insdel.c (signal_after_change): Remove extraneous unbind_to().