update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
4         for compatibility decomposition mapping tagged FOO.
5         (Fput_char_attribute): Modify for `put_char_composition'.
6
7 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * chartab.c (Qto_decomposition_at_compat): New variable.
10         (Q_compat_of): Renamed from `Q_compatibility_of'.
11         (put_char_composition): Rename `Q_compatibility_of' to
12         `Q_compat_of'; return `=>decomposition@compat' for compatibility
13         decomposition mapping.
14         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
15         `Q_compat_of'.
16         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
17         `<-compatibility' to `<-compat'.
18
19 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * chartab.c (Q_compatibility_of): New variable.
22         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
23         object is proved to be a cons cell; return `<-compatibility' if
24         the first element of argument `value' is `compat'.
25         (Fput_char_attribute): Eliminate the first value if
26         `put_char_composition' returns `<-compatibility'.
27         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
28         for `<-compatibility'.
29         (syms_of_chartab): Add new symbol `<-compatibility'.
30
31 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * chartab.c (Q_canonical): New variable.
34         (put_char_composition): Return a feature name: return
35         `->canonical' if argument `value' specifies single character.
36         (Fput_char_attribute): Use `put_char_composition' to determine
37         feature name for `=decomposition' or `->denotational'.
38         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
39         for `->canonical'.
40         (syms_of_chartab): Add new symbol `->canonical'.
41
42 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * chartab.c (Qmap_decomposition): New variable.
45         (Fput_char_attribute): Convert `->decomposition' to
46         `=decomposition'.
47         (syms_of_chartab): Add new symbol `=decomposition'.
48
49 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * chartab.c (Fget_range_char_table): Fix serious problem when
52         `range' is nil.
53
54 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * chartab.c (char_table_get_db): Use `read_from_c_string'.
57
58 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * lread.c (read_from_c_string): New function.
61
62         * lisp.h (read_from_c_string): New prototype.
63
64 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * chartab.c (Fput_char_attribute): Convert char-specs in value of
67         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
68         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
69         for `{<-|->}Oracle-Bones[^*]*'.
70
71 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
74         (Kizu).
75
76 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * text-coding.c (Qccs_priority_list): New variable in XEmacs
79         CHISE.
80         (Fmake_coding_system): Support new property `ccs-priority-list' in
81         XEmacs CHISE.
82         (Fcoding_system_property): Likewise.
83         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
84         Vdefault_coded_charset_priority_list in XEmacs CHISE.
85         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
86         XEmacs CHISE.
87         (complex_vars_of_file_coding): Define new coding-system-property
88         `ccs-priority-list' in XEmacs CHISE.
89
90         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
91
92 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
95         changed to normal function.
96         (encode_char_2): Likewise.
97
98         * mule-charset.c (decoding_table_put_char): Copied from
99         char-ucs.h; changed to normal function.
100         (encode_char_2): Likewise.
101
102 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
105         New extern.
106         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
107         (encode_char_2_search_children): New inline function.
108         (encode_char_2): Refer
109         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
110         and use `encode_char_2_search_children'.
111
112 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * mule-charset.c
115         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
116         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
117         (vars_of_mule_charset): Add new variable
118         `display-coded-charset-priority-use-inheritance' and
119         `display-coded-charset-priority-use-hierarchy-order'.
120
121 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * char-ucs.h (Q_subsumptive): New extern.
124         (Q_denotational): Likewise.
125         (encode_char_2): Search children specified by `->subsumptive' and
126         `->denotational'.
127
128 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * mule-charset.c (complex_vars_of_mule_charset): Modify the
131         X-registry of `ucs-bmp'.
132
133 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * chartab.c (char-variants): Refer `->subsumptive',
136         `->denotational' and `->identical' as same as `->ucs-unified'.
137
138 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * chartab.c (Fput_char_attribute): Convert char-specs in value of
141         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
142         links.
143
144 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * text-coding.c: Add EXFUN for `Fregexp_quote'.
147         (decode_add_er_char): Fix problem about infinite loop when a CCS
148         specified in `coded-charset-entity-reference-alist' is not
149         existed.
150
151 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * mule-charset.c (syms_of_mule_charset): Rename
154         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
155
156 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * fns.c (simplify_char_spec): Don't allocate new character-object
159         if specified char_spec does not have any CCS-features.
160
161         * chartab.h: Add EXFUN for Fdefine_char.
162
163         * chartab.c: Delete EXFUN for Fdefine_char.
164
165 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * fns.c (simplify_char_spec): Use Fdefine_char instead of
168         Ffind_char for char-spec.
169
170 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
171
172         * lisp-disunion.h (XCHARVAL): Fix condition about
173         SIZEOF_EMACS_INT.
174
175 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
178         <int> for `code'.
179         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
180         point; use <Emchar> instead of <int> for character-id.
181
182 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
185         (make_char): Likewise.
186         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
187         environment.
188         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
189         instead of <int> as the type of return value; use <Lisp_Object>
190         instead of <Emchar> as the type of argument.
191         (XCHARVAL[macro version]): Cast the result into <Emchar>.
192
193         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
194         syntaxcode> instead of <int>.
195
196 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.c (put_char_composition): Use DECODE_CHAR to get
199         character corresponding with UCS code point.
200         (Fput_char_attribute): Likewise.
201
202         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
203         character in the UCS decoding-table if the char-id is not equal to
204         the UCS code point.
205
206 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
209         for aliases; write `description'; write
210         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
211         not 0.
212
213 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (Fsave_char_attribute_table): Don't use
216         `save_charset_properties'.
217
218         * mule-charset.c (Fsave_charset_properties): Renamed from
219         `save_charset_properties' and changed to Lisp function again;
220         write property `type' as `CCS'; write properties `final-byte' and
221         `mother' if they exists.
222         (syms_of_mule_charset): Revive builtin function
223         `save-charset-properties' when HAVE_LIBCHISE is defined.
224
225 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
228         instead of Vexec_directory.
229         (char_attribute_system_db_file): Likewise.
230
231 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * chartab.c (Fsave_char_attribute_table): Use
234         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
235         defined.
236
237         * mule-charset.c (save_charset_properties): Renamed from
238         `Fsave_charset_properties'; changed to non-Lisp function.
239         (syms_of_mule_charset): Abolish builtin function
240         `save-charset-properties'.
241
242 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * mule-charset.c (Fsave_charset_properties): New function when
245         HAVE_LIBCHISE is defined.
246         (syms_of_mule_charset): Add new builtin function
247         `save-charset-properties' when HAVE_LIBCHISE is defined.
248
249 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * chartab.c (Fput_char_attribute): Convert char-specs in value of
252         `{<-|->}ancient[^*]*' to characters and put reverse links.
253         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
254         for `{<-|->}ancient[^*]*'.
255
256 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * chartab.c (Fput_char_attribute): Convert char-specs in value of
259         `{<-|->}original[^*]*' to characters and put reverse links.
260         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
261         for `{<-|->}original[^*]*'.
262
263 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
266
267 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * mule-charset.c (Qsystem_char_id): New variable.
270
271         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
272         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
273
274 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * chartab.c (Fput_char_attribute): When processing a reference of
277         a character, put into the end of the reversed reference of each
278         target character.
279
280 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * chartab.c (Q_same): Deleted.
283         (Q_same_of): Deleted.
284         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
285         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
286         for `{<-|->}same'.
287         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
288
289 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * chartab.c (Q_vulgar): Deleted.
292         (Q_vulgar_of): Deleted.
293         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
294         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
295         for `{<-|->}vulgar'.
296         (syms_of_chartab): Don't define `{<-|->}vulgar'.
297
298 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * chartab.c (Fput_char_attribute): Convert char-specs in value of
301         `{<-|->}wrong[^*]*' to characters and put reverse links.
302         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
303         for `{<-|->}wrong[^*]*'.
304
305 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * chartab.c (Q_vulgar): New variable.
308         (Q_vulgar_of): New variable.
309         (Fput_char_attribute): Convert char-specs in value of
310         `{->|<-}vulgar' to characters and put reverse links.
311         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
312         for `{->|<-}vulgar'.
313         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
314
315 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * text-coding.c (decode_add_er_char): Must to quote prefix string
318         as regexp.
319
320 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * mule-charset.c (put_char_ccs_code_point): Store characters of
323         =ucs whose code_points >= 0xF0000.
324
325 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
328         CHISE.
329         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
330         CHISE.
331         (complex_vars_of_mule_charset): Add new coded-charset
332         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
333         builtin characters over 0xEFFFF.
334
335         * chartab.c (syms_of_chartab): Don't define symbol
336         `system-char-id' in every case.
337
338         * char-ucs.h (Qsystem_char_id): New extern variable.
339         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
340
341 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
342
343         * text-coding.c (char_encode_utf8): Try to use entity-references
344         for U-000F0000 ...  U-0010FFFF.
345
346 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * text-coding.c (ER_BUF_SIZE): New macro.
349         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
350         `er_buf'.
351         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
352         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
353
354 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * chartab.c (find_char_feature_in_family): New function.
357         (Fchar_feature): Use `find_char_feature_in_family' with
358         `->identical', `<-subsumptive' and `<-denotational'.
359
360 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * text-coding.c (char_encode_as_entity_reference): Allow prefix
363         within 8 characters; fix infinite loop.
364
365 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * chartab.c (Q_same): New variable.
368         (Q_same_of): New variable.
369         (Fput_char_attribute): Convert char-specs in value of
370         `{->|<-}same' to characters and put reverse links.
371         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
372         for `{->|<-}same'.
373         (syms_of_chartab): Add new symbols `{->|<-}same'.
374
375 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
376
377         * chartab.c (Q_component): New variable.
378         (Q_component_of): Likewise.
379         (Fput_char_attribute): Convert char-specs in value of
380         `{->|<-}ideographic-component-forms' to characters and put reverse
381         links.
382         (syms_of_chartab): Add new symbols
383         `{->|<-}ideographic-component-forms'.
384
385 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
386
387         * chartab.c (Q_identical): New variable.
388         (Q_identical_from): New variable.
389         (Fchar_feature): Regard `->identical' as a feature to find
390         ancestors.
391         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
392         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
393         for `{->|<-}identical'.
394         (syms_of_chartab): Add new symbols `{->|<-}identical'.
395
396 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * char-ucs.h (encode_char_2): New inline function.
399         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
400
401 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
402
403         * chartab.c (Fput_char_attribute): Convert char-specs to
404         characters in value of `ideographic-structure'.
405         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
406         for `{<-|->}simplified(@...)'.
407         (Fdefine_char): Try to use predefined character's id.
408
409 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * fns.c (simplify_char_spec): Try to convert builtin chars to
412         defined chars.
413
414 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * chartab.c (Fput_char_attribute): Convert char-specs in value of
417         `<-simplified[^*]*' to characters and put reverse links.
418
419 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * chartab.c (Q_subsumptive): Renamed from Q_unified.
422         (Q_subsumptive_from): Renamed from Q_unified_from.
423         (Fchar_feature): Use `Q_subsumptive_from' instead of
424         `Q_unified_from'.
425         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
426         `Q_unified'.
427         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
428         `<-unified' to `<-subsumptive'.
429
430 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
433         inheritance itself; fix typo; stop recursive search if cyclic
434         inheritance is found.
435
436 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (Q_denotational): New variable.
439         (Q_denotational_from): New variable.
440         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
441         (put_char_attribute): New function.
442         (Fput_char_attribute): Use `put_char_attribute'; regard
443         `->denotational' and `<-denotational' as same as `->unified' and
444         `<-unified'.
445         (syms_of_chartab): Add new symbols `->denotational' and
446         `<-denotational'.
447
448 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
451         `Fget_char_attribute'.
452         (Fchar_variants): Likewise.
453         (get_char_table): Likewise.
454         (Fchar_feature): New function.
455         (put_char_composition): Use `Fchar_feature' instead of
456         `Fget_char_attribute'.
457         (Fput_char_attribute): Likewise; don't put the target character
458         into its `->unified' value.
459         (syms_of_chartab): Add new builtin function `char-feature'.
460
461 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
464         `Fget_char_attribute'.
465         (char_encode_utf8): Likewise.
466
467         * chartab.h: Add an EXFUN for `Fchar_feature'.
468
469 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * chartab.c (Vnext_defined_char_id): New variable.
472         (Fput_char_attribute): Accept characters in `->unified'.
473         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
474         new characters which are not related with builtin char-id ranges.
475         (vars_of_chartab): Add new variable `next-defined-char-id'.
476
477 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
478
479         * chartab.c (Q_unified): New variable.
480         (Q_unified_from): New variable.
481         (Fput_char_attribute): Add code for `->unified'.
482         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
483         XEmacs CHISE.
484
485 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * mule-charset.c (decode_ccs_conversion): New function.
488         (decode_defined_char): Use `decode_ccs_conversion'.
489         (decode_builtin_char): Likewise.
490
491 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * char-ucs.h: Change some charset-ids of private coded-charsets.
494
495 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
498         (char_encode_as_entity_reference): Likewise.
499         (decode_coding_big5): Modify for `decode_defined_char' and
500         `DECODE_CHAR'.
501         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
502         avoid compiler warning.
503         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
504
505         * mule-charset.c (decode_defined_char): Add new argument
506         `without_inheritance'.
507         (Fdecode_char): Add new optional argument `without_inheritance'.
508         (Fdecode_builtin_char): Modify for `Fdecode_char'.
509
510         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
511         (simplify_char_spec): Likewise.
512
513         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
514         setting.
515
516         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
517         (map_char_table): Likewise.
518         (Fdefine_char): Use `Fdecode_char' without inheritance.
519         (Ffind_char): Modify for `Fdecode_char'.
520
521         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
522
523         * char-ucs.h (decode_defined_char): Add new argument
524         `without_inheritance'.
525         (DECODE_CHAR): Likewise.
526         (MAKE_CHAR): Modify for `DECODE_CHAR'.
527
528 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
529
530         * chartab.c (Vchise_system_db_directory): New variable.
531         (vars_of_chartab): Add new variable `chise-system-db-directory'.
532
533 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * chartab.c: EXFUN `Fmount_char_attribute_table'.
536         (print_chartab_range): Don't define when `UTF2000' is defined.
537         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
538         `CHISE_DS_open'.
539
540 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
543         and optional argument `rehash' is specified, call
544         `open_chise_data_source_maybe' before
545         `chise_ds_foreach_char_feature_name' is called.
546
547 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * chartab.c (char_attribute_list_reset_map_func): New function
550         when HAVE_LIBCHISE is defined.
551         (Fchar_attribute_list): Add new optional argument `rehash' when
552         HAVE_LIBCHISE is defined.
553         (open_chise_data_source_maybe): Use "chise-db" instead of
554         "char-db".
555         (char_attribute_system_db_file): Likewise.
556         (Fload_char_attribute_table): Use
557         `chise_feature_foreach_char_with_value' instead of
558         `chise_char_feature_value_iterate'.
559
560 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * chartab.c (Vchise_db_directory): New variable.
563         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
564
565 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
568         instead of HAVE_CHISE to specify using with libchise.
569
570         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
571
572         * chartab.h: Don't use HAVE_CHISE_CLIENT.
573
574         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
575         defined or HAVE_LIBCHISE_LIBCHISE is defined.
576         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
577         is defined.
578         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
579         HAVE_CHISE to specify using with libchise.
580         (syms_of_chartab): Don't define symbol `system-char-id' when
581         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
582
583 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
586         specify CHISE DB support.
587         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
588         of `char_attribute_system_db_file' to check feature DB file.
589
590         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
591         HAVE_CHISE_CLIENT to specify CHISE DB support.
592
593         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
594         specify CHISE DB support.
595         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
596         not defined.
597         (Freset_char_attribute_table): Use `chise_feature_setup_db'
598         instead of `char_attribute_system_db_file' to check feature DB
599         file.
600
601 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
604         `HAVE_CHISE_CLIENT'.
605
606 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
609         (Fsave_charset_mapping_table): Don't use
610         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
611
612         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
613         (HAVE_LIBCHISE): New macro.
614
615         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
616
617         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
618         (Fsave_char_attribute_table): Don't use
619         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
620
621 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
624         defined.
625         (save_uint16_byte_table): Likewise.
626         (save_byte_table): Likewise.
627         (char_table_get_db): Use `chise_ds_load_char_feature_value'
628         instead of `chise_char_load_feature_value'.
629         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
630
631 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
632
633         * chartab.h (struct Lisp_Char_Table): Delete member
634         `feature_table' if CHISE is defined.
635
636         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
637         (Fcopy_char_table): Likewise.
638         (char_table_open_db_maybe): Likewise.
639         (char_table_close_db_maybe): Likewise.
640         (char_table_get_db): Likewise.
641         (Fmount_char_attribute_table): Likewise.
642         (Fload_char_attribute_table): Likewise.
643
644 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * mule-charset.c (load_char_decoding_entry_maybe): Use
647         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
648         `chise_ccs_decode'.
649
650 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
653         instead of `chise_open_data_source'.
654         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
655         `chise_ds_close'.
656
657 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
660         instead of `chise_ds_open_feature_table'.
661         (char_table_close_db_maybe): Don't use `chise_ft_close'.
662
663 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * mule-charset.c (Fsave_charset_mapping_table): Use
666         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
667         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
668         `chise_ccs_sync' instead of `chise_ccst_close'.
669         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
670
671         * chartab.c (open_chise_data_source_maybe): Modify for
672         `chise_open_data_source'.
673         (char_table_open_db_maybe): Modify for
674         `chise_ds_open_feature_table'.
675
676 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
677
678         * mule-charset.c (load_char_decoding_entry_maybe): Use
679         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
680         `chise_ccst_close'.
681
682 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
683
684         * mule-charset.c (Fsave_charset_mapping_table): Use
685         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
686         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
687         `chise_dt_put_char' and `chise_dt_close'.
688         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
689         `chise_ccs_decode' and `chise_ccst_close' instead of
690         `chise_ds_open_decoding_table', `chise_dt_get_char' and
691         `chise_dt_close'.
692
693         * chartab.c (char_table_get_db): Use
694         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
695         (load_char_attribute_table_map_func): Modify for
696         `chise_char_feature_value_iterate'.
697         (Fload_char_attribute_table): Use
698         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
699
700 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
701
702         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
703
704 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
705
706         * chartab.c (put_char_table): Modify for inherited coded-charsets
707         in XEmacs CHISE.
708
709 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
710
711         * chartab.c (Fput_char_table_map_function): Fixed.
712         (word_boundary_p): Don't check charset in XEmacs CHISE.
713
714 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
715
716         * mule-charset.c (Fsave_charset_mapping_table): Use
717         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
718         instead of `chise_open_decoding_table'; refer
719         `default_chise_data_source'; use `chise_dt_close' instead of
720         `chise_close_decoding_table'.
721         (load_char_decoding_entry_maybe): Likewise.
722
723         * chartab.c (default_chise_data_source): New variable when `CHISE'
724         is defined.
725         (Fcopy_char_table): `ct->ds' is deleted.
726         (open_chise_data_source_maybe): New function.
727         (Fclose_char_data_source): New function.
728         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
729         use `chise_ds_open_feature_table' instead of
730         `chise_open_feature_table'.
731         (char_table_close_db_maybe): Use `chise_ft_close' instead of
732         `chise_close_feature_table'; `cit->ds' is deleted.
733         (syms_of_chartab): Add new builtin function
734         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
735
736         * chartab.h (default_chise_data_source): New extern variable.
737         (open_chise_data_source_maybe): New prototype.
738         (struct Lisp_Char_Table): Delete `ds'.
739
740 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
741
742         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
743         `CHISE' is defined.
744
745 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
746
747         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
748         not defined; add code for non-libchise setting.
749         (char_table_close_db_maybe): Likewise.
750         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
751         defined.
752         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
753         even if `CHISE' is not defined.
754         (Freset_char_attribute_table): Likewise.
755         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
756         `char_table_close_db_maybe' even if `CHISE' is not defined; use
757         `char_table_get_db'.
758         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
759         `char_table_close_db_maybe' even if `CHISE' is not defined.
760
761 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
762
763         * chartab.c (char_table_open_db_maybe): New function.
764         (char_table_close_db_maybe): New function.
765         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
766         (Freset_char_attribute_table): Likewise.
767         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
768         `char_table_close_db_maybe'.
769         (Fload_char_attribute_table): Likewise.
770
771 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
772
773         * chartab.c: Don't include <chise.h> because it is included in
774         chartab.h.
775         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
776         defined.
777         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
778         `CHISE' is defined.
779         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
780         `CHISE' is defined.
781         (Fclose_char_attribute_table): Close `ct->feature_table' and
782         `ct->ds' when `CHISE' is defined.
783         (Freset_char_attribute_table): Likewise.
784         (load_char_attribute_maybe): Use `cit->ds' and
785         `cit->feature_table' when `CHISE' is defined.
786         (Fload_char_attribute_table): Likewise.
787
788         * chartab.h: Include <chise.h> when `CHISE' is defined.
789         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
790         when `CHISE' is defined.
791
792 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
793
794         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
795         is defined.
796         (char_table_description): Likewise.
797         (Fmake_char_table): Likewise.
798         (Fcopy_char_table): Likewise.
799         (Fmount_char_attribute_table): Likewise.
800         (Fclose_char_attribute_table): Likewise.
801         (Freset_char_attribute_table): Likewise.
802         (load_char_attribute_maybe): Likewise.
803         (Fload_char_attribute_table): Likewise.
804
805         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
806         defined.
807
808 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
809
810         * chartab.c (load_char_attribute_table_map_func): New function
811         when CHISE is defined.
812         (Qload_char_attribute_table_map_function): Don't define when CHISE
813         is defined.
814         (Fload_char_attribute_table_map_function): Likewise.
815         (Fload_char_attribute_table): Use libchise when `CHISE' is
816         defined.
817         (syms_of_chartab): Don't define
818         `load-char-attribute-table-map-function' when CHISE is defined.
819
820 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
821
822         * chartab.c: Include <chise.h> when `CHISE' is defined.
823         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
824
825 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * mule-charset.c (charset_code_point): Fix problem when searching
828         in mother CCS fails with `defined_only' mode.
829
830 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
831
832         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
833         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
834         (put_char_composition): Likewise.
835         (Fput_char_attribute): Likewise.
836         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
837
838 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
839
840         * chartab.c (Q_ucs): Deleted.
841         (Fput_char_attribute): Don't refer `->ucs'.
842         (Fdefine_char): Likewise.
843         (Ffind_char): Likewise.
844         (syms_of_chartab): Delete `->ucs'.
845
846 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
847
848         * mule-charset.c (Qmap_cns11643_2): Renamed from
849         `Qchinese_cns11643_2'.
850         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
851         `chinese-cns11643-2'.
852         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
853         `=cns11643-2'.
854
855 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * mule-charset.c (Qmap_cns11643_1): Renamed from
858         `Qchinese_cns11643_1'.
859         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
860         `chinese-cns11643-1'.
861         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
862         `=cns11643-1'.
863
864 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
865
866         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
867         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
868         `chinese-gb12345'.
869         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
870         `=gb12345'.
871
872 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
873
874         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
875         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
876         `chinese-gb2312'.
877         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
878         `=gb2312'.
879
880 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
881
882         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
883         (syms_of_mule_charset): Add new symbol `=big5' instead of
884         `chinese-big5'.
885         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
886
887 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
890         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
891         `korean-ksc5601'.
892         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
893         `=ks-x1001'.
894
895 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
896
897         * mule-charset.c (Qmap_jis_x0212): Renamed from
898         `Qjapanese_jisx0212'.
899         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
900         `japanese-jisx0212'.
901         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
902         `=jis-x0212'.
903
904 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
905
906         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
907         `Qjapanese_jisx0208'.
908         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
909         of `japanese-jisx0208'.
910         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
911         `=jis-x0208-1983'.
912
913 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
916         `Qjapanese_jisx0208_1978'.
917         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
918         of `japanese-jisx0208-1978'.
919         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
920         `=jis-x0208-1978'.
921
922 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
923
924         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
925         only for XEmacs CHISE.
926
927 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
928
929         * char-ucs.h: Compact non-ISO-IR charset-ids.
930         (LEADING_BYTE_UCS): Changed to -177.
931         (LEADING_BYTE_CONTROL_1): Changed to -77.
932         (LEADING_BYTE_UCS_BMP): Changed to -176.
933         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
934
935 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * mule-charset.c (Qiso_ir): New variable.
938         (Fmake_charset): Recognise new property `iso-ir'.
939         (syms_of_mule_charset): Add new symbol `iso-ir'.
940
941 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
942
943         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
944         n to -n; charset-id of non ISO-IR sets are changed to positive
945         numbers.
946
947 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
948
949         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
950         for &MCS-XXXXXXXX; values.
951
952 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
953
954         * mule.c (Vxemacs_chise_version): Renamed from
955         `Vutf_2000_version'.
956         (vars_of_mule): Add new variable `xemacs-chise-version'; define
957         `utf-2000-version' as an alias for `xemacs-chise-version'.
958
959 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
960
961         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
962         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
963         defined.
964
965         * config.h.in (CHISE): New macro.
966
967 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
968
969         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
970         of `ucs'.
971         (Qmap_ucs): New variable.
972         (syms_of_mule_charset): Add new symbol `=ucs'.
973         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
974
975         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
976         (simplify_char_spec): Likewise.
977
978         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
979
980         * char-ucs.h (Qmap_ucs): New extern variable.
981
982 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
985         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
986         don't define it when UTF2000 is not defined.
987         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
988         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
989         when UTF2000 is not defined.
990         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
991         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
992
993 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
996
997         * mule-charset.c (Vcharset_ucs_gb): Deleted.
998         (Qucs_gb): Deleted.
999         (syms_of_mule_charset): Delete `ucs-gb'.
1000         (complex_vars_of_mule_charset): Likewise.
1001
1002 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1003
1004         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1005
1006         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1007         (Qucs_cns): Deleted.
1008         (syms_of_mule_charset): Delete `ucs-cns'.
1009         (complex_vars_of_mule_charset): Likewise.
1010
1011 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1014
1015         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1016         (Qucs_jis): Deleted.
1017         (syms_of_mule_charset): Delete `ucs-jis'.
1018         (complex_vars_of_mule_charset): Likewise.
1019
1020 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1021
1022         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1023
1024         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1025         (Qucs_ks): Deleted.
1026         (syms_of_mule_charset): Delete `ucs-ks'.
1027         (complex_vars_of_mule_charset): Likewise.
1028
1029 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1030
1031         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1032         (Qideograph_daikanwa_2): Deleted.
1033         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1034         (complex_vars_of_mule_charset): Likewise.
1035
1036         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1037         (LEADING_BYTE_DAIKANWA_1): Deleted.
1038         (LEADING_BYTE_DAIKANWA_2): Deleted.
1039         (MIN_CHAR_DAIKANWA): Deleted.
1040         (MAX_CHAR_DAIKANWA): Deleted.
1041
1042 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1043
1044         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1045         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1046         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1047
1048         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1049         (Vcharset_ideograph_daikanwa): Deleted.
1050         (Qideograph_hanziku_{1..12}): Deleted.
1051         (Qideograph_daikanwa): Deleted.
1052         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1053         Vcharset_ideograph_daikanwa.
1054         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1055         `ideograph-hanziku-{1..12}'.
1056         (complex_vars_of_mule_charset): Likewise.
1057
1058 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1059
1060         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1061
1062         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1063         (Qideograph_gt_pj_{1..11}): Deleted.
1064         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1065         (complex_vars_of_mule_charset): Likewise.
1066
1067 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1068
1069         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1070         (Vcharset_ideograph_gt): Deleted.
1071         (Qucs_big5): Deleted.
1072         (Qideograph_gt): Deleted.
1073         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1074         `ideograph-gt'.
1075         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1076         and `ideograph-gt'.
1077
1078         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1079         (LEADING_BYTE_GT): Deleted.
1080         (MIN_CHAR_GT): Deleted.
1081         (MAX_CHAR_GT): Deleted.
1082
1083 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1086
1087 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1088
1089         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1090         (save_uint16_byte_table): Likewise.
1091         (save_byte_table): Likewise; convert values by it.
1092         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1093         for `ideographic-structure'.
1094         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1095         as the filter for `ideographic-structure'.
1096
1097 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1098
1099         * chartab.c (put_char_composition): New function.
1100         (Fput_char_attribute): Use `put_char_composition'; use
1101         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1102
1103         * fns.c (simplify_char_spec): New function.
1104         (char_ref_simplify_spec): New function.
1105         (Fchar_refs_simplify_char_specs): New function.
1106         (syms_of_fns): Add new builtin function
1107         `char-refs-simplify-char-specs'.
1108
1109 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1110
1111         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1112         (Qideograph_cbeta): Deleted.
1113         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1114         (complex_vars_of_mule_charset): Likewise.
1115
1116         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1117         (MIN_CHAR_CBETA): Comment out.
1118         (MAX_CHAR_CBETA): Likewise.
1119
1120 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1121
1122         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1123         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1124         CHISE client feature.
1125
1126 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1127
1128         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1129
1130 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1131
1132         * mule-charset.c (charset_lookup_description_1): Use
1133         `NUM_LEADING_BYTES' in UTF-2000.
1134
1135 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1136
1137         * char-ucs.h (GC_CHARSETP): Deleted.
1138
1139 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * char-ucs.h (MAX_CHAR_GT): Updated.
1142
1143 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1144
1145         * text-coding.c: Sync with XEmacs 21.4.10.
1146
1147 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * mule-charset.c (Vcharset_china3_jef): Deleted.
1150         (Qchina3_jef): Deleted.
1151         (syms_of_mule_charset): Don't define `china3-jef'.
1152         (complex_vars_of_mule_charset): Likewise.
1153
1154         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1155         (MIN_CHAR_CHINA3_JEF): Comment out.
1156         (MAX_CHAR_CHINA3_JEF): Comment out.
1157
1158 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * mule-charset.c (Vcharset_ucs_gb): New variable.
1161         (Qucs_gb): New variable.
1162         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1163         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1164
1165         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1166
1167 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (charset_code_point): if a coded-charset has a
1170         final-byte, don't inherit the builtin range of the mother CCS.
1171
1172 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * mule-charset.c (charset_code_point): Fix problem about
1175         inheritance.
1176
1177 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1178
1179         * mule-charset.c (decode_builtin_char): Reorganized.
1180
1181 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1182
1183         * text-coding.c (char_encode_as_entity_reference): Modify for
1184         `charset_code_point'.
1185         (char_encode_shift_jis): Likewise.
1186         (char_encode_big5): Likewise.
1187         (char_encode_utf8): Likewise.
1188         (char_encode_iso2022): Likewise.
1189
1190         * mule-charset.c (charset_code_point): Add new argument
1191         `defined_only'.
1192         (Fencode_char): Add new optional argument `defined_only'.
1193
1194         * chartab.c (put_char_table): Modify for `charset_code_point'.
1195
1196         * char-ucs.h (charset_code_point): Add new argument
1197         `defined_only'.
1198         (encode_char_1): Modify for `charset_code_point'.
1199
1200 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1203         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1204
1205 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1208         (Qjis_x0208): Likewise.
1209         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1210         XCHARSET_FINAL(charset).
1211         (charset_code_point): Modify condition for final-byte based
1212         builtin-chars.
1213         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1214         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1215         in UTF-2000; specify `=jis-x0208' as the mother of
1216         `japanese-jisx0208-1978', `japanese-jisx0208' and
1217         `japanese-jisx0208-1990' in UTF-2000.
1218
1219 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1220
1221         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1222
1223 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * text-coding.c (decode_coding_utf16): Support UTF-16.
1226         (char_encode_utf16): Fixed.
1227
1228 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1229
1230         * text-coding.c (Qutf16): New variable in MULE.
1231         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1232         (Fcoding_system_type): Add `utf-16' in MULE.
1233         (struct detection_state): Add a structure for utf16 in MULE.
1234         (detect_coding_type): Setup st->utf16.mask in MULE.
1235         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1236         MULE.
1237         (reset_encoding_stream): Use `char_encode_utf16' and
1238         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1239         (detect_coding_utf16): New function [incomplete].
1240         (decode_coding_utf16): New function [support only UCS-2].
1241         (char_encode_utf16): New function.
1242         (char_finish_utf16): New function.
1243         (syms_of_file_coding): Add new symbol `utf-16'; setup
1244         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1245
1246         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1247         UTF-2000.
1248         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1249         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1250
1251 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1252
1253         * chartab.c (put_char_table): When a charset is specified as a
1254         range in UTF-2000, don't support builtin characters.
1255
1256 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1257
1258         * mule-charset.c (decode_defined_char): Don't refer external
1259         database if Qunbound or Qnil are found.
1260         (Fsave_charset_mapping_table): Don't define it if
1261         HAVE_CHISE_CLIENT is not defined.
1262         (Freset_charset_mapping_table): New function.
1263         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1264         found in external database.
1265         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1266         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1267         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1268
1269 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1270
1271         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1272         not.
1273
1274 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1275
1276         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1277         Q_lowercase, Q_uppercase in UTF-2000.
1278
1279         * chartab.c (get_char_table): Add special code for the standard
1280         case table to use character attribute `->downcase' and
1281         `->uppercase' for case operations in UTF-2000.
1282
1283         * casetab.c (Qflippedcase): New variable in UTF-2000.
1284         (Q_lowercase): Likewise.
1285         (Q_uppercase): Likewise.
1286         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1287         and `->uppercase' in UTF-2000.
1288         (complex_vars_of_casetab): Assign attribute name `downcase' to
1289         downcase and CANON table of Vstandard_case_table in UTF-2000;
1290         assign attribute name `flippedcase' to upcase and EQV table of
1291         Vstandard_case_table in UTF-2000.
1292
1293 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * text-coding.c (decode_add_er_char): Support isolated-chars.
1296         (char_encode_as_entity_reference): Likewise.
1297
1298 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1299
1300         * emacs.c (Vutf_2000_lisp_directory): New variable.
1301         (Vconfigure_utf_2000_lisp_directory): Likewise.
1302         (complex_vars_of_emacs): Add new variable
1303         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1304
1305 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * char-ucs.h (DECODE_CHAR): Delete special code for
1308         `chinese-big5-1' and `chinese-big5-2'.
1309
1310         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1311         (Qbig5_2): Likewise.
1312         (decode_defined_char): Support CONVERSION_BIG5_1 and
1313         CONVERSION_BIG5_2.
1314         (decode_builtin_char): Likewise.
1315         (charset_code_point): Likewise.
1316         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1317         'conversion in UTF-2000.
1318         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1319         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1320         `chinese-big5-2' as children of `chinese-big5'.
1321
1322         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1323         (CONVERSION_BIG5_2): New macro.
1324
1325 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * text-coding.c (char_encode_big5): Support entity-reference.
1328
1329 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1330
1331         * text-coding.c (char_encode_as_entity_reference): New function.
1332         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1333
1334 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1335
1336         * text-coding.c (decode_coding_big5): Support entity-reference
1337         decoding feature.
1338
1339 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1340
1341         * text-coding.c (allocate_coding_system): Initialize initial
1342         charsets for CODESYS_UTF8.
1343         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1344         charset-g2 for CODESYS_UTF8.
1345         (decode_coding_utf8): Use charset-g0.
1346         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1347         to force variants to map to UCS.
1348
1349 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * text-coding.c (Qutf_8_mcs): New variable.
1352         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1353         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1354         instead of `utf-8' in UTF-2000.
1355
1356 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1357
1358         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1359         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1360         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1361         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1362         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1363         CONVERSION_96x96x96x96 are introduced.
1364         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1365         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1366         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1367
1368         * char-ucs.h (CONVERSION_94): New macro.
1369         (CONVERSION_96): New macro.
1370         (CONVERSION_94x94): New macro.
1371         (CONVERSION_96x96): New macro.
1372         (CONVERSION_94x94x94): New macro.
1373         (CONVERSION_96x96x96): New macro.
1374         (CONVERSION_94x94x94x60): New macro.
1375         (CONVERSION_94x94x94x94): New macro.
1376         (CONVERSION_96x96x96x96): New macro.
1377
1378 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1379
1380         * chartab.c (Vcharacter_variant_table): Deleted.
1381         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1382         of `Vcharacter_variant_table'.
1383         (Fput_char_attribute): Likewise.
1384         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1385         (complex_vars_of_chartab): Likewise.
1386
1387 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1388
1389         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1390
1391         * fns.c (Qideographic_structure): New variable.
1392         (Qkeyword_char): New variable.
1393         (ids_format_unit): New function.
1394         (Fideographic_structure_to_ids): New function.
1395         (syms_of_fns): Add new symbols `ideographic-structure' and
1396         `:char'; add new builtin function `ideographic-structure-to-ids'.
1397
1398         * data.c (Fchar_ref_p): New function.
1399         (syms_of_data): Add new builtin function `char-ref-p'.
1400
1401         * chartab.h: Add an EXFUN for `Ffind_char'.
1402
1403 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * text-coding.c (Vcharacter_composition_table): Deleted.
1406         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1407         in every UTF-2000.
1408
1409         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1410         UTF-2000.
1411         (Vcharacter_composition_table): Deleted.
1412         (Fget_composite_char): Use the implementation for external-DB
1413         support in every UTF-2000.
1414         (Fput_char_attribute): Likewise.
1415         (char_attribute_system_db_file): Don't define if external-DB
1416         feature is not available.
1417         (Fsave_char_attribute_table): Likewise.
1418         (Fmount_char_attribute_table): Likewise.
1419         (Fclose_char_attribute_table): Likewise.
1420         (Freset_char_attribute_table): Likewise.
1421         (Fload_char_attribute_table): Likewise.
1422         (syms_of_chartab): Don't define `save-char-attribute-table',
1423         `mount-char-attribute-table', `reset-char-attribute-table',
1424         `close-char-attribute-table' and `load-char-attribute-table' if
1425         external-DB feature is not available.
1426         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1427
1428 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1429
1430         * text-coding.c (Qcomposition): Add extern if external-DB feature
1431         is supported.
1432         (Vcharacter_composition_table): Don't add extern if external-DB
1433         feature is supported.
1434         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1435         character composition rule if external-DB feature is supported.
1436
1437         * chartab.c (Vcharacter_composition_table): Don't define if
1438         external-DB feature is supported.
1439         (Qcomposition): New variable.
1440         (Fget_composite_char): New implementation for external-DB support.
1441         (Fput_char_attribute): Use `composition' property of each
1442         character instead of `Vcharacter_composition_table' to store
1443         character-composition rules if external-DB feature is supported.
1444         (syms_of_chartab): Add new symbol `composition'.
1445         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1446         external-DB feature is supported.
1447
1448 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1449
1450         * chartab.c (Vchar_db_stingy_mode): New variable.
1451         (load_char_attribute_maybe): Close database if
1452         Vchar_db_stingy_mode is not NIL.
1453         (Fload_char_attribute_table_map_function): Use
1454         `get_char_id_table_0' instead of `get_char_id_table'.
1455         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1456
1457         * chartab.h (get_char_id_table_0): New inline function.
1458         (get_char_id_table): Use `get_char_id_table_0'.
1459
1460 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1461
1462         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1463         and `COMPOSE_ADD_CHAR'.
1464         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1465
1466 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1469         instead of `DECODE_ADD_UCS_CHAR'.
1470         (COMPOSE_ADD_CHAR): Likewise.
1471
1472 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1473
1474         * text-coding.c (decode_flush_er_chars): New inline function.
1475         (decode_add_er_char): New function.
1476         (decode_coding_utf8): Use `decode_flush_er_chars' and
1477         `decode_add_er_char'.
1478
1479 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1480
1481         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1482         done before `decode_output_utf8_partial_char'.
1483
1484         * mule-charset.c (complex_vars_of_mule_charset): Specify
1485         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1486         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1487
1488 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * mule-charset.c (decode_defined_char): New function; search
1491         mother.
1492         (decode_builtin_char): Don't search mother if
1493         XCHARSET_MAX_CODE(charset) == 0.
1494         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1495         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1496         (Fdecode_char): Use `decode_defined_char' instead of
1497         `DECODE_DEFINED_CHAR'.
1498         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1499         mother of `Vcharset_ucs_jis'.
1500
1501         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1502         instead of `DECODE_DEFINED_CHAR'.
1503
1504         * char-ucs.h (decode_defined_char): Renamed from
1505         `DECODE_DEFINED_CHAR'; changed to normal function.
1506         (DECODE_CHAR): Use `decode_defined_char' instead of
1507         `DECODE_DEFINED_CHAR'.
1508
1509         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1510
1511 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1514
1515         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1516         variable.
1517         (Quse_entity_reference): New variable.
1518         (Qd): New variable.
1519         (Qx): New variable.
1520         (QX): New variable.
1521         (coding_system_description): Add description for
1522         `ccs_priority_list'.
1523         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1524         (allocate_coding_system): Initialize `ccs_priority_list' in
1525         UTF-2000.
1526         (Fmake_coding_system): Add description about
1527         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1528         (codesys).
1529         (Fcoding_system_property): Accept `disable-composition' and
1530         `use-entity-reference' in UTF-2000.
1531         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1532         in UTF-2000.
1533         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1534         (decode_coding_utf8): Decode entity-reference if
1535         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1536         (char_encode_utf8): Encode non-Unicode characters as
1537         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1538         (str->codesys).
1539         (syms_of_file_coding): Add new symbols `use-entity-reference',
1540         `d', `x', `X'.
1541         (vars_of_file_coding): Add new variable
1542         `coded-charset-entity-reference-alist'.
1543         (complex_vars_of_file_coding): Declare `disable-composition' and
1544         `use-entity-reference' to be coding-system-properties in UTF-2000.
1545
1546         * file-coding.h (struct Lisp_Coding_System): Add new member
1547         `use_entity_reference' and `ccs_priority_list'.
1548         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1549         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1550         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1551
1552 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1553
1554         * chartab.c (save_uint8_byte_table): Don't clear the table.
1555         (save_uint16_byte_table): Likewise.
1556         (save_byte_table): Likewise.
1557         (Fmount_char_attribute_table): New function.
1558         (syms_of_chartab): Add new builtin function
1559         `mount-char-attribute-table'.
1560
1561 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1564         "w+" mode.
1565         (load_char_decoding_entry_maybe): Open database as read-only mode.
1566
1567         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1568         open database as "w+" mode.
1569         (load_char_attribute_maybe): Open database as read-only mode.
1570         (Fload_char_attribute_table): Likewise.
1571
1572 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1575         (char_table_description): Delete member `db_file'.
1576         (Fmake_char_table): Don't refer `ct->db_file'.
1577         (Fcopy_char_table): Likewise.
1578         (Fsave_char_attribute_table): Likewise.
1579         (Fclose_char_attribute_table): Likewise.
1580         (Freset_char_attribute_table): Likewise.
1581         (load_char_attribute_maybe): Likewise.
1582         (Fload_char_attribute_table): Likewise.
1583
1584         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1585
1586 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1589         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1590         `ct->db' is living.
1591         (load_char_attribute_maybe): Likewise.
1592         (Fload_char_attribute_table): Likewise.
1593
1594 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1595
1596         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1597         `ct->db_file' unconditionally.
1598
1599 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1600
1601         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1602         UTF-2000.
1603         (char_table_description): Add description for `db_file' and `db'
1604         in UTF-2000.
1605         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1606         UTF-2000.
1607         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1608         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1609         (Fclose_char_attribute_table): New function.
1610         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1611         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1612         and `cit->db'.
1613         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1614         (syms_of_chartab): Add new builtin function
1615         `Fclose_char_attribute_table'.
1616
1617 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1618
1619         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1620         `db' in UTF-2000.
1621         (load_char_attribute_maybe): Change interface.
1622         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1623
1624 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1625
1626         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1627
1628 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1629
1630         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1631         instead of `DECODE_CHAR' for mother; don't use special code for
1632         chinese-big5 to use code space of chinese-big5-1 and
1633         chinese-big5-2.
1634         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1635         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1636
1637         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1638         (MAX_CHAR_BIG5_CDP): Revival.
1639
1640 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1643         the XLFD registry-encoding name of `chinese-big5'.
1644
1645 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1646
1647         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1648         (Qchinese_big5_cdp): Deleted.
1649         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1650         (complex_vars_of_mule_charset): Delete coded-charset
1651         `chinese-big5-cdp'.
1652
1653         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1654         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1655         `CHARSET_ID_OFFSET - n' for private CCS.
1656         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1657         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1658         of `MIN_LEADING_BYTE'.
1659         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1660         `(CHARSET_ID_OFFSET - 97)'.
1661         (MIN_CHAR_BIG5_CDP): Deleted.
1662         (MAX_CHAR_BIG5_CDP): Deleted.
1663
1664 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1665
1666         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1667
1668 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1669
1670         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1671         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1672         chartab.c].
1673
1674         * chartab.c (Vutf_2000_version): Moved to mule.c.
1675         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1676
1677 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1678
1679         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1680         when HAVE_CHISE_CLIENT is not defined.
1681
1682         * mule.c (vars_of_mule): Provide feature `chise' when
1683         HAVE_CHISE_CLIENT is defined.
1684
1685 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1686
1687         * config.h.in (UTF2000): Add comment.
1688         (HAVE_CHISE_CLIENT): New macro.
1689
1690 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1691
1692         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1693         CONSP.
1694         (Fput_char_attribute): Likewise.
1695         (char_attribute_system_db_file): Encode file-name of attribute.
1696         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1697         the initial value.
1698
1699 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1700
1701         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1702         (Fsave_charset_mapping_table): Use
1703         `char_attribute_system_db_file'.
1704         (load_char_decoding_entry_maybe): Likewise.
1705
1706         * chartab.h (Qsystem_char_id): New external variable.
1707         (char_attribute_system_db_file): New prototype.
1708
1709         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1710         (char_attribute_system_db_file): New function.
1711         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1712         (Freset_char_attribute_table): Likewise.
1713         (load_char_attribute_maybe): Likewise.
1714         (Fload_char_attribute_table): Likewise.
1715         (syms_of_chartab): Add new symbol `system-char-id'.
1716
1717 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1718
1719         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1720         `XCHARSET_GRAPHIC(ccs)'.
1721
1722 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1723
1724         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1725
1726 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1727
1728         * chartab.c (Q_ucs_variants): New variable.
1729         (syms_of_chartab): Add new symbol `->ucs-variants'.
1730         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1731         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1732         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1733
1734         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1735
1736         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1737         `HAVE_DATABASE' is defined.
1738         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1739         `HAVE_DATABASE' is defined.
1740
1741 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1742
1743         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1744         attribute-table.
1745         (Freset_char_attribute_table): New function.
1746         (syms_of_chartab): Add new builtin function
1747         `reset-char-attribute-table'.
1748
1749 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1750
1751         * chartab.c (load_char_attribute_maybe): Don't make directories.
1752
1753 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1754
1755         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1756
1757         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1758         for decoding-table.
1759
1760 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1761
1762         * mule-charset.c (Fsave_charset_mapping_table): Use
1763         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1764
1765         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1766         instead of `XCHARSET_CHARS'.
1767
1768 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1769
1770         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1771         (XCHARSET_BYTE_SIZE): Likewise.
1772
1773         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1774         mule-charset.c].
1775         (XCHARSET_BYTE_SIZE): Likewise.
1776
1777 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1778
1779         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1780         data-directory to store database.
1781         (Fsave_char_attribute_table): Likewise.
1782         (load_char_attribute_maybe): Likewise.
1783         (Fload_char_attribute_table): Likewise.
1784
1785 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1786
1787         * mule-charset.c (Fsave_charset_mapping_table): New function.
1788         (syms_of_mule_charset): Add new builtin function
1789         `save-charset-mapping-table'.
1790
1791 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1792
1793         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1794         (get_ccs_octet_table): New inline function.
1795         (put_ccs_octet_table): Likewise.
1796         (decoding_table_put_char): Use `get_ccs_octet_table' and
1797         `put_ccs_octet_table'.
1798         (decoding_table_remove_char): Use `decoding_table_put_char'.
1799         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1800
1801         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1802         into encoding_table.
1803         (make_charset): Use Qunbound instead Qnil as initial value of
1804         decoding_table.
1805
1806 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1807
1808         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1809         element is Qunloaded.
1810         (map_over_uint16_byte_table): Likewise.
1811         (map_over_byte_table): Likewise.
1812         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1813         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1814         database support, load encoding-table of the specified
1815         coded-charset if it is not loaded yet.
1816         (save_uint8_byte_table): New function of UTF-2000 with external
1817         database support.
1818         (save_uint16_byte_table): Likewise.
1819         (save_byte_table): Likewise.
1820         (Fput_char_attribute): Don't store value into external database
1821         even if the external database feature is supported in UTF-2000;
1822         set `attribute' as name of char-table if the external database
1823         feature is supported.
1824         (Fsave_char_attribute_table): New function in UTF-2000.
1825         (syms_of_chartab): Add new builtin function
1826         `save-char-attribute-table' in UTF-2000.
1827
1828 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1829
1830         * chartab.c (char_attribute_table_to_put): New variable in
1831         UTF-2000.
1832         (Qput_char_table_map_function): Likewise.
1833         (value_to_put): Likewise.
1834         (Fput_char_table_map_function): New function in UTF-2000.
1835         (put_char_table): Use `Fmap_char_attribute' for
1836         CHARTAB_RANGE_CHARSET in UTF-2000.
1837         (Fput_char_attribute): Store symbol instead of string in
1838         `XCHAR_TABLE_NAME (table)'.
1839         (load_char_attribute_maybe): Likewise.
1840         (syms_of_chartab): Add new symbol/function
1841         `put-char-table-map-function'.
1842
1843 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1844
1845         * database.h: Add new EXFUN for `Fmap_database'.
1846
1847         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1848         (syms_of_database): Likewise.
1849
1850         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1851         UTF-2000.
1852         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1853         (XCHAR_TABLE_UNLOADED): Likewise.
1854
1855         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1856         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1857         HAVE_DATABASE is defined.
1858         (char_attribute_table_to_load): New variable of UTF-2000 with
1859         external database support.
1860         (Qload_char_attribute_table_map_function): Likewise.
1861         (Fload_char_attribute_table_map_function): New function of
1862         UTF-2000 with external database support.
1863         (Fload_char_attribute_table): New function of UTF-2000.
1864         (Fmap_char_attribute): Call Fload_char_attribute_table if
1865         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1866         (syms_of_chartab): Add new symbol and function
1867         `load-char-attribute-table-map-function' in UTF-2000 with external
1868         database support; add new function `load-char-attribute-table' in
1869         UTF-2000.
1870
1871 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1872
1873         * chartab.h (load_char_attribute_maybe): New prototype for
1874         UTF-2000 with DATABASE support.
1875         (get_char_id_table): Use `load_char_attribute_maybe' if
1876         HAVE_DATABASE is defined.
1877
1878         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1879         with DATABASE support.
1880
1881 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1882
1883         * chartab.c (Fput_char_attribute): Use S-expression as key of
1884         external database.
1885
1886         * chartab.h (get_char_id_table): Use S-expression as key of
1887         external database.
1888
1889 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1892         if an element is not loaded, load the corresponding attributes
1893         from an external database.
1894         (map_over_uint16_byte_table): Likewise.
1895         (map_over_byte_table): Likewise.
1896         (map_char_table): Modify for `map_over_uint8_byte_table',
1897         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1898         element is not loaded, load the corresponding attributes from an
1899         external database.
1900         (Fput_char_attribute): Change initial values to Qunloaded.
1901
1902         * chartab.h (get_char_id_table): If a character attribute is not
1903         loaded and the attribute value is not found in an external
1904         database, store Qunbound as the attribute value.
1905
1906 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1907
1908         * chartab.c (BT_UINT8_unloaded): New macro.
1909         (UINT8_VALUE_P): Accept Qunloaded.
1910         (UINT8_ENCODE): Likewise.
1911         (UINT8_DECODE): Likewise.
1912         (BT_UINT16_unloaded): New macro.
1913         (UINT16_VALUE_P): Accept Qunloaded.
1914         (UINT16_ENCODE): Likewise.
1915         (UINT16_DECODE): Likewise.
1916         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1917         BT_UINT16_unloaded.
1918         (mark_char_table): Mark `ct->name' in UTF-2000.
1919         (char_table_description): Add `name' in UTF-2000.
1920         (Fmake_char_table): Initialize `ct->name'.
1921         (Fcopy_char_table): Copy `ct->name'.
1922         (Fput_char_attribute): Store value into an external database if
1923         HAVE_DATABASE is defined.
1924
1925         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1926         UTF-2000.
1927         (CHAR_TABLE_NAME): New macro in UTF-2000.
1928         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1929         (get_char_id_table): Try to read an external database if Qunloaded
1930         is stored in a table.
1931
1932         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1933         Qunloaded.
1934
1935 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1936
1937         * database.h: Add EXFUN definitions for Fopen_database,
1938         Fput_database, Fget_database and Fclose_database.
1939
1940         * data.c (Qunloaded): New variable in UTF-2000.
1941
1942         * lisp.h (Qunloaded): New variable in UTF-2000.
1943
1944 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1945
1946         * mule-charset.c (put_char_ccs_code_point): Modify for
1947         `decoding_table_remove_char' and `decoding_table_put_char'.
1948         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1949
1950         * char-ucs.h (decoding_table_remove_char): Change arguments to
1951         hide decoding_table vector.
1952         (decoding_table_put_char): Likewise.
1953
1954 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * mule-charset.c (decoding_table_remove_char): Moved to
1957         char-ucs.h.
1958         (decoding_table_put_char): Likewise.
1959
1960         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1961         from mule-charset.c].
1962         (decoding_table_remove_char): New inline function [moved from
1963         mule-charset.c].
1964         (decoding_table_put_char): Likewise.
1965
1966 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1967
1968         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1969         extension.
1970
1971 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1972
1973         * mule-charset.c (decode_builtin_char): Support mother charsets.
1974
1975 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1976
1977         * mule-charset.c (Q94x94x60): New variable.
1978         (charset_code_point): Support conversion `94x94x60'.
1979         (Fmake_charset): Likewise.
1980         (syms_of_mule_charset): Add new symbol `94x94x60'.
1981
1982         * char-ucs.h (CONVERSION_94x94x60): New macro.
1983
1984 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1985
1986         * mule-charset.c (charset_code_point): Unify code about
1987         `code-offset'.
1988
1989 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1990
1991         * mule-charset.c (charset_code_point): Merge code about builtin
1992         characters into code about mother charsets; don't use
1993         `range_charset_code_point'.
1994         (range_charset_code_point): Deleted.
1995
1996 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1997
1998         * mule-charset.c (Qcode_offset): New variable.
1999         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2000         `max-code'; accept new property `code-offset'.
2001         (syms_of_mule_charset): Add new symbol `code-offset'.
2002
2003 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2004
2005         * mule-charset.c (range_charset_code_point): Fixed.
2006
2007 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2008
2009         * mule-charset.c (decode_builtin_char): Change semantics of
2010         code-offset of coded-charset.
2011         (charset_code_point): Likewise.
2012         (range_charset_code_point): Likewise.
2013         (complex_vars_of_mule_charset): Modify for the change.
2014
2015 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2016
2017         * mule-charset.c (Fencode_char): Reverse arguments.
2018
2019         * mule-charset.c (charset_code_point): Fixed.
2020
2021 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2022
2023         * mule-charset.c (Vcharset_mojikyo): Deleted.
2024         (Vcharset_mojikyo_2022_1): Deleted.
2025         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2026         (Qmin_code): New variable in UTF-2000.
2027         (Qmax_code): Likewise.
2028         (Qmother): Likewise.
2029         (Qconversion): Likewise.
2030         (Q94x60): Likewise.
2031         (Qmojikyo): Deleted.
2032         (Qmojikyo_2022_1): Deleted.
2033         (Qmojikyo_pj_{1..22}): Deleted.
2034         (mark_charset): Mark `cs->mother'.
2035         (charset_description): Add description for `mother'.
2036         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2037         new arguments `mother' and `conversion'; use
2038         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2039         (charset_code_point): Moved from char-ucs.h; support `mother'
2040         charset feature.
2041         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2042         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2043         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2044         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2045         allow 2 as the value of `graphic' in UTF-2000; add new properties
2046         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2047         require `final' in UTF-2000; modify for `make_charset'.
2048         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2049         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2050         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2051         (Fencode_char): New function.
2052         (syms_of_mule_charset): Add new builtin function `encode-char' in
2053         UTF-2000; add new symbols `min-code', `max-code', `mother',
2054         `conversion' and `94x60'; delete symbols `mojikyo',
2055         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2056         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2057         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2058         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2059
2060         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2061         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2062
2063         * char-ucs.h (Vcharset_mojikyo): Deleted.
2064         (Vcharset_mojikyo_2022_1): Deleted.
2065         (LEADING_BYTE_MOJIKYO): Deleted.
2066         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2067         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2068         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2069         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2070         add new member `mother'; add new member `conversion'.
2071         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2072         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2073         (CHARSET_MOTHER): New macro.
2074         (CHARSET_CONVERSION): New macro.
2075         (CONVERSION_IDENTICAL): New macro.
2076         (CONVERSION_94x60): New macro.
2077         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2078         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2079         (XCHARSET_MOTHER): New macro.
2080         (XCHARSET_CONVERSION): New macro.
2081         (MIN_CHAR_MOJIKYO): Deleted.
2082         (MAX_CHAR_MOJIKYO): Deleted.
2083         (DECODE_MOJIKYO_2022): Deleted.
2084         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2085         (charset_code_point): Changed to non-inline function.
2086         (encode_char_1): Use `charset_code_point'.
2087         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2088
2089 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2090
2091         * lread.c (read_compiled_function): Fix prototype.
2092         (read_vector): Likewise.
2093
2094 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * lrecord.h (struct lrecord_header): Delete `older'.
2097         (set_lheader_implementation): Delete code for `older'.
2098         (set_lheader_older_implementation): Deleted.
2099         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2100         (OLDER_RECORD_P): Deleted.
2101         (OLDER_RECORD_HEADER_P): Deleted.
2102         (alloc_older_lcrecord): Deleted.
2103         (alloc_older_lcrecord_type): Deleted.
2104
2105         * alloc.c (all_older_lcrecords): Deleted.
2106         (alloc_older_lcrecord): Deleted.
2107         (disksave_object_finalization_1): Delete code for older objects.
2108         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2109         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2110
2111 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2112
2113         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2114         instead of `make_older_vector'.
2115         (put_char_ccs_code_point): Likewise.
2116         (mark_charset): Mark `cs->decoding_table'.
2117         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2118
2119         * lisp.h (make_older_vector): Deleted.
2120         (make_vector_newer): Deleted.
2121
2122         * config.h.in (HAVE_GGC): Deleted.
2123
2124         * alloc.c (make_older_vector): Deleted.
2125         (make_vector_newer_1): Deleted.
2126         (make_vector_newer): Deleted.
2127
2128 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2131         (Qideograph_daikanwa_2): New variable.
2132         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2133         (complex_vars_of_mule_charset): Add new coded-charset
2134         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2135         `LEADING_BYTE_DAIKANWA'.
2136
2137         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2138         (LEADING_BYTE_DAIKANWA_1): New macro.
2139         (LEADING_BYTE_DAIKANWA_2): New macro.
2140         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2141
2142 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2143
2144         * mule-charset.c (complex_vars_of_mule_charset): Change
2145         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2146         the second revised version.
2147
2148 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2149
2150         * mule-charset.c (Vcharset_ucs_smp): New variable.
2151         (Vcharset_ucs_sip): New variable.
2152         (Qucs_smp): New variable.
2153         (Qucs_sip): New variable.
2154         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2155         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2156         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2157         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2158         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2159         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2160
2161         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2162         (LEADING_BYTE_UCS_SIP): New macro.
2163         (MIN_CHAR_SMP): New macro.
2164         (MAX_CHAR_SMP): New macro.
2165         (MIN_CHAR_SIP): New macro.
2166         (MAX_CHAR_SIP): New macro.
2167
2168 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2169
2170         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2171         utf-2000.
2172
2173 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2174
2175         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2176         value; don't store value into `encoding_table' of `Lisp_Charset'.
2177         (mark_charset): `encoding_table' was deleted.
2178         (charset_description): Likewise.
2179         (make_charset): Likewise.
2180         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2181         `put_char_ccs_code_point'.
2182
2183         * chartab.h (Fput_char_attribute): New EXFUN.
2184
2185         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2186         is unified with normal symbol space.
2187         (Fget_char_attribute): Likewise.
2188         (Fput_char_attribute): Likewise; behavior of
2189         `put_char_ccs_code_point' is changed.
2190
2191         * char-ucs.h: Include "elhash.h".
2192         (Vchar_attribute_hash_table): New external variable.
2193         (struct Lisp_Charset): Delete `encoding_table'.
2194         (CHARSET_ENCODING_TABLE): New implementation; refer
2195         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2196         `Lisp_Charset'.
2197
2198 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2199
2200         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2201         (cs) == 0.
2202
2203 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2204
2205         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2206         `chinese-big5'.
2207
2208 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * chartab.c (uint8_byte_table_description): New constant.
2211         (uint8-byte-table): Use `uint8_byte_table_description'.
2212         (uint16_byte_table_description): New constant.
2213         (uint16-byte-table): Use `uint16_byte_table_description'.
2214
2215 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2216
2217         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2218         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2219
2220 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * mule-charset.c (Vcharset_ucs_ks): New variable.
2223         (Qucs_ks): New variable.
2224         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2225         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2226
2227         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2228
2229 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2232         (Fdecode_char): Likewise.
2233
2234         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2235         chartab.h.
2236         (Fdefine_char): Modify for Fdecode_char.
2237         (Ffind_char): Likewise.
2238
2239         * mule-charset.c (Fdecode_char): Add new optional argument
2240         `defined-only'.
2241         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2242
2243 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2244
2245         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2246         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2247         (allocate_coding_system): Initialize initial-charsets of
2248         CODESYS_BIG5 in XEmacs UTF-2000.
2249         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2250         CODESYS_BIG5 in XEmacs UTF-2000.
2251         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2252         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2253
2254         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2255         variables.
2256         (Qideograph_hanziku_{1 .. 12}): Likewise.
2257         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2258         .. 12}'.
2259         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2260         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2261         `ideograph-hanziku-{1 .. 12}'.
2262
2263         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2264         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2265         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2266         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2267         (DECODE_DEFINED_CHAR): New inline function.
2268         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2269
2270 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2271
2272         * mule-charset.c (Vcharset_china3_jef): Renamed from
2273         `Vcharset_japanese_jef_china3'.
2274         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2275         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2276         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2277         (syms_of_mule_charset): Rename `china3-jef' from
2278         `japanese-jef-china3'.
2279         (complex_vars_of_mule_charset): Likewise; rename
2280         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2281
2282         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2283         `LEADING_BYTE_JEF_CHINA3'.
2284         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2285         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2286
2287 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2288
2289         * mule-charset.c (encode_builtin_char_1): Comment out special code
2290         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2291
2292         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2293         (MAX_CHAR_MOJIKYO_0): Comment out.
2294         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2295         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2296         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2297         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2298
2299 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2302         (Qideograph_cbeta): New variable.
2303         (encode_builtin_char_1): Comment out special code for
2304         coded-charset `mojikyo' and `japanese-jef-china3'.
2305         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2306         (complex_vars_of_mule_charset): Add new coded-charset
2307         `ideograph-cbeta'.
2308
2309         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2310         (MIN_CHAR_CBETA): New macro.
2311         (MAX_CHAR_CBETA): New macro.
2312
2313 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2314
2315         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2316         (LEADING_BYTE_JEF_CHINA3): New macro.
2317         (MIN_CHAR_JEF_CHINA3): New macro.
2318         (MAX_CHAR_JEF_CHINA3): Likewise.
2319         (DECODE_CHAR): Fixed.
2320
2321 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2322
2323         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2324         (Qjapanese_jef_china3): New variable.
2325         (encode_builtin_char_1): Support `japanese-jef-china3'.
2326         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2327         (complex_vars_of_mule_charset): Add new coded-charset
2328         `japanese-jef-china3'.
2329
2330 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2331
2332         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2333         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2334         94^4, 96^3, 96^4, 128^n and 256^n set.
2335         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2336         (map_char_table): Likewise.
2337
2338 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2339
2340         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2341         UTF-2000.
2342
2343 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2344
2345         * chartab.h (get_char_id_table): New inline function.
2346
2347         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2348         function.
2349
2350 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2351
2352         * chartab.h (decode_char_table_range): New prototype in XEmacs
2353         UTF-2000.
2354         (put_char_id_table): New inline function in XEmacs UTF-2000.
2355
2356         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2357         function.
2358         (decode_char_table_range): Delete static declaration in XEmacs
2359         UTF-2000.
2360
2361 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * chartab.c (put_char_id_table): Use `put_char_table'.
2364
2365 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2368         (map_over_uint16_byte_table): Likewise.
2369         (map_over_byte_table): Likewise.
2370         (map_char_table): Modify for `map_over_uint8_byte_table',
2371         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2372         UTF-2000.
2373
2374 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2375
2376         * chartab.c (struct map_char_table_for_charset_arg): New
2377         structure.
2378         (map_char_table_for_charset_fun): New function.
2379         (map_char_table): Use `map_char_table' for encoding_table of
2380         `range->charset'.
2381
2382 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2383
2384         * chartab.c (map_char_table): Check a character is found in
2385         range->charset instead of non default value is defined in
2386         char-table when range is CHARTAB_RANGE_ROW.
2387
2388 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * chartab.c (map_char_id_table): Deleted.
2391         (Fmap_char_attribute): Use `map_char_table' instead of
2392         `map_char_id_table'.
2393
2394 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2395
2396         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2397         UTF-2000.
2398         (update_syntax_table): Deleted in XEmacs UTF-2000.
2399
2400         * syntax.c (find_defun_start): Use `syntax_table' instead of
2401         `mirror_syntax_table' in XEmacs UTF-2000.
2402         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2403         UTF-2000.
2404         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2405         XEmacs UTF-2000.
2406         (Fmatching_paren): Likewise.
2407         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2408         in XEmacs UTF-2000.
2409         (find_start_of_comment): Likewise.
2410         (find_end_of_comment): Likewise.
2411         (Fforward_comment): Likewise.
2412         (scan_lists): Likewise.
2413         (char_quoted): Likewise.
2414         (Fbackward_prefix_chars): Likewise.
2415         (scan_sexps_forward): Likewise.
2416         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2417         (update_syntax_table): Likewise.
2418
2419         * search.c (skip_chars): Use `syntax_table' instead of
2420         `mirror_syntax_table' in XEmacs UTF-2000.
2421         (wordify): Likewise.
2422         (Freplace_match): Likewise.
2423
2424         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2425         `mirror_syntax_table' in XEmacs UTF-2000.
2426         (WORDCHAR_P_UNSAFE): Likewise.
2427         (re_match_2_internal): Likewise.
2428
2429         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2430         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2431
2432         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2433         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2434
2435         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2436         XEmacs UTF-2000.
2437
2438         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2439         UTF-2000.
2440         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2441         (char_table_description): Delete `mirror_table' in XEmacs
2442         UTF-2000.
2443         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2444         UTF-2000.
2445         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2446         (Fcopy_char_table): Likewise.
2447         (put_char_table): Don't call `update_syntax_table' in XEmacs
2448         UTF-2000.
2449
2450         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2451         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2452         (casify_region_internal): Likewise.
2453
2454         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2455
2456         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2457         `mirror_syntax_table' in XEmacs UTF-2000.
2458
2459         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2460         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2461         (Fexpand_abbrev): Likewise.
2462
2463 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2466
2467 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2468
2469         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2470         (map_over_uint16_byte_table): Likewise.
2471         (map_over_byte_table): Likewise.
2472         (get_char_id_table): Refer `cit->default_value'.
2473         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2474         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2475         of character-id ranges.
2476         (mark_char_table): Mark `ct->default_value'.
2477         (char_table_description): Add `default_value'.
2478         (fill_char_table): Use `default_value'.
2479         (decode_char_table_range): Decode `nil' as
2480         `CHARTAB_RANGE_DEFAULT'.
2481         (get_char_id_table): Refer `cit->default_value'.
2482         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2483         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2484         temporary hack; check value of char-table is bound or not.
2485         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2486
2487         * chartab.h (struct Lisp_Char_Table): Add new member
2488         `default_value' in XEmacs UTF-2000.
2489         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2490         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2491         UTF-2000.
2492
2493 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2494
2495         * chartab.h (Lisp_Char_ID_Table): Deleted.
2496
2497         * chartab.c (char_table_description): Fix typo.
2498         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2499         `Lisp_Char_ID_Table'.
2500
2501 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2502
2503         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2504         `CHAR_ID_TABLE_P'.
2505
2506         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2507         `CHAR_ID_TABLE_P'.
2508
2509         * chartab.h (XCHAR_ID_TABLE): Deleted.
2510         (XSETCHAR_ID_TABLE): Deleted.
2511         (CHAR_ID_TABLE_P): Deleted.
2512
2513         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2514         `CHAR_ID_TABLE_P'.
2515         (Fget_composite_char): Likewise.
2516         (put_char_table): Likewise.
2517         (add_char_attribute_alist_mapper): Fixed.
2518         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2519         `CHAR_ID_TABLE_P'.
2520         (Fget_char_attribute): Likewise.
2521         (Fget_char_attribute): Likewise.
2522         (Fmap_char_attribute): Likewise.
2523
2524         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2525         `CHAR_ID_TABLE_P'.
2526         (encode_char_1): Likewise.
2527
2528 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2531         `XCHAR_ID_TABLE'.
2532
2533         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2534         instead of `XCHAR_ID_TABLE'.
2535         (remove_char_ccs): Likewise.
2536
2537         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2538         `XCHAR_ID_TABLE'.
2539         (Fget_composite_char): Likewise.
2540         (Fchar_variants): Likewise.
2541         (put_char_table): Likewise.
2542         (add_char_attribute_alist_mapper): Likewise.
2543         (Fchar_attribute_alist): Likewise.
2544         (Fget_char_attribute): Likewise.
2545         (Fput_char_attribute): Likewise.
2546         (Fmap_char_attribute): Likewise.
2547         (Fmap_char_attribute): Likewise.
2548
2549         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2550         `XCHAR_ID_TABLE'.
2551         (encode_char_1): Likewise.
2552
2553 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2554
2555         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2556         `Lisp_Char_ID_Table'.
2557         (mark_char_id_table): Deleted.
2558         (print_char_id_table): Likewise.
2559         (char_id_table_equal): Likewise.
2560         (char_id_table_hash): Likewise.
2561         (char_id_table_description): Likewise.
2562         (char_id_table): Likewise.
2563         (make_char_id_table): Use `Fmake_char_table' and
2564         `fill_char_table'.
2565         (get_char_id_table): Use `Lisp_Char_Table' instead of
2566         `Lisp_Char_ID_Table'.
2567         (put_char_id_table): Likewise.
2568         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2569         `XCHAR_ID_TABLE'.
2570         (Fremove_char_attribute): Likewise.
2571         (syms_of_chartab): Don't define type `char-id-table'.
2572
2573         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2574         (char_id_table): Likewise.
2575         (GC_CHAR_ID_TABLE_P): Likewise.
2576         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2577         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2578         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2579         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2580         (get_char_id_table): Use `Lisp_Char_Table' instead of
2581         `Lisp_Char_ID_Table'.
2582         (put_char_id_table_0): Likewise.
2583         (put_char_id_table): Likewise.
2584
2585 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2586
2587         * chartab.h: Lisp_Byte_Table related codes are moved from
2588         chartab.h.
2589
2590         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2591
2592 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2593
2594         * chartab.h: Don't include "chartab.h".
2595         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2596         (Lisp_Char_ID_Table): Likewise.
2597         (char_id_table): Likewise.
2598         (XCHAR_ID_TABLE): Likewise.
2599         (XSETCHAR_ID_TABLE): Likewise.
2600         (CHAR_ID_TABLE_P): Likewise.
2601         (GC_CHAR_ID_TABLE_P): Likewise.
2602         (get_char_id_table): Likewise.
2603
2604         * char-ucs.h: Include "chartab.h".
2605         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2606         (Lisp_Char_ID_Table): Likewise.
2607         (char_id_table): Likewise.
2608         (XCHAR_ID_TABLE): Likewise.
2609         (XSETCHAR_ID_TABLE): Likewise.
2610         (CHAR_ID_TABLE_P): Likewise.
2611         (GC_CHAR_ID_TABLE_P): Likewise.
2612         (get_char_id_table): Likewise.
2613
2614 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2615
2616         * chartab.c (copy_uint8_byte_table): New function.
2617         (copy_uint16_byte_table): New function.
2618         (copy_byte_table): New function.
2619         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2620         characters to call.
2621         (map_over_uint16_byte_table): Likewise.
2622         (map_over_byte_table): Likewise.
2623         (get_byte_table): Move prototype to chartab.h.
2624         (put_byte_table): Likewise.
2625         (put_char_id_table_0): Moved to chartab.h.
2626         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2627         (char_table_entry_equal): Likewise.
2628         (char_table_entry_hash): Likewise.
2629         (char_table_entry_description): Likewise.
2630         (char_table_entry): Likewise.
2631         (make_char_table_entry): Likewise.
2632         (copy_char_table_entry): Likewise.
2633         (get_non_ascii_char_table_value): Likewise.
2634         (map_over_charset_ascii): Likewise.
2635         (map_over_charset_control_1): Likewise.
2636         (map_over_charset_row): Likewise.
2637         (map_over_other_charset): Likewise.
2638         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2639         (print_char_table): Likewise.
2640         (char_table_equal): Likewise.
2641         (char_table_hash): Likewise.
2642         (char_table_description): Likewise.
2643         (fill_char_table): Likewise.
2644         (Fcopy_char_table): Likewise.
2645         (get_char_table): Likewise.
2646         (Fget_range_char_table): Likewise.
2647         (put_char_table): Likewise.
2648         (map_char_table): Likewise.
2649         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2650         UTF-2000.
2651
2652 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2653
2654         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2655         `Vauto_fill_chars' in XEmacs UTF-2000.
2656
2657         * chartab.h (get_byte_table): New prototype [moved from
2658         chartab.c].
2659         (put_byte_table): Likewise [moved from chartab.c].
2660         (put_char_id_table_0): New inline function [moved from chartab.c].
2661         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2662         (Lisp_Char_Table_Entry): Likewise.
2663         (char_table_entry): Likewise.
2664         (XCHAR_TABLE_ENTRY): Likewise.
2665         (XSETCHAR_TABLE_ENTRY): Likewise.
2666         (CHAR_TABLE_ENTRYP): Likewise.
2667         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2668         (NUM_ASCII_CHARS): Likewise.
2669         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2670         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2671
2672 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2673
2674         * chartab.c (get_char_id_table): Change interface.
2675         (put_char_id_table_0): New function.
2676         (put_char_id_table): Change interface; new implementation.
2677         (Fget_composite_char): Modify for interface change of
2678         `get_char_id_table'.
2679         (Fchar_variants): Likewise.
2680         (add_char_attribute_alist_mapper): Likewise.
2681         (Fchar_attribute_alist): Likewise.
2682         (Fget_char_attribute): Likewise.
2683         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2684         as same as character as the first argument like `put-char-table';
2685         modify for interface change of `put_char_id_table'.
2686         (Fremove_char_attribute): Modify for interface change of
2687         `put_char_id_table'.
2688
2689 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2690
2691         * text-coding.c: Sync up with XEmacs 21.2.41.
2692         (COMPOSE_ADD_CHAR): Modify for interface change of
2693         `get_char_id_table'.
2694
2695         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2696         change of `put_char_id_table'.
2697         (remove_char_ccs): Likewise.
2698
2699         * chartab.h (put_char_id_table): Change interface.
2700
2701         * char-ucs.h (get_char_id_table): Change interface.
2702         (charset_code_point): Modify for interface change of
2703         `get_char_id_table'.
2704         (encode_char_1): Likewise.
2705
2706 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2709         argument `ccs'.
2710         (map_over_uint16_byte_table): Likewise.
2711         (map_over_byte_table): Likewise.
2712         (map_char_id_table): Add new argument `range' like
2713         `map_char_table'.
2714         (Fmap_char_attribute): Add new argument `range' like
2715         `Fmap_char_table'.
2716
2717 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2718
2719         * chartab.c (map_over_uint8_byte_table): Change interface of
2720         mapping function to use struct chartab_range instead of Emchar.
2721         (map_over_uint16_byte_table): Likewise.
2722         (map_over_byte_table): Likewise.
2723         (map_char_id_table): Likewise.
2724         (struct slow_map_char_id_table_arg): Deleted.
2725         (slow_map_char_id_table_fun): Deleted.
2726         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2727         function `slow_map_char_table_fun' instead of struct
2728         `slow_map_char_id_table_arg' and function
2729         `slow_map_char_id_table_fun'.
2730
2731 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2732
2733         * mule-charset.c: Move char-it-table related codes to chartab.c.
2734         (Vutf_2000_version): Moved to chartab.c.
2735         (Fdefine_char): Likewise.
2736         (Ffind_char): Likewise.
2737         (syms_of_mule_charset): Move types `uint8-byte-table',
2738         `uint16-byte-table', `byte-table' and `char-id-table' to
2739         chartab.c; move functions `char_attribute_list,
2740         `find_char_attribute_table, `char_attribute_alist,
2741         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2742         `map_char_attribute, `define_char, `find_char, `char_variants and
2743         `get_composite_char to chartab.c; move symbols `=>ucs',
2744         `->decomposition', `compat', `isolated', `initial', `medial',
2745         `final', `vertical', `noBreak', `fraction', `super', `sub',
2746         `circle', `square', `wide', `narrow', `small' and `font' to
2747         chartab.c.
2748         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2749         setting codes for `Vcharacter_composition_table' and
2750         `Vcharacter_variant_table' to chartab.c.
2751         (complex_vars_of_mule_charset): Move setting code for
2752         `Vchar_attribute_hash_table' to chartab.c.
2753
2754         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2755         (make_char_id_table): New prototype.
2756         (put_char_id_table): Likewise.
2757         (Fget_char_attribute): Likewise.
2758
2759         * chartab.c: Move char-id-table related code from mule-charset.c.
2760         (Vutf_2000_version): Moved from mule-charset.c.
2761
2762         * char-ucs.h (Qucs): New external variable.
2763         (put_char_ccs_code_point): New prototype.
2764         (remove_char_ccs): Likewise.
2765
2766 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2767
2768         * mule-charset.c (Vcharset_ucs_jis): New variable.
2769         (Qucs_jis): Likewise.
2770         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2771         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2772
2773         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2774
2775 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2776
2777         * mule-charset.c (map_over_uint8_byte_table): New function.
2778         (map_over_uint16_byte_table): Likewise.
2779         (map_over_byte_table): Likewise.
2780         (map_char_id_table): Likewise.
2781         (slow_map_char_id_table_fun): Likewise.
2782         (Fmap_char_attribute): Likewise.
2783         (syms_of_mule_charset): Add new function `map-char-attribute'.
2784
2785 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2786
2787         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2788         (syms_of_mule_charset): Add new function `find-char'.
2789
2790 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2791
2792         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2793         XEmacs UTF-2000.
2794         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2795         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2796         XEmacs UTF-2000.
2797         (complex_vars_of_mule_charset): Add new coded-charset
2798         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2799         `ideograph-gt-pj-*'.
2800
2801         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2802
2803 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2804
2805         * mule-charset.c (encode_builtin_char_1): Purge codes about
2806         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2807         {MIN|MAX}_CHAR_HEBREW.
2808         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2809         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2810
2811         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2812         (MAX_CHAR_GREEK): Purged.
2813         (MIN_CHAR_CYRILLIC): Purged.
2814         (MAX_CHAR_CYRILLIC): Purged.
2815         (MIN_CHAR_HEBREW): Commented out.
2816         (MAX_CHAR_HEBREW): Likewise.
2817
2818 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2819
2820         * mule-charset.c (Qto_ucs): New variable.
2821         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2822         (Fdefine_char): Likewise.
2823         (syms_of_mule_charset): Add new symbol `=>ucs'.
2824
2825 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * mule-charset.c (Fdecode_char): Fixed.
2828
2829 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2830
2831         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2832         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2833         "tcvn5712-1".
2834
2835 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2836
2837         * mule-charset.c (Vcharset_ucs_big5): New variable.
2838         (Qucs_big5): Likewise.
2839         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2840         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2841
2842         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2843
2844 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2845
2846         * mule-charset.c (decode_builtin_char): Check Big5 code range
2847         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2848
2849 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2850
2851         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2852         (Qchinese_gb12345): Likewise.
2853         (Fdecode_builtin_char): Fixed.
2854         (syms_of_mule_charset): Add `chinese-gb12345'.
2855         (complex_vars_of_mule_charset): Add coded-charset
2856         `chinese-gb12345'.
2857
2858         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2859         (LEADING_BYTE_CHINESE_GB12345): New macro.
2860
2861 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2862
2863         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2864         and `latin-viscii-upper' for `latin-viscii'.
2865
2866 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2867
2868         * mule-charset.c (Fdecode_builtin_char): Comment out
2869         regularization code for ISO-IR GR representation.
2870
2871 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2872
2873         * mule-charset.c (decode_builtin_char): New function; renamed from
2874         `make_builtin_char'; return -1 instead of signal.
2875         (Fdecode_builtin_char): Use `decode_builtin_char'.
2876
2877         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2878         `make_builtin_char'.
2879         (DECODE_CHAR): Use `decode_builtin_char' instead of
2880         `make_builtin_char'; use mapping table of `chinese-big5' for
2881         `chinese-big5-{1,2}'.
2882
2883 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * text-coding.c (char_encode_big5): New function.
2886         (char_finish_big5): Likewise.
2887         (reset_encoding_stream): Use `char_encode_big5' and
2888         `char_finish_big5' for CODESYS_BIG5.
2889         (mule_encode): Don't use `encode_coding_big5'.
2890         (encode_coding_big5): Deleted.
2891
2892 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2893
2894         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2895         0x81- in XEmacs UTF-2000.
2896         (detect_coding_big5): Likewise.
2897
2898 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2899
2900         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2901         generate character-id if the CCS property does not have
2902         corresponding predefined character.
2903         (make_builtin_char): Return -1 if corresponding predefined
2904         character is not found.
2905         (Fdecode_char): Return nil if corresponding character is not
2906         found.
2907         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2908         don't map to builtin ucs space.
2909
2910 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2911
2912         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2913         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2914
2915 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2918         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2919         (Qideograph_gt): Likewise.
2920         (Qideograph_gt_pj_{1..11}): Likewise.
2921         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2922         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2923         `ideograph-gt-pj-11'.
2924         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2925         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2926         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2927
2928         * char-ucs.h (LEADING_BYTE_GT): New macro.
2929         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2930         (MIN_CHAR_GT): Likewise.
2931         (MAX_CHAR_GT): Likewise.
2932
2933 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2936         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2937
2938         * doprnt.c (unsigned_int_converters): Add `c'.
2939         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2940
2941         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2942         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2943         `MIN_CHAR_MOJIKYO'.
2944         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2945         (MAX_CHAR_MOJIKYO_0): New macro.
2946         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2947
2948 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2949
2950         * mule-charset.c (Fdefine_char): Delete cemented out code.
2951         (encode_builtin_char_1): Modify for new allocation of builtin
2952         Mojikyo characters.
2953
2954         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2955
2956 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2957
2958         * mule-charset.c (Vcharset_ucs_cns): New variable.
2959         (Qucs_cns): New variable.
2960         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2961         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2962
2963 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2964
2965         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2966
2967 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2968
2969         * search.c (search_buffer): Make `charset_base_code' as
2970         character-id >> 6 to eliminate the corresponding last byte in
2971         UTF-8 representation [I'm not sure it is right thing].
2972         (boyer_moore): Likewise.
2973
2974 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2975
2976         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2977         representation in MULE.
2978
2979 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2980
2981         * text-coding.c (Fmake_coding_system): Use
2982         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2983         `EXTERNAL_PROPERTY_LIST_LOOP'.
2984
2985 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2986
2987         * text-coding.c (decode_output_utf8_partial_char): New function.
2988         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2989
2990 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2991
2992         * text-coding.c (decode_coding_utf8): Output original byte
2993         sequence if it is broken; change order of conditions.
2994
2995         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2996         of conditions.
2997
2998         * mb-multibyte.h (BYTE_ASCII_P):
2999         Use bit ops for char-signedness safety.
3000         (BYTE_C0_P): Use bit ops for char-signedness safety.
3001         (BYTE_C1_P): Use bit ops for char-signedness safety.
3002
3003         * character.h: (XCHAR_OR_CHAR_INT):
3004         Always use inline function.
3005         Remove redundant type checking assert() - XINT will abort quite
3006         nicely.
3007
3008 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3009
3010         * text-coding.c: (Fencode_shift_jis_char):
3011         (Fencode_big5_char):
3012         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3013         Replace 0 with '\0' when working with bytes.
3014         Replace initial "(" with "\(" in docstrings.
3015
3016         (Fmake_coding_system):
3017         When type is ccl and value is vector, register it with a proper
3018         symbol.  And checks whether the given ccl program is valid.
3019         (mule_decode): When calling ccl_driver, if src indicates
3020         NULL pointer, set an empty string instead.
3021         (mule_encode): Likewise.
3022
3023         (detect_eol_type):
3024         (detect_coding_sjis):
3025         (decode_coding_sjis):
3026         (detect_coding_big5):
3027         (decode_coding_big5):
3028         (detect_coding_ucs4):
3029         (decode_coding_ucs4):
3030         (detect_coding_utf8):
3031         (decode_coding_utf8):
3032         (detect_coding_iso2022):
3033         (decode_coding_iso2022):
3034         (decode_coding_no_conversion):
3035         (mule_decode):
3036         Make all detecting and decoding functions take an Extbyte * arg.
3037         (text_encode_generic):
3038         (encode_coding_big5):
3039         (encode_coding_no_conversion):
3040         (mule_encode):
3041         Make all encoding functions take a Bufbyte * arg.
3042         Use size_t instead of unsigned int for memory sizes.
3043         Only cast to unsigned char whenever dereferencing Extbyte *.
3044
3045         (struct lrecord_description fcd_description_1): Use countof.
3046         (complex_vars_of_file_coding):
3047         Use countof instead of sizeof.
3048         Use CHECK_NATNUM instead of CHECK_INT.
3049
3050 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3051
3052         * mule-charset.c (Fget_char_attribute): Add new optional argument
3053         `default-value'.
3054         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3055         (remove_char_ccs): Likewise.
3056
3057 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3058
3059         * text-coding.c (char_encode_shift_jis): New implementation in
3060         UTF-2000.
3061         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3062         ...)'.
3063
3064         * mule-charset.c (Vcharset_chinese_big5): New variable in
3065         UTF-2000.
3066         (Qchinese_big5): New variable in UTF-2000.
3067         (BIG5_SAME_ROW): New macro in UTF-2000.
3068         (make_builtin_char): Use builtin characters of
3069         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3070         characters of `Vcharset_chinese_big5'.
3071         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3072         (complex_vars_of_mule_charset): Add new coded-charset
3073         `chinese-big5' in UTF-2000.
3074
3075         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3076         (Vcharset_chinese_big5): New external variable declaration.
3077         (Vcharset_japanese_jisx0208_1990): Likewise.
3078
3079 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3080
3081         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3082         function.
3083         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3084
3085 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3086
3087         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3088         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3089         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3090         `mojikyo-pj-*'.
3091
3092 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3093
3094         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3095
3096 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3097
3098         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3099         to 0.17.
3100
3101 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3102
3103         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3104         for `CHARSET_BY_ATTRIBUTES'.
3105         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3106         `CHARSET_BY_ATTRIBUTES'.
3107
3108         * text-coding.c (struct decoding_stream): Rename member `CH' to
3109         `CPOS'.
3110         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3111         (decode_coding_sjis): Likewise.
3112         (decode_coding_big5): Likewise.
3113         (decode_coding_ucs4): Likewise.
3114         (decode_coding_utf8): Likewise.
3115         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3116         `CHARSET_BY_ATTRIBUTES'.
3117         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3118         `str->counter'; decode 3, 4 bytes sets.
3119         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3120         sets.
3121         (decode_coding_no_conversion): Use `str->cpos' instead of
3122         `str->ch'.
3123
3124         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3125         (Qmojikyo_2022_1): New variable.
3126         (make_charset): Don't use `CHARSET_TYPE_*'.
3127         (range_charset_code_point): Support coded-charset
3128         `mojikyo-2022-1'.
3129         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3130         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3131         `CHARSET_BY_ATTRIBUTES'.
3132         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3133         `CHARSET_BY_ATTRIBUTES'.
3134         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3135         (complex_vars_of_mule_charset): Add new coded-charset
3136         `mojikyo-2022-1'.
3137
3138         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3139         interface; changed to inline function.
3140
3141         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3142         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3143         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3144         (CHARSET_TYPE_94): Deleted.
3145         (CHARSET_TYPE_94X94): Deleted.
3146         (CHARSET_TYPE_96): Deleted.
3147         (CHARSET_TYPE_96X96): Deleted.
3148         (CHARSET_TYPE_128): Deleted.
3149         (CHARSET_TYPE_128X128): Deleted.
3150         (CHARSET_TYPE_256): Deleted.
3151         (CHARSET_TYPE_256X256): Deleted.
3152         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3153         to inline function.
3154         (DECODE_MOJIKYO_2022): New inline function.
3155         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3156         `Vcharset_mojikyo_2022_1'.
3157
3158 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3159
3160         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3161         instead of `EQ'.
3162         (put_byte_table): Likewise.
3163         (char_id_table_equal): Use `get_byte_table' [new implementation].
3164
3165 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3166
3167         * mule-charset.c: Include <limits.h> in UTF-2000.
3168         (BT_UINT8_MIN): New macro in UTF-2000.
3169         (BT_UINT8_MAX): New macro in UTF-2000.
3170         (BT_UINT8_t): New macro in UTF-2000.
3171         (BT_UINT8_nil): New macro in UTF-2000.
3172         (BT_UINT8_unbound): New macro in UTF-2000.
3173         (INT_UINT8_P): New inline function in UTF-2000.
3174         (UINT8_VALUE_P): New inline function in UTF-2000.
3175         (UINT8_ENCODE): New inline function in UTF-2000.
3176         (UINT8_DECODE): New inline function in UTF-2000.
3177         (mark_uint8_byte_table): New function in UTF-2000.
3178         (print_uint8_byte_table): New function in UTF-2000.
3179         (uint8_byte_table_equal): New function in UTF-2000.
3180         (uint8_byte_table_hash): New function in UTF-2000.
3181         (make_uint8_byte_table): New function in UTF-2000.
3182         (uint8_byte_table_same_value_p): New function in UTF-2000.
3183         (BT_UINT16_MIN): New macro in UTF-2000.
3184         (BT_UINT16_MAX): New macro in UTF-2000.
3185         (BT_UINT16_t): New macro in UTF-2000.
3186         (BT_UINT16_nil): New macro in UTF-2000.
3187         (BT_UINT16_unbound): New macro in UTF-2000.
3188         (INT_UINT16_P): New inline function in UTF-2000.
3189         (UINT16_VALUE_P): New inline function in UTF-2000.
3190         (UINT16_ENCODE): New inline function in UTF-2000.
3191         (UINT16_DECODE): New inline function in UTF-2000.
3192         (UINT8_TO_UINT16): New inline function in UTF-2000.
3193         (mark_uint16_byte_table): New function in UTF-2000.
3194         (print_uint16_byte_table): New function in UTF-2000.
3195         (uint16_byte_table_equal): New function in UTF-2000.
3196         (uint16_byte_table_hash): New function in UTF-2000.
3197         (make_uint16_byte_table): New function in UTF-2000.
3198         (uint16_byte_table_same_value_p): New function in UTF-2000.
3199         (print_byte_table): New function in UTF-2000.
3200         (byte-table): Use `print_byte_table' as printer.
3201         (make_byte_table): Delete second argument `older'.
3202         (byte_table_same_value_p): New function in UTF-2000.
3203         (copy_byte_table): Deleted.
3204         (get_byte_table): New function in UTF-2000.
3205         (put_byte_table): New function in UTF-2000.
3206         (print_char_id_table): New function in UTF-2000.
3207         (char-id-table): Use `print_char_id_table' as printer.
3208         (make_char_id_table): Delete second argument `older'.
3209         (get_char_id_table): Use `get_byte_table [new implementation].
3210         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3211         implementation].
3212         (Ffind_char_attribute_table): New function in UTF-2000.
3213         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3214         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3215         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3216         (syms_of_mule_charset): Add new function
3217         `find-char-attribute-table' in UTF-2000.
3218
3219         * lrecord.h (enum lrecord_type): Add
3220         `lrecord_type_uint16_byte_table' and
3221         `lrecord_type_uint8_byte_table'.
3222
3223         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3224         (Lisp_Uint8_Byte_Table): New type.
3225         (XUINT8_BYTE_TABLE): New macro.
3226         (XSETUINT8_BYTE_TABLE): New macro.
3227         (UINT8_BYTE_TABLE_P): New macro.
3228         (GC_UINT8_BYTE_TABLE_P): New macro.
3229         (struct Lisp_Uint16_Byte_Table): New structure.
3230         (Lisp_Uint16_Byte_Table): New type.
3231         (XUINT16_BYTE_TABLE): New macro.
3232         (XSETUINT16_BYTE_TABLE): New macro.
3233         (UINT16_BYTE_TABLE_P): New macro.
3234         (GC_UINT16_BYTE_TABLE_P): New macro.
3235
3236 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3237
3238         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3239         (Vcharacter_ideographic_strokes_table): Deleted.
3240         (Vcharacter_total_strokes_table): Deleted.
3241         (Vcharacter_morohashi_daikanwa_table): Deleted.
3242         (Vcharacter_decomposition_table): Deleted.
3243         (Qname): Deleted because it is duplicated.
3244         (Qideographic_radical): Deleted.
3245         (Qideographic_strokes): Deleted.
3246         (Qtotal_strokes): Deleted.
3247         (Qmorohashi_daikanwa): Deleted.
3248         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3249         `ideographic-radical', `ideographic-strokes', `total-strokes',
3250         `morohashi-daikanwa' and `->decomposition'.
3251         (Fget_char_attribute): Likewise.
3252         (Fput_char_attribute): Likewise; use `make-vector' instead of
3253         `make_older_vector' for `->decomposition' value.
3254         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3255         `ideograph-daikanwa'.
3256         (syms_of_mule_charset): Delete builtin symbols `name',
3257         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3258         `morohashi-daikanwa'.
3259         (vars_of_mule_charset): Don't setup
3260         `Vcharacter_ideographic_radical_table',
3261         `Vcharacter_ideographic_strokes_table',
3262         `Vcharacter_total_strokes_table',
3263         `Vcharacter_morohashi_daikanwa_table' and
3264         `Vcharacter_decomposition_table'.
3265
3266 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3267
3268         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3269         `make_older_vector', `make_vector_newer_1' and
3270         `make_vector_newer'.
3271
3272         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3273         `make_older_vector' and `make_vector_newer'.
3274
3275         * config.h.in (HAVE_GGC): New macro.
3276
3277 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3278
3279         * mule-charset.c (struct char_attribute_list_closure): New
3280         structure in UTF-2000.
3281         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3282         (Fchar_attribute_list): Likewise.
3283         (Fset_charset_mapping_table): Use `make_vector_newer'.
3284         (Fdecode_builtin_char): New function in UTF-2000.
3285         (syms_of_mule_charset): Add new function `char-attribute-list' and
3286         `decode-builtin-char' in UTF-2000.
3287
3288         * lisp.h (make_vector_newer): New prototype.
3289
3290         * alloc.c (make_vector_newer_1): New function.
3291         (make_vector_newer): New function.
3292
3293 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3294
3295         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3296         50100)'.
3297
3298 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3299
3300         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3301         (Vcharacter_attribute_table): Deleted.
3302         (Vcharacter_name_table): Deleted.
3303         (put_char_attribute): Deleted.
3304         (remove_char_attribute): Deleted.
3305         (struct char_attribute_alist_closure): New structure.
3306         (add_char_attribute_alist_mapper): New function.
3307         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3308         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3309         (Fget_char_attribute): Likewise.
3310         (Fput_char_attribute): Likewise.
3311         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3312         of `remove_char_attribute'.
3313         (Fdefine_char): Return character.
3314         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3315         and `Vcharacter_name_table'.
3316         (complex_vars_of_mule_charset): Likewise
3317         `Vchar_attribute_hash_table'.
3318
3319 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3320
3321         * character.h (CHARC_CHARSET): New macro.
3322         (CHARC_CHARSET_ID): New macro.
3323         (CHARC_CODE_POINT): New macro.
3324         (CHARC_COLUMNS): New macro.
3325         (CHARC_TO_CHAR): New inline function.
3326         (CHARC_EQ): New inline function.
3327         (CHARC_ASCII_EQ): New inline function.
3328         (CHARC_IS_SPACE): New inline function.
3329         (ASCII_TO_CHARC): New inline function.
3330
3331         * char-ucs.h (encode_char_2): Deleted.
3332         (ENCODE_CHAR): Use `encode_char_1' again.
3333         (breakup_char_1): Likewise.
3334         (CHAR_TO_CHARC): New inline function.
3335
3336         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3337
3338 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3339
3340         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3341         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3342         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3343         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3344         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3345         `CHARC_IS_SPACE'.
3346         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3347
3348         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3349         `CHARC_CODE_POINT'.
3350         (x_output_display_block): Use `CHARC_CHARSET' and
3351         `CHARC_ASCII_EQ'.
3352
3353         * redisplay-tty.c (tty_output_display_block): Use
3354         `CHARC_ASCII_EQ'.
3355         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3356
3357         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3358
3359         * insdel.c (find_charsets_in_charc_string): Use
3360         `CHARC_CHARSET_ID'.
3361         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3362         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3363         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3364         (convert_charc_string_into_malloced_string): Likewise.
3365
3366 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3367
3368         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3369         instead of <Emchar_dynarr *> for buf; use
3370         `convert_bufbyte_string_into_charc_dynarr' instead of
3371         `convert_bufbyte_string_into_emchar_dynarr'; use
3372         `find_charsets_in_charc_string' instead of
3373         `find_charsets_in_emchar_string'.
3374
3375         * redisplay.h:
3376         - Include "character.h".
3377         (struct rune): New member `cglyph'; delete member `chr'.
3378
3379         * redisplay.c (redisplay_text_width_charc_string): New function;
3380         delete `redisplay_text_width_emchar_string'.
3381         (rtw_charc_dynarr): New variable; renamed from
3382         `rtw_emchar_dynarr'.
3383         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3384         `rtw_emchar_dynarr'; use
3385         `convert_bufbyte_string_into_charc_dynarr' instead of
3386         `convert_bufbyte_string_into_emchar_dynarr'; use
3387         `redisplay_text_width_charc_string' instead of
3388         `redisplay_text_width_emchar_string'.
3389         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3390         instead of `rtw_emchar_dynarr'; use
3391         `convert_bufbyte_string_into_charc_dynarr' instead of
3392         `convert_bufbyte_string_into_emchar_dynarr'.
3393         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3394         `redisplay_text_width_charc_string' instead of
3395         `redisplay_text_width_emchar_string'.
3396         (create_text_block): Modify for <struct rune> change.
3397         (generate_formatted_string_db): Likewise.
3398         (create_string_text_block): Likewise.
3399         (pixel_to_glyph_translation): Likewise.
3400
3401         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3402         instead of <const Emchar *>.
3403         (x_text_width): Likewise.
3404         (x_output_display_block): Use <Charc_dynarr *> instead
3405         <Emchar_dynarr *>; modify for <structure rune> change.
3406         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3407         *>.
3408
3409         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3410         <const Emchar *>; use `charc_string_displayed_columns' instead of
3411         `emchar_string_displayed_columns'.
3412         (tty_output_display_block): Use <Charc_dynarr *> instead of
3413         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3414         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3415         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3416         `tty_output_emchar_dynarr_dynarr'.
3417         (tty_output_charc_dynarr): New function; delete
3418         `tty_output_charc_dynarr'.
3419
3420         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3421         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3422         <Emchar_dynarr *> for buf; use
3423         `convert_bufbyte_string_into_charc_dynarr' instead of
3424         `convert_bufbyte_string_into_emchar_dynarr'.
3425
3426         * frame.c (title_string_charc_dynarr): New variable; renamed from
3427         `title_string_emchar_dynarr'.
3428         (generate_title_string): Use `title_string_charc_dynarr' instead
3429         of `title_string_emchar_dynarr'; use
3430         `convert_charc_string_into_malloced_string' instead of
3431         `convert_emchar_string_into_malloced_string'.
3432         (init_frame): Use `title_string_charc_dynarr' instead of
3433         `title_string_emchar_dynarr'.
3434
3435         * console.h:
3436         - Include "character.h".
3437         (struct console_methods): Use <const Charc *> instead of <const
3438         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3439         <Emchar_dynarr *> in output_string_method.
3440
3441         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3442         <Emchar_dynarr *>.
3443
3444         * console-stream.c (stream_text_width): Use <const Charc *>
3445         instead of <const Emchar *>.
3446
3447         * character.h (Charc_dynarr): New type.
3448
3449         * char-ucs.h (structure Charc): New structure; define new type
3450         `Charc'.
3451
3452         * char-lb.h (DECODE_CHAR): New inline function.
3453         (encode_char_1): New inline function.
3454         (ENCODE_CHAR): New macro.
3455         (structure Charc): New structure; define new type `Charc'.
3456
3457         * char-1byte.h (Vcharset_control_1): New macro.
3458         (Vcharset_latin_iso8859_1): New macro.
3459         (DECODE_CHAR): New inline function.
3460         (encode_char_1): New inline function.
3461         (ENCODE_CHAR): New macro.
3462         (structure Charc): New structure; define new type `Charc'.
3463
3464         * insdel.c (find_charsets_in_charc_string): New function; delete
3465         `find_charsets_in_emchar_string'.
3466         (charc_string_displayed_columns): New function; delete
3467         `emchar_string_displayed_columns'.
3468         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3469         `convert_bufbyte_string_into_emchar_dynarr'.
3470         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3471         `convert_charc_string_into_bufbyte_dynarr'.
3472         (convert_charc_string_into_malloced_string): New function; delete
3473         `convert_charc_string_into_malloced_string'.
3474
3475         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3476         `find_charsets_in_emchar_string'.
3477         (charc_string_displayed_columns): New prototype; delete
3478         `emchar_string_displayed_columns'.
3479         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3480         `convert_charc_string_into_bufbyte_dynarr'.
3481         (convert_charc_string_into_malloced_string): New prototype; delete
3482         `convert_charc_string_into_malloced_string'.
3483
3484 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3485
3486         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3487
3488 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3489
3490         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3491
3492         * char-ucs.h: Use <short> for <Charset_ID>.
3493
3494         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3495         <Charset_ID>.
3496
3497 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3498
3499         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3500         to 0.16.
3501
3502 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3503
3504         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3505         variable.
3506         (Qmorohashi_daikanwa): New variable.
3507         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3508         for `morohashi-daikanwa' attribute.
3509         (Fget_char_attribute): Likewise.
3510         (Fput_char_attribute): Likewise.
3511         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3512         has the same value of `ideograph-daikanwa'.
3513         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3514         (vars_of_mule_charset): Setup
3515         `Vcharacter_morohashi_daikanwa_table'.
3516
3517 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3518
3519         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3520         attributes.
3521         (add_charset_to_list_mapper): Add `key' instead of
3522         `XCHARSET_NAME (value)' to return aliases.
3523
3524 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3525
3526         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3527         variable.
3528         (Vcharacter_ideographic_strokes_table): New variable.
3529         (Qideographic_radical): New variable.
3530         (Qideographic_strokes): New variable.
3531         (Fchar_attribute_alist): Use
3532         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3533         attribute; use `Vcharacter_ideographic_strokes_table' for
3534         `ideographic-strokes' attribute.
3535         (Fget_char_attribute): Likewise.
3536         (Fput_char_attribute): Likewise.
3537         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3538         `ideographic-strokes'.
3539         (vars_of_mule_charset): Setup
3540         `Vcharacter_ideographic_radical_table' and
3541         `Vcharacter_ideographic_strokes_table'.
3542
3543 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3544
3545         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3546         (Qtotal_strokes): New variable.
3547         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3548         `total-strokes' attribute.
3549         (Fget_char_attribute): Likewise.
3550         (Fput_char_attribute): Likewise.
3551         (syms_of_mule_charset): Add new symbol `total-strokes'.
3552         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3553
3554 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3555
3556         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3557         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3558         are found.
3559         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3560         `->decomposition' attribute.
3561         (Fput_char_attribute): Likewise.
3562         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3563
3564 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3565
3566         * mule-charset.c (decoding_table_check_elements): New function.
3567         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3568
3569 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3570
3571         * mule-charset.c (Fset_charset_mapping_table): Use
3572         `put_char_ccs_code_point'.
3573
3574 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3575
3576         * mule-charset.c (decoding_table_put_char): New inline function.
3577         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3578
3579 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3580
3581         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3582         (XCHARSET_BYTE_SIZE): New macro.
3583         (decoding_table_remove_char): New inline function.
3584         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3585         `decoding_table_remove_char'.
3586         (remove_char_ccs): Use `decoding_table_remove_char'.
3587         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3588
3589 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3590
3591         * mule-charset.c (Vcharacter_name_table): New variable.
3592         (Qname): New variable.
3593         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3594         attribute.
3595         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3596         `Vcharacter_name_table' for `name' attribute.
3597         (Fremove_char_attribute): Use function `remove_char_ccs'.
3598         (put_char_ccs_code_point): New function.
3599         (remove_char_ccs): New function.
3600         (syms_of_mule_charset): Add new symbol `name'.
3601         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3602
3603 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3604
3605         * mule-charset.c (make_byte_table): Add new argument `older'.
3606         (make_char_id_table): Likewise.
3607         (copy_char_id_table): Comment out because it is not used.
3608         (put_char_id_table): Modify for `make_byte_table'.
3609         (Fput_char_attribute): Make encoding_table as older object;
3610         inherit older bit of `Vcharacter_composition_table'.
3611         (mark_charset): Don't mark `cs->encoding_table'.
3612         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3613         normal object; make `Vcharacter_composition_table' as an older
3614         object; delete staticpro for `Vcharacter_composition_table'; make
3615         `Vcharacter_variant_table' as a normal object.
3616
3617         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3618         (mark_object): Don't check older object in UTF-2000.
3619
3620         * lrecord.h (struct lrecord_header): Add new member `older' in
3621         UTF-2000.
3622         (set_lheader_implementation): Setup `SLI_header->older' in
3623         UTF-2000.
3624         (set_lheader_older_implementation): New macro in UTF-2000.
3625         (OLDER_RECORD_P): New macro in UTF-2000.
3626         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3627         (alloc_older_lcrecord): New prototype in UTF-2000.
3628         (alloc_older_lcrecord_type): New macro in UTF-2000.
3629
3630 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3631
3632         * mule-charset.c (byte_table_description): Use
3633         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3634         (char_id_table_description): Delete bogus `, 1'.
3635         (Fget_char_attribute): Refer encoding_table of each coded-charset
3636         to get value of coded-charset attribute of a character.
3637         (Fput_char_attribute): Use `make_older_vector' instead of
3638         `make_vector'; use encoding_table of each coded-charset to store
3639         value of coded-charset attribute of a character.
3640         (Fremove_char_attribute): Use encoding_table of each coded-charset
3641         to store value of coded-charset attribute of a character.
3642         (mark_charset): Mark `cs->encoding_table'; don't mark
3643         `cs->decoding_table'.
3644         (charset_description): Add description of new member
3645         `encoding_table'.
3646         (make_charset): Initialize `encoding_table'.
3647
3648         * char-ucs.h (struct Lisp_Charset): Add new member
3649         `encoding_table'.
3650         (CHARSET_ENCODING_TABLE): New macro.
3651         (XCHARSET_ENCODING_TABLE): New macro.
3652         (charset_code_point): New implementation.
3653         (encode_char_1): Likewise.
3654
3655         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3656         (disksave_object_finalization_1): Call finalizers of
3657         `all_older_lcrecords' in UTF-2000.
3658         (make_older_vector): New function in UTF-2000.
3659         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3660         UTF-2000.
3661
3662         * lisp.h (make_older_vector): New prototype in UTF-2000.
3663
3664 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3665
3666         * lrecord.h (enum lrecord_type): Rename
3667         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3668
3669         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3670         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3671         `get_char_code_table'.
3672
3673         * mule-charset.c (mark_char_id_table): Renamed from
3674         `mark_char_code_table'.
3675         (char_id_table_equal): Renamed from `char_code_table_equal'.
3676         (char_id_table_hash): Renamed from `char_code_table_hash'.
3677         (make_char_id_table): Renamed from `make_char_code_table'.
3678         (copy_char_id_table): Renamed from `copy_char_code_table'.
3679         (get_char_id_table): Renamed from `get_char_code_table'.
3680         (put_char_id_table): Renamed from `put_char_code_table'.
3681         (to_char_id): Renamed from `to_char_code'.
3682
3683         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3684         `Lisp_Char_Code_Table'.
3685         (char_id_table): Renamed from `char_code_table'.
3686         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3687         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3688         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3689         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3690         (get_char_id_table): Renamed from `get_char_code_table'.
3691
3692 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3693
3694         * lrecord.h (enum lrecord_type): Rename
3695         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3696
3697         * mule-charset.c (mark_byte_table): Renamed from
3698         `mark_char_byte_table'.
3699         (byte_table_equal): Renamed from `char_byte_table_equal'.
3700         (byte_table_hash): Renamed from `byte_table_hash'.
3701         (make_byte_table): Renamed from `make_byte_table'.
3702         (copy_byte_table): Renamed from `copy_char_byte_table'.
3703
3704         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3705         `Lisp_Char_Byte_Table'.
3706         (byte_table): Renamed from `char_byte_table'.
3707         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3708         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3709         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3710         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3711
3712 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3713
3714         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3715         (dfc_convert_to_internal_format): Likewise.
3716         
3717         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3718         * text-coding.c (Fcoding_system_alias_p): New function.
3719         * text-coding.c (Fcoding_system_aliasee): New function.
3720         * text-coding.c (append_suffix_to_symbol): New function.
3721         * text-coding.c (dangling_coding_system_alias_p): New function.
3722         * text-coding.c (Ffind_coding_system):
3723         * text-coding.c (Fcopy_coding_system):
3724         * text-coding.c (encode_coding_no_conversion):
3725         * text-coding.c (syms_of_file_coding):
3726         * text-coding.c (vars_of_file_coding):
3727         Rewrite coding system alias code.
3728         Allow nested aliases, like symbolic links.
3729         Allow redefinition of coding system aliases.
3730         Prevent existence of dangling coding system aliases.
3731         Eliminate convert_to_external_format.
3732         Eliminate convert_to_internal_format.
3733         
3734         * text-coding.c: Change enum eol_type to eol_type_t.
3735
3736 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3737
3738         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3739         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3740
3741         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3742         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3743
3744 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3745
3746         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3747         `ideograph-daikanwa'.
3748
3749         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3750         (Vcharset_ucs_bmp): Likewise.
3751         (Vcharset_mojikyo): Add new extern variable definition.
3752         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3753         (Vcharset_latin_iso8859_3): Likewise.
3754         (Vcharset_latin_iso8859_4): Likewise.
3755         (Vcharset_latin_iso8859_9): Likewise.
3756         (Vcharset_latin_viscii_lower): Likewise.
3757         (Vcharset_latin_viscii_upper): Likewise.
3758         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3759         `mojikyo' code-point is used to decode.
3760         (encode_char_2): New function [to convert `mojikyo' code-point to
3761         Mojikyo font encoding].
3762         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3763         (breakup_char_1): Likewise.
3764         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3765
3766 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3767
3768         * text-coding.c (Fmake_coding_system): Add document about
3769         `disable-composition' property.
3770
3771 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3772
3773         * text-coding.c (Qdisable_composition): New variable; delete
3774         `Qcomposite'.
3775         (Fmake_coding_system): Add new property `disable-composite';
3776         delete property `composite'.
3777         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3778         instead of `!CODING_SYSTEM_COMPOSITE'.
3779         (syms_of_file_coding): Add new symbol `disable-composition';
3780         delete symbol `composite'.
3781
3782         * file-coding.h (struct Lisp_Coding_System): Add
3783         `disable_composition'; delete `enable_composition'.
3784         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3785         `CODING_SYSTEM_COMPOSITE'.
3786         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3787         `XCODING_SYSTEM_COMPOSITE'.
3788
3789 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3790
3791         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3792         to 0.15.
3793
3794 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3795
3796         * text-coding.c (Qcomposite): New variable.
3797         (Fmake_coding_system): Add new property `composite'.
3798         (struct decoding_stream): Add `combined_char_count',
3799         `combined_chars' and `combining_table' in UTF-2000.
3800         (COMPOSE_FLUSH_CHARS): New macro.
3801         (COMPOSE_ADD_CHAR): New macro.
3802         (reset_decoding_stream): Reset `str->combined_char_count' and
3803         `str->combining_table' in UTF-2000.
3804         (decode_coding_iso2022): Modify for character-decomposition.
3805         (syms_of_file_coding): Add new symbol `composite'.
3806
3807 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3808
3809         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3810         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3811         of `Vcharacter_composition_table' if `->decomposition' property
3812         has only 1 element.
3813         (Qlatin_tcvn5712): New variable.
3814         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3815         (complex_vars_of_mule_charset): Add new coded-charset
3816         `latin-tcvn5712'.
3817
3818         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3819
3820 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3821
3822         * file-coding.h (struct Lisp_Coding_System): Add
3823         `enable_composition'.
3824         (CODING_SYSTEM_COMPOSITE): New macro.
3825         (XCODING_SYSTEM_COMPOSITE): New macro.
3826
3827 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3828
3829         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3830
3831 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3832
3833         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3834         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3835
3836 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3837
3838         * mule-charset.c (Vcharset_mojikyo): New variable.
3839         (Fdefine_char): Don't use coded-charset which does not have
3840         non-builtin character range to allocate character-id.
3841         (Qmojikyo): New variable.
3842         (syms_of_mule_charset): Add new symbol `mojikyo'.
3843         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3844
3845         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3846         (LEADING_BYTE_MOJIKYO): New macro.
3847         (MIN_CHAR_MOJIKYO): New macro.
3848         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3849         (MAX_CHAR_MOJIKYO): New macro.
3850
3851 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3852
3853         * mule-charset.c (remove_char_attribute): Fixed.
3854
3855 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3856
3857         * mule-charset.c (remove_char_attribute): New function.
3858         (Fremove_char_attribute): New function.
3859         (encode_builtin_char_1): Comment out builtin-support for
3860         greek-iso8859-7 and cyrillic-iso8859-5.
3861         (Fdecode_char): Check `code' is an integer.
3862         (syms_of_mule_charset): Add `remove-char-attribute'.
3863         (MIN_CHAR_GREEK): Deleted.
3864         (MAX_CHAR_GREEK): Likewise.
3865         (MIN_CHAR_CYRILLIC): Likewise.
3866         (MAX_CHAR_CYRILLIC): Likewise.
3867         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3868         MAX_CHAR_GREEK for `greek-iso8859-7'.
3869
3870         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3871         (MAX_CHAR_GREEK): Likewise.
3872         (MIN_CHAR_CYRILLIC): Likewise.
3873         (MAX_CHAR_CYRILLIC): Likewise.
3874
3875 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3876
3877         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3878         format is used without `ucs' property.
3879         (Fdecode_char): Fix problem with GR representation.
3880         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3881         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3882
3883 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3884
3885         * mule-charset.c (make_builtin_char): New function.
3886         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3887         (Fset_charset_mapping_table): Modify for new representation of
3888         code-point.
3889         (Fdecode_char): New function.
3890         (syms_of_mule_charset): Add new builtin function `decode-char' in
3891         UTF-2000.
3892
3893         * char-ucs.h (make_builtin_char): New prototype.
3894         (DECODE_CHAR): New inline function.
3895         (MAKE_CHAR): Use `DECODE_CHAR'.
3896
3897 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3898
3899         * text-coding.c (parse_charset_conversion_specs): Use
3900         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3901         `XCHARSET_TYPE'.
3902         (iso2022_designate): Likewise.
3903
3904         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3905         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3906
3907         * mule-charset.c (Vcharset_ucs): New variable.
3908         (print_charset): Change design; use `CHARSET_CHARS' and
3909         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3910         (make_charset): Change signature to specify `chars' and
3911         `dimension' instead of `type'.
3912         (range_charset_code_point): Modify for 256^n-set.
3913         (encode_builtin_char_1): Encode as `ucs' in default.
3914         (Fmake_charset): Modify for `make_charset'.
3915         (Fmake_reverse_direction_charset): Likewise.
3916         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3917         UTF-2000.
3918         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3919         for `make_charset'.
3920
3921         * char-ucs.h (Vcharset_ucs): New variable.
3922         (LEADING_BYTE_UCS): New macro.
3923         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3924         and `chars' to `unsigned short' from `unsigned int'.
3925         (CHARSET_TYPE): Deleted.
3926         (XCHARSET_TYPE): Deleted.
3927
3928 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3929
3930         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3931
3932         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3933         (ENCODE_CHAR): New macro.
3934
3935 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3936
3937         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3938         to 0.14 (Kawachi-Katakami).
3939
3940 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3941
3942         * text-coding.c (char_encode_shift_jis): Modify for
3943         `charset_code_point'.
3944         (char_encode_iso2022): Likewise.
3945
3946         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3947         (integer) instead of list of <Lisp_Object>s (integers) as the
3948         format of code-point of a coded-charset.
3949         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3950         (encode_builtin_char_1): New function; delete
3951         `split_builtin_char'.
3952         (charset_code_point): Return <int> instead of <Lisp_Object>.
3953         (Fsplit_char): Don't use `SPLIT_CHAR'.
3954
3955         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3956         prototype for `split_builtin_char'.
3957         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3958         (charset_code_point): Likewise.
3959         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3960         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3961
3962 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3963
3964         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3965         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3966
3967 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3968
3969         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3970
3971         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3972         (MAX_CHAR_OBS_94x94): Deleted.
3973
3974 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3975
3976         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3977
3978         * char-ucs.h (MAX_CHAR_BMP): New macro.
3979
3980 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3981
3982         * text-coding.c: Sync with r21-2-24.
3983
3984 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3985
3986         * file-coding.c: Modify for UTF-2000.
3987
3988 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3989
3990         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3991         to 0.13 (Takaida).
3992
3993 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3994
3995         * mule-charset.c (split_builtin_char): Delete builtin support for
3996         `katakana-jisx0201'.
3997         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3998         BMP area in builtin representation.
3999
4000         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4001         `Vcharset_katakana_jisx0201'.
4002
4003 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4004
4005         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4006         (Qisolated): New variable.
4007         (Qinitial): New variable.
4008         (Qmedial): New variable.
4009         (Qfinal): New variable.
4010         (Qvertical): New variable.
4011         (Qsmall): New variable.
4012         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4013         `Qvertical' and `Qsmall'.
4014         (Qmojikyo_pj_[1 .. 21]): New variable.
4015         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4016         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4017         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4018         .. 21]'.
4019
4020 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4021
4022         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4023         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4024         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4025
4026 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4027
4028         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4029         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4030         BMP.
4031         (Qjapanese_jisx0208_1990): New variable.
4032         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4033         (complex_vars_of_mule_charset): Add new coded-charset
4034         `japanese-jisx0208-1990'.
4035
4036         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4037         (MIN_CHAR_JIS_X0208_1990): New macro.
4038         (MAX_CHAR_JIS_X0208_1990): New macro.
4039
4040 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4041
4042         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4043         coded-charset is not found.
4044
4045 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4046
4047         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4048         (Fdefine_char): Use `Fmake_char'.
4049
4050 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4051
4052         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4053         (Vcharset_hiragana_jisx0208): Deleted.
4054         (Vcharset_katakana_jisx0208): Deleted.
4055         (Qideograph_daikanwa): New variable.
4056         (Qhiragana_jisx0208): Deleted.
4057         (Qkatakana_jisx0208): Deleted.
4058         (split_builtin_char): Split `ideograph-daikanwa'.
4059         (Fsplit_char): New implementation for UTF-2000.
4060         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4061         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4062         (complex_vars_of_mule_charset): Add new coded-charset
4063         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4064         `katakana-jisx0208'.
4065
4066         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4067         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4068         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4069         (MIN_CHAR_DAIKANWA): New macro.
4070         (MAX_CHAR_DAIKANWA): New macro.
4071
4072 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4073
4074         * data.c (Fstring_to_number): Don't recognize floating point if
4075         base is not 10.
4076
4077 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4078
4079         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4080
4081 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4082
4083         * mule-charset.c (Qsquare): New variable.
4084         (to_char_code): Add `Qsquare'.
4085         (syms_of_mule_charset): Add new symbol `square'.
4086
4087 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4088
4089         * mule-charset.c (Qcircle): New variable.
4090         (to_char_code): Add `Qcircle'.
4091         (syms_of_mule_charset): Add new symbol `circle'.
4092
4093 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4094
4095         * mule-charset.c (Qfont): New variable.
4096         (to_char_code): Add `Qfont'.
4097         (syms_of_mule_charset): Add new symbol `font'.
4098
4099 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4100
4101         * mule-charset.c (Qsub): New variable.
4102         (to_char_code): Add `Qsub'.
4103         (syms_of_mule_charset): Add new symbol `sub'.
4104
4105 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4106
4107         * mule-charset.c (Fput_char_attribute): Convert each element of
4108         VALUE to GL position if ATTRIBUTE is a GR-set,
4109
4110 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4111
4112         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4113         coded-charset is a GR-set.
4114
4115 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4116
4117         * mule-charset.c (Fput_char_attribute): Check each element of
4118         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4119
4120 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4121
4122         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4123         UTF-2000.
4124         (Qethiopic_ucs): New variable in UTF-2000.
4125         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4126         (complex_vars_of_mule_charset): Add new coded-charset
4127         `ethiopic-ucs' in UTF-2000.
4128
4129         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4130         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4131         9)'.
4132         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4133         10)'.
4134         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4135
4136 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4137
4138         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4139         `ascii'.
4140
4141 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4142
4143         * mule-charset.c (Vcharacter_variant_table): New variable.
4144         (Q_ucs): New variable.
4145         (Fchar_variants): New function.
4146         (Fput_char_attribute): Register `->ucs' value to
4147         `Vcharacter_variant_table'.
4148         (syms_of_mule_charset): Add new function `char-variants' and new
4149         symbol `->ucs'.
4150         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4151
4152 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4153
4154         * mule-charset.c (get_char_code_table): Allow negative character
4155         code.
4156         (put_char_code_table): Likewise.
4157         (Vcharacter_composition_table): New variable.
4158         (Q_decomposition): New variable.
4159         (Qwide): New variable.
4160         (Qnarrow): New variable.
4161         (Qcompat): New variable.
4162         (QnoBreak): New variable.
4163         (Qsuper): New variable.
4164         (Qfraction): New variable.
4165         (to_char_code): New function.
4166         (Fget_composite_char): New function.
4167         (Fput_char_attribute): Register `->decomposition' value to
4168         `Vcharacter_composition_table'.
4169         (syms_of_mule_charset): Add new function `get-composite-char', new
4170         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4171         `super' and `fraction'.
4172         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4173
4174 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4175
4176         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4177         character; copy the return value.
4178
4179 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4180
4181         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4182
4183         * mule-charset.c (range_charset_code_point): Must use make_int.
4184         (split_builtin_char): New function.
4185
4186 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4187
4188         * mule-charset.c (char_byte_table): Change name from
4189         "char-code-table" to "char-byte-table".
4190         (mark_char_code_table): New function.
4191         (char_code_table_equal): New function.
4192         (char_code_table_hash): New function.
4193         (char_code_table_description): New constant.
4194         (char_code_table): New type.
4195         (make_char_code_table): New function.
4196         (copy_char_code_table): New function.
4197         (get_char_code_table): Modify for `char_code_table' type.
4198         (put_char_code_table): Likewise.
4199         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4200         (Kashiwara).
4201
4202         * char-ucs.h (char_code_table): New type.
4203         (XCHAR_CODE_TABLE): New macro.
4204         (XSETCHAR_CODE_TABLE): New macro.
4205         (CHAR_CODE_TABLE_P): New macro.
4206         (GC_CHAR_CODE_TABLE_P): New macro.
4207         (struct Lisp_Char_Code_Table): New structure.
4208
4209 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4210
4211         * mule-charset.c (Fmake_charset): Setup byte_offset for
4212         {94|96}^n-set.
4213
4214 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4215
4216         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4217         character.
4218
4219 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4220
4221         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4222         is found.
4223
4224 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4225
4226         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4227         charset, it is regarded as a charset.
4228         (put_char_attribute): New function in UTF-2000.
4229         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4230         charset, mapping-table of the charset is modified.
4231         (Fdefine_char): New function in UTF-2000.
4232         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4233         `Fput_char_attribute'.
4234         (syms_of_mule_charset): Add new function `define-char' and new
4235         symbol `ucs' in UTF-2000.
4236         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4237
4238 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4239
4240         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4241         non-UTF-2000 configuration.
4242
4243 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4244
4245         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4246         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4247
4248         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4249         deleted.
4250         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4251         (Fset_charset_mapping_table): Likewise.
4252
4253         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4254         (CHARSET_ENCODING_TABLE): Delete.
4255         (XCHARSET_ENCODING_TABLE): Delete.
4256         (charset_code_point): New interface.
4257
4258 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4261         instead of `charset_get_byte1' and `charset_get_byte2'.
4262
4263         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4264         (charset_get_byte2): Deleted.
4265
4266 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4267
4268         * char-ucs.h (SPLIT_CHAR): New inline function.
4269         (breakup_char_1): Use `SPLIT_CHAR'.
4270
4271         * mule-charset.c (range_charset_code_point): New function.
4272         (charset_code_point): New function.
4273
4274         * char-ucs.h (range_charset_code_point): New interface.
4275         (breakup_char_1): Use `range_charset_code_point'.
4276
4277 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4278
4279         * mule-charset.c (Fmake_charset): Delete unused local variable
4280         `code_offset'.
4281
4282         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4283         (breakup_char_1): Find a charset and code-point in
4284         `Vcharacter_attribute_table'.
4285
4286 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4287
4288         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4289         to 0.10 (Yao).
4290
4291 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4292
4293         * mule-charset.c (Vcharacter_attribute_table): New variable.
4294         (Fchar_attribute_alist): New function.
4295         (Fget_char_attribute): New function.
4296         (Fput_char_attribute): New function.
4297         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4298         too.
4299         (syms_of_mule_charset): Add new function `char-attribute-alist',
4300         `get-char-attribute' and `put-char-attribute'.
4301         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4302
4303 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4304
4305         * mule-charset.c (Fmake_charset): Just use
4306         `get_unallocated_leading_byte'.
4307
4308         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4309         sets; don't use final-byte based number for private sets.
4310
4311 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4312
4313         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4314         integer.
4315
4316 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4317
4318         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4319         to 0.9.
4320
4321 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4322
4323         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4324         of `CHAR_LEADING_BYTE' in UTF-2000.
4325
4326         * insdel.c (find_charsets_in_bufbyte_string): Use
4327         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4328         (find_charsets_in_emchar_string): Likewise.
4329
4330         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4331         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4332
4333         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4334         (CHAR_CHARSET_ID): New macro.
4335
4336 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4337
4338         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4339         charset-id - MIN_LEADING_BYTE.
4340         (put_char_table): Likewise.
4341
4342 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4343
4344         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4345         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4346         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4347         (CHARSET_ID_OFFSET): New macro.
4348         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4349         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4350         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4351         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4352         4).
4353         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4354         5).
4355         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4356         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4357         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4358         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4359         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4360
4361 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4362
4363         * mule-charset.c (next_allocated_leading_byte): New variable in
4364         UTF-2000.
4365         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4366         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4367         (get_unallocated_leading_byte): Simply use
4368         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4369         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4370         UTF-2000.
4371
4372         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4373         (MAX_LEADING_BYTE_PRIVATE): New macro.
4374         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4375         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4376
4377 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4378
4379         * mule-charset.c (Fmake_charset): Allocate final-byte based
4380         charset-id for 94-set, 96-set and 94x94-set.
4381
4382 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4383
4384         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4385         ambiguous `else'.
4386         (Fmake_charset): Likewise.
4387         (complex_vars_of_mule_charset): Modify the font registry of
4388         `ucs-bmp' not to match `Ethiopic-Unicode'.
4389
4390 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4391
4392         * mule-charset.c (complex_vars_of_mule_charset): Add font
4393         registory of `ucs-bmp'.
4394
4395 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4396
4397         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4398         coded-charsets in `default-coded-charset-priority-list' when
4399         breaking up a character.
4400
4401         * mule-charset.c (Vcharset_latin_viscii): New variable.
4402         (Qlatin_viscii): New variable.
4403         (make_charset): Don't use `decoding_table'.
4404         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4405         byte_offset.
4406         (Fset_charset_mapping_table): New implementation.
4407         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4408         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4409         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4410         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4411         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4412         charset `latin_viscii'.
4413
4414         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4415         (CHARSET_TYPE_94X94): Change to 1 from 2.
4416         (CHARSET_TYPE_96): Change to 2 from 1.
4417         (CHARSET_TYPE_128): New macro.
4418         (CHARSET_TYPE_128X128): Change to 5 from 4.
4419         (CHARSET_TYPE_256): New macro.
4420         (CHARSET_TYPE_256X256): Change to 7 from 5.
4421         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4422
4423 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4424
4425         * text-coding.c (char_encode_shift_jis): Refer
4426         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4427         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4428
4429         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4430         (char_byte_table_equal): New function in UTF-2000.
4431         (char_byte_table_hash): New function in UTF-2000.
4432         (char_byte_table_description): New constant in UTF-2000.
4433         (char_byte_table): New type in UTF-2000.
4434         (make_char_byte_table): New function in UTF-2000.
4435         (copy_char_byte_table): New function in UTF-2000.
4436         (make_char_code_table): New macro in UTF-2000.
4437         (get_char_code_table): New function in UTF-2000.
4438         (put_char_code_table): New function in UTF-2000.
4439         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4440         (charset_description): Add setting in UTF-2000.
4441         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4442         `CHARSET_TO_BYTE1_TABLE(cs)'.
4443         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4444         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4445         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4446         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4447         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4448         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4449         `CHARSET_TO_BYTE2_TABLE(cs)'.
4450
4451         * char-ucs.h (char_byte_table): New type.
4452         (XCHAR_BYTE_TABLE): New macro.
4453         (XSETCHAR_BYTE_TABLE): New macro.
4454         (CHAR_BYTE_TABLE_P): New macro.
4455         (GC_CHAR_BYTE_TABLE_P): New macro.
4456         (struct Lisp_Char_Byte_Table): New structure.
4457         (get_char_code_table): New interface.
4458         (Emchar_to_byte_table): Deleted.
4459         (get_byte_from_character_table): Deleted.
4460         (struct Lisp_Charset): Add `encoding_table'; delete
4461         `to_byte1_table' and `to_byte2_table'.
4462         (CHARSET_ENCODING_TABLE): New macro.
4463         (CHARSET_TO_BYTE1_TABLE): Deleted.
4464         (CHARSET_TO_BYTE2_TABLE): Deleted.
4465         (XCHARSET_ENCODING_TABLE): New macro.
4466         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4467         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4468
4469 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4470
4471         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4472         `vietnamese-viscii-*'.
4473
4474 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4475
4476         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4477         (Qvietnamese_viscii_upper): New variable.
4478         (Fdefine_charset_alias): New function.
4479         (syms_of_mule_charset): Add new function `define-charset-alias'.
4480         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4481         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4482         `latin-viscii-*'.
4483
4484 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4485
4486         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4487         (MAX_CHAR_OBS_94x94): New macro.
4488         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4489         for 94x94 sets.
4490
4491         * mule-charset.c (put_byte_from_character_table): Change unit size
4492         from 128 to 256.
4493         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4494         not defined.
4495         (Fmake_reverse_direction_charset): Modify dummy argument of
4496         `make_charset' for non-UTF-2000 environment.
4497
4498 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4499
4500         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4501
4502         * mule-charset.c (destroy_byte_from_character_table): New macro.
4503         (latin_jisx0201_to_ucs): Deleted.
4504         (latin_iso8859_2_to_ucs): Deleted.
4505         (latin_iso8859_3_to_ucs): Deleted.
4506         (latin_iso8859_4_to_ucs): Deleted.
4507         (latin_iso8859_9_to_ucs): Deleted.
4508         (latin_viscii_lower_to_ucs): Deleted.
4509         (latin_viscii_upper_to_ucs): Deleted.
4510         (mark_charset): Mark `cs->decoding_table'.
4511         (Fcharset_mapping_table): Fix DOC-string.
4512         (Fset_charset_mapping_table): New function.
4513         (syms_of_mule_charset): Add nwe function
4514         `set-charset-mapping-table'.
4515         (complex_vars_of_mule_charset): Don't setup and use
4516         `latin_*_to_ucs'.
4517
4518 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4519
4520         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4521         charset.
4522
4523 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4524
4525         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4526         (Vcharset_katakana_jisx0208): New variable.
4527         (Qhiragana_jisx0208): New variable.
4528         (Qkatakana_jisx0208): New variable.
4529         (make_charset): Add new argument `byte_offset'.
4530         (charset_get_byte1): Modify for new coded-charset definition; use
4531         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4532         `XCHARSET_BYTE_OFFSET'.
4533         (Fmake_charset): Modify for `make_charset'.
4534         (Fmake_reverse_direction_charset): Likewise.
4535         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4536         `katakana-jisx0208'.
4537         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4538         `.'  in font registry of charset `katakana-jisx0201',
4539         `latin-jisx0201', `vietnamese-viscii-lower' and
4540         `vietnamese-viscii-upper'; modify DOC-string of charset
4541         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4542         registry of charset `japanese-jisx0208' not to use font for JIS
4543         X0208:1990; add new charset `hiragana-jisx0208' and
4544         `katakana-jisx0208'.
4545
4546         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4547         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4548         (struct Lisp_Charset): Add `byte_offset'.
4549         (CHARSET_BYTE_OFFSET): New macro.
4550         (XCHARSET_UCS_MIN): New macro.
4551         (XCHARSET_UCS_MAX): New macro.
4552         (XCHARSET_CODE_OFFSET): New macro.
4553         (XCHARSET_BYTE_OFFSET): New macro.
4554         (MIN_CHAR_HIRAGANA): New macro.
4555         (MAX_CHAR_HIRAGANA): New macro.
4556         (MIN_CHAR_KATAKANA): New macro.
4557         (MAX_CHAR_KATAKANA): New macro.
4558         (MAKE_CHAR): Modify for new coded-charset definition; use
4559         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4560         `XCHARSET_BYTE_OFFSET'.
4561
4562 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4563
4564         * mule-charset.c (CHAR96): Deleted.
4565         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4566         <Lisp_Object>.
4567         (latin_iso8859_2_to_ucs): Likewise.
4568         (latin_iso8859_3_to_ucs): Likewise.
4569         (latin_iso8859_4_to_ucs): Likewise.
4570         (latin_iso8859_9_to_ucs): Likewise.
4571         (latin_viscii_lower_to_ucs): Likewise.
4572         (latin_viscii_upper_to_ucs): Likewise.
4573         (latin_tcvn5712_to_ucs): Commented out.
4574         (make_charset): Change type of argument `decoding_table' from
4575         <Emchar*> to <Lisp_Object> [vector of characters].
4576         (Fmake_charset): Modify for `make_charset'.
4577         (Fmake_reverse_direction_charset): Likewise.
4578         (Fcharset_mapping_table): New function in UTF-2000.
4579         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4580         UTF-2000.
4581         (complex_vars_of_mule_charset): Modify for type change of
4582         `*_to_ucs'; modify for `make_charset'.
4583
4584         * char-ucs.h (struct Lisp_Charset): Change type of
4585         `decoding_table' from <Emchar*> to <Lisp_Object>.
4586         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4587
4588 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4589
4590         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4591         error with non-UTF-2000-Mule.
4592
4593 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4594
4595         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4596         in lisp again].
4597         (Vcharset_chinese_cns11643_4): Likewise.
4598         (Vcharset_chinese_cns11643_5): Likewise.
4599         (Vcharset_chinese_cns11643_6): Likewise.
4600         (Vcharset_chinese_cns11643_7): Likewise.
4601         (Qchinese_cns11643_3): Likewise.
4602         (Qchinese_cns11643_4): Likewise.
4603         (Qchinese_cns11643_5): Likewise.
4604         (Qchinese_cns11643_6): Likewise.
4605         (Qchinese_cns11643_7): Likewise.
4606         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4607         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4608         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4609         (complex_vars_of_mule_charset): Likewise.
4610
4611 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4612
4613         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4614         96-set.
4615         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4616         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4617
4618 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4619
4620         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4621         0xFF60.
4622         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4623         (breakup_char_1): Likewise.
4624
4625         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4626         one of them includes the specified character.
4627
4628 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4631
4632 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4633
4634         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4635
4636 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4637
4638         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4639         definition for non-UTF-2000 Mule.
4640         (latin_iso8859_3_to_ucs): Likewise.
4641         (latin_iso8859_4_to_ucs): Likewise.
4642         (latin_iso8859_9_to_ucs): Likewise.
4643         (latin_jisx0201_to_ucs): Likewise.
4644         (MIN_CHAR_THAI): Likewise.
4645         (MAX_CHAR_THAI): Likewise.
4646         (MIN_CHAR_GREEK): Likewise.
4647         (MAX_CHAR_GREEK): Likewise.
4648         (MIN_CHAR_HEBREW): Likewise.
4649         (MAX_CHAR_HEBREW): Likewise.
4650         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4651         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4652         (MIN_CHAR_CYRILLIC): Likewise.
4653         (MAX_CHAR_CYRILLIC): Likewise.
4654
4655 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4656
4657         * char-ucs.h (breakup_char_1): Use
4658         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4659         thai-tis620 and katakana-jisx0201 area.
4660
4661 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4662
4663         * char-ucs.h (breakup_char_1): Use
4664         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4665         area.
4666
4667         * text-coding.c (reset_encoding_stream): Fixed.
4668         (char_encode_ucs4): Delete `& 255'.
4669
4670         * char-ucs.h (breakup_char_1): Use
4671         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4672
4673 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4674
4675         * file-coding.c (Fmake_coding_system): Don't set up
4676         `codesys->fixed.size'.
4677         (encode_coding_no_conversion): Don't refer
4678         `str->codesys->fixed.size'.
4679
4680 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4681
4682         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4683         (latin_a_char_to_byte1): Deleted.
4684         (latin_a_char_to_byte2): Deleted.
4685
4686 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4687
4688         * mule-charset.c (make_charset): Add new argument `ucs_min',
4689         `ucs_max' and `code_offset'.
4690         (charset_get_byte1): New implementation [delete specific charset
4691         depended implementations].
4692         (Fmake_charset): Modify for `make_charset'.
4693         (Fmake_reverse_direction_charset): Likewise.
4694         (complex_vars_of_mule_charset): Likewise.
4695
4696         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4697         `code_offset'.
4698         (CHARSET_UCS_MIN): New macro.
4699         (CHARSET_UCS_MAX): New macro.
4700         (CHARSET_CODE_OFFSET): New macro.
4701         (MAKE_CHAR): Delete charset depended definitions [except
4702         katakana-jisx0201].
4703
4704 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4705
4706         * char-ucs.h (breakup_char_1): Use
4707         `Vdefault_coded_charset_priority_list' for C0-Controls,
4708         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4709
4710 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4711
4712         * char-ucs.h (charset_get_byte1): New function.
4713         (XCHARSET_GET_BYTE1): Deleted.
4714         (charset_get_byte2): New function.
4715         (XCHARSET_GET_BYTE2): Deleted.
4716         (Vdefault_coded_charset_priority_list): New external variable.
4717         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4718         `Vdefault_preferred_coded_charset_list'.
4719
4720         * mule-charset.c (charset_get_byte1): New function.
4721         (charset_get_byte2): New function.
4722         (Vdefault_coded_charset_priority_list): New variable.
4723         (vars_of_mule_charset): Add new variable
4724         `default-coded-charset-priority-list'.
4725
4726 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4727
4728         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4729         (XCHARSET_GET_BYTE2): New inline function.
4730         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4731         `XCHARSET_GET_BYTE2'.
4732
4733 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4734
4735         * mule-charset.c (make_charset): Initialize
4736         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4737         NULL if table is not defined.
4738
4739 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4740
4741         * text-coding.c (char_encode_shift_jis): Use
4742         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4743         `ucs_to_latin_jisx0201'.
4744
4745         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4746         (ucs_to_latin_iso8859_2): Deleted.
4747         (ucs_to_latin_iso8859_3): Deleted.
4748         (ucs_to_latin_iso8859_4): Deleted.
4749         (ucs_to_latin_iso8859_9): Deleted.
4750         (ucs_to_latin_viscii_lower): Deleted.
4751         (ucs_to_latin_viscii_upper): Deleted.
4752         (ucs_to_latin_tcvn5712): Deleted.
4753         (make_charset): Add new argument `decoding_table'; set up
4754         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4755         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4756         `decoding_table' is defined in UTF-2000.
4757         (Fmake_charset): Modify for `make_charset'.
4758         (Fmake_reverse_direction_charset): Likewise.
4759         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4760         and `GENERATE_96_SET'.
4761
4762         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4763         (ucs_to_latin_jisx0201): Deleted.
4764         (latin_iso8859_2_to_ucs): Deleted.
4765         (ucs_to_latin_iso8859_2): Deleted.
4766         (latin_iso8859_3_to_ucs): Deleted.
4767         (ucs_to_latin_iso8859_3): Deleted.
4768         (latin_iso8859_4_to_ucs): Deleted.
4769         (ucs_to_latin_iso8859_4): Deleted.
4770         (latin_iso8859_9_to_ucs): Deleted.
4771         (ucs_to_latin_iso8859_9): Deleted.
4772         (latin_viscii_lower_to_ucs): Deleted.
4773         (ucs_to_latin_viscii_lower): Deleted.
4774         (latin_viscii_upper_to_ucs): Deleted.
4775         (ucs_to_latin_viscii_upper): Deleted.
4776         (struct Lisp_Charset): Renamed `encoding_table' to
4777         `to_byte1_table'; add `to_byte2_table'.
4778         (CHARSET_DECODING_TABLE): New macro.
4779         (CHARSET_TO_BYTE1_TABLE): New macro.
4780         (CHARSET_TO_BYTE2_TABLE): New macro.
4781         (XCHARSET_DECODING_TABLE): New macro.
4782         (XCHARSET_TO_BYTE1_TABLE): New macro.
4783         (XCHARSET_TO_BYTE2_TABLE): New macro.
4784         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4785         tables.
4786         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4787         don't use `ucs_to_*' tables.
4788
4789 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4790
4791         * text-coding.c (Fmake_coding_system): Don't set up
4792         `codesys->fixed.size'.
4793         (encode_coding_no_conversion): Use `if' instead of `switch'.
4794
4795         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4796
4797 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4798
4799         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4800         (Fmake_charset): Modify for `make_charset'.
4801         (Fmake_reverse_direction_charset): Likewise.
4802         (complex_vars_of_mule_charset): Likewise.
4803
4804 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4805
4806         * text-coding.c (char_encode_shift_jis): Use table
4807         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4808
4809 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4810
4811         * text-coding.c (text_encode_generic): Use `if' instead of
4812         `switch'.
4813         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4814         decode JIS-Latin.
4815
4816 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4817
4818         * text-coding.c (encode_coding_sjis): Deleted.
4819         (char_encode_shift_jis): New function.
4820         (char_finish_shift_jis): New function.
4821         (reset_encoding_stream): Set up `encode_char' and `finish' for
4822         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4823         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4824         (char_encode_utf8): Treat `eol_type'.
4825
4826 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4827
4828         * file-coding.c (decode_coding_iso2022): Use
4829         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4830
4831 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4832
4833         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4834         to 0.7 (Hirano).
4835
4836 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4837
4838         * char-lb.h (CHAR_COLUMNS): New macro.
4839
4840 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4841
4842         * text-coding.c (char_encode_ucs4): New function.
4843         (char_finish_ucs4): New function.
4844         (encode_coding_ucs4): Deleted.
4845         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4846         (text_encode_generic): Delete local variable `charset' and `half'.
4847         (ucs_to_mule_table): Deleted.
4848         (mule_to_ucs_table): Deleted.
4849         (Fset_ucs_char): Deleted.
4850         (ucs_to_char): Deleted.
4851         (Fucs_char): Deleted.
4852         (Fset_char_ucs): Deleted.
4853         (Fchar_ucs): Deleted.
4854         (decode_ucs4): Deleted.
4855         (mule_char_to_ucs4): Deleted.
4856         (encode_ucs4): Deleted.
4857         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4858         (decode_coding_utf8): Likewise.
4859         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4860         (char_encode_iso2022): Fixed.
4861         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4862         `Fset_char_ucs' and `Fchar_ucs'.
4863         (complex_vars_of_file_coding): Don't initialize
4864         `ucs_to_mule_table'.
4865
4866         * objects-tty.c (tty_initialize_font_instance): Don't use
4867         `XCHARSET_COLUMNS'.
4868
4869         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4870         UTF-2000.
4871
4872         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4873         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4874
4875         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4876         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4877         (emchar_string_displayed_columns): Likewise.
4878
4879         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4880         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4881         (string_column_at_point): Likewise.
4882         (Fmove_to_column): Likewise.
4883
4884         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4885         `encoding_table' and `decoding_table'.
4886         (CHARSET_REP_BYTES): Deleted.
4887         (XCHARSET_REP_BYTES): Deleted.
4888         (XCHARSET_COLUMNS): Deleted.
4889         (CHAR_COLUMNS): New macro.
4890         (lookup_composite_char): Deleted unconditionally.
4891         (composite_char_string): Likewise.
4892
4893 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4894
4895         * char-ucs.h (Emchar_to_byte_table): New type.
4896         (get_byte_from_character_table): New function interface.
4897         (Vcharset_latin_jisx0201): New variable.
4898         (latin_jisx0201_to_ucs): New variable.
4899         (ucs_to_latin_jisx0201): New variable.
4900         (Vcharset_latin_iso8859_2): New variable.
4901         (latin_iso8859_2_to_ucs): New variable.
4902         (ucs_to_latin_iso8859_2): New variable.
4903         (Vcharset_latin_iso8859_3): New variable.
4904         (latin_iso8859_3_to_ucs): New variable.
4905         (ucs_to_latin_iso8859_3): New variable.
4906         (Vcharset_latin_iso8859_4): New variable.
4907         (latin_iso8859_4_to_ucs): New variable.
4908         (ucs_to_latin_iso8859_4): New variable.
4909         (Vcharset_latin_iso8859_9): New variable.
4910         (latin_iso8859_9_to_ucs): New variable.
4911         (ucs_to_latin_iso8859_9): New variable.
4912         (Vcharset_latin_viscii_lower): New variable.
4913         (latin_viscii_lower_to_ucs): New variable.
4914         (ucs_to_latin_viscii_lower): New variable.
4915         (Vcharset_latin_viscii_upper): New variable.
4916         (latin_viscii_upper_to_ucs): New variable.
4917         (ucs_to_latin_viscii_upper): New variable.
4918         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4919         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4920         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4921         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4922         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4923         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4924         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4925         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4926         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4927         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4928
4929         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4930         (Vcharset_latin_viscii_upper): New variable.
4931         (make_byte_from_character_table): New function.
4932         (put_byte_from_character_table): New function.
4933         (get_byte_from_character_table): New function.
4934         (CHAR96): New macro.
4935         (ucs_to_latin_jisx0201): New variable.
4936         (latin_jisx0201_to_ucs): New variable.
4937         (ucs_to_latin_iso8859_2): New variable.
4938         (latin_iso8859_2_to_ucs): New variable.
4939         (ucs_to_latin_iso8859_3): New variable.
4940         (latin_iso8859_3_to_ucs): New variable.
4941         (ucs_to_latin_iso8859_4): New variable.
4942         (latin_iso8859_4_to_ucs): New variable.
4943         (ucs_to_latin_iso8859_9): New variable.
4944         (latin_iso8859_9_to_ucs): New variable.
4945         (ucs_to_latin_viscii_lower): New variable.
4946         (latin_viscii_lower_to_ucs): New variable.
4947         (ucs_to_latin_viscii_upper): New variable.
4948         (latin_viscii_upper_to_ucs): New variable.
4949         (ucs_to_latin_tcvn5712): New variable.
4950         (latin_tcvn5712_to_ucs): New variable.
4951         (Qlatin_viscii_lower): New variable.
4952         (Qlatin_viscii_upper): New variable.
4953         (syms_of_mule_charset): Set up new symbol
4954         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4955         (complex_vars_of_mule_charset): Set up new charset
4956         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4957         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4958         `ucs_to_<CHARSET>' tables.
4959
4960 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4961
4962         * text-coding.c: New file.
4963
4964 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4965
4966         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4967
4968         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4969         (MAKE_CHAR): Modify for `ucs-bmp'.
4970         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4971         non-MULE characters of BMP.
4972
4973 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4974
4975         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4976         to 0.6.
4977
4978 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4979
4980         * lstream.h:
4981         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4982         - Include character.h for `CHAR_ASCII_P'.
4983
4984         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4985
4986         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4987         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4988
4989         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4990         (BYTE_C0_P): Likewise.
4991         (BYTE_C1_P): Likewise.
4992         (Lstream_get_emchar_1): Likewise.
4993         (Lstream_fput_emchar): Likewise.
4994         (Lstream_funget_emchar): Likewise.
4995         (copy_internal_to_external): Likewise.
4996         (copy_external_to_internal): Likewise.
4997
4998         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4999         (BYTE_C0_P): Likewise.
5000         (BYTE_C1_P): Likewise.
5001         (Lstream_get_emchar_1): Likewise.
5002         (Lstream_fput_emchar): Likewise.
5003         (Lstream_funget_emchar): Likewise.
5004         (copy_internal_to_external): Likewise.
5005         (copy_external_to_internal): Likewise.
5006
5007         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5008         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5009
5010         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5011         (BYTE_ASCII_P): Moved to mb-1byte.h.
5012
5013 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5014
5015         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5016
5017         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5018         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5019         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5020         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5021         (VALIDATE_CHARPTR_FORWARD): Likewise.
5022         (simple_charptr_emchar): Moved to mb-multibyte.h.
5023         (simple_set_charptr_emchar): Likewise.
5024         (simple_charptr_copy_char): Likewise.
5025         (non_ascii_charptr_emchar): Likewise.
5026         (non_ascii_set_charptr_emchar): Likewise.
5027         (non_ascii_charptr_copy_char): Likewise.
5028         (charptr_emchar): Moved to mb-*byte.h.
5029         (set_charptr_emchar): Likewise.
5030         (charptr_copy_char): Likewise.
5031
5032         * mb-1byte.h, mb-multibyte.h: New files.
5033
5034 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5035
5036         * mb-utf-8.h (MULTIBYTE): New macro.
5037         (MAX_EMCHAR_LEN): Moved from buffer.h.
5038         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5039
5040         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5041
5042         * mb-lb.h, multibyte.h: New files.
5043
5044         * char-1byte.h (Charset_ID): Moved from buffer.h.
5045         (MIN_LEADING_BYTE): Likewise.
5046         (LEADING_BYTE_ASCII): Likewise.
5047         (NUM_LEADING_BYTES): Likewise.
5048         (CHARSETP): Likewise.
5049         (CHARSET_BY_LEADING_BYTE): Likewise.
5050         (XCHARSET_LEADING_BYTE): Likewise.
5051         (XCHARSET_GRAPHIC): Likewise.
5052         (XCHARSET_COLUMNS): Likewise.
5053         (XCHARSET_DIMENSION): Likewise.
5054         (CHAR_CHARSET): Likewise.
5055         (CHAR_LEADING_BYTE): Likewise.
5056         (BREAKUP_CHAR): Likewise.
5057         (Vcharset_ascii): Likewise.
5058
5059         * buffer.h: Include multibyte.h unconditionally.
5060         (VALID_CHARPTR_P): Moved to multibyte.h.
5061         (ASSERT_VALID_CHARPTR): Likewise.
5062         (REAL_INC_CHARPTR): Likewise.
5063         (REAL_INC_CHARBYTIND): Likewise.
5064         (REAL_DEC_CHARPTR): Likewise.
5065         (INC_CHARPTR): Likewise.
5066         (INC_CHARBYTIND): Likewise.
5067         (DEC_CHARPTR): Likewise.
5068         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5069         (VALIDATE_CHARPTR_FORWARD): Likewise.
5070         (charptr_n_addr): Likewise.
5071         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5072         (simple_charptr_emchar): Moved to multibyte.h.
5073         (simple_set_charptr_emchar): Likewise.
5074         (simple_charptr_copy_char): Likewise.
5075         (non_ascii_charptr_emchar): Likewise.
5076         (non_ascii_set_charptr_emchar): Likewise.
5077         (non_ascii_charptr_copy_char): Likewise.
5078         (charptr_emchar): Likewise.
5079         (set_charptr_emchar): Likewise.
5080         (charptr_copy_char): Likewise.
5081         (charptr_emchar_n): Likewise.
5082         (Charset_ID): Moved to char-1byte.h.
5083         (Vcharset_ascii): Likewise.
5084         (CHAR_CHARSET): Likewise.
5085         (CHAR_LEADING_BYTE): Likewise.
5086         (LEADING_BYTE_ASCII): Likewise.
5087         (NUM_LEADING_BYTES): Likewise.
5088         (MIN_LEADING_BYTE): Likewise.
5089         (CHARSETP): Likewise.
5090         (CHARSET_BY_LEADING_BYTE): Likewise.
5091         (XCHARSET_LEADING_BYTE): Likewise.
5092         (XCHARSET_GRAPHIC): Likewise.
5093         (XCHARSET_COLUMNS): Likewise.
5094         (XCHARSET_DIMENSION): Likewise.
5095         (BREAKUP_CHAR): Likewise.
5096
5097 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5098
5099         * character.h: Add document about interface for characters.
5100
5101         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5102         (MAKE_CHAR): Delete comment about
5103         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5104         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5105         (BREAKUP_CHAR): Modify name of arguments.
5106         (CHAR_CHARSET): Modify name of argument.
5107
5108         * buffer.h: Delete document about Emchar accessors.
5109
5110 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5111
5112         * character.h (CHAR_INTP): Moved from buffer.h
5113         (CHAR_OR_CHAR_INTP): Likewise.
5114         (XCHAR_OR_CHAR_INT): Likewise.
5115         (CHECK_CHAR_COERCE_INT): Likewise.
5116
5117         * buffer.h (CHAR_INTP): Moved to character.h
5118         (CHAR_OR_CHAR_INTP): Likewise.
5119         (XCHAR_OR_CHAR_INT): Likewise.
5120         (CHECK_CHAR_COERCE_INT): Likewise.
5121
5122 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5123
5124         * character.h:
5125         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5126         - Include char-1byte.h, char-lb.h or char-ucs.h.
5127
5128         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5129
5130         * buffer.h: Include character unconditionally.
5131         (valid_char_p): Moved to char-*.h.
5132         (non_ascii_valid_char_p): Moved to char-lb.h.
5133
5134         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5135
5136 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5137
5138         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5139         in UTF-2000 because it is not ported yet and not to use
5140         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5141         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5142         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5143
5144         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5145         (CHAR_ASCII_P): Moved from character.h.
5146
5147         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5148         (CHAR_ASCII_P): Likewise.
5149         (CHAR_FIELD1_MASK): Deleted.
5150         (CHAR_FIELD2_MASK): Deleted.
5151         (CHAR_FIELD3_MASK): Deleted.
5152         (MAX_CHAR_BASIC_LATIN): New macro.
5153         (CHAR_FIELD1): Deleted.
5154         (CHAR_FIELD2_INTERNAL): Deleted.
5155         (CHAR_FIELD3_INTERNAL): Deleted.
5156         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5157         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5158         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5159         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5160         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5161         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5162         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5163         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5164         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5165         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5166         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5167         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5168         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5169         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5170         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5171         (MIN_CHAR_COMPOSITION): Deleted.
5172         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5173         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5174
5175 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5176
5177         * buffer.h: Include mb-utf-8.h in UTF-2000.
5178
5179         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5180
5181         * mb-utf-8.h: New file.
5182
5183 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5184
5185         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5186         instead of `int'.
5187
5188         * mule-charset.h, buffer.h (Charset_ID): New type.
5189
5190 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5191
5192         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5193         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5194         instead of `MULE_CHAR_PRIVATE_OFFSET',
5195         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5196         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5197         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5198
5199         * character.h (Vcharset_japanese_jisx0212): New variable
5200         definition.
5201
5202 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5203
5204         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5205         (charset_by_attributes): Delete array about direction.
5206         (latin_a_char_to_charset): New variable in UTF-2000.
5207         (latin_a_char_to_byte1): New variable in UTF-2000.
5208         (latin_a_char_to_byte2): New variable in UTF-2000.
5209         (Qucs_bmp): New variable.
5210         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5211         `Bufbyte'.
5212         (next_allocated_2_byte_leading_byte): Likewise.
5213         (non_ascii_set_charptr_emchar): Likewise.
5214         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5215         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5216         `charset_by_attributes'.
5217         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5218         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5219         and `CHARSET_BY_LEADING_BYTE'.
5220         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5221         `utf-2000-version' to `vars_of_mule_charset'.
5222         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5223         define `leading-code-private-11' in UTF-2000; move setting of
5224         `utf-2000-version' from `syms_of_mule_charset'.
5225         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5226         UTF-2000.
5227
5228         * character.h (Charset_ID): New type.
5229         (LEADING_BYTE_UCS_BMP): New macro.
5230         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5231         (CHARSET_ID_OFFSET_94): New macro.
5232         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5233         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5234         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5235         final-byte.
5236         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5237         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5238         (CHARSET_ID_OFFSET_96): New macro.
5239         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5240         CHARSET_ID_OFFSET_96 and final-byte.
5241         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5242         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5243         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5244         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5245         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5246         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5247         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5248         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5249         (LEADING_BYTE_THAI_TIS620): Likewise.
5250         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5251         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5252         (CHARSET_ID_OFFSET_94x94): New macro.
5253         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5254         CHARSET_ID_OFFSET_94x94 and final-byte.
5255         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5256         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5257         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5258         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5259         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5260         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5261         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5262         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5263         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5264         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5265         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5266         (CHARSET_TYPE_128X128): New macro.
5267         (CHARSET_TYPE_256X256): New macro.
5268         (XCHARSET_PRIVATE_P): Delete unconditionally.
5269         (charset_by_attributes): Delete array about direction.
5270         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5271         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5272         (MIN_CHAR_94): New macro.
5273         (MAX_CHAR_94): New macro.
5274         (MIN_CHAR_96): New macro.
5275         (MAX_CHAR_96): New macro.
5276         (MIN_CHAR_94x94): New macro.
5277         (MAX_CHAR_94x94): New macro.
5278         (MIN_CHAR_96x96): New macro.
5279         (MAX_CHAR_96x96): New macro.
5280         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5281         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5282         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5283         - 32)'.
5284         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5285         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5286         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5287         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5288         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5289         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5290         `XCHARSET_LEADING_BYTE' to make code-point.
5291         (latin_a_char_to_charset): New variable.
5292         (latin_a_char_to_byte1): New variable.
5293         (latin_a_char_to_byte2): New variable.
5294         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5295         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5296         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5297
5298         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5299         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5300         (find_charsets_in_emchar_string): Likewise.
5301         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5302
5303         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5304         `int'.
5305         (decode_coding_iso2022): Likewise.
5306
5307         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5308         of `unsigned char'.
5309
5310         * redisplay.c (redisplay_text_width_emchar_string): Use
5311         `Charset_ID' instead of `unsigned char'.
5312         (redisplay_frame_text_width_string): Likewise.
5313
5314         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5315         `unsigned char'.
5316
5317         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5318         instead of `unsigned char'.
5319         (face_cachel_charset_font_metric_info): Likewise.
5320
5321         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5322         (get_non_ascii_char_table_value): Likewise.
5323         (get_char_table): Likewise.
5324         (put_char_table): Likewise.
5325         (map_over_other_charset): Likewise.
5326         (map_char_table): Likewise.
5327
5328         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5329         instead of `unsigned char'.
5330
5331 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5332
5333         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5334         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5335
5336         * mule-charset.c (leading_code_private_11): Don't define in
5337         UTF-2000.
5338
5339         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5340         in UTF-2000 because it is not ported yet and not to use
5341         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5342
5343 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5344
5345         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5346
5347 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5348
5349         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5350         in UTF-2000.
5351
5352         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5353         of unsigned char to store leading-byte.
5354
5355         * chartab.c (get_non_ascii_char_table_value): Don't use
5356         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5357
5358         * file-coding.c (encode_coding_big5): Delete bogus implementation
5359         in UTF2000.
5360
5361         * character.h (LEADING_BYTE_*): Delete definition for
5362         non-UTF-2000.
5363         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5364         (LEADING_BYTE_PREFIX_P): Deleted.
5365         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5366         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5367         (BUFBYTE_LEADING_BYTE_P): Deleted.
5368         (CHARSET_PRIVATE_P): Deleted unconditionally.
5369         (rep_bytes_by_first_byte): Deleted unconditionally.
5370         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5371         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5372         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5373         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5374         (CHAR_FIELD2): Deleted.
5375         (CHAR_FIELD3): Deleted.
5376         (MAKE_CHAR): Delete definition for non-UTF-2000.
5377         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5378         (breakup_char_1): New implementation.
5379         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5380         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5381
5382 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5383
5384         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5385         condition.
5386
5387 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5388
5389         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5390         (CHARSET_PRIVATE_P): Likewise.
5391         (XCHARSET_PRIVATE_P): Likewise.
5392         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5393
5394         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5395         UTF2000.
5396         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5397
5398 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5399
5400         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5401         (NUM_LEADING_BYTES): Changed from 128 to 256.
5402         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5403         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5404         UTF2000.
5405         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5406
5407         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5408         UTF2000.
5409         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5410         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5411         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5412         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5413         (Qchinese_cns11643_3): New variable in UTF2000.
5414         (Qchinese_cns11643_4): New variable in UTF2000.
5415         (Qchinese_cns11643_5): New variable in UTF2000.
5416         (Qchinese_cns11643_6): New variable in UTF2000.
5417         (Qchinese_cns11643_7): New variable in UTF2000.
5418         (syms_of_mule_charset): Define `chinese-cns11643-3',
5419         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5420         and `chinese-cns11643-7' in UTF2000.
5421         (vars_of_mule_charset): Initialize
5422         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5423         + 1 in UTF2000.
5424         (complex_vars_of_mule_charset): Setup charset
5425         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5426         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5427
5428 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5429
5430         * mule-charset.c: Move setting for `leading-code-private-11' from
5431         `syms_of_mule_charset' to `vars_of_mule_charset'.
5432
5433 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5434
5435         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5436         and `NUM_LEADING_BYTES' in assert.
5437
5438 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5439
5440         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5441         instead of 128.
5442         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5443         `NUM_LEADING_BYTES' instead of 128.
5444
5445 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5446
5447         * mule-charset.h (charset_by_leading_byte): Use
5448         `NUM_LEADING_BYTES' instead of 128.
5449         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5450
5451         * mule-charset.c (charset_by_leading_byte): Use
5452         `NUM_LEADING_BYTES' instead of 128.
5453         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5454
5455         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5456         128.
5457
5458 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5459
5460         * mule-charset.c (syms_of_mule_charset): Update to
5461         0.4 (Shin-Imamiya).
5462
5463 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5464
5465         * file-coding.c (encode_coding_sjis): New implementation for
5466         UTF2000.  (decode_coding_sjis): Ditto.
5467
5468 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5469
5470         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5471         Don't define in UTF2000.
5472
5473         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5474         defined.
5475
5476         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5477         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5478         MULE.
5479
5480 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5481
5482         * config.h.in (CHAR_IS_UCS4): New macro.
5483
5484         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5485         conventional MULE representation.
5486         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5487
5488         * mule-charset.h: Reverted to original.
5489
5490         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5491         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5492         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5493
5494         * character.h: New file.
5495
5496         * file-coding.c (Fmake_coding_system): Set 1 to
5497         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5498         defined.
5499         (encode_coding_no_conversion): New implementation for UTF2000.
5500
5501         * file-coding.h (struct Lisp_Coding_System): Add new member
5502         `fixed.size'.
5503
5504 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5505
5506         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5507         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5508         (encode_coding_iso2022): New implementation for UTF2000.
5509
5510 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5511
5512         * mule-canna.c (c2mu): New implementation for UTF2000.
5513         (m2c): Likewise.
5514
5515 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5516
5517         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5518
5519 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5520
5521         * file-coding.c (reset_encoding_stream): Set 0 to
5522         `str->iso2022.current_char_boundary' in UTF2000.
5523         (encode_utf8): Don't define in UTF2000.
5524         (encode_coding_utf8): New implementation for UTF-8 representation
5525         of UTF2000.
5526         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5527
5528 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5529
5530         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5531
5532         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5533         UTF2000.
5534         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5535
5536         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5537
5538         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5539         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5540         as UTF-8 in UTF2000.
5541         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5542         (non_ascii_valid_char_p): Don't define in UTF2000.
5543         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5544         (Lstream_get_emchar_1): Likewise.
5545         (utf-2000-version): New variable in UTF2000.
5546
5547         * lread.c (read_escape): Add new reader `u'.
5548
5549         * insdel.c (three_to_one_table): Don't define in UTF2000.
5550         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5551         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5552         UTF2000.
5553         (bytind_to_bufpos_func): Likewise.
5554         (buffer_mule_signal_inserted_region): Likewise.
5555         (vars_of_insdel): Don't initialize `three_to_one_table'.
5556         (init_buffer_text): Use `buf->text->mule_size' instead of
5557         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5558         UTF2000.
5559
5560         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5561         UTF-8 representation in UTF2000.
5562         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5563         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5564         (decode_coding_iso2022): Don't define local variable `lb' in
5565         UTF2000; don't use LEADING_BYTE in UTF2000; use
5566         `DECODE_ADD_UCS_CHAR' in UTF2000.
5567         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5568
5569         * config.h.in (UTF2000): New macro.
5570
5571         * buffer.h (struct buffer_text): Add new member `mule_size' and
5572         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5573         (valid_char_p): Return always 1 in UTF2000.
5574         (MAX_EMCHAR_LEN): 6 in UTF2000.
5575         (three_to_one_table): Don't define in UTF2000.
5576         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5577         UTF2000.
5578         (real_bytind_to_bufpos): Likewise.
5579
5580         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5581
5582 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5583
5584         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5585         representation change.
5586         (Vutf_2000_version): New variable.
5587         (leading_code_private_11): New variable.
5588         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5589         `leading-code-private-11'.
5590
5591         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5592         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5593         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5594         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5595         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5596         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5597         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5598         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5599         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5600         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5601         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5602         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5603         (MIN_CHAR_GREEK): New macro.
5604         (MAX_CHAR_GREEK): New macro.
5605         (MIN_CHAR_CYRILLIC): New macro.
5606         (MAX_CHAR_CYRILLIC): New macro.
5607         (MIN_CHAR_HEBREW): New macro.
5608         (MAX_CHAR_HEBREW): New macro.
5609         (MIN_CHAR_THAI): New macro.
5610         (MAX_CHAR_THAI): New macro.
5611         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5612         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5613         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5614         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5615         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5616         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5617         (CHAR_FIELD2): New inline function.
5618         (CHAR_FIELD3): New inline function.
5619         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5620         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5621         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5622         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5623         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5624         (MIN_CHAR_COMPOSITION): Likewise.
5625         (CHAR_LEADING_BYTE): Modified for character representation change.
5626         (MAKE_CHAR): Likewise.
5627
5628         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5629         (Vcharset_greek_iso8859_7): Likewise.
5630         (Vcharset_cyrillic_iso8859_5): Likewise.
5631         (Vcharset_hebrew_iso8859_8): Likewise.
5632         (Vcharset_thai_tis620): Likewise.
5633         (Vcharset_katakana_jisx0201): Likewise.
5634
5635 2005-02-06  Vin Shelton <acs@xemacs.org>
5636
5637         * XEmacs 21.4.17 is released
5638
5639 2005-01-31  Ben Wing  <ben@xemacs.org>
5640
5641         * emacs.c:
5642         Define assert_failed() always.
5643         * lisp.h:
5644         Always define ABORT().
5645
5646 2005-01-25  Ben Wing  <ben@xemacs.org>
5647
5648         * Makefile.in.in:
5649         * Makefile.in.in (%.o):
5650         Don't compile executable as Windows (-mwindows) under Cygwin.
5651         Semi-recent changes to Cygwin's executable-startup handling make
5652         it impossible to access the TTY this way.
5653
5654         Don't use special linker file under Cygwin (cygwin.sc) except
5655         when non-PDUMP (even in this case it is highly questionable); you
5656         get errors like
5657
5658       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5659    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5660
5661 2005-01-29  Ben Wing  <ben@xemacs.org>
5662
5663         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5664
5665         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5666
5667 2005-01-29  Ben Wing  <ben@xemacs.org>
5668
5669         * bytecode.c (optimize_compiled_function):
5670         * print.c (FROB):
5671         * print.c (long_to_string):
5672         Add casts to avoid warning.
5673         
5674         * glyphs-eimage.c:
5675         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5676         #### The better solution is to move the TIFF and JPEG code to
5677         different files.
5678         
5679         * glyphs-msw.c (mswindows_xbm_instantiate):
5680         Define __STDC__ to avoid problems with compface.h.
5681         
5682         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5683         * EmacsShell-sub.c:
5684         * EmacsShell-sub.c (ABORT):
5685         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5686         * EmacsShell-sub.c (RootGeometryManager):
5687         * EmacsShell.c:
5688         * EmacsShell.c (ABORT):
5689         * EmacsShell.c (EmacsShellUpdateSizeHints):
5690         * alloc.c (free_lcrecord):
5691         * alloca.c (i00afunc):
5692         * buffer.c (delete_from_buffer_alist):
5693         * buffer.c (MARKED_SLOT):
5694         * bytecode.c (execute_rare_opcode):
5695         * bytecode.c (optimize_byte_code):
5696         * bytecode.c (Ffetch_bytecode):
5697         * chartab.c (char_table_type_to_symbol):
5698         * chartab.c (Freset_char_table):
5699         * chartab.c (decode_char_table_range):
5700         * chartab.c (Fget_range_char_table):
5701         * chartab.c (check_valid_char_table_value):
5702         * chartab.c (map_char_table):
5703         * chartab.c (slow_map_char_table_fun):
5704         * chartab.c (chartab_instantiate):
5705         * cm.c (cmcheckmagic):
5706         * console-msw.c (DHEADER):
5707         * console.c (MARKED_SLOT):
5708         * data.c (finish_marking_weak_lists):
5709         * data.c (encode_weak_list_type):
5710         * debug.h (DASSERT):
5711         * device-gtk.c (gtk_init_device):
5712         * device-msw.c (mswindows_get_default_margin):
5713         * device-tty.c (tty_init_device):
5714         * device-x.c (get_device_from_display):
5715         * device-x.c (x_get_visual_depth):
5716         * doprnt.c (parse_doprnt_spec):
5717         * doprnt.c (get_doprnt_args):
5718         * dumper.c (pdump_get_indirect_count):
5719         * dumper.c (pdump_register_sub):
5720         * dumper.c (pdump_register_object):
5721         * dumper.c (pdump_register_struct):
5722         * dumper.c (pdump_dump_data):
5723         * dumper.c (pdump_reloc_one):
5724         * elhash.c (print_hash_table):
5725         * elhash.c (make_standard_lisp_hash_table):
5726         * elhash.c (hash_table_instantiate):
5727         * emacs.c:
5728         * emacs.c (Fforce_debugging_signal):
5729         * emacs.c (sort_args):
5730         * emacs.c (main):
5731         * emacs.c (assert_failed):
5732         * eval.c (throw_or_bomb_out):
5733         * eval.c (signal_1):
5734         * eval.c (Fsignal):
5735         * event-Xt.c:
5736         * event-Xt.c (emacs_Xt_mapping_action):
5737         * event-Xt.c (Xt_process_to_emacs_event):
5738         * event-msw.c:
5739         * event-stream.c (check_event_stream_ok):
5740         * event-stream.c (Fadd_timeout):
5741         * event-stream.c (Fadd_async_timeout):
5742         * event-stream.c (Fdiscard_input):
5743         * event-stream.c (execute_internal_event):
5744         * event-stream.c (Frecent_keys):
5745         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5746         * event-stream.c (lookup_command_event):
5747         * event-unixoid.c (poll_fds_for_input):
5748         * events.c:
5749         * events.c (mark_event):
5750         * events.c (event_equal):
5751         * events.c (event_hash):
5752         * events.c (Fmake_event):
5753         * events.c (Fdeallocate_event):
5754         * events.c (event_chain_find_previous):
5755         * events.c (event_to_character):
5756         * events.c (format_event_object):
5757         * events.c (Fevent_type):
5758         * events.c (event_pixel_translation):
5759         * events.c (Fevent_properties):
5760         * extents.c (extent_in_region_p):
5761         * extents.c (print_extent):
5762         * extents.c (process_extents_for_insertion_mapper):
5763         * extents.c (report_extent_modification_mapper):
5764         * extents.c (glyph_layout_to_symbol):
5765         * faces.c (face_validate):
5766         * file-coding.c (eol_type_to_symbol):
5767         * file-coding.c (subsidiary_coding_system):
5768         * file-coding.c (Fcoding_system_type):
5769         * file-coding.c (Fcoding_system_property):
5770         * file-coding.c (mule_decode):
5771         * file-coding.c (mule_encode):
5772         * file-coding.c (encode_coding_ucs4):
5773         * file-coding.c (encode_coding_utf8):
5774         * file-coding.c (parse_iso2022_esc):
5775         * file-coding.c (encode_coding_iso2022):
5776         * fileio.c:
5777         * fns.c (concat):
5778         * fns.c (Fsubseq):
5779         * fns.c (mapcar1):
5780         * fns.c (Fbase64_encode_region):
5781         * fns.c (Fbase64_encode_string):
5782         * fns.c (Fbase64_decode_region):
5783         * fns.c (Fbase64_decode_string):
5784         * font-lock.c (find_context):
5785         * font-lock.c (context_to_symbol):
5786         * frame-gtk.c (gtk_set_frame_pointer):
5787         * frame-gtk.c (gtk_update_frame_external_traits):
5788         * frame-x.c (x_wm_mark_shell_size_user_specified):
5789         * frame-x.c (x_wm_mark_shell_position_user_specified):
5790         * frame-x.c (x_wm_set_shell_iconic_p):
5791         * frame-x.c (x_wm_set_cell_size):
5792         * frame-x.c (x_wm_set_variable_size):
5793         * frame-x.c (x_wm_store_class_hints):
5794         * frame-x.c (x_wm_maybe_store_wm_command):
5795         * frame-x.c (x_initialize_frame_size):
5796         * frame-x.c (x_update_frame_external_traits):
5797         * frame.c:
5798         * frame.c (delete_frame_internal):
5799         * frame.c (mouse_pixel_position_1):
5800         * frame.c (change_frame_size_1):
5801         * free-hook.c (check_free):
5802         * free-hook.c (check_realloc):
5803         * free-hook.c (note_block_input):
5804         * free-hook.c (log_gcpro):
5805         * gccache-gtk.c (gc_cache_lookup):
5806         * glyphs-eimage.c (tiff_memory_write):
5807         * glyphs-gtk.c (gtk_finalize_image_instance):
5808         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5809         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5810         * glyphs-gtk.c (gtk_xpm_instantiate):
5811         * glyphs-gtk.c (gtk_unmap_subwindow):
5812         * glyphs-gtk.c (gtk_map_subwindow):
5813         * glyphs-gtk.c (gtk_button_redisplay):
5814         * glyphs-msw.c:
5815         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5816         * glyphs-x.c (init_image_instance_from_xbm_inline):
5817         * glyphs-x.c (extract_xpm_color_names):
5818         * glyphs-x.c (x_xpm_instantiate):
5819         * glyphs.c (get_image_instantiator_governing_domain):
5820         * glyphs.c (print_image_instance):
5821         * glyphs.c (image_instance_equal):
5822         * glyphs.c (image_instance_hash):
5823         * glyphs.c (encode_image_instance_type):
5824         * glyphs.c (make_image_instance_1):
5825         * glyphs.c (inherit_instantiate):
5826         * glyphs.c (image_instantiate):
5827         * glyphs.c (allocate_glyph):
5828         * glyphs.c (Fglyph_type):
5829         * glyphs.c (redisplay_subwindow):
5830         * glyphs.c (display_table_entry):
5831         * gtk-glue.c (xemacs_list_to_gtklist):
5832         * gtk-glue.c (xemacs_gtklist_to_list):
5833         * gtk-glue.c (xemacs_list_to_array):
5834         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5835         * gutter.c (gutter_was_visible):
5836         * gutter.c (get_gutter_coords):
5837         * input-method-xlib.c (get_XIM_input):
5838         * insdel.c (bufpos_to_bytind_func):
5839         * insdel.c (bytind_to_bufpos_func):
5840         * insdel.c (move_gap):
5841         * intl.c (x_get_composed_input):
5842         * keymap.c (keymap_lookup_directly):
5843         * keymap.c (keymap_delete_inverse_internal):
5844         * keymap.c (ensure_meta_prefix_char_keymapp):
5845         * keymap.c (accessible_keymaps_mapper_1):
5846         * keymap.c (where_is_recursive_mapper):
5847         * lisp.h:
5848         * lisp.h (ABORT):
5849         * lread.c (read_atom):
5850         * lstream.c (Lstream_delete):
5851         * lstream.c (make_lisp_buffer_stream_1):
5852         * macros.c (pop_kbd_macro_event):
5853         * malloc.c (malloc):
5854         * malloc.c (free):
5855         * marker.c (bi_marker_position):
5856         * marker.c (set_bi_marker_position):
5857         * menubar-gtk.c (menu_descriptor_to_widget_1):
5858         * menubar-msw.c (prune_menubar):
5859         * menubar-x.c (set_frame_menubar):
5860         * mule-charset.c (get_unallocated_leading_byte):
5861         * mule-charset.h (CHAR_LEADING_BYTE):
5862         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5863         * nt.c (init_environment):
5864         * nt.c (generate_inode_val):
5865         * ntproc.c (delete_child):
5866         * ntproc.c (_sys_read_ahead):
5867         * ntproc.c (create_child):
5868         * objects.c (color_instantiate):
5869         * objects.c (font_instantiate):
5870         * objects.c (face_boolean_instantiate):
5871         * print.c (printing_major_badness):
5872         * process-nt.c (nt_send_process):
5873         * process-unix.c (unix_send_process):
5874         * process.c (get_process):
5875         * ralloc.c (obtain):
5876         * ralloc.c (relinquish):
5877         * ralloc.c (relocate_blocs):
5878         * ralloc.c (resize_bloc):
5879         * ralloc.c (r_alloc_free):
5880         * ralloc.c (r_re_alloc):
5881         * ralloc.c (r_alloc_thaw):
5882         * ralloc.c (init_ralloc):
5883         * ralloc.c (Free_Addr_Block):
5884         * ralloc.c (r_alloc):
5885         * redisplay-gtk.c (gtk_output_display_block):
5886         * redisplay-msw.c (mswindows_output_display_block):
5887         * redisplay-output.c (get_next_display_block):
5888         * redisplay-output.c (get_cursor_size_and_location):
5889         * redisplay-output.c (redisplay_output_layout):
5890         * redisplay-output.c (redisplay_clear_region):
5891         * redisplay-tty.c (tty_output_display_block):
5892         * redisplay-x.c (x_output_display_block):
5893         * redisplay.c (add_propagation_runes):
5894         * redisplay.c (add_glyph_rune):
5895         * redisplay.c (create_text_block):
5896         * redisplay.c (add_margin_runes):
5897         * redisplay.c (create_left_glyph_block):
5898         * redisplay.c (create_right_glyph_block):
5899         * redisplay.c (create_string_text_block):
5900         * redisplay.c (regenerate_window):
5901         * redisplay.c (REGEN_INC_FIND_START_END):
5902         * redisplay.c (redisplay_frame):
5903         * redisplay.c (point_in_line_start_cache):
5904         * regex.c:
5905         * regex.c (ABORT):
5906         * regex.c (re_compile_fastmap):
5907         * regex.c (re_match_2_internal):
5908         * regex.c (regerror):
5909         * scrollbar-gtk.c (gtk_scrollbar_loop):
5910         * scrollbar-gtk.c (scrollbar_cb):
5911         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5912         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5913         * scrollbar-x.c (x_update_scrollbar_instance_status):
5914         * scrollbar-x.c (x_scrollbar_loop):
5915         * scrollbar-x.c (x_update_frame_scrollbars):
5916         * search.c (search_command):
5917         * search.c (Fmatch_data):
5918         * select-x.c (motif_clipboard_cb):
5919         * signal.c (interrupt_signal):
5920         * specifier.c (specifier_add_spec):
5921         * specifier.c (specifier_instance_from_inst_list):
5922         * specifier.c (specifier_instance):
5923         * specifier.h:
5924         * specifier.h (struct specifier_methods):
5925         * strftime.c (add_num_time_t):
5926         * sunplay.c (init_device):
5927         * symbols.c (Fsetplist):
5928         * symbols.c (do_symval_forwarding):
5929         * symbols.c (store_symval_forwarding):
5930         * symbols.c (Fset):
5931         * symbols.c (Fbuilt_in_variable_type):
5932         * symbols.c (decode_magic_handler_type):
5933         * symbols.c (handler_type_from_function_symbol):
5934         * syntax.c (update_syntax_cache):
5935         * sysdep.c (init_baud_rate):
5936         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5937         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5938         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5939         * toolbar.c (get_toolbar_coords):
5940         * ui-gtk.c (build_gtk_boxed):
5941         * ui-gtk.c (describe_gtk_arg):
5942         * ui-gtk.c (gtk_type_to_lisp):
5943         * ui-gtk.c (lisp_to_gtk_type):
5944         * ui-gtk.c (lisp_to_gtk_ret_type):
5945         * ui-gtk.c (lisp_to_flag):
5946         * unexnt.c (read_in_bss):
5947         * unexnt.c (map_in_heap):
5948         * window.c (real_window):
5949         * window.c (window_display_lines):
5950         * window.c (window_display_buffer):
5951         * window.c (set_window_display_buffer):
5952         * window.c (window_modeline_height):
5953         * window.c (unshow_buffer):
5954         * window.c (window_loop):
5955         * window.c (Fget_lru_window):
5956         * window.c (Fsplit_window):
5957         * window.c (Fset_window_configuration):
5958         * window.c (saved_window_index):
5959         * xgccache.c (gc_cache_lookup):
5960         abort() -> ABORT().  Eliminate preprocessor games with abort()
5961         since it creates huge problems in VC7, solvable only by including
5962         massive amounts of files in every compile (and not worth it).
5963
5964         * sysdep.c:
5965         * sysproc.h:
5966         Inclusion of process.h does not need to be before lisp.h any more.
5967         Move later and remove comment about abort().
5968
5969 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
5970
5971         * regex.c (re_match_2_internal):
5972         Correctly initialize loop which clears uninitialized registers.
5973
5974 2005-01-28  Vin Shelton  <acs@xemacs.org>
5975
5976         * sheap.c (more_static_core): Applied Ben's version of the long
5977         string patch.
5978
5979 2005-01-24  Vin Shelton  <acs@xemacs.org>
5980
5981         * sheap.c (more_static_core): Reformatted printf string so
5982         gcc-3.3.3 will compile this on Cygwin.
5983
5984 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
5985
5986         * console.c (function_key_map): Reference `key-binding'.
5987
5988         * keymap.c (Vkey_translation_map): Improve docstring.
5989
5990 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
5991
5992         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
5993         * window.c (window_loop): [fix] Take into account
5994         `allow-deletion-of-last-visible-frame' variable.
5995         * window.c (replace-buffer-in-windows): Ditto.
5996
5997 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
5998
5999         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6000
6001 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6002
6003         * event-gtk.c: Recognise AltGr as a valid modifier.
6004
6005 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6006
6007         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6008
6009 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6010
6011         Fix backreference bug caught by test suite.
6012
6013         * regex.c (regex_compile):
6014         Make backref duplicate internal register.
6015
6016 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6017
6018         Documentation, code clarification, and warning suppression.
6019         
6020         * regex.c (regex_compile):
6021         Improve comments.
6022         (re_match_2_internal):
6023         Improve comments and avoid redundant braces.  [Most of the big hunk
6024         at l. 4710 is indentation; use diff -w to see the real changes.]
6025         (alt_match_null_string_p):
6026         (common_op_match_null_string_p):
6027         Avoid shadowing global on Mac OS X 10.4, at least.
6028
6029 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6030
6031         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6032         introduced with shy groups fix).  [Already applied, probably
6033         with the second "fix shy groups" patch of 2004-10-07.] 
6034
6035 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6036
6037         From Andrey Slusar <anrays@gmail.com>:
6038
6039         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6040
6041 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6042
6043         * Makefile (RECURSIVE_MAKE): Removed.
6044         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6045         handling parallel builds.
6046
6047 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6048
6049         * Makefile.in.in: Enable support for parallel builds.
6050
6051 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6052
6053         From Andrey Slusar <anrays@gmail.com>:
6054
6055         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6056         FreeBSD version is >= 199701 _and_ < 600006.
6057
6058 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6059
6060         * scrollbar.c (compute_scrollbar_instance_usage):
6061         Only call device method compute_scrollbar_instance_usage() if it
6062         is defined.
6063
6064 2004-12-05  Vin Shelton <acs@xemacs.org>
6065
6066         * XEmacs 21.4.16 is released
6067
6068 2004-12-04  Vin Shelton  <acs@xemacs.org>
6069
6070         * depend: Regenerated.
6071
6072 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6073
6074         * regex.c (re_match_2_internal): Map internal to external
6075         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6076         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6077
6078 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6079
6080         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6081         to fix a crash.  Also, check the buffer is live and it
6082         really exists in buffer_list.  If the buffer is not in the list,
6083         prepend it.
6084
6085 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6086
6087         Fix shy groups by implementing recording of all groups for
6088         repetition and backtracking.  Backport from 21.5.
6089         
6090         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6091         external_to_internal_register, external_to_internal_register_size,
6092         and update comments for re_nsub.
6093
6094         * regex.c (re_opcode_t): Update comments.
6095         (print_compiled_pattern): Ouput external_to_internal_register,
6096         external_to_internal_register_size, and re_ngroups for debugging.
6097         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6098         (regex_compile): Update header comment.
6099         Ensure that all groups are recorded so that repeat matches and
6100         backtracking work correctly.  Comment related warning for groups >
6101         255.
6102         (re_search_2): Construct map of API indexes (which count only
6103         nonshy groups) to internal register numbers, and keep it updated.
6104
6105 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6106
6107         * frame-gtk.c (gtk_make_frame_visible):
6108         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6109         show/hide.  This is what X uses and is prevents previously hidden
6110         widgets from suddenly reappearing.
6111         * gtk-xemacs.c (gtk_xemacs_paint):
6112         * gtk-xemacs.c (gtk_xemacs_draw):
6113         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6114         drawable.
6115         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6116         size and location changes so that they can be seen before the next
6117         idle event.  Without this rapid changes to scrollbar properties
6118         are not seen.
6119
6120 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6121
6122         * console-gtk.h:
6123         * console-gtk.h (struct gtk_frame):
6124         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6125           Add hash tables track tab_control callback data.
6126           Added #defines for GTK object data names.
6127           Declaration of gtk_widget_to_frame().
6128         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6129         * frame-gtk.c (gtk_widget_to_frame): New.
6130         * frame-gtk.c (gtk_create_widgets):
6131         * frame-gtk.c (allocate_gtk_frame_struct):
6132         * frame-gtk.c (gtk_mark_frame):
6133         Manage frame callbakc hash tables.
6134         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6135         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6136         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6137         of widget size.
6138         * glyphs-gtk.c (gtk_widget_query_geometry): New
6139         * glyphs-gtk.c (gtk_register_gui_item): New
6140         * glyphs-gtk.c (gtk_add_tab_item): New
6141         * glyphs-gtk.c (gtk_tab_control_callback): New
6142         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6143         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6144         Use correct list when loading item.
6145         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6146         Register new methods.
6147         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6148         default size, for widgets.
6149         * gui-x.c:  Improved comment.
6150         * menubar-gtk.c (__generic_button_callback): Use
6151         gtk_widget_to_frame instead of __get_channel.
6152         * scrollbar-gtk.c:
6153         * ui-gtk.c: Use symbolic names for GTK object data.
6154
6155 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6156
6157         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6158
6159 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6160
6161         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6162
6163 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6164
6165         * malloc.c (morecore): siz is a long because in some architectures
6166         (eg ia-64) an int cannot hold the address range.  Additional patch
6167         from the SuSe distribution.
6168
6169 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6170
6171         * emacs.c:
6172         * malloc.c: lim_data is a long because in some architectures
6173         (eg ia-64) an int cannot hold the address range.
6174         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6175         instead of ulimit() because ulimit() always returns -1.
6176
6177 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6178
6179         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6180
6181 2004-06-11  David Kastrup  <dak@gnu.org>
6182
6183         * search.c (match_limit): Don't flag an error if match-data
6184         exceeding the allocated search_regs.num_regs gets requested, just
6185         return Qnil.
6186
6187 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6188
6189         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6190         replace symbolic color entries with the real colors specified in
6191         xpm-color-symbols, before passing the XPM to gtk.
6192         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6193         instead of a GTK specific field, so that it is used in by generic
6194         code.
6195
6196 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6197
6198        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6199         coredump from deref of NULL ptr (ExtData)
6200
6201 2004-04-19  Jerry James  <james@xemacs.org>
6202
6203         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6204         VALBITS to compute the location of the sign bit.
6205         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6206         of VALBITS with EMACS_INT_MAX.
6207         * events.c (Fevent_timestamp): Ditto.
6208         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6209         compute the halfway point to timestamp wraparound.
6210         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6211         EMACS_INT_MIN instead of using VALBITS.
6212         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6213         incorrect number with VALBITS.
6214         * fns.c (Frandom): Correct number of integer bits in docstring.
6215         Use INT_VALBITS instead of VALBITS to compute the denominator.
6216         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6217         build random numbers.
6218
6219 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6220         * event-gtk.c:
6221         * event-gtk.c (gtk_event_to_emacs_event):
6222         * menubar-gtk.c:
6223         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6224         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6225         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6226         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6227         * menubar-gtk.c (__activate_menu):
6228         * menubar-gtk.c (convert_underscores):
6229         * menubar-gtk.c (remove_underscores):
6230         * menubar-gtk.c (menu_convert):
6231         * menubar-gtk.c (menu_descriptor_to_widget_1):
6232         * menubar-gtk.c (menu_descriptor_to_widget):
6233         * menubar-gtk.c (menu_can_reuse_widget):
6234         * menubar-gtk.c (menu_create_menubar):
6235         * menubar-gtk.c (gtk_popup_menu):
6236         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6237         Added support for Gtk menu bar and menu item mnemonics.
6238
6239 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6240
6241         * sysdll.c: (dll_function): Added support for finding symbols in
6242         Darwin shared libraries as well in Darwin bundles.
6243         * sysdll.c (image_for_address): New
6244         * sysdll.c (my_find_image): New
6245         * sysdll.c (search_linked_libs): New
6246
6247 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6248
6249         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6250         return to GTK requires a different API to marshalling data to use
6251         as GTK parameters.
6252         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6253
6254 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6255
6256         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6257
6258 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6259
6260         * glyphs.c (process_image_string_instantiator):
6261         (Fset_console_type_image_conversion_list):
6262         Stop GCC from warning about shadowing of `exp'.
6263
6264         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6265
6266 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6267
6268         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6269
6270 2004-02-03  Vin Shelton  <acs@xemacs.org>
6271
6272         * glyphs.c (image_instance_layout): Remove pointless assertion.
6273         * regex.c (regex_grow_registers): Return type is void.
6274
6275 2004-02-02  Vin Shelton <acs@xemacs.org>
6276
6277         * XEmacs 21.4.15 is released
6278
6279 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6280
6281         * device-x.c (x_error_handler): Don't call stderr_out
6282
6283 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6284
6285         * buffer.c (other-buffer): Clarify documentation of order of
6286         arguments for FSF Emacs.
6287
6288 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6289
6290         * window.c (Fdelete_window): Dirty the mirror structure _before_
6291         marking the window deleted.
6292
6293 2003-09-15  Jerry James  <james@xemacs.org>
6294
6295         * event-msw.c (debug_mswin_messages): Conditionally compile
6296         messages missing from the Cygwin headers.
6297
6298 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6299
6300         * data.c (eq_with_ebola_notice): Fix typo in comment.
6301         (Ftrue_list_p): Improve docstring.
6302
6303 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6304
6305         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6306
6307 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6308
6309         * search.c (trivial_regexp_p): Regexps containing "\{" are
6310         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6311         Stefan Monnier for suggesting a diagnosis.
6312
6313 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6314
6315         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6316
6317 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6318
6319         * search.c (Fsearch_forward):
6320         (Fsearch_backward):
6321         Document negative count.
6322
6323 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6324
6325         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6326
6327 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6328
6329         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6330
6331 2003-09-15  Vin Shelton  <acs@xemacs.org>
6332
6333         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6334         21.5.
6335
6336 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6337
6338         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6339         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6340         (re_match_2_internal): Use TRANSLATE instead of
6341         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6342         non-ASCII char case conversion.
6343
6344 2003-09-08  Mike Sperber  <mike@xemacs.org>
6345
6346         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6347         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6348
6349 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6350
6351        * .gdbinit (pobj): fix printing of symbol name.
6352
6353 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6354
6355         * frame-x.c (x_layout_widgets): When resizing is about to cause
6356         frame size slip, mark it for redisplay.
6357
6358 2003-08-18  Jerry James  <james@xemacs.org>
6359
6360         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6361
6362 2003-09-03  Vin Shelton <acs@xemacs.org>
6363
6364         * XEmacs 21.4.14 is released
6365
6366 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6367
6368         * config.h.in (REGEX_MALLOC): Make it configure'able.
6369
6370 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6371
6372         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6373         linking.
6374         * sysdll.c (dll_init):
6375         * sysdll.c (dll_open):
6376         * sysdll.c (dll_close):
6377         * sysdll.c (dll_function):
6378         * sysdll.c (dll_variable):
6379         * sysdll.c (dll_error):
6380         Add support for loading bundles using Darwin/MacOSX
6381         native API.
6382
6383 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6384
6385         * process.c (start-process-internal): Document coding systems.
6386
6387 2003-07-30  Jerry James  <james@xemacs.org>
6388
6389         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6390
6391 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6392
6393         * event-msw.c (mswindows_enqueue_mouse_button_event):
6394         * event-msw.c (mswindows_wnd_proc):
6395           enqueue button event when scrollwheel event isn't handled by 
6396           mswindows_handle_mousewheel_event, such as when the scrollbars
6397           are not showing.
6398
6399 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6400
6401         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6402
6403 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6404
6405         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6406
6407 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6408
6409         * regex.c (re_match_2_internal): Fix matching degenerate word
6410         boundaries.
6411
6412 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6413
6414         * XEmacs 21.4.13 is released
6415
6416 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6417
6418         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6419         * lisp.h (<inttypes.h>):
6420         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6421         the definition.
6422
6423 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6424
6425         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6426         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6427         Result: "temacs can only be run in -batch mode."
6428         Fix: Check xemacs executable candidate for directory-ness.
6429
6430 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6431
6432         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6433           they conflict with <sys/types.h>.
6434
6435 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6436
6437         * database.c: Berkeley DB wants __STDC__ to be defined.
6438
6439 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6440
6441         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6442
6443 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6444
6445         * process-unix.c (unix_send_process): Fix C++ compile error.
6446
6447 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6448
6449         * Added .dylib as an acceptable shared library file extension
6450         * to support MacOSX.
6451
6452 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6453
6454         * EmacsFrameP.h (EmacsFramePart):
6455         Kludge to allow compiling with Motif1, but linking with Motif2.
6456
6457 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6458
6459         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6460
6461
6462 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6463
6464         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6465
6466 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6467
6468         * sysdll.c: Included lisp.h to define needed alloca_array.
6469
6470 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6471
6472         Make XEmacs redisplay 10 times faster.
6473         If, that is, you're using a slow X connection and MoveOpaque.
6474         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6475         Use compress_motion = TRUE.
6476         * EmacsFrame.c (emacsFrameClassRec): 
6477         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6478         * EmacsManager.c (emacsManagerClassRec):
6479         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6480
6481 2003-01-30  Vin Shelton  <acs@xemacs.org>
6482
6483         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6484
6485 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6486
6487         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6488         Patch by Martin Buchholz.
6489
6490 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6491
6492         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6493         Thanks to icc for warning and Martin Buchholz for reporting.
6494
6495 2003-01-29  Vin Shelton <acs@xemacs.org>
6496
6497         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6498
6499         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6500         remember to multiply by the element size.
6501
6502 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6503
6504         * XEmacs 21.4.12 "Portable Code" is released.
6505
6506 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6507
6508         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6509         * s/cygwin.sc: new linker file.
6510
6511 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6512
6513         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6514
6515         * redisplay-x.c (x_output_string): Use X11-specified types.
6516         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6517         * emacs.c (__free_hook): Use typeof with Intel compiler.
6518         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6519
6520 2003-01-08  Andy Piper  <andy@xemacs.org>
6521
6522         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6523         reserve size during unexec().
6524
6525 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6526
6527         * process-unix.c (unix_create_process): Don't let outchannel block.
6528
6529 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6530
6531         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6532         Needed for IsBadReadPtr().
6533
6534 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6535
6536         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6537
6538 2002-12-14  Ben Wing  <ben@xemacs.org>
6539
6540         * callint.c: Declaration error.
6541         * dumper.c (pdump):
6542         * dumper.c (pdump_load): Warning fix.
6543         * process.c: GCPRO error.
6544         * glyphs.c (unmap_subwindow):
6545         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6546         * event-stream.c (maybe_kbd_translate): Wrong argument to
6547         character_to_event().
6548
6549         * alloc.c (garbage_collect_1):
6550         * emacs.c:
6551         * emacs.c (debug_can_access_memory):
6552         * emacs.c (fatal_error_signal):
6553         * emacs.c (mswindows_handle_hardware_exceptions):
6554         * emacs.c (main_1):
6555         * emacs.c (main):
6556         * emacs.c (assert_failed):
6557         * emacs.c (syms_of_emacs):
6558         * lisp.h:
6559         * print.c:
6560         * print.c (std_handle_out_va):
6561         * print.c (write_string_to_stdio_stream):
6562         * print.c (write_fmt_string):
6563         * print.c (printing_badness):
6564         * print.c (printing_major_badness):
6565         * print.c (print_internal):
6566         * print.c (debug_print_no_newline):
6567         * print.c (debug_backtrace):
6568         Be more defensive in handling bad values when printing.  Add code
6569         from trunk involving inhibit_non_essential_printing_operations.
6570         When going down or in debug_print(), don't do external conversion
6571         and such and try really, really hard when printing to avoid core
6572         dumping.  Add force-debugging-signal, debug_break().
6573
6574 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6575
6576         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6577         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6578
6579 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6580
6581         * database.c: Fix open_database. Berkeley DB API has changed in
6582         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6583
6584 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6585
6586         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6587
6588 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6589
6590         * event-Xt.c (Xt_timeout):
6591         (Xt_timeout_callback):
6592         (emacs_Xt_add_timeout):
6593         (emacs_Xt_remove_timeout):
6594         (Xt_timeout_to_emacs_event):
6595         Turn completed_timeouts from a stack into a queue.  Fixes
6596         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6597
6598 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6599
6600         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6601         * emacs.c (main): Assert that mmap'd allocation is disabled.
6602
6603 2002-10-14  Andy Piper  <andy@xemacs.org>
6604
6605         * glyphs-widget.c (layout_query_geometry): add in fiddle
6606         factor. Include border text in width layout calculation.
6607         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6608
6609 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6610
6611         * XEmacs 21.4.10 "Military Intelligence" is released.
6612
6613 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6614
6615         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6616         using the NAS private array SoundFileInfo that no longer exists in
6617         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6618         and earlier.  This is broken for some versions between 1.5a and
6619         1.5f.
6620
6621 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6622
6623         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6624
6625         * emacs.c (shut_down_emacs): Improve crash message.
6626
6627 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6628
6629         * file-coding.c (determine_real_coding_system): Check for coding
6630         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6631         shebangs and Python PEP 263.
6632
6633 2002-10-08  Andy Piper  <andy@xemacs.org>
6634
6635         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6636         if static sizes haven't been set.
6637
6638 2002-08-30  Mike Alexander  <mta@arbortext.com>
6639
6640         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6641         to close a socket.
6642
6643 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6644
6645         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6646
6647 2002-09-20  Mike Sperber <mike@xemacs.org>
6648
6649         (This partially gets back my patch from 2002-07-20 without the
6650         bug.)
6651         * callproc.c (child_setup): Remove Ben's comment noting confusion
6652         over the file descriptors >= 3: close_process_descs() doesn't
6653         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6654         * process-unix.c (unix_create_process): Call
6655         begin_dont_check_for_quit to inhibit unwanted interaction (and
6656         thus breaking of X event synchronicity) in the child.
6657
6658 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6659
6660         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6661         widget.
6662
6663 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6664
6665         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6666         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6667         the xemacs process did not exit, but looped infinitely here.  This
6668         fixes that problem.
6669
6670 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6671
6672         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6673         (find_context): Improve comments.
6674
6675         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6676         (re_match_2): An XCHAR_TABLE operation was missing.
6677
6678         Many of the following changes were inspired by Andy Piper's (now
6679         obsolete) patch to make syntax-table text property lookup optional.
6680
6681         [Documentation]
6682
6683         * syntax.h (top level): Document semantics of syntax flags.
6684         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6685         * syntax.c, syntax.h (top level): Document syntax cache better in
6686         comments.
6687
6688         [Instrument syntax caching (temporary change)]
6689
6690         * syntax.h (enum syntax_cache_statistics_functions, struct
6691         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6692         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6693         * syntax.c (scan_words, Fforward_comment, scan_lists,
6694         Fbackward_prefix_characters):
6695         * font-lock.c (find_context):
6696         Use them to instrument syntax caching. 
6697         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6698         syntax_cache_statistics_function_names): New type and variables.
6699         * syntax.c (update_syntax_cache): Update and report statistics.
6700
6701         [Major syntax cache optimizations]
6702
6703         syntax.c (lookup_syntax_properties): Default off.
6704
6705         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6706         * syntax.c (update_syntax_cache):
6707         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6708
6709         [Minor syntax cache optimizations and code clarifications]
6710
6711         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6712         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6713         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6714         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6715         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6716         (Code clarification.)
6717
6718         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6719         scan_lists): Compute code from syncode, use Boolean macros instead
6720         of redundant masking operations.  (Code clarification; any decent
6721         compiler can do this optimization.)
6722
6723         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6724         for clarity.
6725
6726         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6727         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6728         use F*_single_property_change instead of F*_extent_change.
6729         Currently F*_single_property_change is _much_ less efficient.
6730
6731         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6732         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6733         syntax_cache.object properly, don't leave Qt or Qnil.
6734         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6735         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6736         tests for Qt or Qnil.
6737
6738 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6739
6740         * redisplay.c (point_in_line_start_cache): 
6741         * extents.c (print_extent_1):
6742         Fix warnings.
6743
6744         * extents.c (Fset_extent_property): Document `syntax-table' property.
6745
6746         * extents.h (Fnext_single_property_change): EXFUN it.
6747
6748 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6749
6750         * search.c (clear_unused_search_regs): New static function.
6751         (search_buffer): 
6752         (simple_search): 
6753         (boyer_moore):
6754         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6755         Minor clarifications in comments.
6756
6757         * regex.c (re_match_2_internal): Ensure no stale submatches.
6758
6759 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6760
6761         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6762
6763 2002-08-29  Jerry James  <james@xemacs.org>
6764
6765         * lisp.h: structrures -> structures.
6766
6767 2002-06-03  Andy Piper  <andy@xemacs.org>
6768
6769         * frame.c (frame_conversion_internal): add conversion appropriate
6770         for setting frame dimensions in pixels.
6771
6772         * console.h (struct console_methods): add device-specific widget
6773         layout functions.
6774
6775         * emacs.c (main_1): initialize glyph vars.
6776
6777         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6778         (handle_focus_event_2): new function. Allow focus to
6779         be set to a particular window and widget.
6780         (enqueue_focus_event): new function. Create a
6781         synthetic focus event.
6782         (emacs_Xt_handle_magic_event): call
6783         handle_focus_event_2.
6784
6785         * frame.c (Fset_frame_pixel_height): new function. Allow
6786         pixel-based sizing. Does the right thing on character-oriented
6787         displays.
6788         (Fset_frame_pixel_width): ditto.
6789         (Fset_frame_pixel_size): ditto.
6790         (syms_of_frame): declare.
6791
6792         * general-slots.h: add :vertically-justify and
6793         :horizontally-justify.
6794
6795         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6796         (mswindows_widget_border_width): new function.
6797         (mswindows_combo_box_instantiate): set border widths.
6798         (console_type_create_glyphs_mswindows): declare.
6799
6800         * glyphs-widget.c:
6801         (check_valid_justification): allow vertical and horizontal
6802         justification.
6803         (widget_border_width): new function. Call device methods.
6804         (widget_instance_border_width): ditto.
6805         (logical_unit_height): new function. Determine the height of a
6806         logical-unit. Logical units are intended to provide grid-like
6807         layout for subcontrols in a layout. If the layout is
6808         :vertically-justify top then subcontrols will be positioned on
6809         logical-unit boundaries, thus allowing adjacent subcontrols to
6810         line up.
6811         (widget_logical_unit_height): ditto for widgets.
6812         (redisplay_widget): misc cleanup.
6813         (widget_spacing): new function. Call device specific
6814         methods. Intended to be the default gap between adjacent widgets.
6815         (widget_query_geometry): use new spacing functions to determine
6816         appropriate geometry.
6817         (initialize_widget_image_instance): initialize horizontal and
6818         vertical justification.
6819         (widget_instantiate): use logica-units where appropriate for
6820         sizing large widgets.
6821         (button_query_geometry): use widget_instance_border_width.
6822         (tree_view_query_geometry): ditto.
6823         (tab_control_query_geometry): ditto.
6824         (edit_field_query_geometry): new function.
6825         (layout_update): pick up :justify, :horizontally-justify and
6826         :vertically-justify none of which worked previously. :justify is
6827         used as a fallback for both horizontal and vertical justification.
6828         (layout_query_geometry): use logical units to size appropriately.
6829         (layout_layout): ditto.
6830         (Fwidget_logical_to_character_width): new function. Allow users to
6831         convert from logical units to characters so that frame sizes can
6832         be set appropriately.
6833         (Fwidget_logical_to_character_height): ditto.
6834         (syms_of_glyphs_widget): declare.
6835         (image_instantiator_edit_fields): add edit_field_query_geometry.
6836         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6837         :horizontally-justify.
6838         (specifier_vars_of_glyphs_widget): new function. Declare
6839         Vwidget_border_width which is not yet used.
6840
6841         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6842         (x_widget_border_width): new function.
6843         (x_widget_instantiate): create a sensible name for widgets.
6844         (console_type_create_glyphs_x): declare x_widget_border_width.
6845
6846         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6847         (struct Lisp_Image_Instance): add :vertically-justify and
6848         :horizontally-justify.
6849         (LAYOUT_JUSTIFY_TOP): new.
6850         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6851         (ROUND_UP): new macro. Round argument up to next integral
6852         interval.
6853
6854         * redisplay-output.c (redisplay_output_layout): misc formatting.
6855
6856         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6857
6858 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6859
6860         * XEmacs 21.4.9 "Informed Management" is released.
6861
6862 2002-08-19  Andy Piper  <andy@xemacs.org>
6863
6864         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6865         win32 format.
6866
6867         * realpath.c (xrealpath): normalize drive spec also so that dir
6868         sep chars are not mixed on cygwin.
6869
6870 2002-08-06  Jerry James  <james@xemacs.org>
6871
6872         * window.c (Fsplit_window): Count only half of the divider width
6873         against the left window when splitting horizontally. 
6874
6875 2002-06-24  Andy Piper  <andy@xemacs.org>
6876
6877         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6878         toolbar was cleared.
6879
6880         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6881         function. Split out from mswindows_output_frame_toolbars.
6882         (mswindows_output_frame_toolbars): move clear pieces to
6883         mswindows_output_frame_toolbars.
6884
6885         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6886         out from gtk_output_frame_toolbars.
6887         (gtk_output_frame_toolbars): move clear pieces to
6888         gtk_clear_frame_toolbars.
6889
6890         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6891         the frame is cleared. How this ever worked before is a mystery.
6892         (x_output_frame_toolbars): Only output toolbars.
6893         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6894
6895         * gutter.c (update_gutter_geometry):
6896         Mark frame layout changed.
6897         (update_frame_gutter_geometry, update_frame_gutters):
6898         Respect frame_layout_changed.
6899
6900         * console.h (struct console_methods): add
6901         clear_frame_toolbars_method.
6902
6903         * redisplay.c (redisplay_frame): call
6904         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6905
6906         * toolbar.h: declare update_frame_toolbars_geometry.
6907
6908         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6909         out from update_frame_toolbars.  Call clear_frame_toolbars.
6910         (update_frame_toolbars): only output, do not change geometry.
6911
6912         * redisplay.c: add frame_layout_changed.
6913
6914         * redisplay.h: add frame_layout_changed.
6915         (CLASS_RESET_CHANGED_FLAGS): set it.
6916         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6917         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6918         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6919
6920         * device.h (struct device): add frame_layout_changed.
6921         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6922
6923         * frame.h (struct frame): add frame_layout_changed.
6924         (MARK_FRAME_LAYOUT_CHANGED): new.
6925
6926 2002-06-30  Mike Alexander  <mta@arbortext.com>
6927
6928         * event-msw.c (mswindows_need_event): Don't wait for a new message
6929         if the queue is not empty.  Suggested by Paul Moore.
6930
6931 2002-06-12  Andy Piper  <andy@xemacs.org>
6932
6933         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6934         for printing on accurately.
6935
6936 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6937
6938         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6939         WM_ACTIVATE message. Make sure that the frame is visible if the
6940         window is visible. This seemss to fix the problem where XEmacs
6941         appears to freeze after switching desktops with certain virtual
6942         window managers.
6943         (debug_output_mswin_message): Added code to output message
6944         parameters for WM_WINDOWPOSCHANGED, 
6945         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6946
6947 2002-05-25  Andy Piper  <andy@xemacs.org>
6948
6949         * select-x.c (vars_of_select_x): Fix docstring of
6950         x-selection-strict-motif-ownership
6951
6952 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6953
6954         * keymap.c (get_keymap):
6955         Add comment about do_autoload GCPROs own args.
6956
6957 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6958
6959         * bytecode.c (execute_optimized_program): check_opcode ifdef
6960         ERROR_CHECK_BYTE_CODE.
6961
6962 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6963
6964         Thanks to Ben Wing and Michael Sperber.
6965
6966         * eval.c (Fcommand_execute):
6967         (Feval):
6968         (Ffuncall):
6969         (Fmacroexpand_internal):
6970         (function_argcount):
6971         callint.c (Fcall_interactively):
6972         Add comment about do_autoload GCPROs own args.
6973
6974         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6975
6976         * eval.c (Ffuncall): Extra braces to placate GCC.
6977
6978 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6979
6980         * backtrace.h (grow_specpdl):
6981         (SPECPDL_RESERVE):
6982         * EmacsFrame.c (EmacsFrameSetValues):
6983         * eval.c (grow_specpdl):
6984         * ExternalShell.c (hack_event_masks_1):
6985         * glyphs-x.c (convert_EImage_to_XImage): 
6986         (x_finalize_image_instance):
6987         * ralloc.c (page_size):
6988         (r_alloc_sbrk):
6989         * xgccache.c (gc_cache_hash):
6990         Fix unsigned comparison warnings.
6991
6992 2002-07-29  Jerry James  <james@xemacs.org>
6993
6994         * lread.c (locate_file): Any nonnegative return value indicates
6995         success if MODE is nonnegative.
6996
6997 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6998
6999         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7000         argument. 
7001
7002 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7003
7004         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7005
7006         * dumper.c (pdump_get_indirect_count):
7007         (pdump_scan_by_alignment):
7008         (pdump_dump_root_struct_ptrs):
7009         (pdump_dump_rtables):
7010         (pdump_dump_root_objects):
7011         (pdump):
7012         * nas.c (WaveOpenDataForReading):
7013         * fns.c (print_bit_vector):
7014         * font-lock.c (SINGLE_SYNTAX_STYLE):
7015         * glyphs.c (check_for_ignored_expose):
7016         (find_matching_subwindow):
7017         * glyphs-eimage.c:
7018         * imgproc.c (get_histogram):
7019         * redisplay.c (point_in_line_start_cache):
7020         * redisplay-output.c (redisplay_unmap_subwindows):
7021         * symbols.c (defsymbol_massage_name_1):
7022         (defkeyword_massage_name):
7023         (deferror_massage_name_and_message):
7024         * redisplay-x.c (x_output_string): 
7025         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7026         * frame.h (struct frame):
7027         * filelock.c (current_lock_owner):
7028         * doprnt.c (emacs_doprnt_1):
7029         * lisp.h (struct Lisp_Bit_Vector):
7030         (DO_REALLOC):
7031         Fix warnings.
7032
7033 2002-02-13  Ben Wing  <ben@xemacs.org>
7034
7035         * event-stream.c (reset_key_echo):
7036         * event-stream.c (reset_this_command_keys):
7037         * event-stream.c (execute_command_event):
7038         If console is dead as a result of C-x 5 0, then post-command stuff
7039         needs to be careful and do only non-console-specific stuff.
7040
7041 2002-07-01  Mike Sperber <mike@xemacs.org>
7042
7043         * process-unix.c (unix_send_process): Mark coding_outstream as
7044         non-open upon SIGPIPE.
7045
7046         * event-stream.c (Fnext_event): Reorder switch cases to something
7047         that makes sense.
7048
7049 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7050
7051         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7052         Don't bogusly reinitialize ascii_character property.
7053
7054 2002-07-08  Mike Sperber <mike@xemacs.org>
7055
7056         * process.c (Fstart_process_internal): Do error checking before we
7057         fork off the child, so the child can't muck with the state of the
7058         parent.
7059
7060 2002-07-08  Mike Sperber <mike@xemacs.org>
7061
7062         * ralloc.c (init_ralloc): Allocate properly for pdump.
7063
7064 2002-06-12  Andy Piper  <andy@xemacs.org>
7065
7066         * glyphs.c (query_string_geometry): check the string.
7067
7068         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7069         widget names.
7070
7071 2002-06-17  Jerry James  <james@xemacs.org>
7072
7073         * sysdll.c: Remove RTLD_GLOBAL initialization.
7074         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7075
7076 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7077
7078         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7079
7080 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7081
7082         * sysdep.c (sys_rename): Make sys_rename work for the case where
7083         Windows rename sets errno to EACCES if target file exists.
7084
7085 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7086
7087         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7088         Fix detection of metric units to work on Win95
7089
7090 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7091
7092         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7093
7094 2002-04-25  Andy Piper  <andy@xemacs.org>
7095
7096         * redisplay.c (create_text_block): Remove extra comment trailer.
7097
7098 2002-04-24  Andy Piper  <andy@xemacs.org>
7099
7100         * redisplay.c (create_text_block): Don't actually add propagation
7101         data if the line ends after we have added a glyph.
7102
7103 2002-04-22  Andy Piper  <andy@xemacs.org>
7104
7105         * extents.c (extent_fragment_update): check for glyphs we have
7106         previously displayed.
7107         * extents.c (print_extent_1): warning removal.
7108         * extents.h: change prototype.
7109         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7110         widths correctly for wide glyphs.
7111         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7112         * redisplay.c (prop_type): add PROP_GLYPH.
7113         * redisplay.c (struct prop_block): add glyph type
7114         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7115         to the propagation data.
7116         * redisplay.c (create_text_block): if there is a glyph in the
7117         propagation data use it to salt extent_fragment_update.
7118         * redisplay.c (create_string_text_block): ditto.
7119
7120 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7121
7122         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7123         * redisplay-output.c (compare_runes): Compare them.
7124         * redisplay.c: Update copyright date.
7125         * redisplay.c (pos_data): Add need_baseline_computation field.
7126         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7127         need_baseline_computation; zero yoffset. Set max_pixmap_height
7128         for all pixmaps, not just automatically positioned ones.
7129         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7130         * redisplay.c (calculate_baseline): New, compute textual baseline.
7131         * redisplay.c (add_glyph_rune): Call them.
7132         * redisplay.c (create_text_block): Likewise.
7133         * redisplay.c (create_overlay_glyph_block): Likewise.
7134         * redisplay.c (add_margin_runes): Likewise.
7135         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7136
7137         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7138         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7139         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7140         * redisplay-msw.c (mswindows_output_string): Likewise.
7141         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7142         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7143         * redisplay-x.c (x_output_display_block): Likewise.
7144
7145 2002-03-28  Ben Wing  <ben@xemacs.org>
7146
7147         * redisplay.c: Fixed bug in redisplay
7148         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7149         and down of the lines, since they're bigger than the line
7150         size. (It was seen most obviously when there's a horizontal scroll
7151         bar, e.g. do C-h a glyph or something like that.) The problem was
7152         that the glyph-contrib-p setting on glyphs was ignored even if it
7153         was set properly, which it wasn't until now.
7154
7155 2002-04-24  Andy Piper  <andy@xemacs.org>
7156
7157         * lisp.h (Dynarr_end): Fix definition.
7158
7159 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7160
7161         * redisplay.c (mark_redisplay): Remove call to
7162         update_frame_window_mirror.
7163
7164 2001-11-15  Andy Piper  <andy@xemacs.org>
7165
7166         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7167         cygwin (again).
7168
7169 2002-02-13  Andy Piper  <andy@xemacs.org>
7170
7171         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7172         we did in fact enqueue the XM_MAPFRAME event.
7173
7174 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7175
7176         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7177         to fix problem switching between virtual desktops under virtuawin
7178         virtual window manager.
7179
7180 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7181
7182         * event-msw.c: Typo fix.
7183         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7184         magic XM_MAPFRAME event has been sent.
7185
7186 2001-11-23  Andy Piper  <andy@xemacs.org>
7187
7188         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7189
7190 2001-11-21  Andy Piper  <andy@xemacs.org>
7191
7192         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7193         mouse events outside the frame.
7194
7195 2002-03-20  Andy Piper  <andy@xemacs.org>
7196
7197         * menubar-msw.c (mswindows_popup_menu): warning removal.
7198         * dialog-msw.c (dialog_popped_down): ditto.
7199
7200 2001-12-11  Andy Piper  <andy@xemacs.org>
7201
7202         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7203         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7204         popup_up_p.
7205         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7206         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7207         * menubar-msw.c (mswindows_popup_menu): ditto.
7208
7209 2001-10-29  Andy Piper  <andy@xemacs.org>
7210
7211         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7212         cancels.
7213
7214 2002-01-03  Andy Piper  <andy@xemacs.org>
7215
7216         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7217         letters.
7218         (xrealpath): ditto.
7219
7220 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7221
7222         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7223         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7224         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7225         Detect and handle case where machine is set up for metric units
7226
7227 2002-04-02  Andy Piper  <andy@xemacs.org>
7228
7229         * dired-msw.c (mswindows_get_files): 
7230         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7231         completely handled by XEmacs. Suggested by Thomas Vogler
7232         <mail@thomas-vogler.de>.
7233
7234 2001-11-14  Andy Piper  <andy@xemacs.org>
7235
7236         * nt.c (REG_ROOT): change registry key to XEmacs.
7237
7238 2002-04-27  Andy Piper  <andy@xemacs.org>
7239
7240         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7241
7242 2002-04-26  Andy Piper  <andy@xemacs.org>
7243
7244         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7245         behavior.
7246
7247 2002-03-14  Mike Alexander  <mta@arbortext.com>
7248
7249         * event-msw.c (mswindows_unwait_process): New, remove process from
7250         wait list
7251         * process-nt.c (nt_finalize_process_data): Call
7252         mswindows_unwait_process
7253         * console-msw.h: Declare mswindows_unwait_process
7254
7255 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7256
7257         * editfns.c (Fdecode_time):
7258         (Fformat_time_string):
7259         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7260         (make_time): Warning elimination (change arg name).
7261
7262 2001-11-24  Andy Piper  <andy@xemacs.org>
7263
7264         * window.c (Fsplit_window): Doc return type.
7265
7266 2002-04-01  Andy Piper  <andy@xemacs.org>
7267
7268         * emacs.c (Fkill_emacs): Only output message box in interactive
7269         mode.
7270
7271 2002-04-26  Andy Piper  <andy@xemacs.org>
7272  
7273         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7274         cygwin.
7275
7276 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7277
7278         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7279         bit platform.
7280
7281 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7282
7283         * XEmacs 21.4.8 "Honest Recruiter" is released.
7284
7285 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7286
7287         Supersedes 2002-04-17 patch.
7288
7289         * process.h (PROCESS_LIVE_P): Use the process status as
7290         evidence of health, not the state of the input stream.
7291         (PROCESS_READABLE_P): Say if the process is readable
7292         from. (It may be dead nonetheless.)
7293         (CHECK_READABLE_PROCESS): Test for that condition.
7294
7295         * process.c (create_process): Use PROCESS_READABLE_P.
7296         (read_process_output, set_process_filter): Likewise.
7297
7298         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7299         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7300
7301         This code is #if 0'd, this is not the time to add new functions:
7302
7303         * process.c (Fprocess_readable_p): Report readability status.
7304         * process.c (Qprocess_readable_p): New, associated symbol...
7305         * process.c (syms_of_process): ... initialize it.
7306
7307 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7308
7309         * XEmacs 21.4.7 "Economic Science" is released.
7310
7311 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7312
7313         * process.h (PROCESS_LIVE_P): Use the process status as
7314         evidence of health, not the state of the input stream.
7315
7316 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7317
7318         * sysdep.c (sys_siglist): change "signum" to "signal"
7319
7320 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7321
7322         * s/darwin.h: New file.
7323         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7324         
7325 2002-04-23  Andreas Jaeger  <aj@suse.de>
7326
7327         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7328         which use lib64 for 64-bit libs.
7329         (START_FILES): Likewise.
7330
7331 2002-02-11  Mike Sperber  <mike@xemacs.org>
7332
7333         * device-x.c: 
7334         (x_IO_error_handler):
7335         (x_init_device): Temporarily keep device in static variable
7336         `device_being_initialized' so we can recover gracefully from
7337         internal XOpenDevice failure.  (XOpenDevice is documented to
7338         return NULL on failure, but sometimes calls the IO error handler
7339         instead.)
7340
7341 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7342
7343         * dired.c (Ffile_name_all_completions): Change documentation --
7344         remove reference to completion-ignored-extensions.
7345         * dired.c (vars_of_dired): Change documentation for
7346         completion-ignored-extensions -- remove reference to
7347         file-name-all-completions.
7348
7349 2002-03-06  Jerry James  <james@xemacs.org>
7350
7351         * emodules.c (emodules_load): Fix multiple loading of same module.
7352
7353 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7354         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7355         RTLD_LAZY to avoid incorrect symbol binding when using nested
7356         shared libraries on Solaris.
7357
7358 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7359
7360         * fileio.c (Ffind_file_name_handler): Improve docstring.
7361
7362 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7363
7364         * fns.c (Fmapconcat): Improve docstring.
7365
7366 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7367
7368         * device-gtk.c: Add prototype for
7369         emacs_gtk_selection_clear_event_handle.
7370         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7371         selection.  Setup signal handler for "selection_clear_event"
7372         (emacs_gtk_selection_clear_event_handle).
7373
7374         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7375         other applications owning the clipboard (based on
7376         x_handle_selection_clear).
7377
7378 2001-12-23  William M. Perry  <wmperry@gnu.org>
7379
7380         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7381         
7382 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7383
7384         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7385
7386 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7387
7388         * XEmacs 21.4.6 "Common Lisp" is released.
7389
7390 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7391
7392         * search.c (Freplace_match): Add missing sub-expression functionality.
7393
7394         * buffer.c (decode_buffer): Add a check for pointer type to
7395         decode_buffer, before gcc's CSE optimization reorders a
7396         dereference in front of the allow_string test.
7397
7398 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7399
7400         * window.c (window_loop): Fix bug that sometimes prevented
7401         window_loop() from iterating across multiple devices.  Also, at
7402         Ben's request, changed infloop-detecting code to abort() instead
7403         of silently terminating window_loop().
7404
7405 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7406
7407         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7408         * editfns.c (make_time): New function.
7409         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7410         * lisp.h (make_time): Prototype and comment it.
7411         * dired.c (wasteful_word_to_lisp): Deprecate.
7412         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7413
7414 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7415
7416         * fileio.c (auto_save_1): Use current coding system, not
7417         escape-quoted.
7418
7419 2001-11-13  Ben Wing  <ben@xemacs.org>
7420
7421         * window.c:
7422         * window.c (window_truncation_on):
7423         * window.c (syms_of_window):
7424         truncate-partial-width-windows should respect the buffer being
7425         displayed, like other redisplay vars.
7426
7427 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7428
7429         * event-stream.c (Fread_key_sequence): save current buffer.
7430
7431 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7432
7433         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7434
7435 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7436
7437         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7438
7439 2001-10-26  Mike Alexander  <mta@arbortext.com>
7440
7441         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7442
7443 2001-10-25  Andy Piper  <andy@xemacs.org>
7444
7445         * ChangeLog:
7446         * dialog-msw.c (handle_directory_proc): new function.
7447          (handle_directory_dialog_box): new fucntion.
7448          (handle_file_dialog_box): use new directory dialog support.
7449          (mswindows_make_dialog_box_internal): ditto.
7450         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7451         handling.
7452         (mswindows_find_frame): make global.
7453         * fileio.c (Fexpand_file_name): build fix.
7454         * general-slots.h: add Qdirectory.
7455         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7456         handling.
7457         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7458         cygwin not leaving win32 paths unchanged.
7459         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7460         cygwin runtime to do path conversion.
7461         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7462         (syms_of_win32): add new function.
7463         * window.c (window_loop): build fix.
7464
7465 2001-10-15  Andy Piper  <andy@xemacs.org>
7466
7467         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7468
7469 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7470
7471         * XEmacs 21.4.5 "Civil Service" is released.
7472
7473 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7474
7475         * glyphs-x.c: Force buffer-tab highlight update when moving the
7476         buffer, avoiding an ugly black border, used for keyboard focus
7477         indication, on a widget that can never have keyboard focus, the
7478         buffer tab.
7479
7480 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7481
7482         * process-unix.c (unix_open_multicast_group): Remove too much
7483         conversion between host and network byte order.
7484
7485 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7486
7487         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7488         before replacing them.
7489
7490         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7491         operation.
7492
7493         * src/window.c (undedicate_windows): Use it.
7494         * src/window.h: Add prototype.
7495
7496 2001-09-17  Ben Wing  <ben@xemacs.org>
7497
7498         * fileio.c (normalize_filename):
7499         * fileio.c (Fexpand_file_name):
7500         Fix various C++ compile errors in Andy's recent code.
7501         
7502         * callint.c (Fcall_interactively):
7503         * editfns.c (Ftemp_directory):
7504         * editfns.c (Fuser_full_name):
7505         * emacs.c (argmatch):
7506         * lread.c (locate_file_map_suffixes):
7507         * redisplay-x.c (x_ring_bell):
7508         Fix sign-compare warnings.
7509         
7510 2001-09-08  Andy Piper  <andy@xemacs.org>
7511
7512         * fileio.c (normalize_filename): copied from nt.c
7513         * (Ffile_name_directory): enable win32 paths under cygwin.
7514         * (Ffile_name_nondirectory): ditto.
7515         * (directory_file_name): ditto.
7516         * (Fexpand_file_name): ditto.
7517         * (Ffile_truename): ditto.
7518         * (Fsubstitute_in_file_name): ditto.
7519         * (Ffile_name_absolute_p): ditto.
7520         * (Ffile_readable_p): ditto.
7521
7522 2001-09-08  Andy Piper  <andy@xemacs.org>
7523
7524         * device-msw.c (mswindows_finish_init_device): remove dde
7525         initialization.
7526         * device-msw.c (mswindows_init_dde): factor out from
7527         mswindows_finish_init_device()
7528         * device-msw.c (init_mswindows_very_early): new function
7529         initialize but don't enable dde.
7530         * emacs.c (main_1): call init_mswindows_very_early.
7531         * event-msw.c:
7532         * event-msw.c (mswindows_dde_callback): only execute when we are
7533         ready.
7534         * symsinit.h: declare init_mswindows_very_early.
7535
7536 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7537
7538         [sjt: This has been in 21.5 for months with no complaints.]
7539
7540         * console.h (struct console_methods): Added flags member.
7541         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7542         (CONMETH_IMPL_FLAG):
7543         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7544         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7545
7546         * device.c (window_system_pixelated_geometry): Use the above macros.
7547
7548         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7549         implememntation flag.
7550         * device.h (DEVICE_DISPLAY_P): Use it.
7551
7552         * frame.c (delete_frame_internal): Use the above macro.
7553
7554         * redisplay.c (redisplay_device): Use it.
7555         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7556         (redisplay_frame): Ditto.
7557
7558         * device-msw.c (mswindows_device_implementation_flags): Removed.
7559         (msprinter_device_implementation_flags): Removed.
7560         (console_type_create_device_mswindows): Removed references to
7561         implementation_flags methods, set implementation flags here.
7562         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7563
7564         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7565         (console_type_create_device_gtk): Removed method declaration.
7566         Added commented out statement which semantically matches the
7567         commented out statement in the above removed method.
7568
7569 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7570
7571         The attached patch fixes a few warnings. 
7572
7573         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7574         * src/frame-gtk.c: guard against GNOME calls in GTK only
7575         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7576         * src/select-gtk.c: prototype lisp_to_time
7577
7578 2001-06-08  Ben Wing  <ben@xemacs.org>
7579
7580         ------ gc-in-window-procedure fixes ------
7581         
7582         * alloc.c:
7583         * alloc.c (struct post_gc_action):
7584         * alloc.c (register_post_gc_action):
7585         * alloc.c (run_post_gc_actions):
7586         * alloc.c (garbage_collect_1):
7587         Create "post-gc actions", to avoid those dreaded "GC during window
7588         procedure" problems.
7589
7590         * event-msw.c:
7591         Abort, clean and simple, when GC in window procedure.  We want
7592         to flush these puppies out.
7593
7594         * glyphs-msw.c:
7595         * glyphs-msw.c (finalize_destroy_window):
7596         * glyphs-msw.c (mswindows_finalize_image_instance):
7597         Use a post-gc action when destroying subwindows.
7598
7599         * lisp.h:
7600         Declare register_post_gc_action().
7601
7602         * scrollbar-msw.c:
7603         * scrollbar-msw.c (unshow_that_mofo):
7604         Use a post-gc action when unshowing scrollbar windows, if in gc.
7605
7606         * redisplay.c (mark_redisplay):
7607         Add comment about the utter evilness of what's going down here.
7608
7609         ------ cygwin setitimer fixes ------
7610         
7611         * Makefile.in.in (sheap_objs):
7612         * Makefile.in.in (profile_objs):
7613         * Makefile.in.in (objs):
7614         Compile profile.c only when HAVE_SETITIMER.
7615         
7616         * nt.c (mswindows_sigset):
7617         * nt.c (mswindows_sighold):
7618         * nt.c (mswindows_sigrelse):
7619         * nt.c (mswindows_sigpause):
7620         * nt.c (mswindows_raise):
7621         * nt.c (close_file_data):
7622         Style fixes.
7623         
7624         * nt.c:
7625         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7626         
7627         * profile.c:
7628         * profile.c (Fstart_profiling):
7629         * profile.c (Fstop_profiling):
7630         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7631         instead of just plain setitimer().
7632         
7633         * signal.c:
7634         * signal.c (set_one_shot_timer):
7635         * signal.c (alarm):
7636         Define qxe_setitimer() as an encapsulation around setitimer() --
7637         call setitimer() directly unless Cygwin or MS Win, in which case
7638         we use our simulated version in win32.c.
7639         
7640         * systime.h:
7641         * systime.h (struct itimerval):
7642         * systime.h (ITIMER_REAL):
7643         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7644         comment about "qxe" and the policy regarding encapsulation.
7645
7646         * win32.c:
7647         * win32.c (setitimer_helper_proc):
7648         * win32.c (setitimer_helper_period):
7649         * win32.c (setitimer_helper):
7650         * win32.c (mswindows_setitimer):
7651         Move setitimer() emulation here, so Cygwin can use it.
7652         Rename a couple of functions and variables to be longer and more
7653         descriptive.  In setitimer_helper_proc(), send the signal
7654         using either mswindows_raise() or (on Cygwin) kill().  If for
7655         some reason we are still getting lockups, we'll change the kill()
7656         to directly invoke the signal handlers.
7657
7658         ------ windows shell fixes ------
7659         
7660         * callproc.c:
7661         * ntproc.c:
7662         Comments about how these two files must die.
7663
7664         * callproc.c (init_callproc):
7665         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7666         not just COMSPEC. (more correct and closer to FSF.) Don't
7667         force a value for SHELL into the environment. (Comments added
7668         to explain why not.)
7669         
7670         * nt.c (init_user_info):
7671         Don't shove a fabricated SHELL into the environment.  See above.
7672
7673 2001-06-01  Ben Wing  <ben@xemacs.org>
7674
7675         * Makefile.in.in (ldflags):
7676         eliminate that pesky "defaulting to 00401000" warning.
7677         * nt.h:
7678         eliminate warnings.
7679
7680 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7681
7682         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7683         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7684
7685 2001-04-24  Jerry James <james@xemacs.org>
7686
7687         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7688         correct order.
7689
7690 2001-06-01  Ben Wing  <ben@xemacs.org>
7691
7692         * event-msw.c (debug_mswin_messages):
7693         conditionalize the messages that were causing compile errors.
7694         (if only macros could generate #ifdef statements ...)
7695
7696 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7697
7698         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7699
7700 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7701
7702         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7703
7704 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7705
7706         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7707         * process-unix.c (unix_canonicalize_host_name):
7708         sysdep.c (init_system_name):
7709         Use it to conditionally support IPv6 canonicalization.
7710
7711 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7712
7713         * event-msw.c:
7714         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7715
7716 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7717
7718         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7719         attempt is made to scroll when no scroll bar is available.
7720
7721 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7722
7723         * input-method-motif.c (XIM_delete_frame): New callback.
7724         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7725         got deleted from 21.4.3.)
7726
7727 2001-06-01  Ben Wing  <ben@xemacs.org>
7728
7729         * nt.c (mswindows_utime):
7730         * nt.c (close_file_data):
7731         fix off-by-one-indirection error.
7732
7733 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7734
7735         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7736         because set_file_times() now takes Lisp_Object path, instead of
7737         char*.
7738         * nt.c: Include buffer.h.
7739         * nt.c (convert_from_time_t): New.
7740         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7741         not set mtime correctly.
7742         * nt.h: Declare mswindows_utime().
7743         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7744         path, instead of char*.
7745         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7746
7747 2001-05-30  Ben Wing  <ben@xemacs.org>
7748
7749         For 21.4:
7750
7751         (Stephen, just take all event-msw.c patches.  This includes
7752         the "iconify" fix below.)
7753
7754         * event-msw.c:
7755         * event-msw.c (mswindows_dequeue_dispatch_event):
7756         * event-msw.c (assert):
7757         * event-msw.c (emacs_mswindows_quit_p):
7758         * event-msw.c (debug_mswin_messages):
7759         * event-msw.c (debug_output_mswin_message):
7760         * event-msw.c (vars_of_event_mswindows):
7761         Fix yet more problems with C-g handling.
7762         Implement debug-mswindows-events.
7763         
7764 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7765
7766         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7767         
7768 2001-05-23  Ben Wing  <ben@xemacs.org>
7769
7770         * event-msw.c (winsock_writer):
7771         * event-msw.c (winsock_closer):
7772         prior kludgy code was clobbering the buffer, thinking it was
7773         "unused" space to store an unneeded return value; instead, use
7774         the variable we've already got staring us in the face.
7775
7776 2001-05-17  Andy Piper  <andy@xemacs.org>
7777
7778         * sysfile.h: don't assume that file attributes are boolean
7779
7780 2001-05-23  Ben Wing  <ben@xemacs.org>
7781
7782         * device-msw.c (msprinter_init_device):
7783         signal an error rather than crash with an unavailable network
7784         printer (from Mike Alexander).
7785         
7786         * event-msw.c:
7787         * event-msw.c (struct winsock_stream):
7788         * event-msw.c (winsock_writer):
7789         * event-msw.c (winsock_closer):
7790         * event-msw.c (make_winsock_stream_1):
7791         cleanup headers.  fix (hopefully) an error with data corruption
7792         when sending to a network connection.
7793
7794         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7795         to handle the ~user prefix by (a) always assuming we're referencing
7796         ourselves and not even verifying the user -- hence any file with
7797         a tilde as its first char is invalid! (b) if there wasn't a slash
7798         following the filename, the pointer was set *past* the end of
7799         file and we started reading from uninitialized memory.  Now we
7800         simply treat these as files, always.
7801
7802         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7803         
7804 2001-05-19  Ben Wing  <ben@xemacs.org>
7805
7806         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7807
7808         * process-nt.c:
7809         * process-nt.c (vars_of_process_nt):
7810         remove unused mswindows-quote-process-args.  rec for 21.4.
7811         
7812 2001-05-12  Ben Wing  <ben@xemacs.org>
7813
7814         * event-msw.c (mswindows_dde_callback):
7815         * event-msw.c (mswindows_wnd_proc):
7816         eliminate cygwin warnings.
7817
7818 2001-05-06  Ben Wing  <ben@xemacs.org>
7819
7820         * console-msw.h:
7821         * device-msw.c:
7822         * device-msw.c (print_dialog_worker):
7823         * device-msw.c (mswindows_handle_print_dialog_box):
7824         * device-msw.c (syms_of_device_mswindows):
7825         * dialog-msw.c (mswindows_make_dialog_box_internal):
7826         * general-slots.h:
7827         implement printing the selection when it's selected.
7828
7829 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7830
7831         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7832
7833 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7834
7835         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7836         EMACS_INT is signed.
7837
7838 2001-04-15  Michael Lausch  <mla@1012surf.net>
7839
7840         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7841         gtk_widget_request_size() to give scrollbar >0 width for
7842         GTK >1.2.8.
7843
7844 2001-05-30  William M. Perry  <wmperry@gnu.org>
7845
7846         * event-gtk.c: Check for buttons as modifier keys.
7847
7848 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7849
7850         * s\mingw32.h:
7851         Properly find MinGW's <process.h> inside Cygwin's restructured
7852         include directories.  Don't try to include <cygwin/version.h>
7853         since we are dropping support for MinGW in versions of Cygwin
7854         earlier than b21.
7855         * nt.c:
7856         Drop support for MinGW in versions of Cygwin before b21.
7857         * sysdep.c:
7858         Properly find MinGW's <process.h> inside Cygwin's restructured
7859         include directories.
7860         * syswindows.h:
7861         Drop support for MinGW in versions of Cygwin before b21.
7862         * unexcw.c:
7863         Even though a.out.h is no longer detected by configure, allow
7864         MinGW to use it until we figure out how to do the job with Win32.
7865
7866 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7867
7868         * syntax.c (find_start_of_comment):
7869         Fix `unbalanced parentheses' bug when dealing with mixed comment
7870         styles in c++/java/etc. mode
7871
7872 2001-05-29  Mike Alexander  <mta@arbortext.com>
7873
7874         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7875         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7876
7877 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7878
7879         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7880
7881 2001-03-31  Mike Sperber <mike@xemacs.org>
7882
7883         * search.c (Freplace_match): Support FSF-style specification of
7884         match subexpression when applied to a buffer.
7885
7886 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7887
7888         * event-stream.c (is_scrollbar_event): add missing semicolon
7889
7890 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7891
7892         * Makefile.in.in: Use TAR macro instead of hardcoding
7893           tar.  Allows use of GNU tar instead of system tar
7894
7895 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7896
7897         * event-stream.c (is_scrollbar_event): add missing semicolon
7898
7899 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7900
7901         * XEmacs 21.4.3 "Academic Rigor" is released.
7902
7903 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7904
7905         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7906
7907 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7908
7909         * buffer.c (Vcase_fold_search): Remove obsolete
7910           comment about non ASCII case-fold-search.  This
7911           bug has been fixed by case-table changes.
7912
7913 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7914
7915         * event-msw.c: Restore include of events-mod.h.
7916
7917 2001-04-22   zhaoway  <zw@debian.org>
7918
7919         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7920         !HAVE_SCROLLBARS.
7921
7922 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7923
7924         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7925
7926 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7927
7928         * mule-charset.c (Fmake_charset): Add missing else.
7929
7930 2001-04-23  Ben Wing  <ben@xemacs.org>
7931
7932         * event-msw.c (FAKE_MOD_QUIT):
7933         * event-msw.c (mswindows_dequeue_dispatch_event):
7934         * event-msw.c (mswindows_wnd_proc):
7935         * event-msw.c (emacs_mswindows_quit_p):
7936         Get critical quit working.
7937
7938 2001-05-05  Ben Wing  <ben@xemacs.org>
7939
7940         * console-msw.h:
7941         * device-msw.c:
7942         * device-msw.c (mswindows_get_default_margin):
7943         * frame-msw.c (mswindows_size_frame_internal):
7944         * frame-msw.c (msprinter_init_frame_1):
7945         * frame-msw.c (vars_of_frame_mswindows):
7946         Change top/bottom margin defaults to 0.5 inches.
7947
7948 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7949
7950         Fix link error with gcc 3.0 on Linux.
7951         * terminfo.c (UP): Remove.
7952         * terminfo.c (BC): Remove.
7953         * terminfo.c (PC): Remove.
7954         They weren't used, and in any case, these symbols should be
7955         defined in the *library*.
7956
7957 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7958
7959         * s/aix4.h: Fix crash with xlc -O3.
7960         Improve comment explaining how -O3 works.
7961
7962 2001-04-15  Ben Wing  <ben@xemacs.org>
7963
7964         * event-stream.c:
7965         * event-stream.c (Fnext_event):
7966         * event-stream.c (is_scrollbar_event):
7967         * event-stream.c (execute_command_event):
7968         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7969         crash' problem.  His fix introduces other problems.  We filter
7970         out scrollbar events specifically, making them somewhat invisible
7971         to command-building, and not appearing in `this-command-keys'.
7972         More work is still needed (see comments in event-stream.c), but
7973         this fixes all the major problems.
7974
7975 2001-04-20  Ben Wing  <ben@xemacs.org>
7976
7977         * .cvsignore: Added stuff for Windows.
7978
7979 2001-04-28  Ben Wing  <ben@xemacs.org>
7980
7981         * buffer.c (Ferase_buffer):
7982         * editfns.c (buffer_insert1):
7983         * editfns.c (Finsert_before_markers):
7984         * editfns.c (Finsert_string):
7985         * editfns.c (Finsert_char):
7986         * editfns.c (Fdelete_region):
7987         * editfns.c (Fwiden):
7988         * editfns.c (Fnarrow_to_region):
7989         remove bogus lines setting zmacs_region_stays to 0.
7990         
7991 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7992
7993         * process-unix.c (unix_open_network_stream): If connect() fails
7994         invalidate file descriptor after closing it.
7995
7996 2001-03-08  Mike Alexander  <mta@arbortext.com>
7997
7998         * event-msw.c (mswindows_need_event_in_modal_loop):
7999         Don't dispatch a message if we didn't get one.
8000         (mswindows_need_event):
8001         Terminate the correct process when one exits instead of the first
8002         one on Vprocess_list and look for process termination when in
8003         mswindows_protect_modal_loop.
8004
8005 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8006
8007         * XEmacs 21.4.1 "Copyleft" is released.
8008
8009 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8010
8011         * input-method-motif.c (XIM_delete_frame): New callback.
8012         (XIM_init_frame): Register it.
8013
8014 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8015
8016         * XEmacs 21.4.0 "Solid Vapor" is released.
8017
8018 2001-04-15  Ben Wing  <ben@xemacs.org>
8019
8020         * cmdloop.c (call_command_loop):
8021         Fix braino in bit-rotting code.
8022         
8023 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8024
8025         * extents.c (Fset_extent_endpoints): Force creation of extent info
8026         in buffer_or_string.
8027
8028         * extents.c (process_extents_for_insertion_mapper): Correctly
8029         check for open-open zero-length extents.
8030
8031 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8032
8033         * lisp.h: New typedefs Memory_count, Element_count.
8034         * regex.c:
8035         * regex.h:
8036         Sign-compare warning elimination: several unsigned -> signed.
8037         Based on work by Ben Wing <ben@xemacs.org>.
8038
8039 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8040
8041         * XEmacs 21.2.47 "Zephir" is released.
8042
8043 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8044
8045         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8046
8047 2001-04-03  Mike Sperber <mike@xemacs.org>
8048
8049         * search.c: Revert previous patch due because of release.
8050
8051 2001-03-30  Ben Wing  <ben@xemacs.org>
8052
8053         * s\cygwin32.h:
8054         Add missing killpg prototype.
8055
8056         * elhash.c:
8057         Add a comment about fixing problems when a new entry is added
8058         while mapping.
8059
8060         * frame-msw.c (mswindows_init_frame_1):
8061         Fix compile warnings.
8062
8063         * menubar.c (vars_of_menubar):
8064         Provide `menu-accelerator-support' to indicate that we properly
8065         support %_ in menu specifications, so that package code can
8066         conditionalize on this (and remove %_ from menu specifications
8067         on older versions).
8068
8069         * event-msw.c:
8070         * scrollbar-msw.c:
8071         * scrollbar-msw.c (can_scroll):
8072         * scrollbar-msw.h:
8073         Fix handling of mouse wheel under Windows to follow standards --
8074         now scrolls window under pointer, not selected window.
8075
8076 2001-03-31  Mike Sperber <mike@xemacs.org>
8077
8078         * search.c (Freplace_match): Support FSF-style specification of
8079         match subexpression when applied to a buffer.
8080
8081 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8082
8083         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8084         function to modify KEYMAP, so map over a copy of the hash table.
8085
8086 2001-03-21  Martin Buchholz <martin@xemacs.org>
8087
8088         * XEmacs 21.2.46 "Urania" is released.
8089
8090 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8091
8092         * realpath.c (xrealpath): Make file-truename work with symlinks to
8093         /cygdrive paths on cygwin. Always lowercase drive-letters on
8094         native windows.
8095         (cygwin_readlink): Don't try to find canonical filename unless
8096         file exists.
8097
8098 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8099
8100         * ChangeLog: Log GTK merge.
8101
8102         * dumper.c:
8103         * select-x.c:
8104         * specifier.c:
8105         * symeval.h:
8106         Revert gratuitous whitespace changes from GTK merge.
8107
8108         * emacs.c: Document end of complex #ifdef @ l. 1495.
8109
8110
8111 2001-03-12  Andy Piper  <andy@xemacs.org>
8112
8113         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8114         have to do likewise.
8115
8116 2001-03-12  Andy Piper  <andy@xemacs.org>
8117
8118         * sysdep.c: we only support mingw now.
8119
8120 2001-03-09  Andy Piper  <andy@xemacs.org>
8121
8122         * unexcw.c (copy_executable_and_dump_data_section): making approx
8123         overrun a warning only.
8124
8125 2001-03-10  William M. Perry  <wmperry@aventail.com>
8126
8127         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8128         satisfy Stephen's identical-after-cpp plea.
8129
8130 2001-03-02  Ben Wing  <ben@xemacs.org>
8131
8132         * cmds.c:
8133         * cmds.c (Fforward_char):
8134         * syntax.c:
8135         * window.c:
8136
8137         Augment documentation of the most common motion commands to make
8138         note of the shifted-motion support.
8139         
8140 2001-03-02  Ben Wing  <ben@xemacs.org>
8141
8142         * nt.c (mswindows_fstat):
8143         * nt.c (mswindows_stat):
8144         * search.c (boyer_moore):
8145         Fix compile warnings under Windows.
8146         
8147         * sysdep.c (sys_readdir):
8148         Fix buggy filename-conversion code under Mule.
8149
8150 2001-03-09  William M. Perry  <wmperry@aventail.com>
8151
8152         * Makefile.in.in:
8153         * config.h.in:
8154         * console.c:
8155         * console.h:
8156         * device.c:
8157         * device.h:
8158         * dragdrop.c:
8159         * emacs.c:
8160         * event-stream.c:
8161         * events.c:
8162         * events.h:
8163         * faces.c:
8164         * frame.h:
8165         * general-slots.h:
8166         * glyphs.c:
8167         * gutter.c:
8168         * inline.c:
8169         * lisp.h:
8170         * lrecord.h:
8171         * make-src-depend:
8172         * redisplay-output.c:
8173         * redisplay.c:
8174         * symsinit.h:
8175         * sysfile.h:
8176         * toolbar.c:
8177         * window.c:
8178         The Great GTK Merge.
8179
8180         * ChangeLog.GTK:
8181         * console-gtk.c:
8182         * console-gtk.h:
8183         * device-gtk.c:
8184         * emacs-marshals.c:
8185         * emacs-widget-accessors.c:
8186         * event-gtk.c:
8187         * frame-gtk.c:
8188         * gccache-gtk.c:
8189         * gccache-gtk.h:
8190         * glade.c:
8191         * glyphs-gtk.c:
8192         * glyphs-gtk.h:
8193         * gtk-glue.c:
8194         * gtk-xemacs.c:
8195         * gtk-xemacs.h:
8196         * gui-gtk.c:
8197         * gui-gtk.h:
8198         * menubar-gtk.c:
8199         * native-gtk-toolbar.c:
8200         * objects-gtk.c:
8201         * objects-gtk.h:
8202         * redisplay-gtk.c:
8203         * scrollbar-gtk.c:
8204         * scrollbar-gtk.h:
8205         * select-gtk.c:
8206         * toolbar-gtk.c:
8207         * ui-byhand.c:
8208         * ui-gtk.c:
8209         * ui-gtk.h:
8210         The Great GTK Merge: new files.
8211
8212 2001-02-26  Ben Wing  <ben@xemacs.org>
8213
8214         Reapplied Lstream change.
8215
8216 2001-02-26  Ben Wing  <ben@xemacs.org>
8217
8218         Undid the last change, since it is more controversial than I
8219         thought.  It should be back in at some point soon.
8220         
8221 2001-02-25  Ben Wing  <ben@xemacs.org>
8222
8223         * buffer.c:
8224         * callproc.c (Fold_call_process_internal):
8225         * event-msw.c (ntpipe_slurp_reader):
8226         * event-msw.c (ntpipe_shove_writer):
8227         * event-msw.c (winsock_reader):
8228         * event-msw.c (winsock_writer):
8229         * file-coding.c:
8230         * file-coding.c (detect_eol_type):
8231         * file-coding.c (detect_coding_type):
8232         * file-coding.c (determine_real_coding_system):
8233         * file-coding.c (Fdetect_coding_region):
8234         * file-coding.c (decoding_reader):
8235         * file-coding.c (decoding_writer):
8236         * file-coding.c (mule_decode):
8237         * file-coding.c (Fdecode_coding_region):
8238         * file-coding.c (encoding_reader):
8239         * file-coding.c (encoding_writer):
8240         * file-coding.c (mule_encode):
8241         * file-coding.c (Fencode_coding_region):
8242         * file-coding.c (detect_coding_sjis):
8243         * file-coding.c (decode_coding_sjis):
8244         * file-coding.c (encode_coding_sjis):
8245         * file-coding.c (detect_coding_big5):
8246         * file-coding.c (decode_coding_big5):
8247         * file-coding.c (encode_coding_big5):
8248         * file-coding.c (detect_coding_ucs4):
8249         * file-coding.c (decode_coding_ucs4):
8250         * file-coding.c (encode_coding_ucs4):
8251         * file-coding.c (detect_coding_utf8):
8252         * file-coding.c (decode_coding_utf8):
8253         * file-coding.c (encode_coding_utf8):
8254         * file-coding.c (detect_coding_iso2022):
8255         * file-coding.c (decode_coding_iso2022):
8256         * file-coding.c (encode_coding_iso2022):
8257         * file-coding.c (decode_coding_no_conversion):
8258         * file-coding.c (encode_coding_no_conversion):
8259         * glyphs-x.c (write_lisp_string_to_temp_file):
8260         * gpmevent.c (tty_get_foreign_selection):
8261         * lisp.h:
8262         * lstream.c:
8263         * lstream.c (Lstream_flush_out):
8264         * lstream.c (Lstream_adding):
8265         * lstream.c (Lstream_write_1):
8266         * lstream.c (Lstream_write):
8267         * lstream.c (Lstream_raw_read):
8268         * lstream.c (Lstream_read_more):
8269         * lstream.c (Lstream_read):
8270         * lstream.c (Lstream_unread):
8271         * lstream.c (Lstream_fputc):
8272         * lstream.c (stdio_reader):
8273         * lstream.c (stdio_writer):
8274         * lstream.c (filedesc_reader):
8275         * lstream.c (filedesc_writer):
8276         * lstream.c (lisp_string_reader):
8277         * lstream.c (struct fixed_buffer_stream):
8278         * lstream.c (make_fixed_buffer_input_stream):
8279         * lstream.c (make_fixed_buffer_output_stream):
8280         * lstream.c (fixed_buffer_reader):
8281         * lstream.c (fixed_buffer_writer):
8282         * lstream.c (struct resizing_buffer_stream):
8283         * lstream.c (resizing_buffer_writer):
8284         * lstream.c (dynarr_writer):
8285         * lstream.c (lisp_buffer_reader):
8286         * lstream.c (lisp_buffer_writer):
8287         * lstream.h:
8288         * lstream.h (lstream_implementation):
8289         * lstream.h (struct lstream):
8290         * md5.c (Fmd5):
8291         * process-nt.c (nt_send_process):
8292         * process-unix.c (unix_send_process):
8293         
8294         Correct Lstream lossage due to mixing of signed and unsigned
8295         quantities.  All Lstream uses of size_t and ssize_t are now a
8296         single signed data type Lstream_data_count.  This fixes problems
8297         under Windows with sending large quantities of data to a process,
8298         and may well fix other subtle bugs.
8299
8300 2001-02-23  Martin Buchholz <martin@xemacs.org>
8301
8302         * XEmacs 21.2.45 "Thelxepeia" is released.
8303
8304 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8305
8306         * lisp-union.h (XSETINT): 
8307         (XSETCHAR):
8308         (XSETOBJ): 
8309         Reverse previous change of 2001-02-06.
8310
8311 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8312
8313         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8314         buffers.
8315         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8316         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8317         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8318         * regex.c (POS_AS_IN_BUFFER): removed
8319         * regex.c (re_search_2):
8320         * regex.c (re_match_2):
8321         Don't use an offset of 1 when calculating buffer positions, since
8322         `BI_BUF_BEGV' does it already.
8323
8324 2001-02-18  Wim Dumon  <wim@easics.be>
8325
8326         * insdel.c (prepare_to_modify_buffer): Also check for
8327         supersession when clash-detection is enabled. 
8328
8329 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8330
8331         * regex.c (re_match_2_internal):
8332         Convert temp characters from 'const unsigned char' to 're_char'.
8333         Fix crashing bug with extended characters under mule.
8334         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8335         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8336         font-lock, pdump, and new syntax-table code.
8337         * syntax.c (find_start_of_comment):
8338         (find_end_of_comment):
8339         (forward-comment):
8340         Fix crashing bugs involving moving beyond end of buffer.
8341         * syntax.c (find_start_of_comment):
8342         Fixed logic to allow proper detection of cases where the same
8343         character is used to end both a two-char comment start and a
8344         two-char comment end sequence. Fixes `(forward-comment -1)'.
8345         * syntax.c (find_start_of_comment):
8346         Return position just past last comment-end character for all cases
8347         (previously was only done for two-char comment-end sequences).
8348         * syntax.c (forward-comment):
8349         Take value returned from `find_end_of_comment', rather than
8350         incrementing it.
8351         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8352         Properly deal with BUFFERP (syntax_cache.object)
8353
8354 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8355
8356         * alloc.c (Fgarbage_collect): 
8357         * alloc.c (make_bit_vector_from_byte_vector):
8358         -Wsign-compare-correctness.
8359
8360 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8361
8362         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8363         (XSETCHAR): Likewise.
8364         (XSETOBJ): Likewise.
8365
8366 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8367
8368         * mule-canna.c (canna-func-delete_previous): 
8369         Rename to canna-func-delete-previous.
8370
8371 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8372
8373         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8374
8375 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8376
8377         * font-lock.c (find_context): Fix C++ compile errors introduced by
8378         recent patch
8379
8380 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8381
8382         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8383         pragma, but earlier ones barf on the same pragma.
8384
8385 2001-02-06  Mike Sperber <mike@xemacs.org>
8386
8387         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8388         `configure-mule-lisp-directory'.
8389
8390 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8391
8392         Make sure dump-id.c is compiled in the same way as other .c's.
8393         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8394         * dump-id.h: Remove.
8395         * emacs.c: Move dump-id.h into dumper.h.
8396         * dumper.h: Move dump-id.h into dumper.h.
8397         * Makefile.in.in:
8398         Use standard .c.o rule for building dump-id.o.
8399         Remove preprocessor flags from link command.
8400         Add dump-id.o to ${otherobjs} if PDUMP.
8401
8402 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8403
8404         Port FSF 20.7 syntax table improvements.
8405         * syntax.c.
8406         * syntax.h.
8407
8408         Fixups for new syntax table stuff.
8409         * dired.c: Include syntax.c.
8410         (Fdirectory_files): Initialize regex_match_object and
8411         regex_emacs_buffer.
8412         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8413         and Fget_char_property.
8414
8415         Use ported FSF 20.7 syntax table improvements.
8416         * font-lock.c.
8417         * regex.c.
8418         * search.c.
8419         
8420 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8421
8422         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8423         Unixware's enum boolean from sys/types.h.
8424
8425 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8426
8427         Fix support for building with latest Purify.
8428         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8429         (PURIFY_FLAGS): Likewise.
8430
8431 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8432
8433         * fileio.c (lisp_string_set_file_times): New.
8434         * fileio.c (Fcopy_file): Use it.
8435         Fixes bug:
8436         (copy-file filename non-ascii-filename t t)
8437         ==> No such file or directory, non-ascii-filename
8438
8439 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8440
8441         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8442         USHRT_MAX seems clearer than ~0 anyways.
8443
8444 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8445
8446         dumper improvements.  Inspired by Olivier.
8447         * dumper.c (pdump_max_align): New.
8448         * dumper.c (pdump_add_entry): Use pdump_max_align.
8449         * dumper.c (pdump_get_entry_list): Likewise.
8450         * dumper.c (pdump_scan_by_alignment): Likewise.
8451         Don't iterate through unnecessary alignments.
8452         * dumper.c (pdump_file_get): No need to align result of malloc().
8453         * dumper.c (pdump_mallocadr): Remove.  
8454         The result of malloc() is guaranteed to be maximally aligned.
8455         * dumper.c: s/elmt/elt/g;
8456         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8457         * dumper.c (pdump_alert_undump_object): Likewise.
8458         * dumper.c (pdump_align_table): 
8459         Don't support alignments > 64.
8460         Store ALIGNOF's, not shift counts, in table.
8461
8462 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8463
8464         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8465         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8466         * systime.h: Use HAVE_UTIME.
8467         * sysdep.c (struct utimbuf): Remove.
8468         * sysdep.c (set_file_times): Prefer utime() to utimes().
8469         * config.h.in (HAVE_UTIME): New.
8470         * config.h.in (HAVE_UTIME_H): Remove.
8471         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8472
8473 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8474
8475         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8476
8477 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8478
8479         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8480
8481 2001-02-08  Martin Buchholz <martin@xemacs.org>
8482
8483         * XEmacs 21.2.44 "Thalia" is released.
8484
8485 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8486
8487         Fixes crashes in kill-emacs on some systems.
8488         * process-unix.c (unix_kill_child_process):
8489         It's OK for kill() to fail with ESRCH.
8490
8491 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8492
8493         Contortions to make .gdbinit tricks work on most systems.
8494         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8495         * alloc.c (dbg_valmask): Make non-const.
8496         * alloc.c (dbg_typemask): Make non-const.
8497         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8498         * alloc.c (dbg_valbits): Make non-const.
8499         * alloc.c (dbg_gctypebits): Make non-const.
8500         * .gdbinit (decode_object): Make it work with AIX cc.
8501
8502 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8503
8504         * elhash.c (make_general_lisp_hash_table):
8505         Use simpler and more efficient calloc to clear entries.
8506
8507 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8508
8509         * window.c (window_scroll): Work around an AIX C compiler bug.
8510         Fixes 'scroll-up' does nothing problem with xlC.
8511
8512 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8513
8514         * .gdbinit: Remove obsolete comment.
8515
8516 2001-01-31  Mike Alexander  <mta@arbortext.com>
8517
8518         * select.c (Fown_selection_internal): Set owned_p for device
8519         method correctly.
8520
8521 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8522
8523         Port to g++ 2.97.
8524         "not" cannot be used as a macro name as it is an operator in C++
8525         * config.h.in: Stop #defining `not'.
8526         * chartab.c (check_category_char): not ==> not_p
8527         * chartab.h: Likewise.
8528         * regex.c (re_match_2_internal): Likewise.
8529
8530 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8531
8532         * lisp-disunion.h: Fix up comments.
8533
8534 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8535
8536         * keymap.c (define_key_check_and_coerce_keysym):
8537         (syms_of_keymap):
8538         Support mouse-6 and mouse-7 bindings in the obvious way.
8539
8540 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8541
8542         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8543
8544 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8545
8546         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8547         Previous patch missed DEFVAR_INT_MAGIC.
8548         Make sure future DEFVAR_foo use correct types.
8549         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8550         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8551         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8552         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8553         * (DEFVAR_INT): Likewise.
8554         * redisplay.c (vertical_clip): Should be of type Fixnum.
8555         * redisplay.c (horizontal_clip): Likewise.
8556         * lisp.h (dump_add_opaque_int): New.
8557         (dump_add_opaque_fixnum): New.
8558
8559 2001-01-29  Andy Piper  <andy@xemacs.org>
8560
8561         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8562         since they can be eval'ed
8563
8564 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8565
8566         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8567         Oops, XEmacs redefines `class'.  Use `typename' instead.
8568
8569 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8570
8571         * dumper.c: Fix C++ compile errors.
8572
8573 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8574
8575         * tparam.c: Use correct prototypes.
8576
8577 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8578
8579         * sysproc.h: #include util.h for NetBSD's openpty.
8580
8581 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8582
8583         More 64-bit correctness.
8584         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8585         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8586         Fix up comments.
8587         This finally finishes the 64-bit SGI port.
8588         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8589         * symbols.c: Fix up comments and type casts.
8590         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8591         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8592         * symeval.h (Fixnum): New type.
8593         * symeval.h (symbol_value_type): Fix up comment.
8594
8595         * commands.h:
8596         * nt.c:
8597         * emacs.c:
8598         * data.c:
8599         * redisplay.c:
8600         * abbrev.c:
8601         * dired-msw.c:
8602         * event-Xt.c:
8603         * eldap.c:
8604         * window.c:
8605         * sound.c:
8606         * event-stream.c:
8607         * eval.c:
8608         * buffer.c:
8609         * mule-canna.c: A million DEFVAR_INTs here...
8610         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8611         * extents.c:
8612         * cmdloop.c:
8613         * lisp.h:
8614         * select-x.c:
8615         * console-x.h:
8616         * event-msw.c:
8617         * mule-wnnfns.c:
8618         * hpplay.c:
8619         * ralloc.c:
8620         * alloc.c:
8621         * keymap.c:
8622         * profile.c:
8623         s/int/Fixnum/g in DEFVAR_INT declarations.
8624
8625 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8626
8627         Port pdump to SGI alignment-sensitive environment.
8628         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8629         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8630         properly aligned.
8631         Define and use aligned reading and writing macros.
8632         Use buffered stdio instead of posix i/o for faster dumping.
8633         Eliminate kludgy 256 byte space for header.
8634         Read and write from dump file using structs for alignment safety.
8635         * dumper.c (pdump_align_stream): New.
8636         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8637         * dumper.c (PDUMP_READ_ALIGNED): New.
8638         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8639         * dumper.c (pdump_static_Lisp_Object): New struct.
8640         * dumper.c (pdump_static_pointer): New struct.
8641         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8642         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8643         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8644         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8645
8646         * dumper.c (pdump_backtrace):
8647         * dumper.c (pdump_get_indirect_count):
8648         * dumper.c (pdump_register_object):
8649         * dumper.c (pdump_register_struct):
8650         * dumper.c (pdump_reloc_one):
8651         * dumper.c (pdump_scan_by_alignment):
8652         * dumper.c (pdump_dump_from_root_struct_ptrs):
8653         * dumper.c (pdump_dump_opaques):
8654         * dumper.c (pdump_dump_rtables):
8655         * dumper.c (pdump_dump_from_root_objects):
8656         * dumper.c (pdump):
8657         * dumper.c (pdump_load_finish):
8658         Use aligned reading and writing.
8659
8660         * dumper.c (pdump_free): Make static.
8661         * dumper.c (pdump_hFile): Likewise.
8662         * dumper.c (pdump_hMap): Likewise.
8663
8664 2001-01-26  Martin Buchholz <martin@xemacs.org>
8665
8666         * XEmacs 21.2.43 "Terspichore" is released.
8667
8668 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8669
8670         Type fiddling for window_config.saved_windows_count
8671         * window.c (struct window_config): 
8672         Make saved_windows_count member unsigned.
8673         * window.c (sizeof_window_config_for_n_windows): 
8674         Make parameter unsigned.
8675         * window.c (mark_window_config):
8676         * window.c (window_config_equal):
8677         * window.c (free_window_configuration):
8678         * window.c (Fset_window_configuration):
8679         * window.c (count_windows):
8680         * window.c (Fcurrent_window_configuration):
8681         * window.c (reinit_vars_of_window):
8682         Update all callers and users.
8683
8684 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8685
8686         Alignment correctness for flexible arrays.
8687         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8688         Make alignment-correct. Add interesting comments.
8689         * alloc.c (size_vector):
8690         * alloc.c (make_vector_internal):
8691         * alloc.c (make_bit_vector_internal):
8692         * alloc.c (sweep_bit_vectors_1):
8693         * fns.c (size_bit_vector):
8694         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8695         * window.c (sizeof_window_config_for_n_windows): 
8696         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8697
8698 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8699
8700         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8701
8702 2001-01-23  Andy Piper  <andy@xemacs.org>
8703
8704         * select.c (Fown_selection_internal): pass owned_p
8705
8706         * select-msw.c (mswindows_own_selection): New Signature.
8707
8708         * console.h (struct console_methods): add owned_p to
8709         _own_selection.
8710
8711         * select-x.c (x_own_selection): pass owned_p
8712         (hack_motif_clipboard_selection): use owned_p
8713         (vars_of_select_x): new variable -
8714         x_selection_strict_motif_ownership.
8715
8716 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8717
8718         * specifier.h (specifier_data_offset): Remove pointless parens.
8719         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8720
8721 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8722
8723         Make Lisp_Object sizeof methods be alignment-correct.
8724         pdump must restore objects to the same alignment as the C compiler
8725         assumes.  It really matters on SGIs.
8726         * lstream.c (aligned_sizeof_lstream): New.
8727         (sizeof_lstream): Use aligned_sizeof_lstream.
8728         (Lstream_new): Likewise.
8729         * opaque.c (aligned_sizeof_opaque): New.
8730         (sizeof_opaque): Use aligned_sizeof_opaque.
8731         (make_opaque): Likewise.
8732         * specifier.c (aligned_sizeof_specifier): New.
8733         (sizeof_specifier): Use aligned_sizeof_specifier.
8734         (make_specifier_internal): Likewise.
8735
8736 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8737
8738         * lstream.h (struct lstream): Use max_align_t for trailing data.
8739         * specifier.h (struct Lisp_Specifier): Likewise.
8740
8741 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8742
8743         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8744         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8745         (CCL_SUSPEND): Likewise.
8746         (CCL_INVALID_CMD): Likewise.
8747         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8748         (ccl_driver): Likewise.
8749         (CCL_WRITE_CHAR): Macro hygiene.
8750         (CCL_WRITE_STRING): Macro hygiene.
8751
8752 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8753
8754         Port "portable" dumper to SunOS 4 and HP-UX.
8755         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8756         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8757         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8758
8759 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8760
8761         * lisp.h (ALIGNOF): A better definition for C++.
8762
8763 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8764
8765         Macro hygiene.
8766         Fix printf warnings: int format, long int arg.
8767         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8768         (PUSH_FAILURE_POINT): Use correct printf formats.
8769         (POP_FAILURE_POINT): Use correct printf formats.  
8770         Use do {...} while (0)
8771
8772 2001-01-20  Martin Buchholz <martin@xemacs.org>
8773
8774         * XEmacs 21.2.42 "Poseidon" is released.
8775
8776 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8777
8778         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8779
8780 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8781
8782         De-kludgify FIXED_TYPE free list frobbing.
8783         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8784         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8785         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8786         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8787         * alloc.c (LRECORD_FREE_P): New.
8788         * alloc.c (MARK_LRECORD_AS_FREE): New.
8789         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8790         * alloc.c (STRUCT_FREE_P): Deleted.
8791         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8792         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8793         * alloc.c (STRING_CHARS_FREE_P): New.
8794         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8795         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8796         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8797         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8798         * alloc.c (resize_string): Use new definitions.
8799         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8800         * alloc.c (verify_string_chars_integrity): Use new definitions.
8801         * alloc.c (compact_string_chars): Use new definitions.
8802         * alloc.c: Update monster comments.
8803         * lrecord.h (lrecord_type): Add some new lrecord types for
8804         alloc.c's use.
8805
8806 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8807
8808         Improve alignment hackery.
8809         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8810         (max_align_t): Moved from opaque.h - general purpose.
8811         (ALIGN_PTR): Use size_t, not long.
8812         * opaque.h (max_align_t): Move to lisp.h.
8813
8814 2001-01-18  Norbert Koch  <nk@LF.net>
8815
8816         * gui.h: Fix and add prototypes to fix build problems.
8817
8818 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8819
8820         temacs is going away, so `dump-temacs' is now a bad name.
8821         * .dbxrc (dump-temacs): Rename to `dmp'.
8822         * .gdbinit (dump-temacs): Rename to `dmp'.
8823
8824 2001-01-17  Andy Piper  <andy@xemacs.org>
8825
8826         * glyphs.c (print_image_instance): comment to make martin happy.
8827
8828         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8829         change.
8830
8831         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8832         activation.
8833         (mswindows_tab_control_redisplay): warning suppression.
8834
8835         * glyphs-widget.c (widget_update): re-write to cope with updated
8836         items.
8837         (widget_instantiate): use new gui_item functions.
8838         (tab_control_update): deleted.
8839         (progress_gauge_update): deleted.
8840         (image_instantiator_progress_guage): take out update reference.
8841         (image_instantiator_tree_view): ditto.
8842         (image_instantiator_tab_control): ditto.
8843
8844         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8845         Right the new way.
8846         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8847         return whether anything was changed.
8848         (update_gui_item_keywords): as it sounds.
8849
8850         * gui.h: declare widget_gui_parse_item_keywords.
8851
8852         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8853         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8854
8855 2001-01-17  Martin Buchholz <martin@xemacs.org>
8856
8857         * XEmacs 21.2.41 "Polyhymnia" is released.
8858
8859 2001-01-16  Didier Verna  <didier@xemacs.org>
8860
8861         * glyphs.c (image_instantiate): don't use fallbacks when
8862         instantiating a face's background pixmap by inheritance.
8863
8864 2001-01-14  Mike Sperber <mike@xemacs.org>
8865
8866         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8867         Conditionalize accordingly.
8868
8869 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8870
8871         * dumper.c (pdump_file_get): Fix a compiler warning.
8872
8873 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8874
8875         Make Purify happy when pdumping.
8876         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8877         iniitalizing all bits of new lisp object memory.
8878         * symbols.c (Fmake_local_variable): Likewise.
8879         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8880         * symbols.c (Fdefvaralias): Likewise.
8881         * mule-charset.c (vars_of_mule_charset): Likewise.
8882
8883 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8884         Add the `-nd' flag when running pre-dump operations under the debugger.
8885         * .dbxrc (run-temacs): Add `-nd'.
8886         * .dbxrc (update-elc): Likewise.
8887         * .dbxrc (dump-temacs): Likewise.
8888         * .gdbinit (run-temacs): Likewise.
8889         * .gdbinit (check-temacs): Likewise.
8890         * .gdbinit (update-elc): Likewise.
8891         * .gdbinit (dump-temacs): Likewise.
8892
8893 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8894
8895         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8896         export OBJECT_MODE=64
8897         configure --pdump --use-union-type=no
8898         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8899         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8900
8901         * miscplay.c (sndcnv8U_2mono):
8902         Avoid two uses of `++' in the same expression.
8903         Suppresses a GCC warning.
8904
8905 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8906
8907         Make sure future compilers don't miscompile alloc.c.
8908         * alloc.c:
8909         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8910         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8911
8912 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8913
8914         * dumper.c: A little post-pdump-rename comment fixup.
8915
8916 2001-01-09  Jerry James  <james@eecs.ku.edu>
8917
8918         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8919
8920 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8921
8922         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8923         script:
8924         #!/bin/sh
8925         replace_symbol () {
8926           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8927         }
8928
8929         replace_symbol pdump_wire_lists pdump_weak_object_chains
8930         replace_symbol pdump_wire_list dump_add_weak_object_chain
8931
8932         replace_symbol pdump_wires pdump_root_objects
8933         replace_symbol pdump_wire dump_add_root_object
8934
8935         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8936         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8937
8938         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8939         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8940         replace_symbol dumpstructinfo pdump_root_struct_ptr
8941         replace_symbol dumpstruct dump_add_root_struct_ptr
8942
8943         replace_symbol dumpopaque dump_add_opaque
8944         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8945         replace_symbol dumpopaqueinfos pdump_opaques
8946         replace_symbol dumpopaqueinfo pdump_opaque
8947
8948         replace_symbol nb_structdump nb_root_struct_ptrs
8949         replace_symbol nb_opaquedump nb_opaques
8950
8951         replace_symbol align_table pdump_align_table
8952         replace_symbol dump_header pdump_header
8953
8954         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8955         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8956
8957
8958 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8959
8960         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8961         optimizing bytecount_to_charcount().
8962
8963 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8964
8965         * config.h.in:
8966         (HAVE_DLFCN_H): Removed.
8967         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8968
8969 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8970
8971         Portable dumper maintainability improvements.
8972         * alloc.c (staticpro):
8973         * alloc.c (staticpro_nodump):
8974         * alloc.c (garbage_collect_1):
8975         * alloc.c (reinit_alloc_once_early):
8976         * alloc.c (init_alloc_once_early):
8977         * alloc.c: Move dumper functions to alloc.c.
8978         * dumper.c (pdump_backtrace):
8979         * dumper.c (pdump_dump_structs):
8980         * dumper.c (pdump_dump_opaques):
8981         * dumper.c (pdump_dump_rtables):
8982         * dumper.c (pdump_dump_wired):
8983         * dumper.c (pdump):
8984         * dumper.c (pdump_load_check):
8985         * dumper.c (pdump_load_finish):
8986         * dumper.c (pdump_file_unmap):
8987         * dumper.c (pdump_file_get):
8988         * dumper.c (pdump_resource_free):
8989         * dumper.c (pdump_resource_get):
8990         * dumper.c (pdump_file_free):
8991         * dumper.c (pdump_file_try):
8992         * dumper.c (pdump_load):
8993         Remove fixed size limits on staticpro(), staticpro_nodump(),
8994         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8995         Remove custom code for dumping lrecord_implementations_table - use
8996         dumpopaque instead.
8997         Remove (most of the) custom code for dumping staticpros - dump it
8998         like any other dynarr.
8999
9000         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9001         * dumper.c: Moved functions from alloc.c.
9002         * alloc.c (dumpstruct): Moved to dumper.c.
9003         * alloc.c (dumpopaque): Likewise.
9004         * alloc.c (pdump_wire): Likewise.
9005         * alloc.c (pdump_wire_list): Likewise.
9006
9007         * lisp.h (Dynarr_sizeof): New.
9008         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9009         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9010         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9011
9012         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9013         * lisp.h (dumpopaque): ditto.
9014         * lisp.h (pdump_wire): ditto.
9015         * lisp.h (pdump_wire_list): ditto.
9016
9017 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9018
9019         * make-src-depend (PrintPatternDeps):
9020         Use `sort' to make output independent of perl version.
9021
9022 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9023
9024         Port to Netbsd 1.5.
9025         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9026         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9027
9028 2001-01-03  Didier Verna  <didier@xemacs.org>
9029
9030         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9031         that `focus_frame' is alive before thinking of calling
9032         `redisplay_redraw_cursor' on it.
9033
9034 2001-01-08  Martin Buchholz <martin@xemacs.org>
9035
9036         * XEmacs 21.2.40 is released.
9037
9038 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9039
9040         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9041
9042 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9043
9044         * alloc.c (dbg_valmask): Make const.
9045         * alloc.c (dbg_typemask): Make const.
9046         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9047         * alloc.c (dbg_valbits): Make const.
9048         * alloc.c (dbg_gctypebits): Make const.
9049
9050 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9051
9052         * redisplay-x.c (x_bevel_area):
9053         redisplay.h (struct rune):
9054         Typo fixes in comments.
9055
9056 2001-01-05  Andy Piper  <andy@xemacs.org>
9057
9058         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9059         adjustment.
9060
9061         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9062
9063 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9064
9065         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9066
9067         * mule-ccl.c (stack_idx_of_map_multiple):
9068         Non const global data must not be initialized!
9069         Found by MIYASHITA Hisashi.
9070
9071 2001-01-02  Andy Piper  <andy@xemacs.org>
9072
9073         * frame.c (change_frame_size): make sure frame size is always
9074         marked as changed.
9075
9076         * glyphs.c (image_instance_layout): minor code reuse.
9077
9078         * window.c (Fcurrent_window_configuration): revert previous
9079         change.
9080
9081 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9082
9083         * glyphs.h:
9084         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9085
9086 2000-12-31  Andy Piper  <andy@xemacs.org>
9087
9088         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9089         when widget gets unmapped.
9090
9091         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9092         function. Make sure widgets losing focus don't just drop it.
9093         (handle_focus_event_1): record the widget with focus.
9094
9095 2000-12-31  Andy Piper  <andy@xemacs.org>
9096
9097         * window.c (allocate_window): use
9098         make_image_instance_cache_hash_table.
9099         (make_dummy_parent): ditto.
9100         (Fset_window_configuration): ditto.
9101
9102         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9103
9104         * glyphs.c (process_image_string_instantiator): use
9105         INSTANTIATOR_TYPE.
9106         (get_image_instantiator_governing_domain): ditto.
9107         (normalize_image_instantiator): ditto.
9108         (instantiate_image_instantiator): ditto.
9109         (make_image_instance_1): ditto.
9110         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9111         (instantiator_eq_equal): new function for use with instance hash
9112         tables.
9113         (instantiator_eq_hash): ditto.
9114         (make_image_instance_cache_hash_table): create a suitable hash
9115         table for storing image instances.
9116
9117         * elhash.h (hash_table_weakness): new internal weakness type
9118         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9119         declare new functions.
9120
9121         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9122         another weakness type for glyphs.
9123         (make_standard_lisp_hash_table): new function split out from
9124         make_general_lisp_hash_table.
9125         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9126         (hash_table_instantiate): ditto.
9127         (Fmake_hash_table): ditto.
9128
9129 2000-12-31  Martin Buchholz <martin@xemacs.org>
9130
9131         * XEmacs 21.2.39 is released.
9132
9133 2000-12-29  Andy Piper  <andy@xemacs.org>
9134
9135         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9136
9137         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9138         the frame has changed so that we pick up geometry changes such as
9139         menubar visibility.
9140
9141 2000-12-28  Andy Piper  <andy@xemacs.org>
9142
9143         * lastfile.c (my_ebss): make a char array so we can pad the
9144         bss. Fixes cygwin unexec.
9145
9146         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9147
9148 2000-12-26  Andy Piper  <andy@xemacs.org>
9149
9150         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9151         comments and try and be more precise about a non-/SIGIO world.
9152         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9153         SIGIO.
9154
9155         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9156         we don't normalize to zero width or height.
9157
9158 2000-12-24  Andy Piper  <andy@xemacs.org>
9159
9160         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9161
9162 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9163
9164         * s/sco5.h: SCO 5 has pty support.
9165
9166 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9167
9168         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9169         input-method-xlib.c contains whole contents of input-method-xfs.c,
9170         so we can use input-method-xlib.c's code for USE_XFONTSET
9171         using #ifdefs.
9172         * input-method-xfs.c: removed.
9173
9174 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9175
9176         * file-coding.h (enum coding_category_type): reorder enumerators to
9177         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9178         (now one greater than largest real coding_category_type enumerator).
9179         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9180         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9181         Fcoding_category_list, Fset_coding_priority_list,
9182         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9183         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9184
9185 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9186
9187         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9188         * redisplay-output.c (redisplay_output_window): Clear top of window
9189         when face is changed.
9190         * redisplay-x.c (x_redraw_exposed_window): Call
9191         redisplay_clear_top_of_window.
9192         * redisplay.h: Publish redisplay_clear_top_of_window.
9193
9194 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9195
9196         * buffer.c (Fkill_buffer): Map over all devices.
9197         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9198         (list_windows): New function.
9199         (list_all_windows): Ditto.
9200         (Freplace_buffer_in_windows): Use them.
9201
9202 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9203
9204         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9205         (Fopen_database): Use `db_create' instead of `db_open'.
9206         (syms_of_database): Initialize Qqueue.
9207
9208 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9209
9210         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9211         buffer_local_face_property.
9212         * buffer.h (struct buffer): New member buffer_local_face_property.
9213         * window.c (Fset_window_buffer):  Mark window's face as changed
9214         when buffer has buffer local face.
9215         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9216         * objects.c (color_after_change): Set buffer_local_face_property
9217         when locale of face specifier is buffer.
9218         * objects.c (font_after_change): Ditto.
9219         * objects.c (face_boolean_after_change): Ditto.
9220         * glyphs.c (image_after_change): Ditto.
9221
9222 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9223
9224         * nt.c (mswindows_fstat): Report file permissions, volume serial
9225         number, etc. Code adapted from FSF Emacs 20.7.
9226
9227 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9228
9229         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9230         of stat when we don't have symbolic links, to make sure
9231         mswindows_stat is called on mswindows.
9232
9233 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9234
9235         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9236
9237 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9238
9239         * doprnt.c (emacs_doprnt_1): More printing fixes.
9240         Make printing of numbers compatible with libc and FSF Emacs.
9241         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9242         Use the system printf to do most of the hard work of formatting,
9243         instead of doprnt_1().
9244         Calculate memory to allocate for format string.
9245         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9246         (doprnt_1): Cleaner code and documentation.
9247
9248 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9249
9250         * Makefile.in.in: Use the loop variable to install headers.
9251
9252 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9253
9254         * window.c (Fsplit_window): Don't invalidate face cache.
9255
9256 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9257
9258         * minibuf.c (Fall_completions): Undo the previous change
9259         which removed checking elements start with space.
9260
9261 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9262
9263         * mule-canna.c: Didier suppression.
9264
9265 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9266
9267         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9268         (warning suppression).  Add English comment translations.
9269
9270 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9271
9272         * unexelfsgi.c (unexec): Better test for mmap failure.
9273
9274 2000-12-05  Martin Buchholz <martin@xemacs.org>
9275
9276         * XEmacs 21.2.38 is released.
9277
9278 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9279
9280         * redisplay.c (bar-cursor): Make a user variable.
9281
9282         * symsinit.h: Add init_postgresql_from_environment.
9283
9284 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9285
9286         * regex.c: Convert to clean C.
9287
9288 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9289
9290         * realpath.c:
9291         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9292         initialization.
9293         (sys_readlink): renamed to system_readlink to avoid conflict with
9294         the other sys_readlink.
9295
9296 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9297
9298         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9299
9300 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9301
9302         * postgresql.c (init_postgresql_from_environment): new function.
9303         (vars_of_postgresql): Move code initializing Lisp variables out and
9304         into init_postgresql_from_environment.
9305         emacs.c (main_1): Call init_postgresql_from_environment if and only
9306         if running a dumped XEmacs.
9307
9308 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9309
9310         * buffer.c: Make find-file-compare-truenames default to true on
9311         windows.
9312
9313         * realpath.c (win32_abs_start):
9314         (cygwin_readlink):
9315         (win32_readlink): New functions.
9316         (xrealpath): Return really real filenames on windows.
9317
9318         * fileio.c (Ffile_truename): Make file-truename work on windows.
9319
9320 2000-11-29  Didier Verna  <didier@xemacs.org>
9321
9322         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9323         * faces.c (update_face_cachel_data): use it.
9324         * faces.c (add_face_cachel): use it. Complete background pixmap
9325         frobbing in face cache if `update_face_cachel_data' has not done so.
9326
9327 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9328
9329         * search.c (string_match_1): Don't set last_thing_searched
9330         when search failed.
9331
9332 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9333
9334         * buffer.c: Include casetab.h
9335         (common_init_complex_vars_of_buffer): Use new case-table object.
9336         * buffer.h: Include casetab.h
9337         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9338         (DOWNCASE_TABLE_OF): Ditto.
9339         * bufslots.h: Remove char-tables and add case-table.
9340         * casetab.c: Include casetab.h
9341         (CASE_TABLE_P): Removed.
9342         (mark_case_table): New function.
9343         (allocate_case_table): New function.
9344         (Fcase_table_p): Use new case-table.
9345         (case_table_char): New function.
9346         (Fget_case_table): Ditto.
9347         (Fput_case_table): Ditto.
9348         (Fput_case_table_pair): Ditto.
9349         (Fcopy_case_table): Ditto.
9350         (Fcurrent_case_table): Return case-table.
9351         (Fstandard_case_table): Return case-table.
9352         (Fset_case_table): Fix doc-string.
9353         (set_case_table): Use case-table
9354         (syms_of_casetab): DEFSUBR new functions.
9355         (complex_vars_of_casetab): Set up standard case-table.
9356         * casetab.h: New file.
9357         * editfns.c: Include casetab.h
9358         (Fcompare_buffer_substrings): Use case-table.
9359         * inline.c: Include casetab.h
9360         * lisp.h: Remove bogus extern.
9361         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9362         * search.c: Include casetab.h
9363         (TRANSLATE_ASCII): Removed.
9364         (TRANSLATE): Unconditionally translate character.
9365         (looking_at_1): Use case-table.
9366         (string_match_1): Ditto.
9367         (fast_string_match): Ditto.
9368         (search_command): Ditto.
9369         (search_buffer): Separate boyer_moore.  Check whether
9370         boyer_moore is possible.
9371         (simple_search): New function.
9372         (boyer_moore): Separated from search_buffer. Translate char.
9373
9374 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9375
9376         * regex.c (RE_TR_ASCII): Removed.
9377         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9378         (PATFETCH): Call PATFETCH_RAW.
9379         (PATFETCH_RAW): Fetch Emchar.
9380         (PATUNFETCH): Decrement charptr.
9381         (GET_BUFFER_SPACE): Rename b to buf_end.
9382         (BUF_PUSH): Ditto.
9383         (BUF_PUSH_2): Ditto.
9384         (BUF_PUSH_3): Ditto.
9385         (EXTEND_BUFFER): Ditto.
9386         (SET_LIST_BIT): Ditto.
9387         (regex_compile): Ditto.  Translate non ASCII char.
9388         (compile_range): Ditto.
9389         (re_search_2): Ditto.
9390         (re_match_2_internal): Compare Emchar.
9391         (bcmp_translate): Ditto.
9392
9393 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9394
9395         * lisp.h (basic char/int typedefs):  comment improvement.
9396
9397 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9398
9399         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9400         unstomp inhibit_site_lisp.  Improve comments.
9401
9402 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9403
9404         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9405
9406 2000-11-28  Andy Piper  <andy@xemacs.org>
9407
9408         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9409         clipped display for windows in the gutter also.
9410         (redisplay_display_boxes_in_window_p): change semantics of return
9411         codes to be more intuitive.
9412
9413         * gutter.h: declare display_boxes_in_gutter_p.
9414
9415         * gutter.c (display_boxes_in_gutter_p): new function for
9416         redisplay.
9417
9418 2000-11-22  Andy Piper  <andy@xemacs.org>
9419
9420         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9421         autodetect domain.
9422
9423 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9424
9425         * callproc.c (Fold_call_process_internal):
9426         * gpm.c (Freceive_gpm_event):
9427         (tty_get_foreign_selection): Might be just warning supression.
9428         * fileio.c (Fwrite_region_internal):
9429         (Fset_visited_file_modtime):
9430         * keymap.c (event_matches_key_specifier_p):
9431         Initialize GCPROed variable.
9432
9433         * menubar-x.c (command_builder_find_menu_accelerator):
9434         Initialize before use.
9435
9436 2000-11-23  Andy Piper  <andy@xemacs.org>
9437
9438         * unexcw.c (unexec): make the resulting executable executable.
9439
9440 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9441
9442         * doc.c (get_doc_string):
9443         Use size_t, not int, for result of XSTRING_LENGTH.
9444
9445         * cmds.c (Fdelete_char):
9446         * cmds.c (Fpoint_at_eol):
9447         * cmds.c (Fself_insert_command):
9448         Use EMACS_INT, not int, for result of XINT.
9449         Someday, someone will want to insert more than 2**31 identical characters.
9450
9451         * cmds.c (Fdelete_char):
9452         * cmds.c (Fdelete_backward_char):
9453         * syntax.c (Fforward_word):
9454         * syntax.c (Fforward_comment):
9455         Make COUNT argument optional, for consistency with forward-char et al.
9456
9457 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9458
9459         * lisp.h:
9460         * print.c (long_to_string):
9461         Return a useful value: the pointer at end of data written.
9462
9463         * doprnt.c:
9464         Use `static const char * const' for constant strings.
9465         (union printf_arg): Delete `i', `ui' members.
9466         (get_doprnt_args):
9467         (emacs_doprnt_1):
9468         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9469         Do all printf-ing via the `l' specifier.
9470         Use EMACS_INT instead of int.
9471         Optimize.
9472
9473 2000-11-20  Didier Verna  <didier@xemacs.org>
9474
9475         * faces.c (update_face_cachel_data): don't frob the background
9476         pixmap when the window is being created. The face is needed but
9477         does not exist yet.
9478
9479 2000-11-20  Andy Piper  <andy@xemacs.org>
9480
9481         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9482         messing with a debug environment.
9483
9484 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9485
9486         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9487
9488 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9489
9490         * casetab.c (Fcase_table_p): Fix compile error and crash.
9491
9492 2000-11-18  Philip Aston  <philipa@mail.com>
9493
9494         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9495
9496 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9497
9498         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9499         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9500
9501 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9502
9503         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9504         * unexelf.c: Use HAVE_ELF_H.
9505         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9506         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9507         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9508         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9509         for testing.
9510         So this is an unexelfsgi.c from a different line of development.
9511
9512 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9513
9514         * regex.c (RE_TR_ASCII): New function.
9515         (RE_TRANSLATE): Call it.
9516
9517 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9518
9519         * buffer.h (TRT_TABLE_OF): Remove assert.
9520         (IN_TRT_TABLE_DOMAIN): Removed.
9521
9522 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9523
9524         * free-hook.c (log_gcpro):
9525         (show_gcprohist): Add support for GCPRO5.
9526
9527 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9528
9529         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9530
9531 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9532
9533         * symeval.h: Declare flush_all_buffer_local_cache.
9534
9535         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9536         (flush_buffer_local_cache): Added.
9537         (flush_all_buffer_local_cache): Added.
9538
9539         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9540
9541         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9542         (pdump_dump_data): Ditto.
9543         (pdump_reloc_one): Ditto.
9544         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9545         before dumping.
9546
9547
9548 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9549
9550         * buffer.c: Remove if 0'ed entry.
9551         * buffer.h: Rewrite TRT to use char-table.
9552         * bufslots.h: Remove mirror tables.
9553         * casetab.c: Remove mirror tables.
9554         (CASE_TABLE_P): New macro.
9555         (Fcase_table_p): Element of a case table is string or char-table.
9556         (make_mirror_trt_table): Removed.
9557         (set_case_table): Setup char-table from strings for backward
9558         compatibility.
9559         * dired.c (Fdirectory_files):
9560         * dired-msw.c: (mswindows_get_files):
9561         * lisp.h: Change prototype of re_pattern_buffer.
9562         * regex.c: (RE_TRANSLATE): New macro.
9563         (TRANSLATE_P): Ditto.
9564         Change translate to type RE_TRANSLATE_TYPE.
9565         * regex.h: Define RE_TRANSLATE_TYPE
9566         * search.c (TRANSLATE): New macro.
9567         (TRANSLATE_ASCII): New macro.
9568         Translate table is changed to Lisp_Object.
9569         (signal_failure): Inhibit return.
9570
9571 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9572
9573         * device-msw.c:
9574         * eldap.c:
9575         * event-Xt.c:
9576         * event-stream.c:
9577         * print.c:
9578         Do UNGCPRO before return.
9579
9580 2000-11-14  Martin Buchholz <martin@xemacs.org>
9581
9582         * XEmacs 21.2.37 is released.
9583
9584 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9585
9586         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9587         Add comments about discarded return value.
9588
9589 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9590
9591         * callint.c:
9592         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9593
9594 2000-10-27  Andy Piper  <andy@xemacs.org>
9595
9596         * gutter.c (Fset_default_gutter_position): default left and right
9597         gutters to visible.
9598         (calculate_gutter_size): calculate resonable heuristic for left
9599         and right gutter sizes.
9600         (specifier_vars_of_gutter): change left and right gutter sizes to
9601         autodetect.
9602         (calculate_gutter_size_from_display_lines): new function.
9603         (output_gutter): check for resizing on left and right gutters.
9604         (clear_gutter): don't special case top and left gutters.
9605         (specifier_vars_of_gutter): use new signature for
9606         set_specifier_caching.
9607
9608         * glyphs-x.c (x_redisplay_widget): spelling fix.
9609         * glyphs.c (specifier_vars_of_glyphs):
9610         * menubar.c (specifier_vars_of_menubar):
9611         * redisplay.c (specifier_vars_of_redisplay):
9612         * toolbar.c (specifier_vars_of_toolbar):
9613         * window.c (specifier_vars_of_window):
9614         * scrollbar.c (specifier_vars_of_scrollbar):
9615         (complex_vars_of_scrollbar): use new signature for
9616         set_specifier_caching.
9617
9618         * specifier.c (set_specifier_caching): include recompute flag.
9619         (recompute_one_cached_specifier_in_window): always recompute if
9620         flag set.
9621         (recompute_one_cached_specifier_in_frame): ditto.
9622
9623         * specifier.h (struct specifier_caching): add recompute flag.
9624
9625 2000-10-24  Andy Piper  <andy@xemacs.org>
9626
9627         * unexcw.c (copy_executable_and_dump_data_section): add new
9628         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9629         5.0 happy.
9630
9631 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9632
9633         * console-x.h (x_device): New member modifier_release_time.
9634         * event-Xt.c (x_handle_sticky_modifiers):
9635         Bound interval modifier keys are sticky.
9636         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9637         * events.h: extern it.
9638
9639 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9640
9641         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9642
9643 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9644
9645         * event-stream.c (execute_command_event): Preserve current_events
9646         and the like when event is misc-user-event.
9647         Inhibit quit during the call to maybe_echo_keys.
9648
9649 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9650
9651         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9652         symlink when buffer is killed.
9653         (inhibit_clash_detection): New variable.
9654
9655 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9656
9657         * console.c (Fset_input_method): Trigger redisplay on tty.
9658
9659 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9660
9661         * process.c (Fprocess_status): Revert to previous behavior:
9662         (process-status "nosuchprocess") ==> nil
9663
9664 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9665
9666         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9667         Work around another GCC 2.95.2 optimizer bug.
9668
9669 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9670
9671         * process.c (Fget_process): Use LIST_LOOP_2.
9672         (kill_buffer_processes): Use LIST_LOOP_2.
9673
9674         * minibuf.c (Fall_completions):
9675         Delete old non-functional code for FSF fourth argument.
9676
9677         * frame.c (frame_matches_frame_spec):
9678         Renamed from `frame_matches_frametype'.  Update all callers.
9679         (device_matches_device_spec):
9680         Renamed from 'device_matches_console_spec'.  Update all callers.
9681
9682         * doc.c (Fsubstitute_command_keys):
9683         Remove buffer overflow crash.  Small code cleanups.
9684
9685         * casetab.c (check_case_table): Simpler code.
9686
9687         * window.c (Freplace_buffer_in_windows):
9688         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9689         (and similar implementation) as Fdelete_windows_on.
9690         Update all callers.
9691
9692         * alloc.c (Fmake_list):
9693         * alloc.c (make_vector):
9694         * alloc.c (Fmake_vector):
9695         * alloc.c (make_bit_vector):
9696         * alloc.c (Fmake_bit_vector):
9697         * alloc.c (Fbit_vector):
9698         * alloc.c (Fmake_string):
9699         * alloc.c (Fpurecopy):
9700         * alloc.c (Fmemory_limit):
9701         * buffer.c:
9702         * buffer.c (Fget_buffer):
9703         * buffer.c (Fkill_buffer):
9704         * buffer.c (complex_vars_of_buffer):
9705         * bytecode.c (Fcompiled_function_stack_depth):
9706         * callint.c (Fprefix_numeric_value):
9707         * event-stream.c:
9708         * event-stream.c (Fread_key_sequence):
9709         * casetab.c:
9710         * casetab.c (Fcase_table_p):
9711         * casetab.c (check_case_table):
9712         * casetab.c (Fset_case_table):
9713         * casetab.c (Fset_standard_case_table):
9714         * chartab.c:
9715         * chartab.c (Fchar_table_type):
9716         * chartab.c (Freset_char_table):
9717         * chartab.c (Fget_char_table):
9718         * chartab.c (Fget_range_char_table):
9719         * chartab.c (Fput_char_table):
9720         * chartab.c (Fmap_char_table):
9721         * chartab.c (Fcategory_table_p):
9722         * chartab.c (Fcheck_category_at):
9723         * chartab.c (Fchar_in_category_p):
9724         * chartab.c (Fcategory_table):
9725         * chartab.c (Fcopy_category_table):
9726         * chartab.c (Fset_category_table):
9727         * chartab.c (Fcategory_designator_p):
9728         * chartab.c (Fcategory_table_value_p):
9729         * cmds.c (Fdelete_char):
9730         * cmds.c (Fdelete_backward_char):
9731         * cmds.c (Fself_insert_command):
9732         * cmds.c (Fself_insert_internal):
9733         * console.c (Fvalid_console_type_p):
9734         * console.c (Fcdfw_console):
9735         * console.c (Fconsole_type):
9736         * console.c (Fconsole_name):
9737         * console.c (Fconsole_device_list):
9738         * console.c (Fconsole_on_window_system_p):
9739         * data.c:
9740         * data.c (Feq):
9741         * data.c (Fold_eq):
9742         * data.c (Fsubr_interactive):
9743         * data.c (Fchar_to_int):
9744         * data.c (Fint_to_char):
9745         * data.c (Fsetcar):
9746         * data.c (Fsetcdr):
9747         * data.c (Fnumber_to_string):
9748         * data.c (Fstring_to_number):
9749         * data.c (Frem):
9750         * database.c (mark_database):
9751         * database.c (finalize_database):
9752         * database.c (Fdatabase_live_p):
9753         * database.c (Fdatabasep):
9754         * device-x.c (Fx_get_resource):
9755         * device.c (Fdfw_device):
9756         * dired.c:
9757         * dired.c (Ffile_name_completion):
9758         * dired.c (Ffile_name_all_completions):
9759         * dired.c (Fuser_name_completion):
9760         * dired.c (Fuser_name_completion_1):
9761         * dired.c (Fuser_name_all_completions):
9762         * doc.c (Fdocumentation):
9763         * doc.c (Fdocumentation_property):
9764         * doc.c (Fsubstitute_command_keys):
9765         * editfns.c:
9766         * editfns.c (Fchar_to_string):
9767         * editfns.c (Fstring_to_char):
9768         * editfns.c (Ftemp_directory):
9769         * editfns.c (Finsert_char):
9770         * editfns.c (Fbuffer_substring_no_properties):
9771         * editfns.c (Fnarrow_to_region):
9772         * editfns.c (Fchar_equal):
9773         * editfns.c (Fchar_Equal):
9774         * editfns.c (Ftranspose_regions):
9775         * emacs.c (Fdump_emacs):
9776         * eval.c (Fthrow):
9777         * eval.c (Fcommand_execute):
9778         * eval.c (Fautoload):
9779         * eval.c (Fbacktrace):
9780         * eval.c (Fbacktrace_frame):
9781         * events.c:
9782         * events.c (Fcopy_event):
9783         * events.c (Fcharacter_to_event):
9784         * events.c (Fevent_button):
9785         * events.c (Fevent_process):
9786         * extents.c:
9787         * extents.c (Fnext_extent_change):
9788         * extents.c (Fextent_property):
9789         * faces.c (Ffacep):
9790         * faces.c (Fmake_face):
9791         * file-coding.c:
9792         * file-coding.c (Fencode_shift_jis_char):
9793         * file-coding.c (Fencode_big5_char):
9794         * fileio.c (Ffile_name_directory):
9795         * fileio.c (Ffile_name_nondirectory):
9796         * fileio.c (Ffile_name_as_directory):
9797         * fileio.c (Fdirectory_file_name):
9798         * fileio.c (Ffile_truename):
9799         * fileio.c (Fsubstitute_in_file_name):
9800         * fileio.c (Ffile_modes):
9801         * fileio.c (Fset_file_modes):
9802         * fileio.c (Fset_default_file_modes):
9803         * fileio.c (Fverify_visited_file_modtime):
9804         * floatfns.c (Facos):
9805         * floatfns.c (Fasin):
9806         * floatfns.c (Fatan):
9807         * floatfns.c (Fcos):
9808         * floatfns.c (Fsin):
9809         * floatfns.c (Ftan):
9810         * floatfns.c (Fbessel_j0):
9811         * floatfns.c (Fbessel_j1):
9812         * floatfns.c (Fbessel_jn):
9813         * floatfns.c (Fbessel_y0):
9814         * floatfns.c (Fbessel_y1):
9815         * floatfns.c (Fbessel_yn):
9816         * floatfns.c (Ferf):
9817         * floatfns.c (Ferfc):
9818         * floatfns.c (Flog_gamma):
9819         * floatfns.c (Fexp):
9820         * floatfns.c (Fexpt):
9821         * floatfns.c (Flog):
9822         * floatfns.c (Flog10):
9823         * floatfns.c (Fsqrt):
9824         * floatfns.c (Fcube_root):
9825         * floatfns.c (Facosh):
9826         * floatfns.c (Fasinh):
9827         * floatfns.c (Fatanh):
9828         * floatfns.c (Fcosh):
9829         * floatfns.c (Fsinh):
9830         * floatfns.c (Ftanh):
9831         * floatfns.c (Fabs):
9832         * floatfns.c (Ffloat):
9833         * floatfns.c (Flogb):
9834         * floatfns.c (Fceiling):
9835         * floatfns.c (Ffloor):
9836         * floatfns.c (Fround):
9837         * floatfns.c (Ftruncate):
9838         * floatfns.c (Ffceiling):
9839         * floatfns.c (Fffloor):
9840         * floatfns.c (Ffround):
9841         * floatfns.c (Fftruncate):
9842         * fns.c (Fstring_equal):
9843         * fns.c (Fstring_lessp):
9844         * fns.c (concat2):
9845         * fns.c (concat3):
9846         * fns.c (vconcat2):
9847         * fns.c (vconcat3):
9848         * fns.c (Fsubstring):
9849         * fns.c (Fassoc):
9850         * fns.c (Fold_assoc):
9851         * fns.c (assoc_no_quit):
9852         * fns.c (Fassq):
9853         * fns.c (Fold_assq):
9854         * fns.c (assq_no_quit):
9855         * fns.c (Frassoc):
9856         * fns.c (Fold_rassoc):
9857         * fns.c (Frassq):
9858         * fns.c (Fold_rassq):
9859         * fns.c (rassq_no_quit):
9860         * fns.c (Fremassoc):
9861         * fns.c (remassoc_no_quit):
9862         * fns.c (Fremassq):
9863         * fns.c (remassq_no_quit):
9864         * fns.c (Fremrassoc):
9865         * fns.c (Fremrassq):
9866         * fns.c (remrassq_no_quit):
9867         * fns.c (Fsort):
9868         * fns.c (Fplist_get):
9869         * fns.c (Fplist_put):
9870         * fns.c (Fplist_remprop):
9871         * fns.c (Fplist_member):
9872         * fns.c (Flax_plist_get):
9873         * fns.c (Flax_plist_put):
9874         * fns.c (Flax_plist_remprop):
9875         * fns.c (Flax_plist_member):
9876         * fns.c (Fequal):
9877         * fns.c (Fold_equal):
9878         * fns.c (Frequire):
9879         * fns.c (Fbase64_encode_region):
9880         * fns.c (Fbase64_encode_string):
9881         * fns.c (Fbase64_decode_region):
9882         * frame.c:
9883         * frame.c (frame_matches_frame_spec):
9884         * frame.c (device_matches_device_spec):
9885         * frame.c (next_frame):
9886         * frame.c (previous_frame):
9887         * frame.c (Fnext_frame):
9888         * frame.c (Fprevious_frame):
9889         * frame.c (Fframe_property):
9890         * frame.c (Fset_frame_height):
9891         * frame.c (Fset_frame_size):
9892         * frame.h:
9893         * glyphs.c:
9894         * glyphs.c (if):
9895         * glyphs.c (decode_error_behavior_flag):
9896         * glyphs.c (Fmake_image_instance):
9897         * indent.c (Findent_to):
9898         * intl.c (Fignore_defer_gettext):
9899         * keymap.c (Fkeymapp):
9900         * keymap.c (Flookup_key):
9901         * lread.c:
9902         * lread.c (Fload_internal):
9903         * lread.c (Feval_buffer):
9904         * lread.c (Feval_region):
9905         * macros.c (Fexecute_kbd_macro):
9906         * marker.c (set_marker_internal):
9907         * marker.c (Fset_marker):
9908         * marker.c (set_marker_restricted):
9909         * marker.c (Fcopy_marker):
9910         * marker.c (noseeum_copy_marker):
9911         * menubar.c:
9912         * menubar.c (Fpopup_menu):
9913         * minibuf.c:
9914         * mule-charset.c (Fcharset_name):
9915         * mule-charset.c (Fchar_charset):
9916         * mule-charset.c (Fchar_octet):
9917         * mule-charset.c (Fsplit_char):
9918         * mule-wnnfns.c (Fwnn_open):
9919         * mule-wnnfns.c (Fwnn_dict_comment):
9920         * mule-wnnfns.c (Fwnn_quit_henkan):
9921         * mule-wnnfns.c (Fwnn_word_toroku):
9922         * mule-wnnfns.c (Fwnn_word_sakujo):
9923         * mule-wnnfns.c (Fwnn_word_use):
9924         * mule-wnnfns.c (Fwnn_hindo_set):
9925         * objects.c:
9926         * objects.c (Fmake_color_instance):
9927         * objects.c (Fmake_font_instance):
9928         * print.c (Fwrite_char):
9929         * process.c:
9930         * process.c (mark_process):
9931         * process.c (print_process):
9932         * process.c (get_process_from_usid):
9933         * process.c (Fprocessp):
9934         * process.c (Fprocess_live_p):
9935         * process.c (Fget_process):
9936         * process.c (Fget_buffer_process):
9937         * process.c (get_process):
9938         * process.c (Fprocess_id):
9939         * process.c (Fprocess_name):
9940         * process.c (Fprocess_command):
9941         * process.c (init_process_io_handles):
9942         * process.c (start_process_unwind):
9943         * process.c (Fstart_process_internal):
9944         * process.c (Fopen_multicast_group_internal):
9945         * process.c (Fset_process_window_size):
9946         * process.c (read_process_output):
9947         * process.c (send_process):
9948         * process.c (Fprocess_tty_name):
9949         * process.c (Fset_process_buffer):
9950         * process.c (Fprocess_buffer):
9951         * process.c (Fprocess_mark):
9952         * process.c (set_process_filter):
9953         * process.c (Fset_process_filter):
9954         * process.c (Fprocess_filter):
9955         * process.c (Fprocess_send_region):
9956         * process.c (Fprocess_send_string):
9957         * process.c (exec_sentinel):
9958         * process.c (Fset_process_sentinel):
9959         * process.c (Fprocess_sentinel):
9960         * process.c (status_notify):
9961         * process.c (Fprocess_status):
9962         * process.c (Fprocess_exit_status):
9963         * process.c (process_send_signal):
9964         * process.c (Fprocess_send_eof):
9965         * process.c (deactivate_process):
9966         * process.c (remove_process):
9967         * process.c (Fdelete_process):
9968         * process.c (kill_buffer_processes):
9969         * process.c (Fprocess_kill_without_query):
9970         * process.c (Fprocess_kill_without_query_p):
9971         * rangetab.c:
9972         * rangetab.c (Fget_range_table):
9973         * rangetab.c (Fput_range_table):
9974         * rangetab.c (Fremove_range_table):
9975         * rangetab.c (Fclear_range_table):
9976         * search.c:
9977         * search.c (Fskip_chars_forward):
9978         * search.c (Fskip_chars_backward):
9979         * search.c (Fskip_syntax_forward):
9980         * search.c (Fskip_syntax_backward):
9981         * search.c (search_command):
9982         * search.c (Freplace_match):
9983         * search.c (Fregexp_quote):
9984         * select.c (Fown_selection_internal):
9985         * select.c (Fselection_owner_p):
9986         * select.c (Fselection_exists_p):
9987         * select.c (Fget_selection_internal):
9988         * specifier.c:
9989         * symbols.c:
9990         * symbols.c (Fintern):
9991         * symbols.c (Fintern_soft):
9992         * symbols.c (Funintern):
9993         * symbols.c (Fapropos_internal):
9994         * symbols.c (Fset_default):
9995         * syntax.c:
9996         * syntax.c (Fsyntax_table_p):
9997         * syntax.c (Fcopy_syntax_table):
9998         * syntax.c (Fset_syntax_table):
9999         * syntax.c (Fchar_syntax):
10000         * syntax.c (syntax_match):
10001         * syntax.c (Fmatching_paren):
10002         * syntax.c (Fforward_word):
10003         * syntax.c (scan_lists):
10004         * syntax.c (Fscan_lists):
10005         * syntax.c (Fscan_sexps):
10006         * syntax.c (Fparse_partial_sexp):
10007         * toolbar.c (Fcheck_toolbar_button_syntax):
10008         * tooltalk.doc:
10009         * window.c:
10010         * window.c (Fwindowp):
10011         * window.c (Fwindow_live_p):
10012         * window.c (Fwindow_point):
10013         * window.c (Fdelete_window):
10014         * window.c (Fnext_window):
10015         * window.c (Fprevious_window):
10016         * window.c (Fother_window):
10017         * window.c (window_loop):
10018         * window.c (Fget_lru_window):
10019         * window.c (Fsplit_window):
10020         * window.c (Fenlarge_window):
10021         * window.c (Fenlarge_window_pixels):
10022         * window.c (Fshrink_window):
10023         * window.c (Fshrink_window_pixels):
10024         * window.c (change_window_height):
10025         * window.c (Fwindow_configuration_p):
10026         * window.c (Fcurrent_window_configuration):
10027         * window.h:
10028         * casefiddle.c (casify_object):
10029         * casefiddle.c (Fupcase):
10030         * casefiddle.c (Fdowncase):
10031         * casefiddle.c (Fcapitalize):
10032         * casefiddle.c (Fupcase_initials):
10033         * casefiddle.c (casify_region_internal):
10034         * casefiddle.c (casify_region):
10035         * casefiddle.c (Fupcase_region):
10036         * casefiddle.c (Fdowncase_region):
10037         * casefiddle.c (Fcapitalize_region):
10038         * casefiddle.c (Fupcase_initials_region):
10039         * casefiddle.c (Fupcase_word):
10040         * casefiddle.c (Fdowncase_word):
10041         * casefiddle.c (Fcapitalize_word):
10042         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10043         Replace 0 with '\0' when working with bytes.
10044         Replace initial "(" with "\(" in docstrings.
10045
10046 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10047
10048         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10049
10050         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10051
10052 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10053
10054         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10055
10056 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10057
10058         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10059         correctly.
10060
10061 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10062
10063         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10064         (inhibit_auto_save_session): New variable.
10065         (vars_of_fileio): Declare and initialize them.
10066         * fileio.c (Fdo_auto_save): Don't create session file if
10067         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10068
10069 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10070
10071         * sgiplay.c (play_internal): C++ compilability.
10072         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10073         * callproc.c (Fold_call_process_internal):
10074         Remove unused vars `env', `first'.
10075         * scrollbar.c (update_scrollbar_instance):
10076         #### unused var `current_window'.
10077         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10078         etc. within #ifdef NOT_YET.
10079         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10080         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10081         * specifier.c (specifier_instance):
10082         #### unused var `tag'.
10083         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10084
10085 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10086
10087         * fns.c (Fbutlast):
10088         * fns.c (list_sort):
10089         * fns.c (Ffillarray):
10090         * fns.c (bytecode_nconc2):
10091         * fns.c (Fnconc):
10092         * fns.c (mapcar1):
10093         * fns.c (Fmapconcat):
10094         Be pedantically 64-bit correct.  For the time when someone will
10095         want to have a list with length > 2**32.
10096
10097         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10098         Work around MIPSpro compiler bug.
10099
10100         * process-unix.c (unix_kill_child_process): Add snarky comment.
10101         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10102
10103         * config.h.in: Oops, _getpt ==> _getpty
10104
10105 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10106
10107         * config.h.in:
10108         * regex.c:
10109         Use void*, not char*, as return type of alloca().
10110
10111         * alloc.c (free_marker): Side effect inside assert expression!
10112
10113 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10114
10115         * mule-charset.c (Fset_charset_ccl_program): To check
10116         if the given ccl program is valid, use setup_ccl_program()
10117         instead of CHECK_VECTOR().
10118         (Fmake_charset): Likewise.
10119
10120 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10121
10122         * faces.c (get_extent_fragment_face_cache_index):
10123         Fix cachel.merged_faces memory leak.
10124
10125 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10126
10127         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10128         Reset MSB of octets obtained by DECODE_SJIS
10129         because of the incompatibility with Emacs.
10130         (ccl_driver)<CCL_ENCODE_SJIS>:
10131         Set MSB of octets before passing them to
10132         ENCODE_SJIS because of the incompatibility
10133         with Emacs.
10134
10135 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10136
10137         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10138         (DECLARE_LRECORD): Undo the last change.
10139         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10140
10141 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10142
10143         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10144         the implementation to lrecord_implementations_table.
10145
10146 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10147
10148         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10149         initial value of `lrecord_type_##c_name' and
10150         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10151         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10152         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10153         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10154         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10155
10156 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10157
10158         * miscplay.c (sndcnv8S_2mono):
10159         (sndcnv2monounsigned):
10160         (sndcnvULaw_2linear):
10161         (sndcnv16swap):
10162         Remove implementation-defined behavior.
10163
10164 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10165
10166         * input-method-xlib.c: Warning suppression.
10167
10168 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10169
10170         * mule-ccl.c: Sync up with Emacs 21.0.90.
10171         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10172         Do nothing.
10173         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10174         Likewise.
10175         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10176         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10177         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10178         leading char belongs to official 2-dimensional charset.
10179         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10180         write the given character as is.  Otherwise,
10181         if it is a multibyte char, convert it by
10182         non_ascii_set_charptr_emchar, then write it.
10183         (CCL_WRITE_STRING): Likewise.
10184         (ccl_get_compiled_code): New function.
10185         (setup_ccl_program): When ccl_prog is invalid,
10186         return -1.
10187         (Fregister_code_conversion_map): New function.
10188         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10189
10190         * mule-ccl.h: Sync up with Emacs 21.0.90.
10191         (Fregister_ccl_program): export it.
10192
10193         * redisplay-msw.c (separate_textual_runs):
10194         If ccl program is not valid, don't do ccl conversion.
10195
10196         * redisplay-x.c (separate_textual_runs): Ditto.
10197
10198         * file-coding.c (Fmake_coding_system):
10199         When type is ccl and value is vector, register it
10200         with a proper symbol.  And checks whether the
10201         given ccl program is valid.
10202         (mule_decode): When calling ccl_driver, if src indicates
10203         NULL pointer, set an empty string instead.
10204         (mule_encode): Likewise.
10205
10206 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10207
10208         The following large batch of changes gets us back to a state of
10209         C++ compilability.  Extbyte is now a char, which means that
10210         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10211
10212         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10213
10214         * sound.c (Fplay_sound): Type correctness.
10215
10216         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10217         (x_get_window_property): Type correctness.
10218         (receive_incremental_selection): unsigned char ==> Extbyte
10219         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10220         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10221         (Fx_store_cutbuffer_internal): Type correctness.
10222
10223         * process-unix.c (try_to_initialize_subtty): Type correctness.
10224
10225         * objects-x.c (x_print_color_instance): Type correctness.
10226         (x_print_font_instance): Type correctness.
10227         (x_list_fonts): SExtbyte ==> Extbyte.
10228         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10229         (x_find_charset_font): SExtbyte ==> Extbyte.
10230         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10231         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10232         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10233         Use bufbyte_strcmp.
10234
10235         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10236         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10237         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10238         (BYTE_C0_P): Use bit ops for char-signedness safety.
10239         (BYTE_C1_P): Use bit ops for char-signedness safety.
10240         (CHARSET_BY_LEADING_BYTE):
10241         (CHARSET_BY_ATTRIBUTES):
10242         Always use inline function.
10243         Use type_checking_assert.
10244         Hide chlook.
10245
10246         * mule-charset.c (non_ascii_charptr_copy_char):
10247         Modify to work with both ASCII and non-ASCII characters.
10248         Improve docs and variable names.
10249         Replace over-clever fall-through switch with a simple loop.
10250         (Lstream_get_emchar_1):
10251         Replace over-clever fall-through switch with a simple loop.
10252
10253         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10254         Warning suppression.
10255
10256         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10257         the return value of Lstream_getc, which could be EOF as well.
10258
10259         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10260
10261         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10262         APIs can be used on Extbytes without casts.  Risky!
10263         (SExtbyte): Remove.
10264         (UExtbyte): Remove.
10265
10266         * input-method-xlib.c (XIM_init_device):
10267         Use Xlib.h instead of IntrinsicP.h.
10268         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10269         which will break in X11R7.
10270         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10271         to call XRegisterIMInstantiateCallback with correct types.
10272
10273         * gui-x.c (button_item_to_widget_value): Type correctness.
10274
10275         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10276
10277         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10278         (xbm_instantiate_1): Type correctness.
10279         (BUILD_GLYPH_INST):  Type correctness.
10280
10281         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10282
10283         * file-coding.c:
10284         (decode_coding_sjis):
10285         (decode_coding_big5):
10286         (decode_coding_ucs4):
10287         (decode_coding_utf8):
10288         (decode_coding_iso2022):
10289         (decode_coding_no_conversion):
10290         Make all decoding functions take an Extbyte * arg.
10291         (encode_coding_sjis):
10292         (encode_coding_big5):
10293         (encode_coding_ucs4):
10294         (encode_coding_utf8):
10295         (encode_coding_iso2022):
10296         (encode_coding_no_conversion):
10297         Make all encoding functions take a Bufbyte * arg.
10298         Use size_t instead of unsigned int for memory sizes.
10299         Only cast to unsigned char whenever dereferencing Extbyte *.
10300
10301         * doc.c (unparesseuxify_doc_string): Type correctness.
10302
10303         * console-x.c (split_up_display_spec):
10304         Rewrite without using details of internal string representation.
10305         (x_semi_canonicalize_device_connection): Type correctness.
10306
10307         * config.h.in:
10308         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10309         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10310         (HAVE_XFREE386): Removed.
10311
10312         * buffer.h (DEC_CHARPTR): `const' correctness.
10313         (bufbyte_strcmp): New.
10314         (bufbyte_memcmp): New.
10315
10316         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10317
10318         * buffer.h (XCHAR_OR_CHAR_INT):
10319         Always use inline function.
10320         Remove redundant type checking assert() - XINT will abort quite nicely.
10321
10322 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10323
10324         * search.c (Freplace_match): Set newtext to an empty string.
10325
10326 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10327
10328         * s/decosf1-3.h: Remove #include of stropts.h
10329         * s/ptx.h: Remove #include of stropts.h
10330         * s/usg5-4.h: Remove #include of stropts.h
10331         * sysproc.h:
10332         * config.h.in:
10333         Use stropts.h, not sys/stropts.h.
10334         Use strtio.h, not sys/strtio.h.
10335
10336 2000-10-04  Martin Buchholz <martin@xemacs.org>
10337
10338         * XEmacs 21.2.36 is released.
10339
10340 2000-09-21  Andy Piper  <andy@xemacs.org>
10341
10342         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10343         changes still involve copying the widget tree.
10344         (update_widget_face): make sure a change is register in the widget
10345         tree. Call update_tab_widget_face appropriately.
10346         (update_tab_widget_face): ditto.
10347         (x_tab_control_redisplay): make sure non-structural changes still
10348         involve copying the widget tree.
10349
10350 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10351
10352         * lread.c (locate_file): Check the path element is non-nil.
10353
10354 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10355
10356         * lisp.h: Warning suppression for SCO compilers.
10357
10358         * redisplay-tty.c (reset_tty_modes): Fix crash.
10359         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10360
10361 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10362
10363         Big signal/process handling overhaul.  Bugs fixed:
10364         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10365         M-x comint-kill-subjob should work for both values nil and t of
10366         process-connection-type. It was broken on most platforms.
10367         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10368         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10369         * process-unix.c: Signal/Process handling overhaul.
10370         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10371         (allocate_pty): Use all available modern methods of allocating
10372         ptys, falling back to old style BSD allocation as a last resort.
10373         Use allegedly more secure Unix98 pty allocation by default.
10374         (allocate_pty_the_old_fashioned_way): New. the last resort.
10375         (unix_create_process): Push ptem, ldterm, ttcompat where
10376         available.  Autoconfiscate.
10377         (try_to_initialize_subtty): New.
10378         (unix_kill_child_process): Proper signal handling for ptys on most
10379         platforms, using special knowledge of AIX, BSD, etc...
10380         (unix_create_process): Always disconnect_controlling_terminal() for
10381         subprocesses, whether using ptys or not.
10382         * process.h: Remove old getpt-dependent PTY code.
10383         * process.c (Fprocess_send_signal): New, obvious generic function.
10384         (decode_signal): New.
10385         (Finterrupt_process):
10386         (Fkill_process):
10387         (Fquit_process):
10388         (Fstop_process):
10389         (Fcontinue_process):
10390         (Fsignal_process): Use decode_signal.
10391         (process_send_signal):
10392         Many docstring corrections.
10393         Allow any signal to be sent to a process object.
10394         * config.h.in: Add symbols for big signal/process overhaul.
10395         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10396         * sysproc.h: Include process-related headers, where available:
10397         sys/stropts.h sys/strtio.h pty.h libutil.h
10398         * s/irix4-0.h:
10399         * s/irix5-0.h:
10400         * s/cygwin32.h:
10401         * s/gnu.h:
10402         * s/linux.h:
10403         * s/hpux.h:
10404         * s/aix3-1.h:
10405         Remove old S&M pty stuff.
10406         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10407         * systty.h: Simplify cpp hackery, improve comments.
10408         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10409
10410         * editfns.c (Fformat_time_string):
10411         Be a little more paranoid with the return value of ctime.
10412
10413         * fileio.c (check_executable):
10414         (check_writable):
10415         Use symbolic constants X_OK, W_OK.
10416
10417         * console-x.c (split_up_display_spec): Fix a warning.
10418
10419 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10420
10421         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10422         * ntproc.c (sys_spawnve): make_string ==> build_string
10423         Small clarity improvements.
10424
10425 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10426
10427         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10428
10429         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10430
10431         * config.h.in (HAVE_STRCASECMP): Remove.
10432
10433 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10434
10435         * redisplay-output.c (redisplay_output_pixmap):
10436         Cleaner and possibly more 64-bit correct code.
10437
10438 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10439
10440         * dumper.c (pdump_load_finish): move restoration of
10441         `noninteractive1' to emacs.c (main_1).
10442         * emacs.c (main_1): protect LISP-visible command-line flags
10443         from pdump_load().
10444
10445 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10446
10447         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10448         DUMP_TARGET instead of literal program names.
10449
10450 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10451
10452         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10453
10454 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10455
10456         * *: Spelling mega-patch
10457
10458 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10459
10460         * fns.c (bad_bad_turtle):
10461         Delete "Eek!" comment, since we fixed the bug to which it refers.
10462
10463 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10464
10465         * alloca.c: Replace REGISTER with register.
10466
10467 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10468
10469         * file-coding.c (ucs_to_char): Use countof.
10470
10471 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10472
10473         * file-coding.c: (ucs_to_char):
10474         (complex_vars_of_file_coding):
10475         Use countof instead of sizeof.
10476         Use CHECK_NATNUM instead of CHECK_INT.
10477
10478         * sysdep.c (strcasecmp): Remove.
10479         * device-x.c (ascii_strcasecmp): New.
10480         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10481         Avoid using non-standard non-portable strcasecmp.
10482
10483 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10484
10485         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10486         * font-lock.c: remove reference to emacsfns.h.
10487         * search.c: small doc improvement.
10488         * event-Xt.c: correct file names in comments.
10489         * console-x.h Correct file names in comments.
10490         * frame.c: Correct file names in comments.
10491         * event-stream.c: remove Energize from comments.
10492
10493 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10494
10495         * symeval.h (DEFERROR_STANDARD):
10496         (DEFERROR):
10497         (DEFSYMBOL):
10498         (DEFSYMBOL_NO_DUMP):
10499         (DEFSYMBOL_MULTIWORD_PREDICATE):
10500         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10501         (DEFKEYWORD):
10502         The construct &##name is not sensible C.
10503         Fixes compilation errors with Unixware native compiler.
10504
10505 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10506
10507         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10508         (next_frame_internal): Removed.  We now just have next_frame.
10509         (next_frame):
10510         Write a simpler and cleaner one-pass algorithm.
10511         Remove called_from_delete_device arg and #ifdefed-out code.
10512         (previous_frame):
10513         Renamed from prev_frame.  Update callers.
10514         Cleaned up to have an analogous implementation to next_frame.
10515         (other_visible_frames_internal): Remove the
10516         called_from_delete_device bogus arg, and hence, remove this
10517         function.  Just use other_visible_frames().
10518
10519         * window.c (Fnext_window):
10520         Prettify docstring.
10521         Since next_frame() is guaranteed to return a frame, remove check
10522         for nil inserted in previous patch.
10523         (Fprevious_window):
10524         Prettify docstring.
10525         Make code look more like Fnext_window.
10526         (window_loop):
10527         Respect the `console' arg when iterating through windows.
10528         Fixes bug: (get-buffer-window buffer t device) not respecting
10529         the `device' arg.
10530         This function needs more work, as others have pointed out.
10531
10532         * frame.h: Rename prev_frame to previous_frame.
10533         device_matches_console_spec no longer takes a `frame' arg.
10534
10535         * s/gnu.h:
10536         * s/linux.h:
10537         * s/hpux.h:
10538         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10539         From "Golubev I. N." <gin@mo.msk.ru>.
10540
10541         * make-src-depend: Fix typo.
10542
10543 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10544
10545         * window.c (Fnext_window):
10546         next_frame() might return nil, not a frame.
10547         Fixes this crash:
10548         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10549
10550         * frame.c (next_frame_internal):
10551         We've passed a frame if we've passed its device.
10552         Fixes this crash:
10553         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10554 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10555
10556 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10557
10558         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10559         Allow option to suppress accelerators in menu/dialog items.
10560         (populate_or_checksum_helper): Pass dialog title through above.
10561
10562 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10563
10564         * event-msw.c (mswindows_key_to_emacs_keysym):
10565         Add "pause" key, fix "menu" key.
10566
10567 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10568
10569         * eval.c (reinit_vars_of_eval):
10570         Increase max_lisp_eval_depth to 1000,
10571         required for thai-xtis.el to byte-compile under some circumstances.
10572
10573 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10574
10575         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10576         From Kenichi Handa.
10577
10578 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10579
10580         * make-src-depend: Make the generated Makefiles smaller.
10581
10582         * s/hpux.h (SETUP_SLAVE_PTY):
10583         Provide a %d in the format string for the errno argument.
10584
10585         * editfns.c (Ftemp_directory):
10586         Warning fix.
10587         Avoid buffer overrun on very long file name.
10588
10589         * input-method-xlib.c (XIM_init_device):
10590         6th parameter of XRegisterIMInstantiateCallback has different
10591         pointer types on different OSes, so simply cast to (void *).
10592
10593         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10594
10595         * sysdll.c (dll_open):
10596         shl_load will hang hard if passed a NULL filename.
10597         Simply return NULL for compatibility with dlopen.
10598         * sysdll.c: Conform to XEmacs coding standards.
10599
10600         * sysdep.c (get_pty_max_bytes):
10601         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10602
10603 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10604
10605         * tooltalk.c: Add #include <syssignal.h>
10606
10607 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10608
10609         * s/hpux.h: Don't use undefined function sigunblock().
10610
10611 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10612
10613         * config.h.in: Add HAVE_BALLOON_HELP.
10614         * emacs.c: Use HAVE_BALLOON_HELP.
10615         * Makefile.in.in (x_objs):
10616         Make Balloon Help conditional on finding shape.h.
10617
10618 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10619
10620         * syntax.c (regex_emacs_buffer_p): New variable.
10621         * syntax.h (regex_emacs_buffer_p): extern.
10622         * search.c (looking_at_1):
10623         (string_match_1):
10624         (fast_string_match):
10625         (search_buffer): Set regex_emacs_buffer_p.
10626         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10627         when before_dot, at_dot, after_dot.
10628
10629 2000-08-23  Andy Piper  <andy@xemacs.org>
10630
10631         * gui-x.c (popup_selection_callback): Only set action_occurred
10632         when we really have an image instance.
10633         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10634
10635 2000-08-23  Andy Piper  <andy@xemacs.org>
10636
10637         * gui-msw.c (mswindows_handle_gui_wm_command): set
10638         action_occurred.
10639         * gui-x.c (popup_selection_callback): ditto.
10640
10641         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10642         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10643         (struct Lisp_Image_Instance): add action_occurred flag.
10644
10645         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10646         (image_instance_changed): ditto.
10647         (reset_frame_subwindow_instance_cache): only unmap windows - do
10648         not remove them from the cache also.
10649
10650         * glyphs-widget.c (tab_control_update): better debug.
10651         (progress_gauge_update): ditto.
10652         (layout_update): ditto.
10653         (layout_instantiate): ditto.
10654         (tab_control_order_only_changed): cope with null pending items.
10655
10656         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10657         debug. Force selection of an item when an action occurred. Cope
10658         with null pending_items.
10659         (mswindows_progress_gauge_redisplay): better debug.
10660         * glyphs-x.c (x_tab_control_redisplay): ditto.
10661
10662         * redisplay.c (redisplay_frame): reset the frame cache if the
10663         frame is garbaged.
10664
10665         * window.c (Fset_window_configuration): potentially re-enable
10666         frame cache reset.
10667         (window_unmap_subwindows): need to finalize instances here since
10668         it is only used in mark_window_as_deleted.
10669
10670 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10671
10672         * nas.c (SndOpenDataForReading):
10673         nas.c (WaveOpenDataForReading):
10674         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10675         Somehow escaped from the 2000-08-14 patch.
10676
10677 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10678
10679         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10680         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10681
10682 2000-08-21  Andy Piper  <andy@xemacs.org>
10683
10684         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10685         window if it is not already displayed.
10686
10687         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10688         it is not already displayed.
10689
10690         * window.c (Fset_window_configuration): don't reset the frame
10691         cache.
10692
10693         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10694         instances from the frame cache if we are actually finalizing them.
10695         (reset_frame_subwindow_instance_cache): reset frame cache only
10696         after unmapping everything.
10697         (map_subwindow): set displayed flag after mapping.
10698
10699 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10700
10701         * data.c (indirect_function):
10702         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10703
10704         * eval.c (function_argcount):
10705         Use original function when signaling errors.
10706
10707 2000-08-18  Andy Piper  <andy@xemacs.org>
10708
10709         * frame.c (delete_frame_internal): use new
10710         free_frame_subwindow_instances name.
10711
10712         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10713         (add_tab_item): make return type correct.
10714         (mswindows_tab_control_instantiate): assert index of tab.
10715         (mswindows_tab_control_redisplay): Re-code to use
10716         gui_item_equal_sans_selected and gui_item_list_find_selected.
10717
10718         * glyphs-widget.c (tab_control_update): Correct comment.
10719
10720         * window.c (window_unmap_subwindows): use new
10721         unmap_subwindow_instance_cache_mapper.
10722         (window_unmap_subwindows_cache_mapper): deleted.
10723         (Fset_window_configuration): comparisons should now be with
10724         EQ. Preserve the subwindow instance cache across configuration
10725         changes.
10726         (allocate_window): ditto.
10727         (make_dummy_parent): ditto.
10728
10729         * glyphs.c (free_frame_subwindow_instances): rename from
10730         free_frame_subwindow_instance_cache. finalize all instances rather
10731         than just those in the display cache.
10732         (finalize_all_subwindow_instances): walk windows unmapping and
10733         finalizing subwindows.
10734         (unmap_subwindow_instance_cache_mapper): moved from
10735         window.c. Allow finalization as well as unmapping.
10736
10737         * gui.c (gui_item_list_find_selected): new function.
10738
10739         * gui.h (gui_item_list_find_selected): declare.
10740
10741         * glyphs-x.c (x_tab_control_redisplay): pick tab
10742         explicitly. Re-code to use gui_item_equal_sans_selected and
10743         gui_item_list_find_selected.
10744
10745         * glyphs-x.h: add lwlib-utils.h
10746
10747         * buffer.c (Frecord_buffer): undo previous change.
10748
10749 2000-08-09  Vin Shelton  <acs@xemacs.org>
10750
10751         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10752         possible.  Create temporary files more securely.  The patch was
10753         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10754         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10755         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10756         for details.
10757
10758 2000-08-07  Ben Wing  <ben@xemacs.org>
10759
10760         * getloadavg.c: remove duplicate (and windows-breaking)
10761         includes of fcntl.h and sys/file.h.
10762
10763         * nt.c: remove duplicate getloadavg() definition.
10764
10765         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10766         encodings.
10767
10768 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10769
10770         * eval.c (function_argcount): If function needs to be autoloaded
10771         actually use the loaded definition.
10772         GCPRO function.
10773
10774 2000-08-05  Ben Wing  <ben@xemacs.org>
10775
10776         * getloadavg.c: add prototype for getloadavg().  remove
10777         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10778         of the code).  remove duplicate header includes.
10779
10780         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10781
10782         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10783         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10784         useful load average.
10785
10786         * alloc.c (reinit_alloc_once_early): removed references to
10787         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10788         the lisp vars are the only things referencing the malloc_sbrk_*
10789         vars, and they were already if 0'd out.  these vars only exist
10790         in the older malloc.c, which is basically unused, and they're
10791         only for informational purposes.
10792
10793         * m\*.h: removed useless VIRT_ADDR_VARIES.
10794
10795         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10796
10797 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10798
10799         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10800         color if the image is a mono pixmap.
10801
10802 2000-07-30  Ben Wing  <ben@xemacs.org>
10803
10804         * Makefile.in.in (release):
10805         Remove stray @.
10806
10807         * buffer.c (directory_is_current_directory):
10808         * dired-msw.c (mswindows_get_files):
10809         * dired.c:
10810         * dired.c (Fdirectory_files):
10811         * dired.c (file_name_completion_stat):
10812         * dired.c (Ffile_attributes):
10813         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10814         preprocessor tricks, to avoid problems on some machines
10815         (e.g. SCO).
10816
10817         * callproc.c (egetenv): GC docs.
10818
10819         * console-msw.h:
10820         * console-msw.h (struct mswindows_dialog_id):
10821         * lrecord.h (lrecord_type):
10822         New object for use with MSW dialogs.
10823
10824         * console.h (struct console_methods):
10825         New enable/disable frame methods, for proper modal dialogs.
10826
10827         * device-msw.c (msprinter_default_printer): Fix to follow
10828         proper Mule conventions.
10829
10830         * device-msw.c:
10831         * device-msw.c (signal_open_printer_error):
10832         * device-msw.c (msprinter_init_device):
10833         * device-msw.c (ensure_not_printing):
10834         * device-msw.c (plist_get_margin):
10835         * device-msw.c (Fmsprinter_select_settings):
10836         * device-msw.c (finalize_devmode):
10837         * device-msw.c (Fmsprinter_settings_despecialize):
10838         * device-msw.c (signal_enum_priner_error):
10839         * extents.c (decode_extent):
10840         * extents.c (decode_map_extents_flags):
10841         * extents.c (decode_extent_at_flag):
10842         * extents.c (Fextent_at):
10843         * extents.c (Fextents_at):
10844         * extents.c (symbol_to_glyph_layout):
10845         [[[[2]]]] Use structured errors.
10846
10847         * dialog-msw.c:
10848         * dialog-msw.c (mswindows_is_dialog_msg):
10849         * dialog-msw.c (mark_mswindows_dialog_id):
10850         * dialog-msw.c (dialog_proc):
10851         * dialog-msw.c (handle_question_dialog_box):
10852         * dialog-msw.c (syms_of_dialog_mswindows):
10853         Define new object to clean up marking; use it as a dialog identifier.
10854         Call new delete-dialog-box-hook.
10855
10856         * dialog-x.c (dbox_selection_callback):
10857         * dialog-x.c (dbox_descriptor_to_widget_value):
10858         * dialog-x.c (x_make_dialog_box_internal):
10859         Call new delete-dialog-box-hook.
10860         Return an id.
10861
10862         * dialog.c:
10863         * dialog.c (syms_of_dialog):
10864         * dialog.c (vars_of_dialog):
10865         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10866
10867         * eval.c:
10868         * eval.c (signal_call_debugger):
10869         when noninteractive, output stack traces on the console instead
10870         of in a (never-seen) buffer.
10871
10872         * eval.c (signal_type_error):
10873         * eval.c (invalid_argument_2):
10874         * lisp.h:
10875         new funs for use w/structured errors.
10876
10877         * event-Xt.c:
10878         * event-Xt.c (x_to_emacs_keysym):
10879         * event-Xt.c (describe_event):
10880         * event-Xt.c (emacs_Xt_event_handler):
10881         * event-Xt.c (vars_of_event_Xt):
10882         * event-msw.c:
10883         * event-msw.c (mswindows_wnd_proc):
10884         * event-msw.c (vars_of_event_mswindows):
10885         rename {x,mswindows}-debug-events to debug-{}-events for
10886         consistency with other debug-foo variables.
10887
10888         * event-stream.c:
10889         document next-event more clearly.
10890
10891         * fileio.c (Ffile_name_directory):
10892         * fileio.c (Ffile_name_nondirectory):
10893         * fileio.c (Funhandled_file_name_directory):
10894         * fileio.c (file_name_as_directory):
10895         * fileio.c (Ffile_name_as_directory):
10896         * fileio.c (directory_file_name):
10897         * fileio.c (Fdirectory_file_name):
10898         * fileio.c (Fmake_temp_name):
10899         * fileio.c (Ffile_truename):
10900         * fileio.c (Fsubstitute_in_file_name):
10901         * fileio.c (expand_and_dir_to_file):
10902         * fileio.c (barf_or_query_if_file_exists):
10903         * fileio.c (check_executable):
10904         * fileio.c (Ffile_exists_p):
10905         * fileio.c (Ffile_writable_p):
10906         * fileio.c (Ffile_directory_p):
10907         * fileio.c (Ffile_regular_p):
10908         * fileio.c (Ffile_modes):
10909         * fileio.c (Ffile_newer_than_file_p):
10910         * fileio.c (Fverify_visited_file_modtime):
10911         * fileio.c (Fset_visited_file_modtime):
10912         * fileio.c (auto_save_1):
10913         (1). (2).
10914         fix up gcpro's.
10915
10916         * frame-msw.c:
10917         * frame-msw.c (mswindows_init_frame_1):
10918         * frame-msw.c (mswindows_enable_frame):
10919         * frame-msw.c (error_frame_unsizable):
10920         * frame-msw.c (msprinter_init_frame_1):
10921         * frame-msw.c (msprinter_init_frame_3):
10922         * frame-msw.c (console_type_create_frame_mswindows):
10923         (2).
10924         implement new enable/disable frame methods.
10925
10926         * frame-x.c:
10927         * frame-x.c (x_enable_frame):
10928         * frame-x.c (console_type_create_frame_x):
10929         implement new enable/disable frame methods.
10930
10931         * frame.c:
10932         * frame.c (Fdisable_frame):
10933         * frame.c (syms_of_frame):
10934         * frame.h (struct frame):
10935         implement new enable/disable frame methods/functions.
10936
10937         * general-slots.h:
10938         add initial-focus.
10939
10940         * glyphs-msw.c (mswindows_widget_instantiate):
10941         comment that initial-focus should be implemented.
10942
10943         * glyphs-widget.c:
10944         * glyphs-widget.c (check_valid_instantiator):
10945         * glyphs-widget.c (check_valid_orientation):
10946         * glyphs-widget.c (check_valid_tab_orientation):
10947         * glyphs-widget.c (check_valid_justification):
10948         * glyphs-widget.c (check_valid_border):
10949         * glyphs-widget.c (check_valid_callback):
10950         * glyphs-widget.c (check_valid_int_or_function):
10951         * glyphs-widget.c (check_valid_string_or_vector):
10952         * glyphs-widget.c (check_valid_item_list_1):
10953         * glyphs-widget.c (widget_validate):
10954         * glyphs-widget.c (combo_box_validate):
10955         * glyphs-widget.c (widget_instantiate):
10956         * glyphs-widget.c (syms_of_glyphs_widget):
10957         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10958         * glyphs-widget.c (image_instantiator_combo_box):
10959         * glyphs-widget.c (image_instantiator_scrollbar):
10960         * glyphs-widget.c (image_instantiator_tab_control):
10961         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10962         (2).
10963         support (unimplemented) keyword initial-focus.
10964         reindent long macros.
10965
10966         * glyphs-x.c (x_redisplay_widget):
10967         * glyphs-x.c (x_button_instantiate):
10968         * glyphs-x.c (x_button_redisplay):
10969         * glyphs-x.c (x_progress_gauge_instantiate):
10970         * glyphs-x.c (x_edit_field_instantiate):
10971         * glyphs-x.c (x_combo_box_instantiate):
10972         * glyphs-x.c (x_tab_control_instantiate):
10973         * glyphs-x.c (x_label_instantiate):
10974         * gui-x.c:
10975         * gui-x.c (button_item_to_widget_value):
10976         * gui-x.c (gui_items_to_widget_values_1):
10977         * gui-x.c (gui_item_children_to_widget_values):
10978         * gui-x.c (gui_items_to_widget_values):
10979         * gui-x.h:
10980         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10981         add new flag to gui-parsing routines to indicate whether
10982         accelerator specs should be supported.
10983
10984         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10985
10986         * glyphs.h (struct Lisp_Image_Instance):
10987         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10988         add initial-focus flag.
10989
10990         * gui.c:
10991         * gui.c (syms_of_gui):
10992         * gui.c (vars_of_gui):
10993         clean up menu-no-selection-hook.
10994
10995         * gui.h:
10996         support delete-dialog-box-hook.
10997
10998         * lread.c (Fload_internal):
10999         * lread.c (locate_file_in_directory_mapper):
11000         (1).
11001
11002         * lrecord.h:
11003         * lrecord.h (struct toolbar_button):
11004         * lrecord.h (syms_of_toolbar):
11005         document how to create a new object.
11006
11007         * menubar-msw.c (mswindows_char_is_accelerator):
11008         may be called on frames w/o menus.
11009
11010         * menubar.c (vars_of_menubar):
11011         clean up :filter docs.
11012
11013         * nt.c (readdir):
11014         * ntproc.c:
11015         (1).
11016
11017         * process-nt.c:
11018         * process-nt.c (validate_signal_number):
11019         * process-nt.c (signal_cannot_launch):
11020         * process-nt.c (nt_create_process):
11021         * process-nt.c (nt_send_process):
11022         * process-nt.c (nt_kill_child_process):
11023         * process-nt.c (nt_open_network_stream):
11024         * process-nt.c (syms_of_process_nt):
11025         (2).
11026         delete quote-handling.  call new lisp code that does it better.
11027
11028         * process-unix.c (connect_to_file_descriptor):
11029         * process-unix.c (allocate_pty):
11030         * process-unix.c (unix_send_process):
11031         * process-unix.c (unix_kill_child_process):
11032         * process-unix.c (unix_open_network_stream):
11033         * process-unix.c (unix_open_multicast_group):
11034         (1). (2).
11035
11036         * process.c:
11037         * process.c (Fstart_process_internal):
11038         (2).  need to canonicalize process path even if absolute.
11039
11040         * select-msw.c (symbol_to_ms_cf):
11041         * select-msw.c (ms_cf_to_symbol):
11042         * select-msw.c (cf_is_autofreed):
11043         * select-msw.c (mswindows_destroy_selection):
11044         * select.c:
11045         * select.c (syms_of_select):
11046         * select.h:
11047         support dibv5, fix bugs. (from Mike Alexander)
11048
11049         * select.c (Fget_selection_internal):
11050         * select.c (select_convert_out):
11051
11052         * sysdep.c:
11053         * sysdep.c (xemacs_stat):
11054         renamed.
11055
11056         * sysdep.c (mkdir):
11057         * sysdep.c (rmdir):
11058         but keep original stat() here because we provide encapsulation
11059         around these funs.
11060
11061         * sysfile.h:
11062         * sysfile.h (fstat):
11063         remove stat garbage.
11064
11065         * syswindows.h:
11066         fix X/MSW conflict.
11067         don't include tchar.h.  it's inappropriate because it makes
11068         compile-time distinctions when we want runtime distinctions.
11069         (we provide our own tchar replacements)
11070
11071         * toolbar.c:
11072         use default object printer for toolbar-button.
11073
11074         * unexcw.c:
11075         make sure we don't encapsulate.
11076
11077         * window.c (vars_of_window):
11078         emphasize that temp-buffer-show-hook is obsolete.
11079
11080 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11081
11082         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11083         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11084
11085         * events.c (Fevent_timestamp_lessp):
11086         Not 64-bit clean.  Use EMACS_INT, not int.
11087
11088 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11089
11090         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11091         unsigned int and changed the last enum to
11092         lrecord_type_last_built_in_type.
11093         (lrecord_implementations_table): changed prototype to know how
11094         long the array is supposed to be.
11095         (lrecord_type_count): new unsigned int to keep track of the
11096         current number of lisp lrecord types.
11097         (DEFINE_EXTERNAL_LRECORD):
11098         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11099         dynamic-modules to declare new lisp types. They are the same
11100         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11101         int for each new type, and increment lrecord_type_count by 1.
11102
11103         * alloc.c (lrecord_implementations_table): Changed to reference
11104         lrecord_type_last_built_in_type for the size of the array.
11105         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11106
11107 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11108
11109         * glyphs.h (check_valid_item_list): Renamed from
11110         check_valid_item_list_1.
11111
11112 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11113
11114         * select.c (Qselect_coerce): New.
11115         * select.c (Vselection_coercion_alist): New.
11116         * select.c (syms_of_select): Declare.
11117         * select.c (get-selection-internal): Use it.
11118         Use the new select-coerce functionality.
11119
11120         * select.c (select_coerce): New.
11121         * select.h (select_coerce): Declare.
11122         New function to coerce one type of data into another.
11123
11124 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11125
11126         * callproc.c (Fcall_process_internal):
11127         (Fcall_process_internal):
11128         * process-unix.c (unix_create_process):
11129         Save and restore the value of errno, so that error messages are accurate.
11130
11131 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11132
11133         * elhash.c (print_hash_table):
11134         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11135         Prettify docstrings and indentation.
11136
11137 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11138
11139         * window.c (Fwindow_pixel_edges): Subtract frame border and
11140         gutter size.
11141
11142 2000-07-31  Andy Piper  <andy@xemacs.org>
11143
11144         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11145         will acknowledge the change.
11146
11147         * glyphs.h: declare tab_control_order_only_changed.
11148
11149         * glyphs-x.c (x_tab_control_redisplay): use
11150         tab_control_order_only_changed.
11151
11152         * glyphs-widget.c (tab_control_order_only_changed): new function.
11153
11154         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11155         tab_control_order_only_changed.
11156
11157         * gui.c (gui_item_equal_sans_selected): new function.
11158         (gui_item_equal): use it.
11159
11160         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11161         :properties in favor of :items..
11162
11163         * glyphs-widget.c (check_valid_item_list): rename from
11164         check_valid_item_list_1.
11165         (check_valid_item_list_1): renamed.
11166         (combo_box_validate): deprecate :properties in favor of :items.
11167         (widget_instantiate): ditto.
11168         (tab_control_update): ditto.
11169         (image_instantiator_combo_box): ditto.
11170         (image_instantiator_tree_view): ditto.
11171         (image_instantiator_tab_control): ditto.
11172         (layout_post_instantiate): remove dead code.
11173
11174         * print.c (debug_print_no_newline): only write to debugger if in
11175         WIN32_NATIVE.
11176
11177         * elhash.c (Fmake_hash_table): update doc string.
11178
11179         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11180         messages whilst in GC. This at least stops XEmacs crashing but has
11181         the potential for wierd behaviour.
11182
11183 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11184
11185         * config.h.in:
11186         Make existence of s&m files optional.
11187
11188         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11189         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11190         * s/gnu.h: Remove HAVE_GETLOADAVG.
11191         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11192         * s/sol2.h: Remove HAVE_GETLOADAVG.
11193         * lisp.h: Remove getloadavg() declaration.
11194         * fns.c:
11195         Include <sys/loadavg.h> if available.
11196         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11197         * config.h.in:  Group together getloadavg()-related macros.
11198         Use only configure-time tests to detect getloadavg().
11199
11200 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11201
11202         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11203
11204 2000-07-25  Andy Piper  <andy@xemacs.org>
11205
11206         * syswindows.h: add tchar.h for native builds.
11207
11208         * frame.c (syms_of_frame): remove set-glyph-image.
11209
11210         * general-slots.h: add Qset_glyph_image.
11211
11212         * glyphs-widget.c (layout_update): add domain arg to
11213         set-glyph-image.
11214         (syms_of_glyphs_widget): remove set-glyph-image.
11215
11216 2000-07-23  Ben Wing  <ben@xemacs.org>
11217
11218         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11219         Vpopup_frame_list.
11220
11221 2000-07-22  Andy Piper  <andy@xemacs.org>
11222
11223         * symsinit.h: add syms_of_win32().
11224
11225         * gui-msw.c (syms_of_gui_mswindows): remove
11226         Fmswindows_shell_execute.
11227         (Fmswindows_shell_execute): moved to win32.c.
11228
11229         * emacs.c (main_1): add syms_of_win32 ().
11230
11231         * win32.c (init_potentially_nonexistent_functions): rewrite in
11232         compiler-friendly terms.
11233         (Fmswindows_shell_execute): move here from gui-msw.c.
11234         (syms_of_win32): new.
11235
11236         * device-msw.c (Fmswindows_printer_list): clean up args to
11237         EnumPrinters.
11238         Don't include tchar under cygwin or mingw.
11239         (msprinter_default_printer): make cygwin-friendly.
11240
11241 2000-07-21  Andy Piper  <andy@xemacs.org>
11242
11243         * glyphs-widget.c (image_instantiator_tree_view): use tab
11244         control's update function.
11245         (layout_property): new function. Retrieve items.
11246
11247         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11248         function. Re-populate the tree view from the pending items.
11249
11250         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11251         is designated the parent if the domain is an image instance. This
11252         is needed so that dirtiness can be cascade up the hierarchy and
11253         thus for layout children to be redisplayed correctly.
11254         (allocate_image_instance): rename glyph -> parent.
11255
11256         * redisplay.h: change redisplay_output_layout signature.
11257
11258         * redisplay-msw.c (mswindows_output_display_block): use domain
11259         arg.
11260
11261         * redisplay-x.c (x_output_display_block): use domain arg.
11262
11263 2000-07-10  Andy Piper  <andy@xemacs.org>
11264
11265         * window.c (Fset_window_configuration): add comment.
11266
11267         * redisplay-output.c (compare_runes):
11268         (redisplay_output_subwindow): redisplay rather than update subwindow.
11269         (redisplay_output_layout): ditto.
11270
11271         * redisplay-msw.c (mswindows_frame_output_end):
11272         (mswindows_frame_output_end): make defer window pos optional.
11273
11274         * lisp.h: add Flast.
11275
11276         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11277         normalize method. Change update method to be for changed
11278         instantiators. Add redisplay method. Change signature of layout
11279         method.
11280         (struct Lisp_Image_Instance): add instantiator.
11281         (IMAGE_INSTANCE_INSTANTIATOR): new.
11282         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11283         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11284         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11285
11286         * glyphs.c:
11287         (find_instantiator_differences): new function.
11288         (Fset_instantiator_property): new convenience function.
11289         (check_image_instance_structure): strictly check for vector
11290         instantiators.
11291         (normalize_image_instantiator): make non-static.
11292         (instantiate_image_instantiator): pass on dest_mask and use new
11293         signatures for image_instance_layout and friends.
11294         (mark_image_instance): mark the instantiator. Mark the subwindow
11295         face not the widget face.
11296         (image_instance_equal): add instantiator.
11297         (image_instance_hash): ditto.
11298         (allocate_image_instance): ditto.
11299         (Fset_image_instance_property): removed.
11300         (Fimage_instance_file_name): ditto.
11301         (Fcolorize_image_instance): ditto.
11302         (image_instance_layout): add offsets to be set.
11303         (update_image_instance): new function. update an image instance
11304         from its changed instantiator.
11305         (inherit_normalize): add dest_mask.
11306         (xbm_normalize): ditto.
11307         (xface_normalize): ditto.
11308         (xpm_normalize): ditto.
11309         (text_update): set_property -> update.
11310         (image_instantiate): use the glyph identity as a hash key, not the
11311         instantiator.
11312         (glyph_width): use new image_instance_layout signature.
11313         (glyph_ascent): ditto.
11314         (glyph_descent): ditto.
11315         (glyph_height): ditto.
11316         (glyph_query_geometry): ressurrect.
11317         (glyph_layout): ditto.
11318         (redisplay_subwindow): update -> redisplay.
11319         (syms_of_glyphs): add Fset_instantiator_property.
11320         (image_instantiator_format_create): set_property -> update.
11321
11322         * glyphs-x.c:
11323         (autodetect_normalize): add dest_maks to signature.
11324         (x_redisplay_subwindow): update -> redisplay.
11325         (x_redisplay_widget): ditto.
11326         (x_button_redisplay): ditto.
11327         (x_progress_gauge_redisplay): ditto.
11328         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11329         stacking order.
11330         (console_type_create_glyphs_x): update -> redisplay.
11331         (image_instantiator_format_create_glyphs_x): ditto.
11332
11333         * glyphs-widget.c:
11334         (check_valid_instantiator): disallow glyphs in the instantiator,
11335         they must now be vectors.
11336         (check_valid_instantiator_list): ditto.
11337         (glyph_instantiator_to_glyph): use internal symbol rather than
11338         intern.
11339         (widget_update): renamed from widget_set_property. Call cascaded
11340         update methods.
11341         (redisplay_widget): renamed from update_widget.
11342         (widget_layout): image_instance_layout now takes position as well
11343         as size.
11344         (widget_normalize): ditto.
11345         (widget_instantiate): ditto.
11346         (tab_control_query_geometry) ditto.:
11347         (tab_control_update): renamed from tab_control_set_property.
11348         (progress_gauge_update): set_property -> update.
11349         (layout_normalize): rewrite so that child instantiators are
11350         normalized also.
11351         (layout_update): new function. Create glyphs from the normalized
11352         children and cope with any other layout keywords. We do not
11353         instantiate children here that will be take care of by
11354         redisplay_output_layout.
11355         (layout_instantiate): call layout_update and not much else.
11356         (layout_post_instantiate): not sure whether this is needed
11357         anymore.
11358         (layout_query_geometry): query glyph geometry rather than
11359         image_instance geometry.
11360         (layout_layout): set offsets from pass in parameters. Use glyph
11361         geometry and layout functions rather than image instance ones.
11362         (native_layout_layout): ditto.
11363         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11364         (image_instantiator_widget): set_property -> update.
11365         (image_instantiator_buttons): ditto.
11366         (image_instantiator_progress_guage): ditto.
11367         (image_instantiator_tab_control): ditto.
11368         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11369         (image_instantiator_layout): add update method.
11370
11371         * glyphs-msw.c (bmp_normalize):
11372         (mswindows_resource_normalize): add dest_mask so that it can be
11373         proprogated by layout_normalize.
11374         (begin_defer_window_pos): make optional because it may not be the
11375         right thing to do and it introduces differences with X.
11376         (mswindows_unmap_subwindow): ditto.
11377         (mswindows_map_subwindow): ditto.
11378         (mswindows_redisplay_subwindow): renamed from
11379         mswindows_update_subwindow.
11380         (mswindows_redisplay_widget): ditto.
11381         (mswindows_button_redisplay): renamed from
11382         mswindows_button_update. Update is now what the instantiation
11383         function does for a changed instantiator.
11384         (mswindows_progress_gauge_instantiate): set the progress value
11385         here if appropriate.
11386         (mswindows_tab_control_redisplay): cope with re-ordering of the
11387         members of the tab widget by simply selecting the new top
11388         widget. This makes things appear ok if you click on a tab.
11389         (mswindows_combo_box_instantiate): image_instance_layout now takes
11390         position as well as size.
11391         (mswindows_progress_gauge_redisplay): renamed from
11392         mswindows_progress_gauge_update.
11393         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11394         (image_instantiator_format_create_glyphs_mswindows): ditto.
11395
11396         * glyphs-eimage.c (jpeg_normalize):
11397         (gif_normalize):
11398         (png_normalize):
11399         (tiff_normalize): add dest_mask so that it can be proprogated by
11400         layout_normalize.
11401
11402         * elhash.c:
11403         (print_hash_table):
11404         (hash_table_weakness_validate):
11405         (decode_hash_table_weakness):
11406         (Fhash_table_weakness):
11407         (Fhash_table_type):
11408         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11409
11410         * console.h (struct console_methods): move update_* to
11411         redisplay_*.
11412
11413 2000-07-20  Ben Wing  <ben@xemacs.org>
11414
11415         * *.[ch] (XSETOBJ): remove unused middle argument.
11416         lisp-disunion.h: correct wrap_object() to one argument.
11417
11418 2000-07-15  Ben Wing  <ben@xemacs.org>
11419
11420         * s/cygwin32.h:
11421         * s/cygwin32.h (CYGWIN_CONV_PATH):
11422         Add missing logb prototype for v1.1.
11423         Use post-b20 names and alias to pre-b20 names when pre-b20.
11424
11425         * s/windowsnt.h: [5].
11426
11427 2000-07-15  Ben Wing  <ben@xemacs.org>
11428
11429         * Makefile.in.in (x_objs):
11430         * Makefile.in.in (sheap_objs):
11431         * Makefile.in.in (objs):
11432         added win32.o, cosmetic cleanups.
11433
11434         * alloc.c (Fmake_byte_code):
11435         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11436         etc. macros which declare their own args now.
11437
11438         * alloc.c (syms_of_alloc):
11439         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11440
11441         * buffer.c:
11442         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11443
11444         * buffer.c (Fget_file_buffer):
11445         Fixed GCPRO problem.
11446
11447         * buffer.c (get_truename_buffer):
11448         Fixed comment about GC checking.
11449
11450         * buffer.c (syms_of_buffer):
11451         Undeclared those dedicated frame funs.
11452         [2].
11453
11454         * buffer.h:
11455         Define convenience macros for internal/external conversions.
11456         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11457         and Qenvironment_variable_encoding for cleaner code.
11458
11459         * bufslots.h:
11460         Remove dedicated-frame; in lisp.
11461
11462         * bytecode.c (funcall_compiled_function):
11463         [1].
11464
11465         * bytecode.c (syms_of_bytecode):
11466         [2].
11467
11468         * console-msw.c:
11469         * console-msw.c (mswindows_show_console): Rewrote.
11470
11471         * console-msw.c (Fmswindows_debugging_output): New.
11472         Sends to OutputDebugString (special MSWin debugger interface).
11473
11474         * console-msw.c (Fmswindows_message_box):
11475         Fixed stupid bugs so it works when called from kill-emacs.
11476
11477         * console-msw.c (syms_of_console_mswindows):
11478         Declare Fmswindows_debugging_output.
11479
11480         * console-msw.h:
11481         New MSWin prototypes.
11482
11483         * console-msw.h (struct mswindows_frame):
11484         New entry last-click-mods for improved button-modifier support.
11485
11486         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11487         New struct entry `popup' with corresponding accessor.
11488
11489         * console-x.c:
11490         * console-x.c (split_up_display_spec):
11491         * console-x.c (get_display_arg_connection):
11492         * console-x.c (x_semi_canonicalize_console_connection):
11493         * console-x.c (x_canonicalize_device_connection):
11494         [[[6]]]: Change char to more specific type.
11495         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11496
11497         * console-x.c (x_semi_canonicalize_console_connection):
11498         * console-x.c (x_canonicalize_device_connection):
11499         [[[9]]]: Fix up error signalling to use new structured error system.
11500
11501         * console-x.h:
11502         [[[4]]]: Define codesys aliases:
11503         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11504         Qx_color_name_encoding, Qx_display_name_encoding.
11505
11506         * console.h (struct console_methods):
11507         New method make_dialog_box_internal supersedes older
11508         popup_dialog_box method.
11509
11510         * data.c:
11511         Define many new errors, part of new structured errors.
11512
11513         * data.c (init_errors_once_early):
11514         * data.c (syms_of_data):
11515         [2].
11516
11517         * device-msw.c (mswindows_init_device):
11518         [[[5]]]: Cleanup to support NT 3.51.
11519
11520         * device-msw.c (decode_devmode): Cleanup.
11521
11522         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11523         * device-msw.c (mswindows_handle_print_dialog_box):
11524         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11525         * device-msw.c (syms_of_device_mswindows):
11526         Delete the dialog box primitives recently introduced by Kirill and
11527         instead interface to general dialog box interface.
11528
11529         * device-x.c:
11530         * device-x.c (compute_x_app_name):
11531         * device-x.c (x_init_device):
11532         * device-x.c (Fx_valid_keysym_name_p):
11533         * device-x.c (Fx_set_font_path):
11534         [6].
11535         [7].
11536
11537         * device.h (wrap_device): New.
11538         First of its kind; meant to replace XSETDEVICE.
11539
11540         * dialog-msw.c: Many file-dialog symbols.
11541
11542         * dialog-msw.c (mswindows_register_popup_frame): New.
11543         * dialog-msw.c (mswindows_is_dialog_msg): New.
11544         For supporting kbd traversal in dialog boxes.
11545
11546         * dialog-msw.c (dialog_proc):
11547         Support hitting ESC in dialogs.
11548
11549         * dialog-msw.c (struct):
11550         Common dialog box errors.
11551
11552         * dialog-msw.c (handle_file_dialog_box): New.
11553         Add file dialog code.
11554
11555         * dialog-msw.c (handle_question_dialog_box):
11556         Redo existing code to support new question dialog syntax.
11557
11558         * dialog-msw.c (console_type_create_dialog_mswindows):
11559         We support new dialog console method.
11560
11561         * dialog-msw.c (syms_of_dialog_mswindows):
11562         * dialog-msw.c (vars_of_dialog_mswindows):
11563         New file dialog symbols, vars.
11564
11565         * dialog-x.c:
11566         * dialog-x.c (maybe_run_dbox_text_callback):
11567         * dialog-x.c (dbox_descriptor_to_widget_value):
11568         * dialog-x.c (x_make_dialog_box_internal):
11569         * dialog-x.c (console_type_create_dialog_x):
11570         Mule-ize entire file.
11571         Redo to support question dialog syntax.
11572         [6].
11573
11574         * dialog.c:
11575         * dialog.c (Fmake_dialog_box_internal):
11576         * dialog.c (syms_of_dialog):
11577         Kill old popup-dialog-box, replace with new primitive.
11578         Just call device method or signal error.
11579
11580         * eldap.c (Fldap_open):
11581         * eldap.c (Fldap_search_basic):
11582         * eldap.c (Fldap_add):
11583         * eldap.c (Fldap_modify):
11584         [1].
11585         [7].
11586
11587         * emacs.c:
11588         * emacs.c (make_arg_list_1):
11589         * emacs.c (make_arg_list):
11590         Mule-ize call to dll_init().
11591         [6].
11592         [8].
11593
11594         * emacs.c (make_argc_argv):
11595         * emacs.c (free_argc_argv):
11596         * emacs.c (init_cmdargs):
11597         * emacs.c (main_1):
11598         * emacs.c (Fkill_emacs):
11599         * emacs.c (Fdump_emacs):
11600         Update comments about what can be used in syms_* etc.
11601         Call init_win32() when necessary.
11602         Fix up MS Win dialog box in kill-buffer to actually work right.
11603         [7].
11604
11605         * eval.c:
11606         * eval.c (For):
11607         * eval.c (Fand):
11608         * eval.c (Fprogn):
11609         * eval.c (Fprog1):
11610         * eval.c (Fprog2):
11611         * eval.c (FletX):
11612         * eval.c (Flet):
11613         * eval.c (condition_case_3):
11614         * eval.c (Feval):
11615         * eval.c (function_argcount):
11616         * eval.c (funcall_lambda):
11617         [1].
11618
11619         * eval.c (type_error): New.
11620         * eval.c (maybe_type_error): New.
11621         * eval.c (continuable_type_error): New.
11622         * eval.c (maybe_continuable_type_error): New.
11623         * eval.c (type_error_with_frob): New.
11624         * eval.c (maybe_type_error_with_frob): New.
11625         * eval.c (continuable_type_error_with_frob): New.
11626         * eval.c (maybe_continuable_type_error_with_frob): New.
11627         New functions for use with structured errors.
11628
11629         * event-Xt.c:
11630         * event-Xt.c (x_event_to_emacs_event):
11631         Buttons are now modifiers too.
11632
11633         * event-Xt.c (emacs_Xt_current_event_timestamp):
11634         Implement new event method.
11635         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11636
11637         * event-msw.c:
11638         * event-msw.c (ntpipe_shove_writer): [5].
11639         * event-msw.c (mswindows_enqueue_mouse_button_event):
11640         * event-msw.c (mswindows_drain_windows_queue):
11641         * event-msw.c (mswindows_wnd_proc): [7].
11642         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11643         * event-msw.c (mswindows_modifier_state):
11644         Throughout: support new button modifiers.
11645
11646         * event-msw.c (emacs_mswindows_current_event_timestamp):
11647         Implement new event method.
11648         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11649
11650         * event-stream.c:
11651         * event-stream.c (event_stream_current_event_timestamp): New.
11652         * event-stream.c (maybe_kbd_translate): New functionality.
11653         * event-stream.c (vars_of_event_stream):
11654         Document new kbd-translate-table functionality.
11655
11656         * event-stream.c (Fcurrent_event_timestamp): New.
11657         New primitive for use in fabricated events.
11658         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11659
11660         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11661
11662         * events.c:
11663         * events.c (Fmake_event):
11664         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11665         [1].
11666         [9].
11667
11668         * events.c (format_event_object): fix gcc warnings.
11669
11670         * events.c (Fevent_timestamp): Document new primitives.
11671
11672         * events.c (TIMESTAMP_HALFSPACE): New.
11673
11674         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11675         comparing timestamps correctly (half-space algorithm).
11676
11677         * events.c (Fevent_modifier_bits): Doc fix.
11678
11679         * events.c (Fevent_modifiers): Major doc addition.
11680         * events.c (event_x_y_pixel_internal): Typo fix.
11681         * events.c (syms_of_events): Declare new primitives.
11682
11683         * events.h:
11684         Update long comment for button modifiers, timestamps.
11685
11686         * events.h (struct event_stream):
11687         New current_event_timestamp method.
11688
11689         * extents.c:
11690         * extents.c (extent_in_region_p):
11691         * extents.c (decode_extent):
11692         * extents.c (Fset_extent_parent):
11693         * extents.c (decode_map_extents_flags):
11694         Fix gcc warnings.
11695         [9].
11696
11697         * extents.c (struct extent_at_arg):
11698         * extents.c (decode_extent_at_flag):
11699         * extents.c (extent_at_mapper):
11700         * extents.c (extent_at_bytind):
11701         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11702         * extents.c (Fextents_at): New primitive. [9].
11703         * extents.c (symbol_to_glyph_layout): [9].
11704         Support new primitive `extents-at'.
11705
11706
11707         * extents.c (get_text_property_bytind):
11708         extent_at_bytind has another arg.
11709         [9].
11710
11711         * extents.c (syms_of_extents): New primitive.
11712
11713         * file-coding.c (Fmake_coding_system): [1].
11714         * file-coding.c (subsidiary_coding_system): fix gcc warning
11715         * file-coding.c (syms_of_file_coding): [2].
11716
11717         * fileio.c (Fexpand_file_name):
11718         * fileio.c (Fsysnetunam):
11719         * fileio.c (Ffile_exists_p):
11720         * fileio.c (Ffile_executable_p):
11721         * fileio.c (Fverify_visited_file_modtime):
11722         Clean up GCPROing.
11723
11724         * fileio.c (syms_of_fileio): [2].
11725
11726         * filelock.c (lock_file_1):
11727         * filelock.c (current_lock_owner):
11728         * filelock.c (lock_if_free):
11729         * filelock.c (lock_file):
11730         * filelock.c (unlock_file):
11731         Clean up GCPROing.
11732
11733         * fns.c (concat): Fix gcc warning.
11734
11735         * fns.c (Fmember):
11736         * fns.c (Fold_member):
11737         * fns.c (Fmemq):
11738         * fns.c (Fold_memq):
11739         * fns.c (memq_no_quit):
11740         * fns.c (Fassoc):
11741         * fns.c (Fold_assoc):
11742         * fns.c (Fassq):
11743         * fns.c (Fold_assq):
11744         * fns.c (assq_no_quit):
11745         * fns.c (Frassoc):
11746         * fns.c (Fold_rassoc):
11747         * fns.c (Frassq):
11748         * fns.c (Fold_rassq):
11749         * fns.c (rassq_no_quit):
11750         * fns.c (Fdelete):
11751         * fns.c (Fold_delete):
11752         * fns.c (Fdelq):
11753         * fns.c (Fold_delq):
11754         * fns.c (delq_no_quit):
11755         * fns.c (Fremassoc):
11756         * fns.c (Fremassq):
11757         * fns.c (remassq_no_quit):
11758         * fns.c (Fremrassoc):
11759         * fns.c (Fremrassq):
11760         * fns.c (remrassq_no_quit):
11761         * fns.c (Freverse):
11762         * fns.c (mapcar1):
11763         [1].
11764
11765         * frame-msw.c (mswindows_init_frame_1):
11766         * frame-msw.c (mswindows_delete_frame):
11767         Register popups with dialog code so keyboard traversing works.
11768
11769         * frame-tty.c (tty_raise_frame_no_select): [1].
11770
11771         * frame-x.c:
11772         * frame-x.c (x_set_frame_text_value):
11773         * frame-x.c (x_set_frame_properties):
11774         * frame-x.c (x_create_widgets):
11775         [7].
11776
11777         * frame.c:
11778         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11779
11780         * frame.h (wrap_frame): New.
11781         Macro like wrap_device.
11782
11783         * general.c:
11784         * general.c (SYMBOL):
11785         * general.c (syms_of_general):
11786         Major reorg.  This is now just a wrapper and symbols themselves
11787         are listed in general-slots.h.
11788
11789         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11790         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11791
11792         * glyphs-msw.c (mswindows_native_layout_instantiate):
11793         Add DS_CONTROL so keyboard traversal will work.
11794
11795         * glyphs-widget.c:
11796         * glyphs-widget.c (syms_of_glyphs_widget):
11797         Move some symbols to general-slots.h.
11798
11799         * glyphs-x.c:
11800         * glyphs-x.c (xbm_instantiate_1):
11801         * glyphs-x.c (x_xbm_instantiate):
11802         * glyphs-x.c (x_xface_instantiate):
11803         * glyphs-x.c (autodetect_instantiate):
11804         * glyphs-x.c (cursor_font_instantiate):
11805         * glyphs-x.c (x_update_widget):
11806         * glyphs-x.c (x_widget_instantiate):
11807         * glyphs.c (bitmap_to_lisp_data):
11808         * glyphs.c (pixmap_to_lisp_data):
11809         [7].
11810
11811         * glyphs.c (syms_of_glyphs):
11812         [2].
11813
11814         * gui-x.c:
11815         * gui-x.c (print_widget_value):
11816         * gui-x.c (menu_separator_style_and_to_external):
11817         * gui-x.c (add_accel_and_to_external):
11818         * gui-x.c (button_item_to_widget_value):
11819         * gui-x.c (gui_items_to_widget_values_1):
11820         * gui-x.c (gui_items_to_widget_values):
11821         * gui-x.c (syms_of_gui_x):
11822         * gui-x.c (vars_of_gui_x):
11823         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11824         [9].
11825
11826         * gui-x.h:
11827         Muleize, prototype changes matching gui-x.c.
11828
11829         * gui.c:
11830         * gui.c (separator_string_p):
11831         * gui.c (gui_item_add_keyval_pair):
11832         * gui.c (make_gui_item_from_keywords_internal):
11833         * gui.c (signal_too_long_error):
11834         * gui.c (parse_gui_item_tree_item):
11835         * gui.c (syms_of_gui):
11836         * gui.c (vars_of_gui):
11837         * gui.h:
11838         menu-no-selection-hook moved here (used by MSWin).
11839         Move some symbols to general-slots.h.
11840         [6].
11841         [9].
11842
11843         * insdel.c (get_buffer_pos_char):
11844         * insdel.c (get_buffer_range_char):
11845         Add GC comments.
11846
11847         * keymap.c (keymap_lookup_directly):
11848         * keymap.c (keymap_store):
11849         * keymap.c (ensure_meta_prefix_char_keymapp):
11850         * keymap.c (describe_map):
11851         * keymap.h:
11852         Support new button modifiers.
11853
11854         * lisp-disunion.h (wrap_object):
11855         * lisp-disunion.h (XSETOBJ):
11856         Rename make_obj to wrap_object.
11857
11858         * lisp-union.h:
11859         * lisp-union.h (make_int):
11860         * lisp-union.h (make_char):
11861         Support wrap_object.
11862
11863         * lisp.h:
11864         * lisp.h (LIST_LOOP):
11865         * lisp.h (EXTERNAL_LIST_LOOP):
11866         * lisp.h (LIST_LOOP_2):
11867         * lisp.h (EXTERNAL_LIST_LOOP_1):
11868         * lisp.h (EXTERNAL_LIST_LOOP_2):
11869         * lisp.h (EXTERNAL_LIST_LOOP_3):
11870         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11871         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11872         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11873         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11874         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11875         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11876         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11877         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11878         * lisp.h (struct Lisp_Symbol):
11879         * lisp.h (maybe_continuable_error_with_frob):
11880         Fix up section comments.
11881         Add new types for char to indicate usage.
11882         Delete symbols auto-generated from general-slots.h.
11883         Add prototypes for structured error functions.
11884         Add long comments describing looping macros and change interface
11885         so that lvalues are automatically declared.
11886         Add NO_DECLARE macro in case callers want to declare lvalues
11887         themselves.
11888
11889         * lread.c (read_syntax_error):
11890         * lread.c (continuable_read_syntax_error):
11891         * lread.c (read_structure):
11892         * lread.c (sequence_reader):
11893         * lread.c (read_list_conser):
11894         * lread.c (read_compiled_function):
11895         Rename syntax_error and continuable_syntax_error to avoid clash
11896         with same-named structured error functions.
11897
11898         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11899         * menubar-msw.c (populate_menu_add_item):
11900         * menubar-msw.c (populate_or_checksum_helper):
11901         [5].
11902         [9].
11903
11904         * menubar-x.c:
11905         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11906         Mule-ize whole file.
11907
11908         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11909
11910         * mule-charset.c (Fmake_charset):
11911         * mule-wnnfns.c (Fwnn_set_param):
11912         [1].
11913
11914         * ntproc.c (create_child):
11915         * ntproc.c (Fwin32_set_current_locale):
11916         Add comments portending doom.
11917
11918         * objects-msw.c:
11919         * objects-msw.c (old_font_enum_callback_2):
11920         * objects-msw.c (font_enum_callback_1):
11921         * objects-msw.c (mswindows_enumerate_fonts):
11922         [5].
11923
11924         * objects-x.c:
11925         * objects-x.c (allocate_nearest_color):
11926         * objects-x.c (x_parse_nearest_color):
11927         * objects-x.c (x_initialize_color_instance):
11928         * objects-x.c (x_print_color_instance):
11929         * objects-x.c (x_finalize_color_instance):
11930         * objects-x.c (x_valid_color_name_p):
11931         * objects-x.c (x_initialize_font_instance):
11932         * objects-x.c (x_print_font_instance):
11933         * objects-x.c (valid_x_font_name_p):
11934         * objects-x.c (truename_via_FONT_prop):
11935         * objects-x.c (truename_via_random_props):
11936         * objects-x.c (truename_via_XListFonts):
11937         * objects-x.c (x_font_truename):
11938         * objects-x.c (x_font_instance_truename):
11939         * objects-x.c (x_font_instance_properties):
11940         * objects-x.c (x_list_fonts):
11941         * objects-x.c (x_find_charset_font):
11942         Mule-ize entire file.
11943         [7].
11944
11945         * objects-x.h:
11946         Mule-verify.
11947
11948         * print.c:
11949         * print.c (std_handle_out_external):
11950         * print.c (debug_print_no_newline):
11951         * print.c (syms_of_print):
11952         Output to all debugger kinds in debug-print.
11953         Fix console-output code under MSWin to actually work.
11954
11955         * process-nt.c (send_signal):
11956         * process-nt.c (nt_create_process):
11957         Use newer Unicode macros.
11958
11959         * process-unix.c (unix_create_process):
11960         * process-unix.c (unix_canonicalize_host_name):
11961         * process-unix.c (unix_open_network_stream):
11962         [7].
11963
11964         * scrollbar-x.c:
11965         Mule-verify.
11966
11967         * search.c (syms_of_search):
11968         [2].
11969
11970         * select-msw.c (mswindows_destroy_selection):
11971         Use LIST_LOOP_2.
11972
11973         * select-x.c (symbol_to_x_atom):
11974         [7].
11975
11976         * select.c (syms_of_select):
11977         [2].
11978
11979         * sound.c (Fplay_sound_file):
11980         [7].
11981
11982         * specifier.c:
11983         * specifier.c (decode_specifier_type):
11984         * specifier.c (Fvalid_specifier_locale_type_p):
11985         * specifier.c (check_valid_locale_or_locale_type):
11986         * specifier.c (decode_locale):
11987         * specifier.c (decode_locale_type):
11988         * specifier.c (decode_locale_list):
11989         * specifier.c (check_valid_domain):
11990         * specifier.c (decode_specifier_tag_set):
11991         * specifier.c (Fcanonicalize_tag_set):
11992         * specifier.c (Fdefine_specifier_tag):
11993         * specifier.c (Fspecifier_tag_predicate):
11994         * specifier.c (check_valid_inst_list):
11995         * specifier.c (check_valid_spec_list):
11996         * specifier.c (decode_how_to_add_specification):
11997         * specifier.c (check_modifiable_specifier):
11998         * specifier.c (specifier_add_spec):
11999         * specifier.c (boolean_validate):
12000         * specifier.c (display_table_validate):
12001         [9].
12002
12003         * specifier.c (syms_of_specifier):
12004         Move some symbols to general-slots.h.
12005         [2].
12006
12007         * symbols.c:
12008         * symbols.c (Fmapatoms):
12009         * symbols.c (Fapropos_internal):
12010         Add GCPROs.
12011
12012         * symbols.c (set_default_buffer_slot_variable):
12013         * symbols.c (set_default_console_slot_variable):
12014         [1].
12015
12016         * symbols.c (defsymbol_massage_name_1):
12017         * symbols.c (defkeyword_massage_name):
12018         * symbols.c (deferror_1):
12019         * symbols.c (deferror):
12020         * symbols.c (deferror_massage_name_and_message):
12021         * symeval.h:
12022         * symeval.h (DEFSYMBOL):
12023         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12024
12025         * symbols.c (syms_of_symbols):
12026         [2].
12027
12028         * symsinit.h:
12029         * symsinit.h (init_win32): New.
12030         Also new is syms_of_dialog_mswindows.
12031
12032         * syswindows.h:
12033         Add new Unicode macros, missing Cygwin wide-char functions,
12034         convenience conversion macros for Qmswindows_tstr, macros for
12035         encapsulating required MSWin <-> Cygwin filename conversions,
12036         prototype for dynamically-extracted (not in NT 3.51) functions.
12037
12038         * toolbar-x.c:
12039         Mule-verify.
12040
12041         * tooltalk.c (Fadd_tooltalk_message_arg):
12042         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12043         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12044         [7].
12045
12046         * tooltalk.c (syms_of_tooltalk):
12047         [2].
12048
12049         * unexnt.c:
12050         * unexnt.c (unexec):
12051         Fix up headers, declaration of unexec() to be more standard.
12052
12053 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12054
12055         * offix.h: Revert change to guard macros - they're used in offix.c!
12056
12057 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12058
12059         * lisp.h: Defsubred Fdelete.
12060
12061         * console-msw.h:  (msprinter_default_printer): Added.
12062
12063         * console-msw.c (msprinter_canonicalize_console_connection):
12064         (msprinter_canonicalize_device_connection): Added.
12065
12066         * device-msw.c (msprinter_default_printer):
12067         (Fmswingows_get_default_printer):
12068         (signal_enum_priner_error):
12069         (Fmswingows_printer_list): Added.
12070
12071 2000-07-19  Martin Buchholz <martin@xemacs.org>
12072
12073         * XEmacs 21.2.35 is released.
12074
12075 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12076
12077         * select-x.c (x_handle_selection_request):
12078         Text selected in xemacs and pasted into xterm failed to appear.
12079         Spelling fixes and cosmetic changes.
12080
12081 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12082
12083         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12084         XEmacs frame (fix for doubling chars in dialog boxes).
12085
12086 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12087
12088         * select.c (select_convert_in, select_convert_out):
12089         Don't call intern() every time.
12090
12091         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12092         * select.c (vars_of_select): Initialise them.
12093
12094 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12095
12096         * select.c (selection-coercible-types): New.
12097
12098         * select.c (own-selection-internal):
12099         * select.c (get-selection-internal):
12100         MULE bug fix - these should default to COMPOUND_TEXT and not
12101         STRING for MULE. I think.
12102
12103         * select.c (select_convert_out): Use selection-coercible-types
12104         to find types that we can attempt to perform coercions on.
12105
12106 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12107
12108         * mule-wnnfns.c:
12109         * mule-canna.c:
12110         Add coding: cookie to identify encoding.
12111
12112         * mule-canna.c (CANNA_mode_keys): make static.
12113         Use proper prototypes, even for functions of no arguments.
12114         Remove external prototype for Fding().
12115
12116         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12117
12118         * select.c (syms_of_select): Add missing DEFSUBR.
12119
12120 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12121
12122         * select.c (get_selection_internal, own_selection_internal):
12123         Make the type default to STRING, rather than placing a nil type
12124         into Vselection_alist.
12125
12126 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12127
12128         * gpmevent.c (tty_selection_exists_p):
12129         * gpmevent.c (tty_own_selection):
12130         Updated parameter lists.
12131
12132 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12133
12134         * select.h (selection-alist): Removed declaration.
12135
12136         * select.h (get_local_selection):
12137         * select.c (get_local_selection):
12138         Made static.
12139
12140         * select.h (convert_selection): Removed declaration.
12141         * select.c (convert_selection): Removed.
12142         This function belongs in Lisp.
12143
12144         * select.h (select_convert_in): Declare.
12145         * select.h (select_convert_out): Declare.
12146         * select.c (select_convert_in): New.
12147         * select.c (select_convert_out): New.
12148         New conversion functions for other files to call.
12149
12150         * select.h (select_notify_buffer_kill): Declare.
12151         * select.c (select_notify_buffer_kill): New.
12152         New functions that get called from kill-buffer.
12153
12154         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12155         X-specific lisp code.
12156
12157         * select.h: Declare some of the lisp-visible functions for
12158         external use.
12159
12160         * select.c (clean_local_selection_data): Removed. This was
12161         a disgusting function, and previously should have been in
12162         select-x.c in any case. The functionality is now provided
12163         in select-convert-from-integer (select.el).
12164
12165         * select.c (available-selection-types): Fixed stupidity where
12166         INTEGER and ATOM got added twice. Also add STRING when we see an
12167         extent.
12168
12169         * select.c (get-selection-internal): Removed symbol stripping. No
12170         longer causes conversion when data comes from the internal cache.
12171
12172         * select.c (syms_of_select): Added new functions.
12173
12174         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12175         error checking - previously this called abort!
12176
12177         * select-x.c (x_own_selection): Changed comment.
12178
12179         * select-x.c (x_handle_selection_request): Use select_convert_out.
12180         Don't mess with selection-alist; it's an internal variable of select.c.
12181
12182         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12183
12184         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12185         rather than messing with selection-alist.
12186
12187         * select-msw.c (mswindows_get_foreign_selection):
12188         Use TO_INTERNAL_FORMAT rather than hacking.
12189
12190 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12191
12192         * process-unix.c (unix_open_multicast_group):
12193         (unix_open_multicast_group): Remove useless casts.
12194
12195 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12196
12197         * sound.c (Fplay_sound): Fix `unused variable' warning.
12198
12199         * emacs.c (main): Use correct type for _environ on SCO5.
12200
12201 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12202
12203         * console.h (own_selection_method):
12204         * console.h (selection_exists_p_method):
12205         * console.h (available_selection_types_method): New.
12206         * console.h (register_selection_data_type_method): New.
12207         * console.h (selection_data_type_name): New.
12208
12209         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12210         function & alist to track GlobalAlloc()'d handles that need
12211         releasing when the clipboard data gets replaced or emptied.
12212
12213         * event-msw.c (mswindows_wnd_proc): Call it.
12214
12215         * lisp.h, general.c (Qappend): New symbol representing a
12216         `how-to-add' mode.
12217
12218         * select.c (own-selection-internal):
12219         * select.c (selection-exists-p):
12220         * select.c (available-selection-types): New.
12221         * select.c (register-selection-data-type): New.
12222         * select.c (selection-data-type-name): New.  New functions to deal
12223         with device-specific selection data formats.
12224         * select.c (selection-converter-out-alist): Renamed.
12225         * select.c (selection-converter-in-alist): New.
12226         * select.c (selection-appender-alist): New.  Added new alists.
12227         * select.c (syms_of_select, vars_of_select): Added new symbols &
12228         variables.
12229         * select.c (get_local_selection): Split.
12230         * select.c: Removed spurious type checking - selections may now be
12231         of any type, not just strings.
12232         * select.c (own-selection-internal):
12233
12234         * select.h, select.c (convert_selection): New. Created
12235         convert_selection() function based on get_local_selection().
12236         * select.h, select.c (QCF_*): New symbols representing mswindows
12237         clipboard formats.
12238         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12239         symbols representing `how-to-add' modes.
12240
12241         * select-msw.c (x_sym_p): New.
12242         * select-msw.c (symbol_to_ms_cf): New.
12243         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12244         symbols & clipboard formats. Can also handle string names.
12245         * select-msw.c (mswindows_own_selection):
12246         * select-msw.c (mswindows_selection_exists_p):
12247         Added `data-type' parameter. Use it.
12248         * select-msw.c (mswindows_available_selection_types): New.
12249         * select-msw.c (mswindows_register_selection_data_type): New.
12250         * select-msw.c (mswindows_selection_data_type_name): New.
12251         * select-msw.c (mswindows_own_selection):
12252         * select-msw.c (mswindows_get_foreign_selection):
12253         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12254         * select-msw.c (console_create_select_mswindows): Added new methods.
12255         * select-msw.c (mswindows_destroy_selection): New.
12256         * select-msw.c (Vhandle_alist): New list.
12257         * select-msw.c (mswindows_own_selection):
12258
12259         * select-x.c (x_own_selection):
12260         * select-x.c (x_selection_exists_p):
12261         * select-x.c: Added some comments about maybe using new
12262         functionality.
12263         * select-x.c (x_own_selection):
12264
12265         * specifier.c: Remove definition of Qappend (now in general.c)
12266         * specifier.c (syms_of_specifier): Remove Qappend.
12267
12268 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12269
12270         * config.h.in: Add socklen_t.
12271
12272         * s/decosf4-0.h: No special compiler flags needed or desired.
12273         In particular, undefine _BSD for DEC OSF 4.0.
12274
12275 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12276
12277         * redisplay-msw.c (msprinter_frame_output_end): Added.
12278         (console_type_create_redisplay_mswindows): Referred the above.
12279
12280         * frame.c (setup_frame_without_minibuffer): Do not create a
12281         default minibuffer frame on a printer device.
12282
12283         * frame-msw.c (apply_dc_geometry): Added.
12284         (msprinter_start_page):
12285         (msprinter_init_frame_3):
12286         (msprinter_eject_page): Use it.
12287
12288         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12289         and removed residual duplex and orientation properties.
12290
12291 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12292
12293         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12294
12295         * unexalpha.c: Remove system prototypes from C sources!
12296
12297 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12298
12299         * eval.c: Remove references to M-x edit-options in DEFUNs for
12300         `defvar' and `defconst'.
12301
12302 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12303
12304         * config.h.in: Remove SMART_INCLUDE hackery.
12305
12306         PostgreSQL hacking:
12307         * config.h.in: Don't use SMART_INCLUDE.
12308
12309         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12310         * inline.c: Simply #include "postgresql.h"
12311         * postgresql.c:
12312         - Don't use SMART_INCLUDE
12313         - Use simply "const".
12314         - Use standard doc string conventions.
12315         - Use correct type for result of PQstatus.
12316
12317 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12318
12319         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12320
12321         C++ compilation changes.
12322         * config.h.in (EXTERN_C): Define.
12323         * config.h.in (not): This is also a C++ keyword.
12324         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12325         * cm.c: Use EXTERN_C.
12326         * redisplay-tty.c: Use EXTERN_C.
12327         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12328
12329 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12330
12331         * general.c: Remove duplicate definition for Qfunction.
12332
12333 2000-07-08  Ben Wing  <ben@xemacs.org>
12334
12335         * device-msw.c (msprinter_init_device):
12336         * device-msw.c (sync_printer_with_devmode):
12337         * device-msw.c (handle_devmode_changes):
12338         * device-msw.c (print_dialog_worker):
12339         * device-msw.c (Fmsprinter_apply_settings):
12340         * device-msw.c (hash_devmode):
12341         * device-msw.c (Fmsprinter_settings_despecialize):
12342         use Qmswindows_tstr, not Qctext.
12343
12344         * vm-limit.c (check_memory_limits):
12345         avoid infinite loop printing warning messages.
12346
12347 2000-07-05  Craig Lanning  <lanning@scra.org>
12348
12349         * Makefile.in.in: Add support for including the Windows resources
12350         when building with the cygwin and mingw targets.
12351
12352         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12353         not set or not correct.
12354         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12355         (init_initial_directory): Don't try to use $PWD on the
12356         WIN32_NATIVE target.
12357
12358         * s\cygwin32.h:
12359         [[Add -mwindows to eliminate console window.]] not required --ben
12360         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12361         (MAIL_USE_POP): removed; now handled by configure.
12362
12363         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12364         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12365         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12366         (MAIL_USE_POP): removed; now handled by configure.
12367         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12368         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12369         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12370         constant string.
12371         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12372         up from <winsock.h> via systime.h.
12373         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12374         (getpagesize): from Dan Holmsand, added.
12375         Added #endif which was left dangling by Ben's mega patch; added
12376         comment to help prevent this in the future.
12377
12378         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12379
12380 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12381
12382         * console-msw.h (struct mswindows_device): Removed unnecessary
12383         cached device geometry values.
12384         Added update_tick and an accessor macro.
12385         (Lisp_Devmode): Added lrecord declaration.
12386         (struct msprinter_device): Contain devmode as a Lisp object.
12387         Added mswindows_get_selected_frame_hwnd();
12388
12389         * console.h (struct console_methods): Indentation nitpicking.
12390
12391         * device-msw.c (mswindows_init_device): Do not initialize geometry
12392         cache. Initialize update tick.
12393         (mswindows_device_system_metrics): Ask the device for its geometry.
12394         (global_free_2_maybe):
12395         (devmode_to_hglobal):
12396         (handle_printer_changes):
12397         (ensure_not_printing):
12398         (print_dialog_worker):
12399         (Fmsprinter_print_setup_dialog):
12400         (Fmsprinter_print_dialog):
12401         (plist_get_margin):
12402         (plist_set_margin):
12403         (Fmsprinter_page_setup_dialog): Added functions.
12404         (sync_printer_with_devmode):
12405         (handle_devmode_changes):
12406         (Fmsprinter_get_settings):
12407         (Fmsprinter_select_settings):
12408         (Fmsprinter_apply_settings):
12409         (allocate_devmode):
12410         (Fmsprinter_settings_copy):
12411         (Fmsprinter_settings_despecialize):
12412         (print_devmode):
12413         (finalize_devmode):
12414         (equal_devmode):
12415         (hash_devmode): Added functions
12416         (syms_of_device_mswindows): Init devmode lrecord class.
12417
12418         * device.h: Added an exfun for find-device.
12419
12420         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12421         geometry; although, recreate the device compatible DC.
12422
12423         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12424         (msprinter_init_frame_3):
12425         (msprinter_frame_property):
12426         (msprinter_internal_frame_property_p):
12427         (msprinter_frame_properties):
12428         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12429         print job properties (will move to device settings).
12430
12431         * lisp.h: Added symbols.
12432
12433         * general.c (syms_of_general): Declared them.
12434
12435         * hash.c (string_hash): Added.
12436
12437         * lrecord.h (lrecord_type): Added devmode lrecord type.
12438
12439 2000-07-02  Mike Sperber <mike@xemacs.org>
12440
12441         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12442         FreeBSD 4.0.
12443
12444 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12445
12446         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12447         integer.
12448
12449 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12450
12451         * data.c (Fstring_to_number): Don't recognize floating point if
12452         base is not 10.
12453
12454 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12455
12456         * glyphs-widget.c (tab_control_query_geometry):
12457         (widget_query_geometry):
12458         (button_query_geometry):
12459         * glyphs.c (text_query_geometry):
12460         Enforce type correctness.
12461
12462 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12463
12464         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12465         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12466
12467 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12468
12469         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12470         conflicts with gcc's fixincluded version of FOO.h.
12471
12472         * glyphs.h (image_instance_geometry): Remove trailing `,'
12473
12474 2000-06-08  Mike Alexander  <mta@arbortext.com>
12475
12476         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12477         (shove_thread): Don't write the same output twice
12478         (make_ntpipe_output_stream): Increase priority of shove thread
12479         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12480         chance to run
12481         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12482         it.
12483
12484 2000-06-12  Ben Wing  <ben@xemacs.org>
12485
12486         * s\mingw32.h (sigset):
12487         * s\windowsnt.h (sigset):
12488         rename msw_ to mswindows_ for consistency with general convention.
12489
12490 2000-06-12  Ben Wing  <ben@xemacs.org>
12491
12492         * console-msw.c:
12493         * console-msw.c (mswindows_get_console_hwnd):
12494         * console-msw.c (mswindows_ensure_console_allocated):
12495         * console-msw.c (mswindows_hide_console):
12496         * console-msw.c (mswindows_show_console):
12497         * console-msw.c (mswindows_ensure_console_buffered):
12498         * console-msw.c (mswindows_output_console_string):
12499         * console-msw.c (mswindows_windows9x_p):
12500         * console-msw.h:
12501         * device-msw.c (mswindows_get_workspace_coords):
12502         * device-msw.c (mswindows_device_system_metrics):
12503         * dialog-msw.c (mswindows_popup_dialog_box):
12504         * event-msw.c (mswindows_wnd_proc):
12505         * frame-msw.c (mswindows_size_frame_internal):
12506         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12507         * menubar-msw.c (displayable_menu_item):
12508         * menubar-msw.c (mswindows_char_is_accelerator):
12509         * nt.c:
12510         * nt.c (mswindows_sigset):
12511         * nt.c (mswindows_sigrelse):
12512         * nt.c (mswindows_sigpause):
12513         * nt.c (mswindows_raise):
12514         * nt.c (timer_proc):
12515         * ntproc.c:
12516         * ntproc.c (find_child_console):
12517         * ntproc.c (sys_kill):
12518         * print.c:
12519         * print.c (std_handle_out_external):
12520         * process-nt.c (find_child_console):
12521         * process-nt.c (send_signal_the_95_way):
12522         * process-nt.c (ensure_console_window_exists):
12523         * process-nt.c (nt_create_process):
12524         * syssignal.h:
12525         rename msw_ to mswindows_ for consistency with general convention.
12526
12527         * emacs.c:
12528         * dumper.c:
12529         include nt.h, not syswindows.h.
12530
12531         * nt.c (mswindows_fstat):
12532         * nt.c (mswindows_stat):
12533         prefix mswindows_ instead of attempting to directly override the
12534         library functions.  fix declarations.
12535
12536         * nt.h:
12537         include syswindows.h.  move some sysdep.h stuff here.
12538
12539         * ntheap.h:
12540         include syswindows.h, not <windows.h>.
12541
12542         * ntplay.c:
12543         clean up headers.
12544
12545         * sysdep.c:
12546         clean up headers.
12547
12548         * sysdep.c (sys_fstat):
12549         * sysdep.c (sys_stat):
12550         call mswindows versions when appropriate.
12551
12552         * sysdep.h:
12553         move mswin decls to nt.h.
12554
12555         * syswindows.h:
12556         add long comment describing appropriate use of the various windows
12557         headers.
12558
12559 2000-06-11  Ben Wing  <ben@xemacs.org>
12560
12561         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12562
12563 2000-06-10  Ben Wing  <ben@xemacs.org>
12564
12565         * Makefile.in.in (release):
12566         Correction to make sure xemacs.exe always dumped when correct.
12567
12568         * alloca.c:
12569         * balloon_help.c:
12570         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12571
12572         * buffer.c (set_buffer_internal):
12573         [[[[2]]]]: Remove HAVE_FEP code.
12574
12575         * buffer.c (init_initial_directory):
12576         [3].
12577
12578         * bytecode.c:
12579         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12580         individual files.
12581
12582         * callproc.c:
12583         * callproc.c (call_process_cleanup):
12584         * callproc.c (Fold_call_process_internal):
12585         * callproc.c (child_setup):
12586         * callproc.c (getenv_internal):
12587         * callproc.c (init_callproc):
12588         * callproc.c (vars_of_callproc):
12589         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12590         __CYGWIN32__ -> CYGWIN.
12591         DOS_NT -> WIN32_NATIVE.
12592         Remove MSDOS support/references, converting to WIN32_NATIVE
12593           where correct.
12594         __MINGW32__ -> MINGW.
12595         Fix windows.h includes.
12596         Remove bogus HAVE_NTGUI.
12597
12598         * config.h.in:
12599         [2].
12600
12601         * console-msw.c:
12602         mswindows_message_outputted added for use in allowing startup
12603         errors on the console to be seen.
12604
12605         * console-msw.c (msw_ensure_console_allocated):
12606         * console-msw.c (msw_output_console_string):
12607         * console-msw.c (DHEADER):
12608         * console-msw.c (DOPAQUE_DATA):
12609         * console-msw.c (DEVENT):
12610         * console-msw.c (DCONS):
12611         * console-msw.c (DCONSCDR):
12612         * console-msw.c (DSTRING):
12613         * console-msw.c (DVECTOR):
12614         * console-msw.c (DSYMBOL):
12615         * console-msw.c (DSYMNAME):
12616         Fix warnings.
12617
12618         * console-stream.c (stream_init_console):
12619         Fix text/binary problems.
12620
12621         * device-msw.c:
12622         * device-msw.c (mswindows_finish_init_device):
12623         * device-msw.c (mswindows_delete_device):
12624         [1].
12625
12626         * device.c (handle_asynch_device_change):
12627         [3].
12628
12629         * dgif_lib.c:
12630         * dgif_lib.c (DGifOpenFileName):
12631         * dgif_lib.c (DGifOpenFileHandle):
12632         * dgif_lib.c (DGifGetLine):
12633         * dgif_lib.c (DGifGetPixel):
12634         Added config.h/lisp.h, fix up includes.
12635         [1].
12636
12637         * dired-msw.c:
12638         [4].
12639
12640         * dired.c:
12641         * dired.c (file_name_completion):
12642         * dired.c (Ffile_attributes):
12643         * dired.c (syms_of_dired):
12644         [1].
12645
12646         * dumper.c:
12647         * dumper.c (pdump_file_unmap):
12648         * dumper.c (pdump_load):
12649         [1].
12650
12651         * editfns.c:
12652         * editfns.c (Ftemp_directory):
12653         * editfns.c (user_login_name):
12654         * editfns.c (Fuser_real_login_name):
12655         * editfns.c (get_home_directory):
12656         [1].
12657
12658         * elhash.c (finish_marking_weak_hash_tables):
12659         [[[[5]]]]: Fix GCC warnings.
12660
12661         * emacs.c:
12662         * emacs.c (mswindows_handle_hardware_exceptions):
12663         * emacs.c (make_arg_list_1):
12664         * emacs.c (main_1):
12665         * emacs.c (Fkill_emacs):
12666         * emacs.c (Fdump_emacs):
12667         [1].
12668         Fix problems with nested crashes, add long comment.
12669
12670         * event-Xt.c (init_event_Xt_late):
12671         [1].
12672
12673         * event-msw.c:
12674         * event-msw.c (mswindows_dde_callback):
12675         * event-msw.c (mswindows_handle_sticky_modifiers):
12676         * event-msw.c (mswindows_wnd_proc):
12677         [1].
12678         [5].
12679
12680         * events.c (character_to_event):
12681         [1].
12682
12683         * fileio.c:
12684         * fileio.c (Ffile_name_directory):
12685         * fileio.c (Ffile_name_nondirectory):
12686         * fileio.c (directory_file_name):
12687         * fileio.c (Fexpand_file_name):
12688         * fileio.c (Fsubstitute_in_file_name):
12689         * fileio.c (Ffile_name_absolute_p):
12690         * fileio.c (check_executable):
12691         * fileio.c (Ffile_readable_p):
12692         * fileio.c (Ffile_accessible_directory_p):
12693         * fileio.c (Ffile_modes):
12694         * fileio.c (Funix_sync):
12695         * fileio.c (vars_of_fileio):
12696         [1]. [4].
12697
12698         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12699
12700         Expand getdefdir defn.
12701         Fix bogus rename() comment.
12702
12703         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12704         to use standard XEmacs include files, e.g. sysfile.h, rather
12705         than system-specific includes.
12706
12707         * fns.c:
12708         * fns.c (Fsubseq):
12709         [5]. [6].
12710
12711         * frame.c (vars_of_frame):
12712         [1].
12713
12714         * getloadavg.c:
12715         * getloadavg.c (getloadavg):
12716         [1]. [6].
12717         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12718         (We don't use it elsewhere in the code; just add a comment.)
12719
12720         * gif_io.c:
12721         [6].
12722         Add config.h.
12723
12724         * glyphs-msw.c:
12725         * glyphs-msw.c (mswindows_resource_instantiate):
12726         [1].
12727
12728         * glyphs-x.c (x_native_layout_instantiate):
12729         [5].
12730
12731         * gui-msw.c (Fmswindows_shell_execute):
12732         [1].
12733
12734         * insdel.c:
12735         [4].
12736
12737         * lisp.h:
12738         [4]. [5].
12739
12740         * lread.c (locate_file_in_directory_mapper):
12741         [1].
12742
12743         * lstream.c:
12744         [4].
12745
12746         * mem-limits.h:
12747         * mem-limits.h (get_lim_data):
12748         [1].
12749
12750         * menubar-msw.c:
12751         [4].
12752
12753         * ndir.h:
12754         [1].
12755
12756         * nt.c:
12757         * nt.c (getwd):
12758         * nt.c (closedir):
12759         * nt.c (rva_to_section):
12760         * nt.c (mswindows_executable_type):
12761         [1]. [6].
12762         Fix closedir() defn.
12763
12764         * nt.h:
12765         [[[[8]]]]: *_OK defs moved to sysfile.h.
12766
12767         * ntproc.c:
12768         [6]. [7].
12769
12770         * objects-x.c:
12771         [4].
12772
12773         * print.c:
12774         * print.c (std_handle_out_external):
12775         [1]. [4].
12776
12777         * process-nt.c:
12778         * process-nt.c (nt_create_process):
12779         [6].
12780         try to fix process quoting somewhat.
12781
12782         * process-unix.c (unix_create_process):
12783         [1].
12784
12785         * process.c:
12786         * process.c (vars_of_process):
12787         Add Vnull_device.
12788
12789         * process.h:
12790         [1].
12791
12792         * realpath.c:
12793         * realpath.c (xrealpath):
12794         [1].
12795
12796         * redisplay-tty.c (init_tty_for_redisplay):
12797         [3].
12798
12799         * redisplay.c:
12800         [4]. [6].
12801
12802         * scrollbar-msw.c:
12803         [4].
12804
12805         * sheap.c:
12806         * sheap.c (more_static_core):
12807         * sheap.c (report_sheap_usage):
12808         [5]. [6].
12809
12810         * signal.c:
12811         * signal.c (alarm_signal):
12812         [1]. [6].
12813
12814         * sound.c:
12815         [6].
12816
12817         * strftime.c:
12818         * strftime.c (zone_name):
12819         [1]. [5].
12820
12821         * symsinit.h (init_sunpro):
12822         [1].
12823
12824         * syscommctrl.h:
12825         commctrl.h not in Cygwin b20.1.
12826
12827         * sysdep.c:
12828         * sysdep.c (endif):
12829         * sysdep.c (sys_subshell):
12830         * sysdep.c (init_baud_rate):
12831         * sysdep.c (emacs_get_tty):
12832         * sysdep.c (emacs_set_tty):
12833         * sysdep.c (tty_init_sys_modes_on_device):
12834         * sysdep.c (init_system_name):
12835         * sysdep.c (sys_open):
12836         * sysdep.c (interruptible_open):
12837         * sysdep.c (sys_fopen):
12838         * sysdep.c (sys_mkdir):
12839         * sysdep.c (sys_rename):
12840         * sysdep.c (get_process_times_1):
12841         [1]. [6].
12842
12843         * sysdep.h:
12844         [1].
12845
12846         * sysdir.h:
12847         * sysdir.h (DIRENTRY_NONEMPTY):
12848         [1]. [6].
12849
12850         * sysdll.c (dll_init):
12851         * sysdll.h:
12852         [1].
12853
12854         * sysfile.h:
12855         [1]. [6]. [8].
12856         added text/binary defs.
12857
12858         * sysfloat.h:
12859         [1].
12860
12861         * sysproc.h:
12862         * sysproc.h (EDESTADDRREQ):
12863         * sysproc.h (poll_fds_for_input):
12864         [1]. [6].
12865
12866         * syspwd.h:
12867         [6].
12868
12869         * syssignal.h:
12870         [1].
12871
12872         * systime.h:
12873         [1]. [6].
12874
12875         * systty.h:
12876         [1].
12877
12878         * syswindows.h:
12879         [1].
12880         Always define WIN32_LEAN_AND_MEAN.
12881
12882         * unexcw.c (unexec):
12883         [5].
12884
12885         * unexec.c:
12886         * unexec.c (copy_text_and_data):
12887         * unexec.c (adjust_lnnoptrs):
12888         [1].
12889
12890         * unexnt.c:
12891         * unexnt.c (_start):
12892         [1].
12893
12894 2000-06-07  Ben Wing  <ben@xemacs.org>
12895
12896         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12897         was used only as a model.  We've long since extracted any useful
12898         logic or code out of this. (I just did an exhaustive search.)
12899
12900         * s\msdos.h: Removed.
12901
12902         * s\windows95.h: Removed.
12903
12904 2000-06-10  Ben Wing  <ben@xemacs.org>
12905
12906         * s\cygwin32.h:
12907         [1]. [5].
12908         Don't use extern with fun defs.
12909
12910         * s\mingw32.h:
12911         [1]. [7].
12912         Remove nt\inc include.
12913         Remove getdisk, getdefdir. (The former is unused, the latter
12914         expanded in fileio.h.)
12915
12916         * s\windowsnt.h:
12917         * s\windowsnt.h (WIN32_NATIVE):
12918         * s\windowsnt.h (HAVE_STRCASECMP):
12919         [1]. [7].
12920         Add long comment about preprocessor changes.
12921         Remove getdisk, getdefdir. (The former is unused, the latter
12922         expanded in fileio.h.)
12923
12924 2000-06-10  Ben Wing  <ben@xemacs.org>
12925
12926         * m\arm.h:
12927         * m\delta.h:
12928         * m\intel386.h:
12929         * m\sequent.h:
12930         * m\template.h:
12931         * m\windowsnt.h:
12932         [1].
12933         Remove bogus/unused NO_SOCK_SIGIO.
12934
12935 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12936
12937         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12938         not an Emchar.
12939
12940 2000-06-04  Mike Sperber <mike@xemacs.org>
12941
12942         * casetab.c (set_case_table): For `set-standard-case-table',
12943         actually deposit the new case tables where the rest of XEmacs can
12944         see them.
12945
12946 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12947
12948         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12949
12950 2000-06-05  Ben Wing  <ben@xemacs.org>
12951
12952         * callproc.c (child_setup): Don't do close_load_descs() under
12953         MS Windows.  Put in a comment explaining why.
12954
12955 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12956
12957         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12958         Toolkit shell" which breaks `kill-compilation' on Windows NT
12959         native, retaining STDERR handling improvements.
12960
12961 2000-06-01  Andreas Jaeger  <aj@suse.de>
12962
12963         * s/s390.h: Support for S390, based on a patch by Martin
12964         Schwidefsky <schwidefsky@de.ibm.com>.
12965
12966 2000-05-30  Andy Piper  <andy@xemacs.org>
12967
12968         * window.c (allocate_window):
12969         (make_dummy_parent):
12970         (Fset_window_configuration): use new hashtable type.
12971
12972         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12973         (struct image_instantiator_methods):
12974         (struct Lisp_Image_Instance): make instance geometry signed.
12975
12976         * glyphs.c (instantiate_image_instantiator):
12977         (image_instance_query_geometry):
12978         (image_instance_layout):
12979         (image_instance_layout):
12980         (query_string_geometry):
12981         (text_query_geometry):
12982         (image_instantiate):
12983         (image_instantiate):
12984         (cache_subwindow_instance_in_frame_maybe):
12985         (subwindow_query_geometry): make instance geometry signed.
12986
12987         * glyphs-widget.c (widget_query_geometry):
12988         (widget_layout):
12989         (button_query_geometry):
12990         (tree_view_query_geometry):
12991         (tab_control_query_geometry):
12992         (layout_query_geometry):
12993         (layout_layout):
12994         (native_layout_layout): make instance geometry signed.
12995
12996 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12997
12998         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12999         constant.
13000
13001         * general.c (syms_of_general): Add Qfull_assoc symbol.
13002
13003         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13004         correctly.
13005         (decode_weak_list_type): Decode full-assoc type.
13006         (encode_weak_list_type): Encode full-assoc type.
13007         (Fmake_weak_list): Update doc string.
13008
13009 2000-05-30  Andy Piper  <andy@xemacs.org>
13010
13011         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13012
13013         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13014         (decode_hash_table_weakness): ditto.
13015         (Fhash_table_weakness): ditto.
13016         (Fhash_table_type): ditto.
13017         (finish_marking_weak_hash_tables): ditto.
13018         (hash_table_weakness_validate): ditto.
13019         (syms_of_elhash): ditto.
13020
13021 2000-05-28  Martin Buchholz <martin@xemacs.org>
13022
13023         * XEmacs 21.2.34 is released.
13024
13025 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13026
13027         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13028         start cache.
13029         (updating_line_start_cache): Gone.
13030         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13031         generic code to force a minimum of 1 line laid out in the
13032         CMOTION_DISP case.
13033
13034 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13035
13036         * glyphs.c (instantiate_image_instantiator): Check for initialized
13037         height & width no longer special cases IMAGE_NOTHING.
13038         (nothing_instantiate): Set height and width of instance.
13039
13040 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13041
13042         * unexelf.c (unexec): Search for ".data" section.
13043         Initialize new_data2_offset from old_data_index.
13044         Remove redundant check for ElfW.
13045
13046 2000-05-23  Andy Piper  <andy@xemacs.org>
13047
13048         * glyphs.c (get_image_instantiator_governing_domain): allow more
13049         specific domains as the governing domain rather than expecting an
13050         exact match. This fixes problems with layouts.
13051
13052 2000-05-22  Andy Piper  <andy@xemacs.org>
13053
13054         * redisplay-output.c (compare_runes): check for non-images
13055
13056         * glyphs.c (set_glyph_dirty_p): ditto.
13057         (update_glyph_cachel_data): ditto.
13058
13059         * glyphs-widget.c (layout_post_instantiate): ditto.
13060         (layout_post_instantiate): ditto.
13061
13062         * event-msw.c (mswindows_wnd_proc): warning removal.
13063
13064 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13065
13066         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13067
13068         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13069
13070         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13071
13072         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13073         (mswindows_executable_type): mingw32 now has enough headers for
13074         this to work.
13075
13076 2000-05-20  Andy Piper  <andy@xemacs.org>
13077
13078         * console-msw.c (mswindows_output_last_error): ; -> ,
13079
13080 2000-05-12  Andy Piper  <andy@xemacs.org>
13081
13082         * console-msw.c (FROB): compare ints with ints.
13083
13084 2000-05-11  Andy Piper  <andy@xemacs.org>
13085
13086         * glyphs-x.c (x_finalize_image_instance): make minimal build
13087         happy.
13088
13089 2000-05-20  Ben Wing  <ben@xemacs.org>
13090
13091         * event-Xt.c:
13092         * event-Xt.c (vars_of_event_Xt):
13093         move modifier-keys-are-sticky to event-stream.c.
13094
13095         * event-msw.c:
13096         * event-msw.c (mswindows_enqueue_mouse_button_event):
13097         * event-msw.c (key_needs_default_processing_p):
13098         * event-msw.c (XEMSW_LCONTROL):
13099         * event-msw.c (mswindows_handle_sticky_modifiers):
13100         * event-msw.c (FROB):
13101         * event-msw.c (clear_sticky_modifiers):
13102         * event-msw.c (output_modifier_keyboard_state):
13103         * event-msw.c (output_alt_keyboard_state):
13104         * event-msw.c (mswindows_wnd_proc):
13105         * event-msw.c (mswindows_modifier_state):
13106         * event-msw.c (emacs_mswindows_handle_magic_event):
13107         implement sticky modifiers.
13108
13109         * event-stream.c:
13110         * event-stream.c (vars_of_event_stream):
13111         move modifier-keys-are-sticky here.
13112
13113         * lisp.h:
13114         add CHECK_FUNCTION.
13115
13116         * rangetab.c:
13117         implement map-range-table.
13118
13119
13120 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13121
13122         * redisplay-tty.c (reset_tty_modes):
13123         (tty_redisplay_shutdown): Adjust argument type to
13124         tty_frame_output_end.
13125
13126 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13127
13128         * eval.c (Fbacktrace): Don't output a line with only right
13129         parenthesis.
13130
13131 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13132
13133         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13134         (Fpq_reset_poll): Ditto.
13135
13136 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13137
13138         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13139
13140 2000-05-16  Ben Wing  <ben@xemacs.org>
13141
13142         * buffer.c:
13143         * buffer.c (dfc_convert_to/from_internal_format):
13144         * buffer.c (reinit_vars_of_buffer):
13145         Fix conversion functions to allow reentrancy.
13146
13147         * console-msw.c:
13148         * console-msw.c (mswindows_output_last_error):
13149         New fun, generally useful -- output a human-readable
13150         version of GetLastError() on the console.
13151
13152         * console-msw.h:
13153         * console-msw.h (struct mswindows_frame):
13154         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13155
13156         * console-stream.c (stream_output_begin):
13157         * console-stream.c (stream_output_end):
13158         * console-stream.c (stream_output_vertical_divider):
13159         * console-stream.c (stream_clear_region):
13160         * console-stream.c (stream_flash):
13161         * console-stream.c (console_type_create_stream):
13162         Delete blank stream methods, not needed.
13163
13164         * console.h (struct console_methods):
13165         Split begin/end methods into window and frame.
13166
13167         * event-msw.c:
13168         * event-msw.c (mswindows_handle_paint):
13169         * event-msw.c (output_alt_keyboard_state):
13170         * event-msw.c (mswindows_wnd_proc):
13171         * event-msw.c (vars_of_event_mswindows):
13172         Comment about problems with ignored-expose.
13173         Define mswindows-debug-events; not really implemented.
13174
13175         * frame-msw.c (mswindows_init_frame_1):
13176         random cleanups.
13177
13178         * glyphs-msw.c:
13179         * glyphs-msw.c (begin_defer_window_pos):
13180         * glyphs-msw.c (mswindows_unmap_subwindow):
13181         * glyphs-msw.c (mswindows_map_subwindow):
13182         * glyphs-msw.c (mswindows_resize_subwindow):
13183         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13184
13185         * glyphs.c (make_image_instance_1):
13186         Fix crash.
13187
13188         * gutter.c (Fredisplay_gutter_area):
13189         Use new begin/end methods.
13190
13191         * lisp.h (Dynarr_new2):
13192         New creation fun.
13193
13194         * redisplay-msw.c:
13195         * redisplay-msw.c (mswindows_frame_output_begin):
13196         * redisplay-msw.c (mswindows_frame_output_end):
13197         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13198         New begin/end methods -- handle DeferWindowPos.
13199
13200         * redisplay-output.c (redisplay_move_cursor):
13201         * redisplay-output.c (redraw_cursor_in_window):
13202         * redisplay-output.c (redisplay_update_line):
13203         * redisplay-output.c (redisplay_output_window):
13204         New begin/end methods.
13205
13206         * redisplay-tty.c:
13207         * redisplay-tty.c (tty_frame_output_begin):
13208         * redisplay-tty.c (tty_frame_output_end):
13209         * redisplay-tty.c (console_type_create_redisplay_tty):
13210         New begin/end methods.
13211
13212         * redisplay-x.c:
13213         * redisplay-x.c (x_window_output_begin):
13214         * redisplay-x.c (x_window_output_end):
13215         * redisplay-x.c (console_type_create_redisplay_x):
13216         New begin/end methods.
13217
13218         * redisplay.c (redisplay_frame):
13219         * redisplay.c (Fredisplay_echo_area):
13220         New begin/end methods.
13221         use MAYBE_DEVMETH for clear_frame; it may not exist.
13222
13223         * window.h (WINDOW_XFRAME):
13224         WINDOW_XFOO macros -- get locale and decode struct pointer.
13225
13226
13227 2000-05-12  Ben Wing  <ben@xemacs.org>
13228
13229         * emacs.c:
13230         * emacs.c (ensure_no_quitting_from_now_on):
13231         * emacs.c (fatal_error_signal):
13232         * emacs.c (mswindows_handle_hardware_exceptions):
13233         * emacs.c (main):
13234         * emacs.c (Fkill_emacs):
13235         * emacs.c (shut_down_emacs):
13236         * emacs.c (assert_failed):
13237         various improvements in fatal error handling.
13238
13239         * eval.c:
13240         move preparing_for_armageddon to emacs.c.
13241
13242         * lisp.h:
13243         declare fatal_error_in_progress.
13244
13245         * print.c:
13246         * print.c (std_handle_out_external):
13247         * print.c (std_handle_out_va):
13248         * print.c (stderr_out):
13249         * print.c (stdout_out):
13250         use console under mswin when no standard output.
13251         don't do code conversion during fatal error.
13252
13253         * scrollbar.c (Fscrollbar_page_up):
13254         * scrollbar.c (Fscrollbar_page_down):
13255         fix missing else.  reindent.
13256
13257 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13258
13259         Emergency fix.
13260
13261         * glyphs.h (GLYPH_CACHEL_DESCENT):
13262         (GLYPH_CACHEL_DESCENT):
13263         (GLYPH_CACHEL_DESCENT):
13264         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13265         used in case these are inline functions.
13266         Use more absurd values to error check.
13267
13268         include window.h for error check functions.
13269
13270 2000-05-11  Ben Wing  <ben@xemacs.org>
13271
13272         * cmdloop.c (Freally_early_error_handler):
13273         Display message box under windows; otherwise, message will disappear
13274         before it can be viewed.
13275
13276         * console-msw.c:
13277         * console-msw.c (Fmswindows_message_box):
13278         * console-msw.c (FROB):
13279         * console-msw.c (syms_of_console_mswindows):
13280         Define new fun `mswindows-message-box'.
13281         #### I will merge this into `popup-dialog-box'; just give me
13282         a bit of time.
13283
13284         * general.c:
13285         * general.c (syms_of_general):
13286         Some new symbols used in `mswindows-message-box'.
13287
13288         * glyphs.c:
13289         * glyphs.c (Fset_image_instance_property):
13290         put warning in this fun.
13291
13292         * glyphs.h:
13293         * glyphs.h (GLYPH_CACHEL_WIDTH):
13294         * glyphs.h (GLYPH_CACHEL_ASCENT):
13295         * glyphs.h (GLYPH_CACHEL):
13296         * glyphs.h (GLYPH_CACHEL_GLYPH):
13297         define error-checking versions to try to catch a bug i've seen --
13298         redisplay gets in an infinite loop because the glyph width of the
13299         continuation glyph is 65535.
13300
13301         * lisp.h:
13302         Extern message-box stuff.
13303
13304         * window.c (allocate_window):
13305         * window.c (make_dummy_parent):
13306         * window.c (Fset_window_configuration):
13307         Use EQUAL not EQ for subwindow caches to make them work a bit
13308         better. (Something is still very broken.)
13309
13310
13311 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13312
13313         * glyphs.c (image_instantiate): Suppress gcc warnings.
13314         (Fmake_image_instance): Fix doc string.
13315         * specifier.c (Fmake_specifier): Ditto.
13316
13317 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13318
13319         * paths.h.in (PATH_LOCK): Removed.
13320         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13321         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13322
13323 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13324
13325         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13326         Document (featurep '(and xemacs 21.02)).
13327
13328 2000-05-09  Ben Wing  <ben@xemacs.org>
13329
13330         * buffer.c (complex_vars_of_buffer):
13331         update modeline-format doc.
13332
13333         * device.h:
13334         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13335
13336         * emacs.c:
13337         timeline of all released versions of Emacs, for use in creating
13338         authorship comments and in synching up.
13339
13340         * glyphs-widget.c (image_instantiator_buttons):
13341         * glyphs-widget.c (image_instantiator_edit_fields):
13342         * glyphs-widget.c (image_instantiator_combo_box):
13343         * glyphs-widget.c (image_instantiator_scrollbar):
13344         * glyphs-widget.c (image_instantiator_progress_guage):
13345         * glyphs-widget.c (image_instantiator_tree_view):
13346         * glyphs-widget.c (image_instantiator_tab_control):
13347         * glyphs-widget.c (image_instantiator_labels):
13348         * glyphs-widget.c (image_instantiator_layout):
13349         * glyphs-widget.c (image_instantiator_native_layout):
13350         rename decode_domain method to governing_domain.
13351
13352         * glyphs.c:
13353         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13354         * glyphs.c (add_entry_to_device_ii_format_list):
13355         make sure we don't put an entry more than once into the list.
13356         * glyphs.c (check_instance_cache_mapper):
13357         *************************************************************
13358         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13359         HAVE BEEN GETTING.
13360         *************************************************************
13361         * glyphs.c (get_image_instantiator_governing_domain):
13362         clean up, expand on new concept of governing domain.
13363         * glyphs.c (instantiate_image_instantiator):
13364         * glyphs.c (allocate_image_instance):
13365         use governing_domain instead of cache_domain in naming.
13366         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13367         * glyphs.c (make_image_instance_1):
13368         * glyphs.c (Fmake_image_instance):
13369         allow for any domain (not just device), and process the
13370         governing domain correctly.  very big doc fix.
13371         * glyphs.c (Fimage_instance_domain):
13372         new primitive, to retrieve the governing domain of an image instance.
13373         * glyphs.c (image_instantiate):
13374         use new governing_domain stuff.  this fixes a crash you could get
13375         by instantiating certain widget glyphs in frame locales. (should
13376         signal an error instead of crashing.)
13377         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13378         * glyphs.c (Fglyphp): clean up doc.
13379         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13380         * glyphs.c (syms_of_glyphs):
13381         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13382         * glyphs.c (image_instantiator_format_create): add some comments about
13383         bogus code.
13384         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13385         for current-display-table. (Apparently Hrjove implemented in 1998 a
13386         design I wrote up in 1996, but didn't update the doc string.)
13387
13388         * glyphs.h: clean up a doc string.
13389         * glyphs.h (governing_domain):
13390         * glyphs.h (struct image_instantiator_methods):
13391         changes for governing_domain stuff.
13392
13393         * gutter.c:
13394         * gutter.c (Fgutter_specifier_p):
13395         * gutter.c (Fgutter_size_specifier_p):
13396         * gutter.c (Fgutter_visible_specifier_p):
13397         * objects.c:
13398         * objects.c (Fcolor_specifier_p):
13399         * objects.c (Ffont_specifier_p):
13400         * objects.c (Fface_boolean_specifier_p):
13401         doc strings moved to make-*-specifier.
13402
13403         * redisplay.c (add_disp_table_entry_runes_1):
13404         * redisplay.c (generate_fstring_runes):
13405         * redisplay.c (screen):
13406         add random comments and doc strings.
13407
13408         * specifier.c:
13409         * specifier.c (Fmake_specifier):
13410         major overhaul of this doc string.
13411
13412         * specifier.c (Fvalid_specifier_domain_p):
13413         comment about the bogosity of image instances being domains.
13414         * specifier.c (decode_domain):
13415         now non-static, used in glyphs.c.
13416         * specifier.c (specifier_instance):
13417         comment about the bogosity of image instances being domains.
13418         * specifier.c (Fgeneric_specifier_p):
13419         move doc string to make-generic-specifier.
13420         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13421         rebackslashify.
13422
13423         * specifier.h:
13424         * specifier.h (DOMAIN_FRAME):
13425         * specifier.h (DOMAIN_LIVE_P):
13426         * specifier.h (DOMAIN_XDEVICE):
13427         rebackslashify.
13428         add comments about problems with these macros.
13429         prototype for decode_domain.
13430
13431         * toolbar.c:
13432         * toolbar.c (Ftoolbar_specifier_p):
13433         move doc string to `make-toolbar-specifier'.
13434
13435         * window.c (window_unmap_subwindows_cache_mapper):
13436         *************************************************************
13437         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13438         HAVE BEEN GETTING.
13439         *************************************************************
13440
13441 2000-05-09  Andy Piper  <andy@xemacs.org>
13442
13443         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13444
13445         * window.c (Fset_window_configuration): reset the frame subwindow
13446         cache and re-initialize the window subwindow caches.
13447
13448         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13449
13450 2000-05-09  Ben Wing  <ben@xemacs.org>
13451
13452         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13453         DWORD.
13454
13455 2000-04-26  Mike Woolley  <mike@bulsara.com>
13456
13457         * ntheap.c: Changed recreate_heap to limit the amount reserved
13458         for the heap to that which is actually available. Also now
13459         displays a message box (with some dignostics) in the event that
13460         it still can't start.
13461
13462 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13463
13464         * callproc.c (Fold_call_process_internal): GCPRO path
13465
13466 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13467
13468         Patch by Bill Perry.
13469
13470         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13471         back data instead of #ifdef.
13472         (Fscrollbar_page_down): ditto.
13473
13474 2000-05-07  Ben Wing  <ben@xemacs.org>
13475
13476         * buffer.h:
13477         Kludge for defining Qmswindows_tstr.
13478
13479         * nt.c:
13480         * nt.c (open_input_file):
13481         * nt.c (open_output_file):
13482         * nt.c (rva_to_section):
13483         * nt.c (mswindows_executable_type):
13484         Move all memory-mapped-file routines here (some were in unexnt.c,
13485         which is bad because they are used by process-nt.c, and unexnt
13486         won't be around when portable dumping).  Synched the above routines
13487         with FSF 20.6.
13488
13489         * nt.h:
13490         Removed ifdef'd out bogus code.
13491         Fixed some prototypes.
13492
13493         * nt.h (file_data):
13494         * nt.h (OFFSET_TO_RVA):
13495         * nt.h (RVA_TO_OFFSET):
13496         * nt.h (RVA_TO_PTR):
13497         Moved the memory-mapped-file structures, macros and prototypes
13498         here, to parallel nt.c.  ntheap.h should really be removed
13499         entirely, and it's a non-portable-dumper specific file.
13500
13501         * ntheap.h (round_to_next):
13502         Moved the memory-mapped-file structures, macros and prototypes
13503         to nt.h.
13504
13505         * ntproc.c (compare_env):
13506         Moved rva_to_section and mswindows_executable_type to nt.c.
13507         Moved compare_env to process-nt.c.
13508         ntproc.c will die, one day.
13509
13510         * ntproc.c (sys_spawnve):
13511         Account for win32_ -> mswindows_.
13512
13513         * process-nt.c:
13514         * process-nt.c (struct nt_process_data):
13515         * process-nt.c (ensure_console_window_exists):
13516         * process-nt.c (compare_env):
13517         * process-nt.c (nt_create_process):
13518         * process-nt.c (nt_kill_process_by_pid):
13519         * process-nt.c (syms_of_process_nt):
13520         * process-nt.c (vars_of_process_nt):
13521         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13522         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13523         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13524         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13525         Move compare_env here from ntproc.c.
13526
13527         * process.c (Fprocess_send_region):
13528         Takes an optional fourth argument, BUFFER, which should fix some
13529         problems with call-process.
13530
13531         * syscommctrl.h:
13532         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13533
13534         * syswindows.h:
13535         Move ICC_BAR_CLASSES to syscommctrl.h.
13536         Add preliminary macros for MSWindows/Mule.  More to come.
13537
13538         * unexnt.c:
13539         * unexnt.c (unexec):
13540         open_output_file moved to nt.c.
13541
13542
13543 2000-05-05  Andy Piper  <andy@xemacs.org>
13544
13545         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13546         instance from the frame cache also since GC may catch up too late
13547         to make frame deletion sane.
13548
13549 2000-05-04  Andy Piper  <andy@xemacs.org>
13550
13551         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13552         (x_finalize_image_instance): ungcpro on deletion.
13553
13554         * glyphs.c (image_instantiator_format_create): give pointers a
13555         query geometry method so that the geometry is at least set.
13556
13557         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13558         initialize layouts if using widgets.
13559
13560 2000-05-03  Andy Piper  <andy@xemacs.org>
13561
13562         * nt.c: remove bogus reference to sysmmsystem.h
13563
13564         * gui-x.c (popup_selection_callback): fix no selection abort.
13565
13566 2000-05-02  Andy Piper  <andy@xemacs.org>
13567
13568         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13569         (mswindows_widget_instantiate): ditto.
13570
13571         * glyphs-widget.c (initialize_widget_image_instance): initialize
13572         children correctly.
13573         (widget_instantiate): cope with children and items in the same
13574         instance.
13575
13576         * glyphs.c (mark_image_instance): cope with children as a first
13577         class member.
13578         (image_instance_equal): ditto.
13579         (image_instance_hash): ditto.
13580         (image_instance_changed): ditto.
13581
13582 2000-04-30  Andy Piper  <andy@xemacs.org>
13583
13584         * glyphs.c (subwindow_query_geometry): new function. Return some
13585         defaults.
13586         (subwindow_instantiate): don't assign dimensions if none have been
13587         given.
13588         (image_instantiator_format_create): add subwindow_query_geometry.
13589         (print_image_instance): cope with layouts as widgets.
13590
13591 2000-04-29  Andy Piper  <andy@xemacs.org>
13592
13593         * frame.c (delete_frame_internal): call
13594         free_frame_subwindow_instance_cache so that all subwindows are
13595         finalized before their parent.
13596         (mark_frame): remove subwindow_cachels.
13597         (Fmake_frame): remove subwindow_cachel manipulation.
13598         (allocate_frame_core): subwindow_instance_cache is a weak list.
13599         (delete_frame_internal): set subwindow_instance_cache to nil.
13600
13601         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13602         finalization safe.
13603         (mswindows_finalize_image_instance): use the device
13604         not the domain as the domain may have died already.
13605
13606         * glyphs-x.c (x_finalize_image_instance): ditto.
13607         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13608         HEIGHT.
13609
13610         * redisplay-output.c (redisplay_unmap_subwindows): update for
13611         subwindow instance cache as a weak list.
13612         (redisplay_unmap_subwindows_maybe): ditto.
13613         (redisplay_unmap_subwindows_except_us): ditto.
13614
13615         * glyphs.c (unmap_subwindow): error checking will check the domain
13616         so don't deal with it here. Don't use cachels anymore.
13617         (map_subwindow): ditto.
13618         (update_subwindow_cachel_data): remove old accessor names.
13619         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13620         (Fresize_subwindow): don't update cachel.
13621         (mark_subwindow_cachels):
13622         (update_subwindow_cachel_data):
13623         (add_subwindow_cachel):
13624         (get_subwindow_cachel_index):
13625         (update_subwindow_cachel):
13626         (reset_subwindow_cachels):
13627         (mark_subwindow_cachels_as_not_updated): deleted.
13628         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13629         subwindow instance to the frame cache.
13630         (find_matching_subwindow): update for subwindow instance cache as
13631         a weak list.
13632         (update_widget_instances): ditto.
13633         (image_instance_type_to_mask):inlined.
13634         (free_frame_subwindow_instance_cache): new function. finalize all
13635         subwindows that are instantiated.
13636
13637         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13638         of cachel information.
13639         (IMAGE_INSTANCE_DISPLAY_X):
13640         (IMAGE_INSTANCE_DISPLAY_Y):
13641         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13642         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13643         (XIMAGE_INSTANCE_DISPLAY_X):
13644         (XIMAGE_INSTANCE_DISPLAY_Y):
13645         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13646         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13647         remove subwindow_cachel structure and function references.
13648         (image_instance_type_to_mask): inline from glyphs.c
13649
13650         * redisplay.c (redisplay_frame): remove subwindow_cachel
13651         references.
13652
13653         * frame.h (struct frame): remove subwindow_cachels.
13654         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13655
13656         * frameslots.h: add subwindow_instance_cache.
13657
13658         * window.c (replace_window): check subwindow cache of replacement.
13659         (window_unmap_subwindows_cache_mapper):
13660         (window_unmap_subwindows): new functions. Unmap all subwindows
13661         cached on this window.
13662         (mark_window_as_deleted): unmap all subwindows.
13663
13664 2000-04-27  Andy Piper  <andy@xemacs.org>
13665
13666         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13667
13668         * glyphs-widget.c (widget_layout): return something.
13669         (layout_layout): return something. Fail if not initialized.
13670         (layout_query_geometry): ditto.
13671         (image_instantiator_native_layout): new function. Initialized the
13672         native layout type.
13673         (widget_instantiate): don't do layout stuff here.
13674
13675         * glyphs.c (instantiate_image_instantiator): reorded calling or
13676         instantiate and post_instantiate with layout in between.
13677         (image_instance_layout): be more selective about deciding whether
13678         the layout has been done or not.
13679
13680         * glyphs.h (struct image_instantiator_methods): return a value
13681         from layout_method.
13682
13683 2000-04-26  Andy Piper  <andy@xemacs.org>
13684
13685         * glyphs.c (allocate_image_instance): make initial width and
13686         height unspecified. Set initialized to 0.
13687
13688         * syscommctrl.h new file. Encapsulates commctrl.h.
13689
13690         * syswindows.h new file. Encapsulates windows.h.
13691
13692         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13693         * nt.c: ditto.
13694         * console-msw.h: ditto.
13695
13696         * redisplay-tty.c (tty_output_display_block): remove layout references.
13697
13698         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13699         window handle rather than just the frame.
13700
13701         * glyphs.c (mark_image_instance): remove layout references.
13702         (print_image_instance): ditto.
13703         (image_instance_equal): ditto.
13704         (image_instance_hash): ditto.
13705         (decode_image_instance_type): ditto.
13706         (encode_image_instance_type): ditto.
13707         (image_instantiate): ditto.
13708         (allocate_glyph): ditto.
13709         (Fimage_instance_height): ditto.
13710         (Fimage_instance_width): ditto.
13711         (update_subwindow): ditto.
13712
13713         * redisplay-x.c (x_output_display_block): recode for layouts as
13714         widgets.
13715
13716         * redisplay-output.c (redisplay_output_layout): recode for layouts
13717         as widgets.
13718         (compare_runes): remove layout references.
13719
13720         * redisplay-msw.c (mswindows_output_display_block): recode for
13721         layouts as widgets.
13722
13723         * glyphs-widget.c (image_instantiator_layout): remove
13724         layout_possible_dest_types.
13725         (layout_possible_dest_types): deleted.
13726
13727         * glyphs.h (image_instance_type): remove layout references.
13728         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13729         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13730         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13731
13732 2000-04-25  Andy Piper  <andy@xemacs.org>
13733
13734         * glyphs-widget.c (image_instantiator_buttons):
13735         (image_instantiator_edit_fields):
13736         (image_instantiator_combo_box):
13737         (image_instantiator_scrollbar):
13738         (image_instantiator_progress_guage):
13739         (image_instantiator_tree_view):
13740         (image_instantiator_tab_control):
13741         (image_instantiator_labels):
13742         (image_instantiator_layout): call default post_instantiate method.
13743         (widget_post_instantiate): new function. Simply lays out the
13744         widgets.
13745
13746         * glyphs.h (struct image_instantiator_methods): add
13747         post_instantiate method.
13748
13749         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13750         method calls.
13751
13752 2000-04-23  Andy Piper  <andy@xemacs.org>
13753
13754         * glyphs.h (struct image_instantiator_methods): add
13755         decode_domain_method.
13756         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13757         derived from the domain.
13758         (IMAGE_INSTANCE_FRAME): new accessor.
13759         (XIMAGE_INSTANCE_FRAME): ditto.
13760
13761         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13762         instead of _SUBWINDOW_FRAME.
13763         (finalize_image_instance): ditto.
13764         (Fimage_instance_foreground): ditto.
13765         (Fimage_instance_background): ditto.
13766         (image_instantiate): ditto.
13767         (update_subwindow_cachel): ditto.
13768         (update_subwindow): ditto.
13769         (unmap_subwindow): ditto.
13770         (map_subwindow): ditto
13771         (subwindow_instantiate): ditto.
13772         * glyphs-msw.c (mswindows_update_widget): ditto.
13773         (mswindows_progress_gauge_instantiate): ditto.
13774         (mswindows_tab_control_update): ditto.
13775         * glyphs-x.c (x_update_widget): ditto.
13776         (x_widget_instantiate): ditto.
13777         (x_tab_control_instantiate): ditto.
13778         (x_tab_control_update): ditto.
13779         * event-msw.c (mswindows_wnd_proc): ditto
13780
13781         * glyphs-widget.c (image_instantiator_layout): use
13782         subwindow_decode_domain.
13783         (image_instantiator_buttons): ditto.
13784         (image_instantiator_edit_fields): ditto.
13785         (image_instantiator_combo_box): ditto.
13786         (image_instantiator_scrollbar): ditto.
13787         (image_instantiator_progress_guage): ditto.
13788         (image_instantiator_tree_view): ditto.
13789         (image_instantiator_tab_control): ditto.
13790         (image_instantiator_labels): ditto.
13791         (image_instantiator_layout): ditto.
13792
13793         * glyphs.c: add instance error checking to many functions.
13794         (instantiate_image_instantiator): decode device from cache_domain.
13795         (image_instantiate): partially rewrite by using
13796         decode_image_instantiator_domain to determine what domain the
13797         instance needs to be cached in.
13798         (decode_image_instantiator_domain): new function. Determine what
13799         domain the image needs to be cached in.
13800         (check_window_subwindow_cache): new error checking function.
13801         (check_instance_cache_mapper): ditto.
13802         (check_image_instance_structure): ditto.
13803         (subwindow_decode_domain): new function. Encodes a window as a
13804         subwindow's cache domain.
13805         (image_instantiator_format_create): use it for text and
13806         subwindows.
13807
13808 2000-04-21  Andy Piper  <andy@xemacs.org>
13809
13810         * glyphs.c (image_instance_device): new function.
13811         (image_instance_frame): new function.
13812         (image_instance_window): new function.
13813         (image_instance_live_p): new function.
13814
13815         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13816         cache to nil.
13817
13818         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13819         (IMAGE_INSTANCE_DOMAIN): new accessor.
13820         (XIMAGE_INSTANCE_DOMAIN): ditto.
13821
13822         * glyphs-x.c (x_finalize_image_instance): device->domain.
13823
13824         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13825         (mswindows_finalize_image_instance): ditto.
13826
13827         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13828         (gif_instantiate): ditto.
13829         (png_instantiate): ditto.
13830         (tiff_instantiate): ditto.
13831
13832         * glyphs.c (instantiate_image_instantiator): use domain rather
13833         than device.
13834         (mark_image_instance): device -> domain.
13835         (print_image_instance): ditto.
13836         (finalize_image_instance): ditto.
13837         (image_instance_equal): ditto.
13838         (allocate_image_instance): ditto.
13839         (Fcolorize_image_instance): ditto.
13840         (query_string_geometry): ditto.
13841         (image_instantiate): ditto
13842         (query_string_font): ditto.
13843         (image_instantiate): ditto.
13844         (update_subwindow): ditto.
13845         (unmap_subwindow): ditto.
13846         (map_subwindow): ditto.
13847         (subwindow_instantiate): ditto.
13848
13849         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13850         (DOMAIN_FRAME): ditto.
13851         (DOMAIN_WINDOW): ditto.
13852         (DOMAIN_LIVE_P): ditto.
13853         (XDOMAIN_DEVICE): ditto.
13854         (XDOMAIN_FRAME): ditto.
13855         (XDOMAIN_WINDOW): ditto.
13856
13857         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13858         a valid specifier domain.
13859
13860 2000-04-19  Andy Piper  <andy@xemacs.org>
13861
13862         * glyphs-widget.c (syms_of_glyphs_widget): remove
13863         widget-callback-current-channel.
13864         (vars_of_glyphs_widget): ditto.
13865         * glyphs.h: ditto
13866
13867         * gui.c (get_gui_callback): revert to previous behaviour.
13868
13869 2000-04-18  Andy Piper  <andy@xemacs.org>
13870
13871         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13872         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13873         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13874
13875         * glyphs.c (image_instance_equal): add margin_width.
13876         (image_instance_hash): ditto.
13877
13878         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13879         (layout_query_geometry): ditto.
13880         (layout_layout): ditto.
13881         (syms_of_glyphs_widget): add margin-width.
13882         (image_instantiator_layout): allow margin-width.
13883
13884         * glyphs.c (update_widget_instances): make a normal function.
13885         (syms_of_glyphs): remove Qupdate_widget_instances.
13886         * glyphs.h: ditto.
13887
13888         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13889         so that we don't corrupt ideas about the last event or
13890         command. Remove widget-callback-current-channel fiddling.
13891         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13892
13893 2000-05-01  Martin Buchholz <martin@xemacs.org>
13894
13895         * XEmacs 21.2.33 is released.
13896
13897 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13898
13899         * make-src-depend: Allow dots in header file name.
13900
13901 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13902
13903         * mule-charset.h (struct charset_lookup): Add
13904         next_allocated_1_byte_leading_byte and
13905         next_allocated_2_byte_leading_byte.
13906         * mule-charset.c: Move above two variables so that those values
13907         will be dumped.
13908
13909 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13910
13911         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13912         when string length is zero.
13913         (find_charsets_in_emchar_string): Ditto.
13914
13915 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13916
13917         * lisp.h: extern Qdialog and Qmenubar.
13918
13919         * gui-x.c: added events.h.
13920                 also fixed typo which made the file uncompilable.
13921
13922         * general.c: Added Qmenubar and Qdialog
13923
13924 2000-04-28  Ben Wing  <ben@xemacs.org>
13925
13926         * frame-msw.c (mswindows_init_frame_1):
13927         * frame-msw.c (mswindows_mark_frame):
13928         * event-msw.c (mswindows_enqueue_dispatch_event):
13929         * console-msw.h:
13930         * console-msw.h (struct mswindows_frame):
13931         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13932         there are now three hash tables for callbacks.
13933         mswindows_enqueue_dispatch_event is no longer static.
13934
13935         * dialog-x.c (maybe_run_dbox_text_callback):
13936         * dialog-x.c (dbox_descriptor_to_widget_value):
13937         switch to new cons3 form for callbacks.
13938
13939         * glyphs-msw.c (mswindows_register_gui_item):
13940         * glyphs-msw.c (mswindows_widget_instantiate):
13941         * glyphs-msw.c (add_tree_item):
13942         * glyphs-msw.c (add_tab_item):
13943         new image instance parameter, so it can be passed to callback-ex.
13944         respect :callback-ex as well as :callback.
13945
13946         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13947         add :callback-ex.
13948
13949         * glyphs.c (print_image_instance):
13950         prettify, e.g. now prints widget type.
13951
13952         * gui-x.h:
13953         certain funs have new image instance parameter.
13954
13955         * gui.c:
13956         * gui.c (get_gui_callback):
13957         * gui.c (gui_item_add_keyval_pair):
13958         * gui.c (gui_item_init):
13959         * gui.c (gui_add_item_keywords_to_plist):
13960         * gui.c (mark_gui_item):
13961         * gui.c (gui_item_hash):
13962         * gui.c (gui_item_equal):
13963         * gui.c (copy_gui_item):
13964         * gui.c (syms_of_gui):
13965         recognize callback-ex in a number of places.
13966         also, fix the annoying "can't get out of yes-no dialog" bug.
13967
13968         * gui.h:
13969         * gui.h (struct Lisp_Gui_Item):
13970         recognize callback-ex in a number of places.
13971
13972         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13973         new parameter in button_item_to_widget_value.
13974
13975         * glyphs-x.c (x_update_widget):
13976         * glyphs-x.c (x_button_instantiate):
13977         * glyphs-x.c (x_button_update):
13978         * glyphs-x.c (x_progress_gauge_instantiate):
13979         * glyphs-x.c (x_edit_field_instantiate):
13980         * glyphs-x.c (x_combo_box_instantiate):
13981         * glyphs-x.c (x_tab_control_instantiate):
13982         * glyphs-x.c (x_label_instantiate):
13983         new image instance parameter in various places.
13984
13985         * event-Xt.c:
13986         * event-Xt.c (enqueue_Xt_dispatch_event):
13987         this fun gets exported.
13988
13989         * gui-msw.c:
13990         * gui-msw.c (mswindows_handle_gui_wm_command):
13991         handle both :callback and :callback-ex, and generate our own
13992         event because it's one of the callback-ex arguments.
13993
13994         * gui-x.c:
13995         * gui-x.c (popup_selection_callback):
13996         handle both :callback and :callback-ex, and generate our own
13997         event because it's one of the callback-ex arguments.
13998         * gui-x.c (button_item_to_widget_value):
13999         * gui-x.c (gui_items_to_widget_values_1):
14000         * gui-x.c (gui_item_children_to_widget_values):
14001         * gui-x.c (gui_items_to_widget_values):
14002         new image instance parameter in various places.
14003
14004         * fns.c (Freplace_list):
14005         fix small typo in doc string.
14006
14007         * lisp.h:
14008         declare enqueue_Xt_dispatch_event.
14009
14010 2000-04-28  Ben Wing  <ben@xemacs.org>
14011
14012         * buffer.c:
14013         * buffer.c (Frecord_buffer):
14014         * buffer.c (syms_of_buffer):
14015         delete record-buffer-hook.
14016
14017         * fns.c:
14018         * fns.c (Freplace_list):
14019         * fns.c (syms_of_fns):
14020         new primitive replace-list.
14021
14022         * frameslots.h:
14023         slot for old buffer-alist.
14024
14025         * lisp.h:
14026         exfun replace-list.
14027
14028         * redisplay.c:
14029         * redisplay.c (redisplay_frame):
14030         * redisplay.c (syms_of_redisplay):
14031         * redisplay.c (vars_of_redisplay):
14032         new hook buffer-list-changed-hook.
14033         call it.
14034
14035 2000-04-27  Ben Wing  <ben@xemacs.org>
14036
14037         * extents.h: extern in_modeline_generation.
14038
14039         * redisplay.c (generate_formatted_string_db): set
14040         in_modeline_generation.
14041
14042         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14043         flags if in modeline generation.  otherwise frame-modified-tick
14044         is ticked far too often.
14045         Declare in_modeline_generation.
14046
14047 2000-04-26  Ben Wing  <ben@xemacs.org>
14048
14049         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14050         option.
14051         (vars_of_emacs): add quick-build as an error-checking option.
14052         A bit kludgy, but there doesn't seem much point in creating
14053         a real var for this.
14054
14055         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14056
14057 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14058
14059         * redisplay.h (struct display_line): Add a new variable,
14060         line_continuation.
14061
14062         * redisplay.c (create_text_block): Set dl->line_continuation if
14063         the line continues.
14064         (create_string_text_block): Ditto.
14065         (regenerate_window_incrementally): Use line_continuation instead
14066         of searching continuation glyph.
14067         (add_margin_runes): Call add_glyph_rune.
14068         (add_glyph_rune): Handle margin glyph.
14069
14070 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14071
14072         * filelock.c (fill_in_lock_file_name):
14073         ANSIfy.
14074         Check for IS_ANY_SEP instead of '/'.
14075         (lock_file_1):
14076         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14077         Never check errno without first seeing that system call failed.
14078         (unlock_file): Add GCPRO.
14079         (Flock_buffer): Fix docstring.
14080         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14081
14082 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14083
14084         * sysdep.c (get_pty_max_bytes):
14085         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14086         strings longer than 252 bytes.
14087
14088         * md5.c: Unconditionally include ANSI header <limits.h>
14089
14090         * glyphs-x.c (convert_EImage_to_XImage):
14091         * lisp-union.h (union Lisp_Object):
14092         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14093
14094 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14095
14096         * filelock.c (current_lock_owner): Remove unused variable o, p.
14097
14098 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14099
14100         * callint.c: Remove multiply defined symbol Qlet
14101         (syms_of_callint): ditto.
14102
14103 2000-04-14  Andy Piper  <andy@xemacs.org>
14104
14105         * general.c (syms_of_general): add last-command, this-command, let
14106         and funcall.
14107
14108         * lisp.h: declare various symbols.
14109
14110         * glyphs.h: declare Qwidget_callback_current_channel;
14111
14112         * glyphs-widget.c (syms_of_glyphs_widget): add
14113         Qgui_callback_current_channel.
14114         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14115
14116         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14117         widget-callback-current-channel when invoking the interactive
14118         arg. Also bind last-command and next-command when invoking the
14119         widget updates.
14120         * gui-x.c (popup_selection_callback): ditto.
14121
14122         * gui.c (get_gui_callback): massage args so that we are always
14123         calling eval. This allows us to add our own variable bindings
14124         outside.
14125
14126         * glyphs-x.c (x_button_instantiate): use
14127         gui_items_to_widget_values since this is GC safe.
14128         (x_progress_gauge_instantiate): ditto.
14129         (x_edit_field_instantiate): ditto.
14130         (x_label_instantiate): ditto.
14131
14132         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14133         (emacs_Xt_event_widget_focus_out): new function
14134         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14135         focus.
14136         (emacs_Xt_event_add_widget_actions): new function. add focus
14137         functions as actions.
14138         (init_event_Xt_late): use it.
14139
14140 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14141
14142         * event-stream.c (Fdispatch_event): Doc fix.
14143
14144 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14145
14146         * postgresql.c: Remove all references to PQsetenv*.
14147
14148         * postgresql.h: Remove references to PGsetenvHandler object.
14149         * lrecord.h (lrecord_type): Ditto.
14150
14151 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14152
14153         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14154         real_heigh and real_width members, and accessor macros for these.
14155
14156         * glyphs-msw.c (init_image_instance_geometry): New function.
14157         (init_image_instance_from_dibitmap): Use it.
14158         (mswindows_resource_instantiate): Use it.
14159         (init_image_instance_from_xbm_inline): Use it.
14160         (mswindows_initialize_image_instance_mask): Use real bitmap
14161         geometry.
14162         (mswindows_create_resized_bitmap): Ditto.
14163         (mswindows_create_resized_mask): Ditto.
14164
14165         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14166         and bitmap to their surface size.
14167
14168 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14169
14170         * process-unix.c (unix_send_process): Guard against process MIA
14171         after Faccept_process_output.
14172
14173 2000-04-11  Ben Wing  <ben@xemacs.org>
14174
14175         * eval.c (unbind_to_hairy): fix brokenness introduced by
14176         nanosecond speed improvements.
14177
14178 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14179
14180         * sunplay.c (init_device): To play sounds correctly, the device
14181         apparently needs to be initialized at least once by XEmacs.  Make
14182         it so.
14183
14184 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14185
14186         * redisplay.c (add_margin_runes): Add text image glyph
14187           handling.
14188
14189 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14190
14191         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14192         gcc is newer than 2.5.
14193
14194 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14195
14196         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14197
14198         * fns.c (size_bit_vector):
14199         * alloc.c (size_vector):
14200         (make_vector_internal):
14201         (make_bit_vector_internal):
14202         (sweep_bit_vectors_1):
14203         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14204
14205 2000-04-06  Andy Piper  <andy@xemacs.org>
14206
14207         * gmalloc.c (malloc): undo previous change.
14208         (malloc): ditto.
14209         (free): ditto.
14210         (realloc): ditto.
14211
14212 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14213
14214         * line-number.c (buffer_line_number): Revert to former version.
14215
14216 2000-04-06  Andy Piper  <andy@xemacs.org>
14217
14218         * gmalloc.c (malloc): add error checking.
14219         (malloc): ditto.
14220         (free): ditto.
14221         (realloc): ditto.
14222
14223         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14224         button_item_to_widget_value arg.
14225
14226         * glyphs-x.c (x_button_instantiate): add extra
14227         button_item_to_widget_value arg.
14228         (x_progress_gauge_instantiate): ditto.
14229         (x_edit_field_instantiate): ditto.
14230         (x_label_instantiate): ditto.
14231
14232         * gui-x.c (gui_items_to_widget_values_1): add extra
14233         button_item_to_widget_value arg.
14234         (button_item_to_widget_value): add extra menu_item_p arg.
14235
14236         * gui-x.h: change signature of button_item_to_widget_value.
14237
14238         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14239         button_item_to_widget_value arg.
14240
14241 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14242
14243         * buffer.h (struct buffer): auto_save_modified should be long.
14244
14245 2000-04-05  Andy Piper  <andy@xemacs.org>
14246
14247         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14248         type.
14249         (button_query_geometry): give a little more room so that athena
14250         buttons fit.
14251
14252 2000-04-05  Andy Piper  <andy@xemacs.org>
14253
14254         * faces.c (complex_vars_of_faces): The widget face should inherit
14255         the font of the gui-element face.
14256
14257 2000-04-04  Andy Piper  <andy@xemacs.org>
14258
14259         * glyphs-x.c (x_button_update): new function. unconditionally
14260         update a button's state when the instance is dirty.
14261         (image_instantiator_format_create_glyphs_x): add x_button_update.
14262         (x_widget_instantiate): remove old resize cruft.
14263
14264 2000-04-02  Andy Piper  <andy@xemacs.org>
14265
14266         * frame.c (change_frame_size_1): The introduction of gutters means
14267         that we need to allow 0 as a potential frame dimension.
14268
14269 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14270
14271         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14272         image glyph if allow_cursor.
14273         (add_hscroll_rune): Don't allow cursor to border glyph.
14274         (create_text_block): Ditto.
14275
14276         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14277         text not in buffer.
14278         (redisplay_output_layout): Call ensure_face_cachel_complete for
14279         text image glyph.
14280
14281
14282 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14283
14284         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14285
14286         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14287         not in buffer
14288
14289         * redisplay-tty.c (tty_output_display_block): Delete the routine
14290         for text image glyph
14291         * redisplay-x.c (x_output_display_block): ditto
14292         * redisplay-msw.c (mswindows_output_display_block): ditto
14293
14294 2000-02-02  Mike Alexander  <mta@arbortext.com>
14295
14296         Note: Some of these were committed by accident as part of other
14297         patches.
14298
14299         * regex.c (regex_compile): Avoid compiler warnings.
14300
14301         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14302
14303         * nt.h: Declare term_ntproc correctly.
14304
14305         * nt.c: Remove incorrect declaration of get_home_directory which
14306         is declared correctly in lisp.h.
14307
14308         * keymap.c (get_keyelt): Avoid compiler warnings.
14309         (raw_lookup_key_mapper): Avoid compiler warnings.
14310
14311         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14312
14313         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14314
14315         * filemode.c (mode_string): Avoid compiler warnings.
14316
14317         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14318         avoid warning.
14319
14320         * events-mod.h: Undef some things that winuser.h defines differently.
14321
14322         * data.c (Faset): Avoid compiler warnings.
14323
14324         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14325
14326 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14327
14328         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14329         Fall through to simple beep on error.
14330         Replace "extern" by real header file.
14331
14332         * linuxplay.c: Use nativesound.h
14333         (play_sound_data): Return error code. Be less verbose on error.
14334
14335         * sunplay.c: Use nativesound.h
14336         (play_sound_data): Return error code. Be less verbose on error.
14337
14338         * ntplay.c: Use nativesound.h
14339         (play_sound_data): Return fake error code
14340
14341         * sgiplay.c: Use nativesound.h
14342         (play_sound_data): Return error code
14343
14344         * hpplay.c: Use nativesound.h, partially implement
14345         new error code. Break compilation until finished.
14346         (play_sound_data): error code.
14347
14348         * nativesound.h (play_sound_file):
14349           (play_sound_data): Prototype in new header.
14350
14351 2000-03-31  Andy Piper  <andy@xemacs.org>
14352
14353         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14354         for toggle and radio buttons.
14355         (image_instantiator_buttons): use it.
14356
14357 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14358
14359         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14360         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14361         found. Scrollbar event probably belonged to some old config.
14362
14363 2000-03-31  Andy Piper  <andy@xemacs.org>
14364
14365         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14366         than 1.
14367         (initialize_widget_image_instance): default layout to
14368         LAYOUT_HORIZONTAL rather than 0.
14369         (widget_instantiate): reverse the item list at the end rather than
14370         every iteration.
14371         (layout_layout): re-code for the border text at the front of the
14372         item list rather than at the end.
14373         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14374         provided by the user.
14375         (widget_query_geometry): comment.
14376
14377 2000-03-30  Andy Piper  <andy@xemacs.org>
14378
14379         * glyphs-widget.c (image_instantiator_layout): allow standard
14380         widget keywords in layouts.
14381
14382         * gutter.c (output_gutter): cope with nil gutter contents.
14383
14384         * frame.c (Fset_frame_properties): add gutter docs.
14385
14386 2000-03-29  Andy Piper  <andy@xemacs.org>
14387
14388         * toolbar-msw.c (TBSTYLE_FLAT): add.
14389         (mswindows_output_toolbar): minor fiddling.
14390
14391 2000-03-29  Andy Piper  <andy@xemacs.org>
14392
14393         * gutter.c (output_gutter): force gutter size recalculation if
14394         what we are trying to display won't fit.
14395         (update_gutter_geometry): new function. A per-gutter version of
14396         update_frame_gutter_geometry.
14397         (update_frame_gutter_geometry): use it.
14398         (redraw_exposed_gutter): add extra debugging output.
14399
14400 2000-03-28  Mike Alexander  <mta@arbortext.com>
14401
14402         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14403         (pdump_file_unmap): Implement it on Windows
14404         (pdump_file_get): Save alocated handles for pdump_file_unmap
14405
14406 2000-03-28  Andy Piper  <andy@xemacs.org>
14407
14408         * gui.c (get_gui_callback): treat Quit specially.
14409
14410 2000-03-27  Andy Piper  <andy@xemacs.org>
14411
14412         * glyphs.c (image_instantiate): be careful to check in the same
14413         way we assigned.
14414
14415 2000-03-27  Didier Verna  <didier@xemacs.org>
14416
14417         * config.h.in: define the proper SMART_INCLUDE macro.
14418         handle renaming of `foo_h_path' to `foo_h_file'.
14419
14420         * database.c: ditto.
14421
14422         * emacs.c: ditto.
14423
14424         * linuxplay.c: ditto.
14425
14426         * terminfo.c: ditto.
14427
14428         * tooltalk.h: ditto.
14429
14430 2000-03-27  Andy Piper  <andy@xemacs.org>
14431
14432         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14433         gets updated whenever the face might have changed.
14434
14435 2000-03-26  Mike Alexander  <mta@arbortext.com>
14436
14437         * dumper.c (pdump_resource_free): Fix the comment.
14438
14439 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14440
14441         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14442
14443 2000-03-22  Mike Alexander  <mta@arbortext.com>
14444
14445         * dumper.c: Include Windows headers on Windows
14446         (pdump_resource_free): Add a body to the function
14447         (pdump_load): exe_name -> exe_path and add some comments.
14448
14449 2000-03-25  Mike Alexander  <mta@arbortext.com>
14450
14451         * gui.c (copy_gui_item_tree): Return a value in all cases
14452
14453 2000-03-21  Didier Verna  <didier@xemacs.org>
14454
14455         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14456         lwlib/config.h.in.
14457         (SMART_INCLUDE): new macro.
14458         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14459         the proper location.
14460
14461         * postgresql.c: use it.
14462
14463         * inline.c: ditto.
14464
14465 2000-03-24  Andy Piper  <andy@xemacs.org>
14466
14467         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14468         do this.
14469
14470 2000-03-24  Andy Piper  <andy@xemacs.org>
14471
14472         * redisplay-output.c (compare_runes): use image_instance_changed
14473         to detect changes. Do not depend on glyphs_changed, only depend on
14474         dirtiness.
14475          (redisplay_output_layout): add debug messages.
14476         (compare_runes): ditto.
14477
14478         * glyphs.h: declare new functions.
14479         (struct Lisp_Image_Instance): remove percent and associated
14480         accessors.
14481
14482         * gui.h: declare new copying functions.
14483
14484         * gui.c (copy_gui_item_tree): new function.
14485         (copy_gui_item): new function.
14486         (gui_item_id_hash): revert to standard hash.
14487         (gui_item_hash): ditto.
14488         (gui_item_hash_internal): deleted.
14489         (mark_gui_item): mark value.
14490         (gui_item_add_keyval_pair): add value.
14491         (gui_item_init): ditto.
14492         (gui_add_item_keywords_to_plist): ditto.
14493         (gui_item_equal): ditto.
14494         (syms_of_gui): add Q_value.
14495
14496         * glyphs-x.c (x_progress_gauge_update): use pending items and
14497         value for setting the state.
14498         (x_update_widget): don't set items from pending here.
14499
14500         * glyphs-widget.c (update_widget): update items here.
14501         (progress_gauge_set_property): use items for storing value. Put
14502         new value in pending items.
14503
14504         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14505         items for new value. Convert percent -> value.
14506         (mswindows_tab_control_update): don't update items here.
14507
14508         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14509         (update_subwindow): ditto.
14510         (image_instance_changed): new function. Compare hash values and
14511         past and present widget items.
14512         (image_instantiate): We more careful about where we instantiate
14513         things.
14514         (image_instantiate): add error checking.
14515
14516         * gutter.c (syms_of_gutter): use -hook.
14517
14518 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14519
14520         * console-tty.c (Fset_console_tty_input_coding_system): Use
14521         Qkeyboard.
14522         (Fset_console_tty_output_coding_system): Use Qterminal.
14523         (tty_init_console): Use Qkeyboard and Qterminal.
14524
14525 2000-03-21  Ben Wing  <ben@xemacs.org>
14526
14527         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14528         From Mike Alexander <mta@arbortext.com>.
14529
14530 2000-03-21  Ben Wing  <ben@xemacs.org>
14531
14532         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14533         process brokenness.  Proper implementation to come.
14534         * callproc.c:
14535         Rename call-process-internal to old-call-process-internal.
14536         New impl. in process.el.
14537
14538 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14539
14540         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14541
14542 2000-03-20  Andy Piper  <andy@xemacs.org>
14543
14544         * glyphs.c (full_list_hash): make hashes of the same elements in
14545         different orders return different values.
14546
14547 2000-03-20  Martin Buchholz <martin@xemacs.org>
14548
14549         * XEmacs 21.2.32 is released.
14550
14551 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14552
14553         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14554         (DFC_MALLOC_USE_CONVERTED_DATA):
14555         Add aliasing-safe casts to allow use with char* or unsigned char*
14556         lvalues.
14557
14558         * eldap.c (Fldap_open):
14559         (Fldap_search_basic):
14560         (Fldap_add):
14561         (Fldap_modify):
14562         Make C++-compilable.
14563         Make sure GCPRO'ed variables are initialized.
14564         Use temp variables to avoid repeated calls to Flength.
14565
14566 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14567
14568         * sysfile.h:
14569         Make sure PATH_MAX is always defined.
14570         Include limits.h for PATH_MAX.
14571         Deprecate use of MAXPATHLEN.
14572
14573 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14574
14575         * emacs.c: Add reinit_vars_of_fileio.
14576         * symsinit.h: Add reinit_vars_of_fileio.
14577         * fileio.c (reinit_vars_of_fileio): New.
14578         * fileio.c (Fmake_temp_name):
14579         Initialize temp_name random number from microseconds to make
14580         collisions even less likely.  Initialize always at process startup
14581         time.  (make-temp-name) used to return the same file name twice in
14582         a row when PDUMP.
14583         Random stylistic fiddling.
14584         Comment fixes.
14585
14586 2000-03-20  Andy Piper  <andy@xemacs.org>
14587
14588         * glyphs.c (image_instantiate): allow text glyphs to be
14589         instantiated in the minibuffer window.
14590
14591 2000-03-19  Andy Piper  <andy@xemacs.org>
14592
14593         * glyphs.c (image_instance_hash): be careful about which items we
14594         hash on.
14595
14596         * glyphs-widget.c (tab_control_set_property): record into pending
14597         items rather than the actual items.
14598
14599         * glyphs-x.c (x_update_widget): use pending items to update with.
14600
14601         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14602         to update with.
14603
14604         * glyphs.c (mark_image_instance): mark pending items.
14605
14606         * window.c (Fset_window_configuration): record the buffer.
14607         (Fselect_window): totally revert previous change which breaks many
14608         things.
14609
14610 2000-03-18  Andy Piper  <andy@xemacs.org>
14611
14612         * glyphs-msw.c (mswindows_tab_control_update): force selected
14613         item.
14614
14615         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14616         window domain cache, otherwise we get inconsistencies at
14617         startup. There is something fishy at startup which can lead to the
14618         minibuffer being the selected window when the gutter content is
14619         instantiated.
14620
14621         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14622         gcpros.
14623         (parse_gui_item_tree_children): ditto.
14624         (parse_gui_item_tree_item): ditto.
14625
14626         * glyphs.c (Fupdate_widget_instances): return something.
14627
14628 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14629
14630         * window.c (Fselect_window): Undo 2000-03-17 change.
14631
14632 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14633
14634         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14635         against v7.0 libraries.  Insta-coredump city until the postgres
14636         folks fix it.
14637
14638 2000-03-17  Andy Piper  <andy@xemacs.org>
14639
14640         * faces.c (complex_vars_of_faces): don't give the widget face an
14641         inherited background pixmap.
14642
14643         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14644         selected item.
14645
14646         * event-stream.c (Fdispatch_non_command_events): return something.
14647
14648         * gutter.c (output_gutter): use widget face.
14649         (clear_gutter): ditto.
14650
14651         * NEWS: adjust again.
14652
14653         * window.c (Fselect_window): make sure this runs to completion to
14654         avoid oddities with Fset_window_configuration.
14655         (Fcurrent_window_configuration): in general do not save the
14656         minibuffer as the selected window.
14657
14658         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14659
14660 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14661
14662         * emacs.c (Frunning_temacs_p): Revert previous patch.
14663         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14664
14665 2000-03-16  Andy Piper  <andy@xemacs.org>
14666
14667         * glyphs-x.c (x_tab_control_update): if no widget values then
14668         return.
14669
14670         * NEWS: update for new features.
14671
14672         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14673         synthetic event to the native system.
14674         (reinit_vars_of_event_Xt): set force_event_pending to
14675         emacs_Xt_force_event_pending.
14676
14677         * events.h (struct event_stream): add force_event_pending.
14678
14679         * specifier.c (recompute_one_cached_specifier_in_window): add
14680         comment.
14681
14682         * redisplay.c (redisplay_frame): don't call
14683         update_frame_subwindows. Reset subwindow cachels when
14684         subwindows_changed, removing this was an optimization too far.
14685
14686         * redisplay-output.c (compare_runes): reorganize so that we catch
14687         glyph changes when we want them. Set optimize_output when this
14688         would help layouts.
14689         (redisplay_output_layout): remove frame_really_changed, use
14690         optimize_output instead.
14691
14692         * redisplay-msw.c (mswindows_output_display_block): reset
14693         optimize_output after outputting a glyph.
14694         * redisplay-x.c (x_output_display_block): ditto.
14695         * redisplay-tty.c (tty_output_display_block): ditto.
14696
14697         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14698         functions.
14699         (gutter_specs_changed): do specific gutter positions.
14700         (top_gutter_specs_changed): new function. Only update the
14701         specified gutter specs.
14702         (bottom_gutter_specs_changed): ditto.
14703         (left_gutter_specs_changed): ditto.
14704         (right_gutter_specs_changed): ditto.
14705
14706         * gui.c (gui_item_hash_internal): new function, does a real hash.
14707         (gui_item_id_hash): use it.
14708         (gui_item_hash): hash the eval'ed gui_item.
14709
14710         * gui-x.c (popup_selection_callback): send an eval event to call
14711         Fupdate_widget_instances.
14712
14713         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14714         to call Fupdate_widget_instances.
14715
14716         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14717         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14718
14719         * glyphs.c: (update_frame_subwindows): deleted.
14720         (Fupdate_widget_instances): new function for updating the dirty
14721         state of widgets that might have changed.
14722         (syms_of_glyphs): add Qupdate_widget_instances.
14723         (full_list_hash): hash a list completely.
14724         (image_instance_hash): use it for items and properties.
14725
14726         * frame-msw.c (mswindows_size_frame_internal): remove unused
14727         variable.
14728
14729         * faces.h (struct face_cachel): fix comment.
14730
14731         * event-stream.c (Fdispatch_non_command_events): new
14732         function. Process non-command events, forcing an event cycle
14733         beforehand.
14734         (syms_of_event_stream): declare.
14735         (event_stream_force_event_pending): new function. Force an event
14736         on the native event queue so that an event cycle will occur next
14737         time we check.
14738
14739         * event-msw.c:
14740         (struct ntpipe_shove_stream):
14741         (mswindows_enqueue_dispatch_event):
14742         (mswindows_dequeue_dispatch_event):
14743         (mswindows_cancel_dispatch_event):
14744         (mswindows_pump_outstanding_events):
14745         (mswindows_drain_windows_queue):
14746         (mswindows_handle_paint):
14747         (mswindows_wnd_proc):
14748         (mswindows_key_to_emacs_keysym):
14749         (get_process_input_waitable):
14750         (emacs_mswindows_delete_stream_pair): re-indent file.
14751         (mswindows_need_event): do not process further fds if the windows
14752         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14753         fixes the 100% cpu problem.
14754         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14755
14756 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14757
14758         * alloc.h: New.
14759         * dumper.h: New.
14760         * dumper.c: New.
14761
14762         * emacs.c: Moved dump file searching to dumper.c.
14763         (Frunning_temacs_p): Fixed.
14764
14765         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14766         last_lrecord_type_index_assigned.
14767
14768 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14769
14770         * symsinit.h: Added reinit parameter to init_console_stream
14771         declaration.
14772
14773         * lisp.h: Added file parameter to pdump_load declaration.
14774
14775         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14776         support.  Added dump file searching.
14777
14778         * config.h.in: Added EMACS_PROGNAME.
14779
14780         * console-stream.c (init_console_stream): Fix reinitialisation
14781         when running from temacs.
14782
14783         * alloc.c (pdump): Add id support.
14784         (pdump_load): Add file parameter and signature/id support.
14785
14786         * Makefile.in.in: Add full pdump support.
14787
14788 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14789
14790         * postgresql.c: Update documentation to reflect latest code
14791         status.
14792         (print_result): Show tuple counts in printed representation when
14793         appropriate.
14794         (Fpq_put_nbytes): MULE-ize.
14795         (Fpq_get_line_async): Ditto.
14796
14797 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14798
14799         * postgresql.c (Fpq_lo_import): Fix return value.
14800         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14801
14802 2000-03-13  Ben Wing  <ben@xemacs.org>
14803
14804         * alloc.c (pdump_load):
14805         Fix compile warning under mswin.
14806
14807 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14808
14809         * postgresql.c: Mule-ization, bug fixes.
14810         Use PG_CODING to encapsulate coding system name changes.
14811         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14812         (pg-coding-system): Create.
14813
14814         (Fpq_conn_defaults): Mule-ize.
14815         (Fpq_connectdb): Mule-ize & bug fix.
14816         (Fpq_connect_start): Mule-ize.
14817         (Fpq_set_client_encoding): Mule-ize.
14818         (Fpq_finish): Document `DEAD' connection status.
14819         (Fpq_clear): Ditto.
14820         (Fpq_pgconn): Mule-ize.
14821         (Fpq_exec): Mule-ize & bug fix.
14822         (Fpq_send_query): Ditto.
14823         (Fpq_get_result): Ditto.
14824         (Fpq_res_status): Mule-ize.
14825         (Fpq_result_error_message): Mule-ize.
14826         (Fpq_ntuples): fix comments.
14827         (Fpq_fname): Mule-ize.
14828         (Fpq_fnumber): Mule-ize.
14829         (Fpq_ftype): fix comments.
14830         (Fpq_get_value): Mule-ize.
14831         (Fpq_cmd_status): Ditto.
14832         (Fpq_cmd_tuples): Ditto.
14833         (Fpq_oid_value): Ditto.
14834         (Fpq_notifies): Ditto.
14835         (Fpq_lo_import): Ditto.
14836         (Fpq_lo_export): Ditto.
14837         (Fpq_get_line): Ditto.
14838         (Fpq_put_line): Mule-ize and bug fix.
14839         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14840
14841 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14842
14843         * postgresql.c (vars_of_postgresql): Mule-ize.
14844         (Fpq_conn_defaults): Ditto.
14845
14846 2000-03-12  Ben Wing  <ben@xemacs.org>
14847
14848         * alloc.c (Fmake_byte_code):
14849         * alloc.c (debug_string_purity_print):
14850         * alloc.c (pdump_backtrace):
14851         * alloc.c (pdump_get_indirect_count):
14852         * alloc.c (pdump_register_sub):
14853         * alloc.c (pdump_register_object):
14854         * alloc.c (pdump_register_struct):
14855         * alloc.c (pdump_dump_data):
14856         * alloc.c (pdump_reloc_one):
14857         Minor cleanups.
14858
14859         * console-msw.c:
14860         * console-msw.c (GetConsoleHwnd):
14861         * console-msw.c (msw_hide_console):
14862         * console-msw.c (msw_show_console):
14863         * console-msw.c (msw_ensure_console_buffered):
14864         * console-msw.c (msw_output_console_string):
14865         * console-msw.c (console_type_create_mswindows):
14866
14867         a) Added functions to manipulate the console window for use with
14868         shell support.
14869
14870         b) Added support for writing text to the console, which is now
14871         used under Windows when xemacs is not being run non-interactively,
14872         to write text that would otherwise be destined for stdout because
14873         under these circumstances, text written to stdout tends to
14874         disappear and not be seen.
14875
14876         * console-msw.h:
14877         * event-Xt.c:
14878         * event-Xt.c (x_event_to_emacs_event):
14879         * event-Xt.c (describe_event_window):
14880         * events-mod.h (XEMACS_MOD_CONTROL):
14881         * events.c:
14882         * events.c (Fmake_event):
14883         * events.c (character_to_event):
14884         * events.c (event_to_character):
14885         * events.c (format_event_object):
14886         * events.c (Fevent_modifiers):
14887         * events.h:
14888         * events.h (struct key_data):
14889         * events.h (struct button_data):
14890         * events.h (struct misc_user_data):
14891         * frame-x.c (Fcde_start_drag_internal):
14892         * frame-x.c (Foffix_start_drag_internal):
14893         * gpmevent.c (Freceive_gpm_event):
14894         * keymap.c:
14895         * keymap.c (bucky_sym_to_bucky_bit):
14896         * keymap.c (control_meta_superify):
14897         * keymap.c (make_key_description):
14898         * keymap.c (keymap_lookup_directly):
14899         * keymap.c (create_bucky_submap):
14900         * keymap.c (keymap_store):
14901         * keymap.c (define_key_check_and_coerce_keysym):
14902         * keymap.c (define_key_parser):
14903         * keymap.c (define_key_alternate_name):
14904         * keymap.c (Fdefine_key):
14905         * keymap.c (raw_lookup_key_mapper):
14906         * keymap.c (struct map_keymap_unsorted_closure):
14907         * keymap.c (map_keymap_unsorted_mapper):
14908         * keymap.c (map_keymap_sort_predicate):
14909         * keymap.c (map_keymap_sorted):
14910         * keymap.c (accessible_keymaps_mapper_1):
14911         * keymap.c (where_is_recursive_mapper):
14912         * keymap.c (describe_map_mapper):
14913         * keymap.c (describe_map_sort_predicate):
14914         * keymap.c (describe_map):
14915         * keymap.c (complex_vars_of_keymap):
14916         And a number of other files, the key modifier preprocessor
14917         constants that xemacs uses have names that conflict with constants
14918         defined under MS Windows for other purposes, so they were renamed
14919         to begin with the prefix XEMACS_. The variables that hold such
14920         modifiers were changed to consistently be of type int to fix
14921         various compile warnings.
14922
14923         * console.c (complex_vars_of_console):
14924         * device.c:
14925         * device-msw.c:
14926         * device-msw.c (mswindows_finish_init_device):
14927         * device-msw.c (msw_get_workspace_coords):
14928         * device-msw.c (mswindows_device_system_metrics):
14929         and various other files, added support for a new
14930         device property called offset-workspace which returns the position
14931         of the upper left corner of the workspace area and goes along with
14932         the existing size-workspace property.
14933
14934         * dialog-msw.c:
14935         * dialog-msw.c (push_bufbyte_string_as_unicode):
14936         * dialog-msw.c (mswindows_popup_dialog_box):
14937         Added support for XEmacs-style accelerator specifications in
14938         button text.  Note: I didn't add support for this under X Windows,
14939         and somebody needs to do this.
14940
14941         * dialog.c:
14942         * dialog.c (Fpopup_dialog_box):
14943         Documented the support for accelerators that was just mentioned.
14944
14945         editfns.c (get_home_directory): Changed behavior under Windows
14946         when HOME not defined; former behavior was irretrievably broken.
14947
14948         * emacs.c:
14949         * emacs.c (main_1):
14950         * emacs.c (main):
14951         * minibuf.c (clear_echo_area_internal):
14952         * minibuf.c (echo_area_append):
14953         * print.c:
14954         * print.c (std_handle_out_external):
14955         * print.c (std_handle_out_va):
14956         * print.c (fatal):
14957         * print.c (write_string_to_stdio_stream):
14958         * print.c (output_string):
14959         * print.c (debug_print):
14960         * print.c (debug_backtrace):
14961         * print.c (debug_short_backtrace):
14962         Cleaned up the code that prints text to stdout so that this can be
14963         changed to output into a console window instead under MS Windows,
14964         as described above.
14965
14966         * eval.c:
14967         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14968         * eval.c (internal_catch):
14969         * eval.c (unwind_to_catch):
14970         * eval.c (throw_or_bomb_out):
14971         * eval.c (condition_case_1):
14972         * eval.c (signal_1):
14973         * eval.c (check_error_state_sanity):
14974         * eval.c (call_with_suspended_errors_1):
14975         * eval.c (call_with_suspended_errors):
14976         * eval.c (reinit_vars_of_eval):
14977         Added code to catch throw loops and check for a pesky bug that may
14978         be gone now.
14979
14980         * event-msw.c:
14981         * event-msw.c (key_needs_default_processing_p):
14982         * event-msw.c (mswindows_wnd_proc):
14983         * event-msw.c (mswindows_modifier_state):
14984         * event-msw.c (emacs_mswindows_quit_p):
14985         * event-msw.c (vars_of_event_mswindows):
14986         a) Added support for using the alt key to select menu items as is
14987         standard under MS Windows.  This is controlled using the variable
14988         menu-accelerator-enabled, just like under X Windows.  There is an
14989         option on the options menu to turn this support on.  I really
14990         think that it should be on by default under Windows, but I'm not
14991         going to make this change yet.
14992
14993         b)  Added support for dynamic display size changes under Windows.
14994
14995         * event-stream.c:
14996         * event-stream.c (maybe_echo_keys):
14997         * event-stream.c (Fnext_event):
14998         * event-stream.c (command_builder_find_leaf):
14999         * event-stream.c (lookup_command_event):
15000         * event-stream.c (execute_command_event):
15001         * event-stream.c (pre_command_hook):
15002         * event-stream.c (post_command_hook):
15003         * event-stream.c (syms_of_event_stream):
15004         * event-stream.c (vars_of_event_stream):
15005         * event-stream.c (complex_vars_of_event_stream):
15006         * events.h (struct command_builder):
15007
15008         a) Tried to clean up a little bit the horribly written x-specific
15009         accelerator code that crept into this file.  I moved this code
15010         into menubar-x.c where it belongs. I also needed to move the
15011         command builder structure into the file events.h because it is
15012         accessed directly by this accelerator code.  What I didn't do, but
15013         which should be done at some point, is to properly abstract this
15014         code using device methods instead of the kludgy way that it
15015         currently hooks into the event code.
15016
15017         b) Added the lisp variables this-command-properties and
15018         last-command- properties, which should be used to synchronize two
15019         adjacent commands in preference to playing games with the variable
15020         this-command, which is typically what happens.
15021
15022         c) Added some slightly nasty code to hook into the lisp support
15023         for shifted- motion-key selection.  This is actually necessary for
15024         somewhat complicated reasons, which are described in
15025         simple.el. (NB: I think the proper thing would be to have the code
15026         that calls the pre and post command hooks also call out to generic
15027         lisp functions in simple.el, where all built-in stuff could be
15028         added.  I will think about this more.)
15029
15030         * event-unixoid.c (poll_fds_for_input):
15031         * lread.c (readchar):
15032         * redisplay-tty.c (tty_clear_frame):
15033         * redisplay-x.c (x_get_gc):
15034         * signal.c (interrupt_signal):
15035         And a whole bunch of other files: fixed up places that printed
15036         directly to stderr to instead call the function stderr_out so that
15037         the changes I made under Windows work correctly.
15038
15039         * filemode.c (mode_string):
15040         Warning fixes.
15041
15042         * frame-msw.c:
15043         * frame-msw.c (mswindows_size_frame_internal):
15044         Fixed the computation of frame size and position to keep the frame
15045         within the workspace area, rather than within the physical
15046         dimensions of the screen, so that the frame doesn't overlap window
15047         manager decorations, such as the start menu and toolbar, typically
15048         at the bottom of the screen.
15049
15050         * frame.c (vars_of_frame):
15051         Changed the default frame title format under MS Windows to consist
15052         of buffername-XEmacs, which is standard under MS Windows.  I think
15053         it might be a good idea to change this everywhere because I think
15054         it is superior to the current frame title format, but this is the
15055         kind of change that is likely to cause some people to get annoyed,
15056         so I'm not making it.
15057
15058         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15059
15060         * gui-msw.c (mswindows_handle_gui_wm_command):
15061         Fixed compile warnings.
15062
15063         * gui-x.c:
15064         * gui-x.c (strdup_and_add_accel):
15065         * gui-x.c (button_item_to_widget_value):
15066         * gui-x.h:
15067         Added code to automatically put an accelerator onto the beginning
15068         of menu items that don't have one as is now the standard, and is
15069         described more later.  Also fixed things so that the menu item
15070         name can be an evaluated expression, again a new standard.
15071
15072         * gui.c:
15073         * gui.c (gui_item_add_keyval_pair):
15074         * gui.c (make_gui_item_from_keywords_internal):
15075         * gui.c (gui_add_item_keywords_to_plist):
15076         * gui.c (gui_item_accelerator):
15077         * gui.c (gui_name_accelerator):
15078         * gui.c (gui_item_included_p):
15079         * gui.c (gui_item_display_flush_left):
15080         * gui.c (gui_item_display_flush_right):
15081         * gui.c (parse_gui_item_tree_item):
15082         * gui.c (parse_gui_item_tree_children):
15083         * gui.c (parse_gui_item_tree_list):
15084         Mule-ized.  Cleanup.  GCPRO addition.
15085
15086         * line-number.c (buffer_line_number):
15087         * lisp.h:
15088         * lisp.h (EMACS_INT_MAX):
15089         Added the manifest constant EMACS_INT_MIN corresponding to the
15090         existing constant EMACS_INT_MAX.  This is partially to fix compile
15091         warnings under Windows, and partly for cleanliness.
15092
15093         * menubar-msw.c:
15094         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15095         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15096         * menubar-msw.c (displayable_menu_item):
15097         * menubar-msw.c (populate_menu_add_item):
15098         * menubar-msw.c (populate_or_checksum_helper):
15099         * menubar-msw.c (populate_menu):
15100         * menubar-msw.c (update_frame_menubar_maybe):
15101         * menubar-msw.c (prune_menubar):
15102         * menubar-msw.c (msw_char_is_accelerator):
15103         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15104         * menubar-msw.c (mswindows_handle_wm_command):
15105         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15106         * menubar-msw.c (mswindows_handle_wm_initmenu):
15107         * menubar-msw.c (mswindows_update_frame_menubars):
15108         * menubar-msw.c (mswindows_free_frame_menubars):
15109         * menubar-msw.c (mswindows_popup_menu):
15110         Fixed a bug in handling accelerators where an extra character
15111         would be displayed in the menu item.  Also generalized the
15112         function displayable_menu_item because it is now used by the
15113         dialog box code as well.  And finally, added code in the functions
15114         that create the menubar to extract a list of accelerators for the
15115         top level menubar, which is used in the event code to determine
15116         whether a particular alt-key combination should be used to invoke
15117         a menu item, or should be passed through to access the standard
15118         XEmacs keymap binding for this key combination.
15119
15120         Much needed GCPROing.
15121
15122         * menubar-x.c:
15123         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15124         * menubar-x.c (menu_item_descriptor_to_widget_value):
15125         * menubar-x.c (restore_in_menu_callback):
15126         * menubar-x.c (x_popup_menu):
15127         * menubar-x.c (menu_move_up):
15128         * menubar-x.c (menu_move_down):
15129         * menubar-x.c (menu_move_left):
15130         * menubar-x.c (menu_move_right):
15131         * menubar-x.c (menu_select_item):
15132         * menubar-x.c (command_builder_operate_menu_accelerator):
15133         * menubar-x.c (menu_accelerator_junk_on_error):
15134         * menubar-x.c (command_builder_find_menu_accelerator):
15135         * menubar-x.c (Faccelerate_menu):
15136         * menubar.h:
15137         Moved a whole bunch of code here that was previously in
15138         event-stream.c as described above.  There is also code connected
15139         to the new standard of adding an accelerator to the beginning of
15140         menu items that don't have one as described above and below.
15141
15142         * menubar.c:
15143         * menubar.c (menu_parse_submenu_keywords):
15144         * menubar.c (Fmenu_find_real_submenu):
15145         * menubar.c (Fnormalize_menu_item_name):
15146         * menubar.c (syms_of_menubar):
15147         * menubar.c (vars_of_menubar):
15148         * menubar.c (complex_vars_of_menubar):
15149
15150         a) Cleaned up a bunch of documentation and improved it.
15151
15152         b) XEmacs now automatically adds an accelerator onto the beginning
15153         of any menu items that don't have one.  I did this because there
15154         will inevitably be some menu items on the main menubar that don't
15155         have accelerators on them because the package that adds that
15156         particular menu item hasn't yet been fixed up to have accelerators
15157         in them and it looked rather strange to have some items with and
15158         some items without accelerators, especially since even in items
15159         without accelerators, you can, at least under windows, still
15160         access the item through an accelerator corresponding to the first
15161         character in the item's name.  If people don't like this behavior,
15162         I can add a variable to turn it off optionally, but I'm not sure
15163         this is a good idea because we really do need to have accelerators
15164         on all of the menu items, and if a package doesn't like the
15165         accelerators being put on the first character, then it should put
15166         the accelerators where they belong.
15167
15168         c) I made a behavior change, which is that the descriptor that
15169         specifies the text of the menu item, which formerly was just a
15170         string, can now also be an evaluated expression.  This makes this
15171         descriptor parallel with all of the others, which could also be
15172         evaluated expressions.  This also obviates the need for the
15173         keyword :label, which was previously listed in the documentation
15174         as unimplemented, and which was for the same purpose.
15175
15176         d) GCPROing.
15177
15178         * ntproc.c:
15179         * ntproc.c (new_child):
15180         * ntproc.c (sys_spawnve):
15181         * ntproc.c (find_child_console):
15182         * ntproc.c (sys_kill):
15183         Fixed compile warnings.  By the way, this file should really go
15184         away entirely, and this will happen as soon as Kirill makes his
15185         final round of process cleanups, which affect the function
15186         call-process.
15187
15188         * process-nt.c:
15189         * process-nt.c (struct nt_process_data):
15190         * process-nt.c (find_process_from_pid):
15191         * process-nt.c (send_signal_the_nt_way):
15192         * process-nt.c (enable_child_signals):
15193         * process-nt.c (find_child_console):
15194         * process-nt.c (send_signal_the_95_way):
15195         * process-nt.c (nt_finalize_process_data):
15196         * process-nt.c (ensure_console_window_exists):
15197         * process-nt.c (nt_create_process):
15198         * process-nt.c (nt_kill_child_process):
15199         * process-nt.c (nt_kill_process_by_pid):
15200         * process-nt.c (nt_open_network_stream):
15201         * process-nt.c (vars_of_process_nt):
15202         Copied over code from Emacs 20.5 to correctly send signals to sub-
15203         processes under Windows 95.  Also added code to automatically
15204         create and hide console window when a sub-process is created under
15205         Windows 95, which obviates the need for the separate runemacs.exe
15206         executable, and finally implemented some variables that were
15207         implemented in Emacs 20.5, but previously not in XEmacs.  These
15208         include mswindows- start-process-share-console and
15209         mswindows-start-process-inherit-error-mode. (Both of these only
15210         apply to Windows 95.)
15211
15212         * regex.c (regex_compile): Fixed a compile warning.
15213
15214         * select-msw.c:
15215         * select-msw.c (mswindows_own_selection):
15216         * select-msw.c (mswindows_get_foreign_selection):
15217         * select-msw.c (mswindows_disown_selection):
15218         * select-msw.c (console_type_create_select_mswindows):
15219         * select-msw.c (syms_of_select_mswindows):
15220         Cleaned up the file and implemented the device method
15221         selection_exists_p, which had accidentally been left out.  Also
15222         removed four lisp functions that were remnants from before the
15223         time when the selection code was properly device abstracted.
15224         These functions are no longer needed because there are generic
15225         equivalents, and because they were added recently and don't exist
15226         in FSF Emacs, I don't think there's any problem with just deleting
15227         them.
15228
15229         * sysdep.c:
15230         * sysdep.c (sys_subshell):
15231         Fixed a compile warning, although in this case there's probably
15232         something wrong with this code, and it ought to be looked into
15233         more thoroughly by somebody who understands it.
15234
15235         * window.c:
15236         * window.c (Fwindow_text_area_height):
15237         * window.c (Fwindow_width):
15238         * window.c (Fwindow_full_width):
15239         * window.c (Fwindow_pixel_width):
15240         * window.c (debug_print_window):
15241         * window.c (syms_of_window):
15242         Added functions window-text-area-height and window-full-width,
15243         which are functions for returning various width and height
15244         characteristics of a window. (One of these functions is necessary
15245         for making the file dialog box work correctly, and the other one
15246         was added for completeness.)  Also added a table to the
15247         documentation for window-height which describes the entire scheme
15248         for accessing width and height characteristics of a window.
15249
15250 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15251
15252         * nt.c (fstat): Added a comment for another problem with
15253         non-encapsulated [f]stat(), reported by Adrian Aichner
15254         <aichner@ecf.teradyne.com>.
15255
15256 2000-03-11  Andy Piper  <andy@xemacs.org>
15257
15258         * window.c (make_dummy_parent): initialize subwindow instance
15259         cache.
15260         (Fset_window_configuration): zero extent_modiff.
15261
15262 2000-03-10  Andy Piper  <andy@xemacs.org>
15263
15264         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15265         more changes can be triggered.
15266         (Fredisplay_frame): ditto.
15267         (Fredraw_device): ditto.
15268         (Fredisplay_device): ditto.
15269         (redisplay_frame): make non-static.
15270         (redisplay_frame): call update_frame_gutter_geometry outside of
15271         display proper.
15272
15273         * gutter.h: declare update_frame_gutter_geometry.
15274
15275         * redisplay.h: declare redisplay_frame.
15276
15277         * gutter.c (update_frame_gutter_geometry): move geometry changes
15278         in update_frame_gutters here. Geometry changes can only occur
15279         outside of redisplay.
15280         (update_frame_gutters): remove geometry change code.
15281         (Fredisplay_gutter_area): make sure that we are in display when we
15282         update and that we have flushed any size changes.
15283
15284 2000-03-11  Andy Piper  <andy@xemacs.org>
15285
15286         * alloc.c (pdump_dump_data): remove i & count shadows.
15287
15288 2000-02-27  Mike Alexander  <mta@arbortext.com>
15289
15290         * sysdep.h: Declare pdump_read_file
15291
15292         * sysdep.c (pdump_read_file): New function
15293
15294         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15295         dump data
15296
15297 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15298
15299         * lrecord.h: add `lrecord_type_pgsetenv'.
15300
15301 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15302
15303         * symsinit.h: declare (vars|syms)_of* functions.
15304         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15305
15306 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15307
15308         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15309
15310         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15311         GCCs.
15312
15313         * emacs.c (main_1): Call postgres initialization code.
15314
15315         * postgresql.h: New file.  PostgreSQL RDBMS support.
15316         * postgresql.c: New file.
15317
15318 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15319
15320         * redisplay-output.c (redisplay_output_display_block): Disable
15321         redundant code.
15322
15323 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15324
15325         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15326         (Fcanna_henkan_next): Ditto.
15327         (Fcanna_bunsetu_henkou): Ditto.
15328         (Fcanna_henkan_kakutei): Ditto.
15329         (Fcanna_henkan_end): Ditto.
15330         (Fcanna_henkan_quit): Ditto.
15331         (Fcanna_henkan_next): Set retun value correctly.
15332         (c2mu): Use unsigned char instead of signed char.
15333
15334 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15335
15336         * emacs.c (main_1): Always call syms_of_gui.
15337         * inline.c: include gui.h
15338
15339 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15340
15341         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15342         converted to Lisp_Object.
15343         (Qtop_bottom): New variable.
15344         (syms_of_redisplay): Initialize it.
15345         * redisplay.h (Vvisible_bell): Ditto.
15346         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15347         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15348         only flash top and bottom.
15349
15350 2000-03-08  Andy Piper  <andy@xemacs.org>
15351
15352         * buffer.c (Frename_buffer): record new buffer name the right way.
15353
15354 2000-03-08  Andy Piper  <andy@xemacs.org>
15355
15356         * glyphs.c (update_subwindow): increase hash depth so that widget
15357         items get picked up properly.
15358
15359         * redisplay-output.c (compare_runes): increase hash depth so that
15360         widget items get picked up properly.
15361
15362 2000-03-08  Andy Piper  <andy@xemacs.org>
15363
15364         * gutter.c (output_gutter): add some debug.
15365
15366         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15367         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15368         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15369
15370         * redisplay-output.c (compare_runes): use display_hash to
15371         determine if glyphs really are not the same.
15372
15373         * glyphs.c (update_subwindow): check display_hash to see if
15374         anything really needs to be updated. If not then do
15375         nothing. Record the display_hash after updating.
15376         (image_instance_equal): compare the image_instance face also.
15377
15378 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15379
15380         * redisplay.h: Fix comment style.
15381
15382 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15383
15384         * consle-msw.h (struct mswindows_frame):
15385         Added new member paint_pending to indicate whether a WM_PAINT
15386         magic event has been queued for this frame.
15387
15388         * event-msw.c (mswindows_drain_windows_queue):
15389         Don't queue a WM_PAINT magic event if one is already queued.
15390         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15391
15392         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15393
15394 2000-03-07  Didier Verna  <didier@xemacs.org>
15395
15396         * dired.c: #include `regex.h' after `sysfile.h'.
15397
15398 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15399
15400         * sound.c (init_nas_sound): Fix compiler warning.
15401
15402         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15403         (FREE_STRUCT_P):
15404         (MARK_STRUCT_AS_FREE):
15405         (MARK_STRUCT_AS_NOT_FREE):
15406         Make `gcc -fstrict-aliasing' work properly.
15407
15408 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15409
15410         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15411         (mswindows_delete_device): Call CoUnnitialize().
15412
15413         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15414
15415 2000-02-25    <CraigL@DyCon.com>
15416
15417         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15418         <errno.h>.
15419
15420         * sysdep.c: This extern declaration for environ prevents MinGW
15421         from finding the variable in CRTDLL.DLL.
15422
15423         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15424         windows headers.
15425         (SHGFI_EXETYPE): ..
15426         (WM_MOUSEWHEEL): ..
15427         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15428         definitions.
15429         (MMRESULT): Removed, now defined in cygwin's windows headers.
15430         (TIMECAPS): ..
15431         (uid_t,gid_t,pid_t,ssize_t): ..
15432         (_timeb): Removed, MinGW defines both _timeb and timeb.
15433         (HAVE_H_ERRNO): Added.
15434         (HAVE_TZNAME): Added, configure is not detecting this.
15435
15436 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15437
15438         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15439         * syntax.c (syntax_match): Use it.
15440
15441         * cmds.c: Import auto-fill-chars from FSF Emacs.
15442         (Vauto_fill_chars): New variables.
15443         (internal_self_insert): Check Vauto_fill_chars.
15444         (vars_of_cmds):
15445         Declare auto-fill-chars as a Lisp variable and initialize it.
15446
15447 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15448
15449         * fileio.c (Fmake_symbolic_link):
15450         (Ffile_symlink_p):
15451         Run handlers even if local machine doesn't have symlinks.
15452
15453 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15454
15455         * event-msw.c (mswindows_drain_windows_queue):
15456         Don't generate paint magic events for non-XEmacs frames.
15457
15458 2000-03-05  Andy Piper  <andy@xemacs.org>
15459
15460         * redisplay.c (redisplay_frame): generate_displayable_area and
15461         friends assumes that we are not in GC, we therefore have to make
15462         sure that this doesn't happen.
15463
15464         * gutter.c (calculate_gutter_size): generate_displayable_area
15465         assumes that we are not in GC, we therefore have to make sure that
15466         this doesn't happen.
15467
15468 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15469
15470         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15471
15472 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15473
15474         * redisplay.c (regenerate_window): Make sure we set a sane value
15475         for end_pos even if we jump out of the loop.
15476         (regenerate_window): Answer Ben's question :-).
15477         (start_end_of_last_line): Add may_error argument.
15478         (start_of_last_line):
15479         (end_of_last_line): Pass may_error = 0.
15480         (end_of_last_line_may_error): New function.
15481         (pixel_to_glyph_translation): Use it, so we don't crash in
15482         event_to_glyph.
15483
15484 2000-03-04  Andy Piper  <andy@xemacs.org>
15485
15486         * window.h (struct window): add gutter_extent_modiff.
15487
15488         * window.c (allocate_window): zero out gutter_extent_modiff.
15489
15490         * redisplay.h: declare sync_display_line_structs.
15491
15492         * redisplay.c (add_glyph_rune): add a better comment.
15493
15494         * redisplay-output.c (sync_display_line_structs): made non-static.
15495         (compare_runes): remove unneccesary glyph cachel access.
15496
15497         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15498
15499         * gutter.c (output_gutter): don't output the gutter if extent
15500         changes only involve extents in buffers. use 4 sets of display
15501         lines.
15502         (gutter_extent_signal_changed_region_maybe): new function. Mark
15503         extents in gutters as changed.
15504         (update_frame_gutters): use 4 sets of display lines.
15505         (reset_gutter_display_lines): ditto.
15506         (free_frame_gutters): ditto.
15507         (redraw_exposed_gutter): force output of gutters.
15508
15509         * frame.h (struct frame): add 4 sets of gutter display lines.
15510
15511         * extents.c: (extent_changed_for_redisplay): signal changes to
15512         extents in strings in the gutter as well as extents in buffers.
15513
15514 2000-03-02  Andy Piper  <andy@xemacs.org>
15515
15516         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15517
15518         * frame.c (Fmake_frame): make sure the gutters get initialized
15519         after the frame is visible.
15520         (set_frame_selected_window): re-arrange compilation macros a
15521         little.
15522         (change_frame_size_1): mark gutters changed.
15523
15524         * device.c (Fset_device_class): mark gutters changed.
15525
15526 2000-03-01  Andy Piper  <andy@xemacs.org>
15527
15528         * window.c (window_top_frame_gutter_height): deleted.
15529         (window_bottom_frame_gutter_height): ditto.
15530         (window_left_frame_gutter_height): ditto.
15531         (window_right_frame_gutter_height): ditto.
15532         (window_top_gutter_height): don't use them.
15533         (window_bottom_gutter_height): ditto.
15534         (window_left_gutter_width): ditto.
15535         (window_right_gutter_width): ditto.
15536         (Fsplit_window): ditto.
15537         (Fwindow_pixel_edges): don't use border dimensions here.
15538
15539         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15540         (update_scrollbar_instance): ditto.
15541
15542         * redisplay.c (generate_modeline): don't take gutters into account.
15543         (generate_modeline): ditto.
15544         (redisplay_frame): small gutter display optimization.
15545
15546         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15547
15548         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15549         gutters into account.
15550
15551         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15552         for window position and type.
15553
15554         * gutter.c (get_gutter_coords): fix for frame gutters.
15555         (update_frame_gutters): update frame geometry if the gutters have
15556         changed.
15557         (init_frame_gutters): record current gutter geometries.
15558
15559         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15560         var.
15561         (mswindows_widget_instantiate): ditto.
15562
15563         * frame.h (struct frame): add current_gutter_bounds.
15564
15565         * frame.c (change_frame_size_1): position window and minibuffer
15566         appropriately taking into account the frame gutters.
15567
15568         * frame-x.c: (x_initialize_frame_size): take into account the
15569         frame gutters.
15570
15571 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15572
15573         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15574
15575 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15576
15577         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15578
15579 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15580
15581         * file-coding.c (reset_decoding_stream): Clear previous
15582         detection state when autodetect.
15583
15584 2000-02-29  Didier Verna  <didier@xemacs.org>
15585
15586         * extents.c (set_extent_glyph_1): don't require extents to be
15587         attached.
15588
15589 2000-02-27  Andy Piper  <andy@xemacs.org>
15590
15591         * gutter.c (Fset_default_gutter_position): don't default left and
15592         right gutter visibility to t.
15593         (Fset_default_gutter_position): run
15594         default-gutter-position-changed-hook.
15595         (syms_of_gutter): add default-gutter-position-changed-hook.
15596
15597 2000-02-26  Andy Piper  <andy@xemacs.org>
15598
15599         * specifier.c (Fmake_specifier): add gutter references.
15600
15601         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15602
15603         * lisp.h: declare Fvalid_plist_p.
15604
15605         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15606         as changed.
15607         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15608         well as its visibility so that it gets reconstructed.
15609         (construct_window_gutter_spec): new function. Construct a string
15610         to be displayed in the gutter from a plist of strings. Take care
15611         to only use elements that are declared as visible.
15612         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15613         WINDOW_GUTTER.
15614         (gutter_validate): allow plists of strings in the specifier.
15615         (gutter_specs_changed): construct the real_gutter from the gutter
15616         specs using construct_window_gutter_spec.
15617         (gutter_visible_validate): gutter-visible is a new specifier type.
15618         (Fgutter_visible_specifier_p): new function for the new specifier.
15619         (syms_of_gutter): declare gutter-visible and
15620         Fgutter_visible_specifier_p.
15621         (specifier_type_create_gutter): intitalize new gutter-visible
15622         specifier.
15623         (reinit_specifier_type_create_gutter): ditto.
15624         (specifier_vars_of_gutter): use new specifier type for gutter
15625         visibility.
15626         (init_frame_gutters): construct real_gutter correctly.
15627         (Fgutter_specifier_p): beef up documentation.
15628         (Fgutter_size_specifier_p): ditto.
15629
15630         * winslots.h: add real_gutter slots.
15631
15632 2000-02-25  Andy Piper  <andy@xemacs.org>
15633
15634         * device-msw.c: Be kind to older cygwin versions. From Raymond
15635         Toy <toy@rtp.ericsson.se>.
15636
15637         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15638         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15639
15640 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15641
15642         * elhash.c (MARK_OBJ): Practice macro hygiene.
15643
15644 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15645
15646         * miscplay.c: s/__inline__/inline/g;
15647         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15648         (get_device_compdc): INLINE ==> static inline
15649         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15650         find -name '*.h' | \
15651         xargs global-replace \
15652         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15653
15654 2000-02-25  Andy Piper  <andy@xemacs.org>
15655
15656         * window.c (window_top_frame_gutter_height): new function.
15657         (window_top_window_gutter_height): ditto.
15658         (window_top_gutter_height): use them.
15659         (window_bottom_frame_gutter_height): new function.
15660         (window_bottom_window_gutter_height): ditto.
15661         (window_bottom_gutter_height): use them.
15662         (window_left_window_gutter_width): new function.
15663         (window_left_frame_gutter_width): ditto.
15664         (window_left_gutter_width): use them.
15665         (window_right_window_gutter_width): new function.
15666         (window_right_frame_gutter_width): ditto.
15667         (window_right_gutter_width): use them.
15668         (window_pixel_height): new function. calulate window pixel height
15669         with frame gutter involvement.
15670         (Fsplit_window): calculate new sizes taking frame gutters into
15671         account.
15672         (window_char_height_to_pixel_height): don't include frame gutters.
15673         (window_char_height): use window_pixel_height.
15674         (window_pixheight): rename from window_pixel_height.
15675         (change_window_height): use it.
15676         (window_pixel_height_to_char_height): don't include frame gutters.
15677         (window_char_width_to_pixel_width): ditto.
15678
15679 2000-02-25  Andy Piper  <andy@xemacs.org>
15680
15681         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15682         if it is.
15683
15684 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15685
15686         * alloc.c (staticpro):
15687         (staticpro_nodump):
15688         (dumpstruct):
15689         (dumpopaque):
15690         (pdump_wire):
15691         (pdump_wire_list):
15692         (compact_string_chars):
15693         (pdump_dump_wired):
15694         Convert:  if (foo) abort();  ==>  assert (! foo);
15695
15696         * eldap.c (Fldap_search_basic):
15697         (Fldap_add):
15698         (Fldap_modify):
15699         (Fldap_delete):
15700         Fix compiler warnings, and possible crashes if (random) return
15701         value were to be used.
15702
15703 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15704
15705         * device-msw.c: Workaround ResetDC failure.
15706
15707         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15708         applying a devmode.
15709
15710         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15711         (mswindows_text_width): Do not start printer page.
15712
15713         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15714
15715         * glyphs-msw.c: Added image methods to msprinter console and
15716         msprinter-specific image instantiation.
15717
15718 2000-02-20  Mike Alexander  <mta@arbortext.com>
15719
15720         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15721         to avoid crashes when selection-sets-clipboard is on
15722         (mswindows_own_selection): ditto
15723
15724 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15725
15726         * glyphs-msw.c:
15727         * redisplay-msw.c (get_frame_dc):
15728         (get_frame_compdc):
15729         * console-msw.h:
15730         * device-msw.c (mswindows_init_device):
15731         (mswindows_delete_device):
15732         (msprinter_init_device):
15733         (msprinter_delete_device):
15734         * frame-msw.c (mswindows_init_frame_1):
15735         (mswindows_delete_frame):
15736         (msprinter_init_frame_3):
15737         (msprinter_delete_frame): Move compatible DC to device object from
15738         frame object, for both mswindows and msprinter. Only one at a time
15739         is needed, it is a real waste to have one per frame!
15740
15741 2000-02-23  Andy Piper  <andy@xemacs.org>
15742
15743         * glyphs.c: add dynamic width and height elements.
15744         (image_instance_equal): ditto.
15745
15746         * glyphs-widget.c (widget_query_geometry): calculate width and
15747         height dynamically if required.
15748         (initialize_widget_image_instance): initialize dynamic dimensions.
15749         (widget_instantiate): pick-up dynamic dimensions.
15750
15751         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15752         dynamic determination. Add appropriate macros.
15753
15754         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15755         dimensions safe.
15756         (WINDOW_GUTTER_SIZE): ditto.
15757         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15758
15759         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15760         inline.
15761         (get_frame_dc): ditto.
15762
15763         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15764         here.
15765
15766 2000-02-23  Martin Buchholz <martin@xemacs.org>
15767
15768         * XEmacs 21.2.31 is released.
15769
15770 2000-02-22  Ben Wing <ben@xemacs.org>
15771
15772         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15773
15774 2000-02-22  Andy Piper  <andy@xemacs.org>
15775
15776         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15777
15778 2000-02-21  Mike Sperber <mike@xemacs.org>
15779
15780         * .dbxrc:
15781         * .gdbinit:
15782         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15783         variables.
15784
15785 2000-02-21  Mike Sperber <mike@xemacs.org>
15786
15787         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15788
15789 2000-02-21  Martin Buchholz <martin@xemacs.org>
15790
15791         * XEmacs 21.2.30 is released.
15792
15793 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15794
15795         Performance hacking.
15796         * *.c (syms_of_*):
15797         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15798         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15799         * emacs.c (main_1):
15800         * lisp.h (DEFUN):
15801         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15802         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15803         * symeval.h (DEFVAR_SYMVAL_FWD):
15804         * symbols.c (guts_of_unbound_marker):
15805         Make all c_readonly objects also lisp_readonly and marked for life.
15806         * lrecord.h (struct lrecord_implementation):
15807         Document flags better.
15808         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15809         * lrecord.h (DECLARE_LRECORD):
15810         * lrecord.h (XSETRECORD):
15811         * lrecord.h (RECORDP):
15812         * lrecord.h (RECORD_TYPEP):
15813         * lrecord.h (RECORD_MARKER): New.
15814         * lrecord.h (error_check_*):
15815         * lrecord.h (CONCHECK_NONRECORD):
15816         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15817         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15818         * lrecord.h (set_lheader_implementation):
15819         * lrecord.h (enum lrecord_type): New.
15820         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15821         * alloc.c (disksave_object_finalization_1):
15822         * alloc.c (mark_object):
15823         * alloc.c (lrecord_type_index):
15824         * alloc.c (tick_lcrecord_stats):
15825         * alloc.c (Fgarbage_collect):
15826         * alloc.c (init_alloc_once_early):
15827         * alloc.c (pdump_load):
15828         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15829         * alloc.c (lrecord_type_index): Delete.
15830         Make lisp object type indexes be constant.
15831           Makes (byte-compile) 5% faster.
15832         Put all marker functions into their own array.
15833           Makes (garbage-collect) 5% faster.
15834         Optimize SYMBOL_VALUE_MAGIC_P.
15835           Makes (byte-compile) 2-3% faster.
15836         * config.h.in (gc_checking_assert): New.
15837         * alloc.c: Use gc_checking_assert().
15838         * .dbxrc: Make compatible with new object type implementation.
15839         * .gdbinit: Make compatible with new object type implementation.
15840         * alloc.c: Delete all symbols defined only for debugging, such as
15841         Lisp_Type_Vector and lrecord_charset.
15842
15843 2000-02-21  Andy Piper  <andy@xemacs.org>
15844
15845         * gui-msw.c (Fmswindows_shell_execute): fix file location
15846         problems.
15847
15848         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15849         unshowing so that set_window_buffer doesn't undo
15850         kill_buffer_hook's hard work.
15851
15852         * glyphs-widget.c (tab_control_query_geometry): don't count the
15853         first item when calculating geometry.
15854
15855         * glyphs.c (map_subwindow): remove redundant code.
15856         (update_frame_subwindows): be more circumspect about when to
15857         update subwindows.
15858
15859         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15860         when items haven't changed. Update faces if faces have changed as
15861         well as just the widget face.
15862         (x_tab_control_update): Update faces if faces have changed as well
15863         as just the widget face.
15864
15865 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15866
15867         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15868         registration.
15869         (build_syscolor_string): Use mswindows_color_to_string to try to
15870         get a named color.
15871         (mswindows_device_system_metrics): Reverse the foreground and
15872         background colors so that they match the documentation.
15873
15874         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15875         they match the default Windows palette.
15876         (mswindows_color_to_string): New function.
15877
15878 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15879
15880         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15881
15882 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15883
15884         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15885         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15886
15887         * symbols.c (init_symbols_once_early): Removed obsolete
15888         DATA_SEG_BITS related kludge.
15889         (defvar_magic): Ditto.
15890
15891         * malloc.c: Removed obsolete DATA_SEG_BITS
15892         * ralloc.c: Ditto.
15893         * mem-limits.h: Ditto.
15894
15895         * Makefile.in.in: Removed obsolete HAVE_SHM
15896         * emacs.c: Ditto.
15897
15898 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15899
15900         *  device-msw.c (mswindows_delete_device): Free DDE string
15901         handles.
15902
15903 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15904
15905         * keymap.c (get_keyelt):
15906         * unexnt.c (unexec):
15907         * vm-limit.c (memory_warnings):
15908         * ntheap.c (recreate_heap):
15909         * ntheap.h (UNINIT_PTR):
15910         * select-msw.c (Fmswindows_get_clipboard):
15911         (Fmswindows_set_clipboard):
15912         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15913         * objects-msw.c:
15914         * menubar-msw.c (displayable_menu_item):
15915         * glyphs-msw.c:
15916         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15917         * sysdep.c (sys_subshell):
15918         * process-nt.c (nt_create_process):
15919         * nt.c (normalize_filename):
15920         (dostounix_filename):
15921         (unixtodos_filename):
15922         * ntproc.c (win32_executable_type):
15923         * ntplay.c (play_sound_data_1):
15924         (play_sound_file):
15925         * editfns.c (get_home_directory):
15926         * event-msw.c (struct winsock_stream):
15927         (mswindows_dde_callback):
15928         * device-msw.c (msprinter_init_device):
15929         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15930
15931         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15932         mswindows_clear_toolbar were swapped!
15933
15934         * objects-msw.c:(colormap_t):
15935         (fontmap_t):
15936         * emacs.c (struct standard_args): Fixed const jumble.
15937
15938         * glyphs-widget.c (update_widget): Fixed comparison notation.
15939
15940         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15941
15942         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15943         __declspec(noreturn) syntax.
15944
15945 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15946
15947         * eldap.c (Fldap_open):
15948         (Fldap_search_basic):
15949         (Fldap_add):
15950         (Fldap_modify):
15951         Use new coding system conversion macros.
15952
15953 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15954
15955         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15956
15957 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15958
15959         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15960         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15961
15962         * eldap.c (Qadd, Qreplace): New constant symbols
15963         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15964         interruptions by XEmacs signals
15965         Remove unnecessary calls to slow_down_interrupts and
15966         speed_up_interrupts
15967         (Fldap_search_basic): Renamed from Fldap_search_internal
15968         Added new optional parameter VERBOSE that triggers the
15969         display of progress messages
15970         Remove unnecessary calls to slow_down_interrupts and
15971         speed_up_interrupts
15972         LDAP result code analysis rewritten
15973         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15974         (syms_of_eldap): Define the new symbols and functions
15975
15976
15977 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15978
15979         * realpath.c: Determine PATH_MAX maximally portably.
15980
15981         * insdel.c (bytecount_to_charcount): Optimize.
15982         The function used to be optimized for entirely ASCII sequences.
15983         Now it is optimized for successive characters from the same
15984         charset.  This also wins big for _mostly_ ASCII sequences.
15985
15986         * fileio.c (Ffile_truename): convert return from realpath() using
15987         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15988         - Rewrite GCPROing slightly.
15989
15990         * sysdep.c (sys_open): Do filename conversion, like all other
15991         sys_* functions.  Fixes bug:
15992         (let ((file-name-coding-system 'iso-8859-2))
15993            (write-region x y latin2-name))
15994         ==> writes filename using internal encoding.
15995
15996 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15997
15998         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15999         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16000         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16001         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16002         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16003         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16004         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16005         (CONST_IF_NOT_DEBUG): Delete.
16006         * alloc.c (this_one_is_unmarkable): Delete.
16007         (mark_object): Don't check for this_one_is_unmarkable. Use the
16008         c_readonly flag instead.
16009         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16010
16011 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16012
16013         * event-msw.c (mswindows_drain_windows_queue):
16014         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16015         away redundant repaint events.
16016
16017 2000-02-17  Andy Piper  <andy@xemacs.org>
16018
16019         * redisplay.h: declare mark_redisplay_structs.
16020
16021         * redisplay.c (redisplay_window):
16022         (redisplay_frame): don't check subwindows_state_changed.
16023         (mark_redisplay): mark gutters here.
16024
16025         * glyphs.c: (instantiate_image_instantiator): always layout if we
16026         haven't done so already.
16027         (allocate_image_instance): don't mark as dirty.
16028         (update_subwindow): bind inhibit_quit.
16029
16030         * gutter.c (mark_gutters): new function.
16031
16032         * glyphs-x.c (x_update_widget): Always resize to get round a
16033         widget bug.
16034
16035         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16036         breaking absolutely everything.
16037
16038         * gutter.h: declare mark_gutters.
16039
16040 2000-02-16  Martin Buchholz <martin@xemacs.org>
16041
16042         * XEmacs 21.2.29 is released.
16043
16044 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16045
16046         * fns.c (size_bit_vector): Fix computation of the size.
16047
16048 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16049
16050         * *.[ch]: Change CONST to const globally.
16051         find -name '*.[ch]' | \
16052         xargs global-replace \
16053         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16054         - Remove vestigial references to CONST_IS_LOSING
16055
16056 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16057
16058         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16059         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16060         events instead of dispatching them directly.
16061         (mswindows_handle_paint): New function to do repainting.
16062         (mswindows_wnd_proc):
16063         (emacs_mswindows_handle_magic_event): Call above function.
16064
16065 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16066
16067         * objects-msw.c (mswindows_create_font_variant): Return the new
16068         font handle.
16069         (initialize_font_instance): Get font metrics from the underlined
16070         variant of the font to cope with the case where the underlined
16071         font has a bigger descent.
16072
16073 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16074
16075         * gui.c (gui_item_accelerator): Return the first underlined
16076         character in item name.
16077
16078 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16079
16080         * lisp.h: Added Qprinter.
16081
16082         * general.c (syms_of_general): Initialized it.
16083
16084         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16085         (get_frame_dc):
16086         (get_frame_compdc): Made inline.
16087
16088         * console.h (struct console_methods): Added eject_page method.
16089
16090         * frame.h: Added FRAME_DISPLAY_P and friends.
16091         Aligned backslahes in many macros in more readable fashion.
16092         Added page_number to struct frame, and an accessor macro
16093         for it.
16094
16095         * defice.h: Added DEVICE_DISPLAY_P and friends.
16096
16097         * device.c (Fdevice_printer_p): Used these.
16098
16099         * frame.c (allocate_frame_core): Initialize page number.
16100         (Fprint_job_page_number):
16101         (Fprint_job_eject_page): Implemented.
16102
16103         * frame-msw.c (msprinter_eject_page): Added method.
16104         (msprinter_start_page): Added.
16105
16106         * window.c (Fwindow_truncated_p): Fixed docstring.
16107         (Fwindow_last_line_visible_height): Implemented.
16108
16109 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16110
16111         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16112
16113 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16114
16115         * syntax.c (scan_words): Always advance at least one character.
16116
16117 2000-02-13  Andy Piper  <andy@xemacs.org>
16118
16119         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16120         to make sure the glyph is in the cachels.
16121
16122         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16123         global image instance flag.
16124         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16125         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16126
16127         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16128         (Fset_image_instance_property): mark layout as changed.
16129         (invalidate_glyph_geometry_maybe): mark layout as changed.
16130         (glyph_width): use new NEEDS_LAYOUT macro.
16131         (glyph_ascent): ditto.
16132         (glyph_descent): ditto.
16133         (glyph_height): ditto.
16134         (image_instance_layout): mark layout as clean after laying out.
16135         (update_subwindow): don't mark layout as clean here.
16136
16137         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16138         should no longer be needed.
16139
16140         * glyphs-x.c (x_update_widget): sanitize asserts.
16141         (x_finalize_image_instance): sanitize assignment to widgets.
16142
16143         * glyphs-widget.c (widget_instantiate): don't need to clear the
16144         layout flag here.
16145
16146 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16147
16148         * sysdep.c (getcwd): Use standard prototype.
16149         * sysdep.h (getcwd): Use standard prototype.
16150
16151         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16152         (sequence, start, end).
16153         Remove redundant type checking.
16154         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16155         view of `caller-protects') to avoid a crash where the real fix was
16156         found elsewhere.
16157
16158 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16159
16160         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16161
16162         * s/sol2.h: Remove feature macro initialization.
16163
16164         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16165         (vector_hash): New.  Code from internal_hash.
16166         * lrecord.h:
16167         Fix up allocation subsystem comments.
16168
16169         * config.h.in: Add __EXTENSIONS__ for Solaris.
16170
16171         * systime.h (EMACS_GETTIMEOFDAY): New.
16172         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16173         Remove Solaris-specific code.
16174         Use void* for the (ignored) second arg for gettimeofday().
16175
16176         * elhash.c (hash_table_hash): Implement it, finally.
16177         * elhash.c:  Use hashcode_t.
16178
16179         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16180         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16181
16182         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16183         * fns.c (size_bit_vector):
16184         * alloc.c (size_vector):
16185         (make_vector_internal):
16186         (make_bit_vector_internal):
16187         (sweep_bit_vectors_1):
16188         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16189
16190 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16191
16192         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16193         Include strings.h to avoid warnings for bzero and strcasecmp.
16194
16195 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16196
16197         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16198         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16199
16200         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16201         sequence.
16202
16203 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16204
16205         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16206         use a value field instead.
16207         (symbol_value_forward_forward): Use value field.
16208         (DEFVAR_SYMVAL_FWD): Use value field.
16209         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16210         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16211         (DEFVAR_CONST_INT): Ditto.
16212         (DEFVAR_BOOL): Ditto.
16213         (DEFVAR_CONST_BOOL): Ditto.
16214         (DEFVAR_INT_MAGIC): Ditto.
16215         (DEFVAR_BOOL_MAGIC): Ditto.
16216
16217         * symbols.c (guts_of_unbound_marker): Use value field.
16218         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16219         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16220
16221         * lisp.h: Declare dumpopaque and noninteractive1.
16222
16223         * alloc.c (dumpopaque): Added.
16224         (pdump_dump_opaquevec): Added.
16225         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16226         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16227         noninteractive.
16228
16229 2000-02-10  Andy Piper  <andy@xemacs.org>
16230
16231         * glyphs.c (image_instance_layout): if the size changes, mark it
16232         as such.
16233
16234         * redisplay-output.c (redisplay_output_layout): Update the
16235         subwindow here.
16236         (redisplay_output_subwindow): ditto.
16237
16238         * glyphs.c (update_subwindow): make sure we reset flags for
16239         layouts as well as everything else.
16240
16241         * glyphs-widget.c (layout_layout): don't need to set the instances
16242         dimensions here.
16243
16244 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16245
16246         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16247         not HAVE_DLOPEN, which is a lower-level thing.
16248
16249         * .cvsignore: Ignore gmon.out
16250
16251 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16252
16253         * .cvsignore: Ignore portable dumper xemacs.dmp file
16254
16255 2000-02-09  Andy Piper  <andy@xemacs.org>
16256
16257         * redisplay-output.c (redisplay_output_layout): be more clever
16258         about when we output based on the changed flags.
16259
16260         * glyphs.h (struct image_instantiator_methods): add update_method.
16261         (struct Lisp_Image_Instance): add changed flags. Declare new
16262         macros for manipulating them.
16263
16264         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16265         (image_instance_parent_glyph): find an image_instance's parent
16266         glyph or image_instance.
16267         (image_instance_layout): mark the size as changed.
16268         (set_image_instance_dirty_p): new function. mark an image
16269         instance, plus all of its parents, as dirty.
16270         (Fset_image_instance_property): use it.
16271         (Fglyph_animated_timeout_handler): use it.
16272         (update_subwindow): call update_widget and device methods for
16273         update_subwindow. Mark all changed flags as clean.
16274         (Fresize_subwindow): mark size as changed.
16275
16276         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16277         failures.
16278         (x_update_subwindow): only resize subwindows here.
16279         (x_update_widget): new function. Update all changed properties of
16280         a widget.
16281         (x_resize_subwindow): deleted.
16282         (x_widget_set_property): deleted.
16283         (x_progress_gauge_set_property): deleted.
16284         (x_progress_gauge_update): new function. Implement recorded
16285         changes.
16286         (x_tab_control_update): ditto.
16287         (x_tab_control_set_property): deleted.
16288         (console_type_create_glyphs_x): declare new functions.
16289         (image_instantiator_format_create_glyphs_x): ditto.
16290
16291         * glyphs-widget.c (widget_set_property): mark text changed.
16292         (update_widget): new function. Update properties of a widget.
16293         (widget_instantiate): for layouts make sure we set their
16294         children's parent correctly.
16295         (tab_control_set_property): new function. Record changes that will
16296         take place under redisplay's control.
16297         (progress_gauge_set_property): ditto.
16298         (image_instantiator_progress_guage): declare new functions.
16299         (image_instantiator_tab_control): ditto.
16300
16301         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16302         now.
16303         (mswindows_update_widget): new function. Update all properties on
16304         a widget that have changed.
16305         (mswindows_button_update): new function. Update a button's set
16306         state.
16307         (mswindows_tab_control_update): new function. Update the items in
16308         a tab.
16309         (mswindows_tab_control_set_property): deleted.
16310         (mswindows_progress_gauge_update): new function. Update the
16311         progress gauge's progress.
16312         (mswindows_widget_set_property): deleted. This is all done
16313         asynchronously now.
16314         (mswindows_progress_gauge_set_property): ditto.
16315         (console_type_create_glyphs_mswindows): declare new methods.
16316         (image_instantiator_format_create_glyphs_mswindows): ditto.
16317
16318         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16319         (msprinter_set_frame_properties): ditto.
16320
16321         * console.h (struct console_methods): Add update_widget_method.
16322
16323 2000-02-09  Andy Piper  <andy@xemacs.org>
16324
16325         * gui-msw.c (Fmswindows_shell_execute): Make
16326         mswindows-shell-execute industrial strength.
16327
16328 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16329
16330         * lrecord.h: Make macro argument `props' match member function `plist'.
16331         * fns.c (Fget):
16332         * fns.c (Fput):
16333         * fns.c (Fremprop):
16334         * fns.c (Fobject_plist):
16335         * alloc.c:
16336         * symbols.c:
16337         Object property list frobbing cleanup.
16338         - Allow any lisp object (compared with `eq'), not just symbols, as
16339           keys in object plists.
16340         - Move symbol plist frobbing into symbols.c, where it belongs.
16341         - Move string plist frobbing into alloc.c, where it belongs.
16342         - Everything's an lrecord now, so no need to test for symbolp, etc.
16343         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16344
16345         * extents.c: Reorder code to remove declarations.
16346
16347         * frame.h (store_in_alist): Remove useless declaration.
16348
16349 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16350
16351         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16352         * config.h.in: Add HAVE_XCONVERTCASE.
16353
16354 2000-02-07  Andy Piper  <andy@xemacs.org>
16355
16356         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16357         it breaks many things.
16358
16359 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16360
16361         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16362         actually can start a common comment type.
16363         * src/syntax.h (SYNTAX_END_P): ditto for end.
16364
16365 2000-02-07  Martin Buchholz <martin@xemacs.org>
16366
16367         * XEmacs 21.2.28 is released.
16368
16369 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16370
16371         * event-Xt.c (x_keysym_to_character): New.
16372         (maybe_define_x_key_as_self_inserting_character): New.
16373         (x_has_keysym): New.
16374         Auto-define all keys on the keyboard as self-insert-key.
16375
16376 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16377
16378         * menubar.c (vars_of_menubar): A small code simplification.
16379
16380         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16381
16382         * ExternalShell.c:
16383         * ExternalClient.c:
16384         * EmacsShell-sub.c:
16385         * EmacsManager.c:
16386         * EmacsFrame.c:
16387         Use consistent style for specifying X resources.
16388
16389         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16390         This makes (dontusethis-set-symbol-value-handler) actually usable.
16391
16392         * lrecord.h (lrecord_decription_type):
16393         * alloc.c (pdump_register_sub):
16394         (pdump_dump_data):
16395         (pdump_reloc_one):
16396         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16397         Comply with XEmacs coding style.
16398         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16399         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16400
16401         * keymap.c (Faccessible_keymaps):
16402         Make (accessible-keymaps map "\C-h") do the Right Thing.
16403         Make (accessible-keymaps map []) do the Right Thing.
16404         Make (accessible-keymaps map "") do the Right Thing.
16405         (check_keymap_definition_loop): New function.
16406         (keymap_store_internal): Keep luser from shooting self in foot,
16407           via (define-key ctl-x-4-map "p" global-map).
16408         Remove fullness slot from struct Lisp_Keymap, since hash tables
16409         are now reliable.
16410         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16411
16412 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16413
16414         * redisplay.c (init_redisplay): Fix small memory leak.
16415         * elhash.h:
16416         * elhash.c (pdump_reorganize_hash_table):
16417         Rename from reorganize_hash_table. Change prototype.
16418         Reuse the original memory for hentries.  Save 100k.
16419         * alloc.c (PDUMP_READ): new macro.
16420         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16421         * alloc.c: No need to #ifndef before #undef.
16422
16423         * print.c: Allow debug_print() to print readably by modifying
16424         debug_print_readably.  Use consistent variable names.
16425
16426         * .dbxrc: Try to get things to work even if stopped in a function
16427         without source available by explicitly specifying source files.
16428 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16429
16430         * unexnt.c (_start): Removed bogus code which caused loading heap
16431         from differrent executable file.
16432         Removed bogus assignment to _fmode, which caused inconsistencies.
16433
16434 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16435
16436         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16437         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16438         Do not preliminary `#define signal sigset'.
16439
16440         * systime.h: Do not prototype environ on windows nt and cygwin,
16441         this conflicts with system header.
16442
16443         * syssignal.h: Use correct define for WINDOWSNT
16444
16445         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16446         with system header.
16447
16448         * sysdep.c (near start of file): Fixed commentary and rearranged
16449         ifdefs in readable order.
16450         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16451         (start_of_text):
16452         (end_of_text):
16453         (end_of_data): Do not compile in if using PDUMP.
16454
16455         * symsinit.h: Prototyped vars_of_nt().
16456
16457         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16458         (find_child_console): Use it.
16459         (sys_kill): Use it.
16460
16461         * ntheap.h: Do not extern os_subtype.
16462
16463         * ntheap.c (cache_system_info): Do not cache unneeded:
16464         nt_major_version, nt_minor_version and os_subtype.
16465         (recreate_heap): Do not compile in when PDUMPing.
16466
16467         * nt.c (geteuid and friends): Use the new varibale
16468         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16469         (init_user_info): Removed the above mentioned hackery.
16470         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16471         stat has been fixed in the C runtime.
16472         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16473
16474         * file-coding.c (struct file_coding_dump): Do not define
16475         ucs_to_mule_table in the struct if not MULE.
16476         (struct struct lrecord_description fcd_description_1): Do not dump
16477         the above.
16478
16479         * emacs.c (main_1): Call vars_of_nt().
16480         (right before Fdump_emacs_data): Don't need lastfile if using both
16481         portabe dumper and system malloc.
16482
16483         * alloc.c (Fmemory_limit): Conditionalized out.
16484         (pdump): Use OPEN_BINARY for the portable dump file.
16485         (pdump_load): Ditto.
16486
16487 2000-02-02  Mike Alexander  <mta@arbortext.com>
16488
16489         * nt.c (convert_time): Set tm_isdst before calling mktime and
16490         avoid calling it at all if the compiler supports 64 bit integers.
16491         Also initialize utc_base_ft before using it.
16492
16493 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16494
16495         * frame.c (change_frame_size_1): Take f->internal_border_width
16496         into consideration when calculating the width of the frame.
16497
16498 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16499
16500         * window.c (frame_min_height):
16501         (frame_size_valid_p):
16502         (frame_pixsize_valid_p): Added.
16503         (check_frame_size): Generalized.
16504
16505         * window.h: Prototyped the above.
16506
16507         * lisp.h:
16508         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16509         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16510         Deleted Vwin32_* and Vbinary_process_* unused variables.
16511
16512         * device-msw.c (msprinter_init_device): Do not get printer font
16513         list; Added DEVMODE functions.
16514
16515         * frame-msw.c: Added lots of printer code.
16516
16517         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16518         general.c.
16519
16520         * console-msw.h: Added more msprinter device private slots.
16521
16522 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16523
16524         * event-msw.c (key_needs_default_processing_p): Added.
16525         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16526
16527 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16528
16529         * glyphs.c (image_instance_layout): Mark image instance as clean
16530         after layout.
16531         (glyph_dirty_p): Removed redundant function.
16532         (invalidate_glyph_geometry_maybe): Added.
16533         (update_glyph_cachel_data): Call it.
16534
16535         * glyphs.h: Prototyped it.
16536
16537         * redisplay.c (add_glyph_rune): Call it.
16538         (redisplay_window): Reset glyphs cachels when frame faces have
16539         changed, thus forcing recomputation of built-in border glyphs.
16540
16541 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16542
16543         * Makefile.in.in: Make portable dumper and purify play well together.
16544         Add imperfect, but better than nothing, support for pdump.
16545         Remove xemacs.dmp when temacs is re-generated.
16546         Don't ignore errors when dumping xemacs.
16547
16548         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16549
16550 2000-01-28  Andy Piper  <andy@xemacs.org>
16551
16552         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16553         (setup_normal_frame): ditto.
16554         (setup_frame_without_minibuffer): ditto.
16555         (setup_minibuffer_frame): ditto.
16556         (delete_frame_internal): ditto.
16557         (Fmake_frame_invisible): ditto.
16558         (Ficonify_frame): ditto.
16559
16560         * window.h: change Fset_window_buffer signature.
16561
16562         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16563         (Fset_window_buffer): allow recording of buffer if the window is
16564         the selected window.
16565         (window_loop): Use new Fset_window signature.
16566
16567 2000-01-23  Daniel Pittman  <daniel@danann.net>
16568
16569         * config.h.in: Added template for `HAVE_ATHENA_3D'
16570
16571 2000-01-29  Andy Piper  <andy@xemacs.org>
16572
16573         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16574
16575         * gutter.c (output_gutter): Don't output if the window isn't live.
16576
16577 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16578
16579         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16580         of 01/12/00: Moved SetFocus back here where it belongs.
16581
16582 2000-01-23  Andy Piper  <andy@xemacs.org>
16583
16584         * s/cygwin32.h: declare printer things.
16585
16586 2000-01-26  Andy Piper  <andy@xemacs.org>
16587
16588         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16589         Alexander.
16590
16591 2000-01-24  Andy Piper  <andy@xemacs.org>
16592
16593         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16594         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16595
16596         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16597
16598         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16599
16600         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16601
16602         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16603         (mswindows_output_display_block): Avoid local shadows.
16604
16605         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16606         (mswindows_enqueue_mouse_button_event): ditto.
16607         (mswindows_handle_gui_wm_command): remove declaration.
16608
16609         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16610         warnings.
16611
16612         * console-msw.h: Avoid shadows.
16613         (mswindows_get_toolbar_button_text):
16614         (emacs_mswindows_create_stream_pair):
16615         (emacs_mswindows_delete_stream_pair):
16616         (mswindows_handle_toolbar_wm_command): declare.
16617
16618         * device-msw.c (build_syscolor_string): Avoid shadows.
16619
16620 2000-01-23  Andy Piper  <andy@xemacs.org>
16621
16622         * glyphs-widget.c (widget_instantiate): reverse the items for
16623         layouts so that children are in the expected order.
16624
16625 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16626
16627         * ralloc.c: safe_bcopy ==> memmove
16628         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16629         * s/msdos.h: Remove BCOPY macros.
16630         * insdel.c (gap_right): Remove BCOPY conditional code.
16631         * insdel.c (gap_left): Remove BCOPY conditional code.
16632         XEmacs demands a working ANSI C compiler - hence memmove.
16633
16634         * regex.c (regex_compile): Remove accidental use of trigraphs.
16635
16636 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16637
16638         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16639         event timestamp.
16640
16641 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16642
16643         * event-msw.c (mswindows_drain_windows_queue): Added the
16644         parameter.
16645         (mswindows_need_event): Commented the call to
16646         mswindows_drain_windows_queue().
16647         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16648         only.
16649
16650         * console-msw.h: Moved a few function prototypes here from
16651         event-msw.c.
16652
16653         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16654         parameter from unsigned short to unsigned long.
16655         (Fmswindows_shell_execute): Added return value.
16656
16657 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16658
16659         * sysdep.c (init_system_name):
16660           process-unix.c (unix_canonicalized_host_name):
16661         Don't call freeaddrinfo() if getaddrinfo() fails.
16662
16663         * process-unix.c (unix_open_unix_network_stream):
16664         Moved the code to get a port # into address loop.
16665
16666 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16667
16668         * buffer.c (reinit_vars_of_buffer):
16669         The right place to initialize conversion_in_dynarr and
16670         conversion_out_dynarr.
16671
16672         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16673
16674         * process-unix.c (unix_canonicalize_host_name): Muleize.
16675         (unix_open_network_stream): Muleize.
16676
16677         * buffer.h: Fix up prototypes for ralloc.c functions.
16678
16679 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16680         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16681         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16682                 instead of gethostbyname()
16683         * process-unix.c: In unix_canonicalize_host_name() and
16684                 unix_open_network_stream(), add code to use getaddrinfo()
16685                 instead of gethostbyname().
16686
16687 2000-01-27  Daniel Pittman <daniel@danann.net>
16688
16689         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16690         libs when built with flat Athena.
16691
16692 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16693
16694         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16695         Use coding standards for function prototypes.
16696
16697 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16698
16699         * dialog-msw.c (push_lisp_string_as_unicode):
16700         * doc.c (unparesseuxify_doc_string):
16701         * dired.c (Fuser_name_completion_1):
16702         * dired.c (Fuser_name_all_completions):
16703         * dired.c (free_user_cache):
16704         * dired.c (user_name_completion):
16705         * console-x.c (get_display_arg_connection):
16706         * minibuf.c (clear_echo_area_internal):
16707         * minibuf.c (echo_area_append):
16708         * eldap.c (Fldap_open):
16709         * eldap.c (Fldap_search_internal):
16710         * frame-x.c (x_set_frame_text_value):
16711         * frame-x.c (x_set_frame_properties):
16712         * frame-x.c (x_create_widgets):
16713         * redisplay-tty.c (term_get_fkeys_1):
16714         * objects-x.c (x_parse_nearest_color):
16715         * objects-x.c (x_valid_color_name_p):
16716         * objects-x.c (x_initialize_font_instance):
16717         * objects-x.c (x_list_fonts):
16718         * objects-x.c (x_find_charset_font):
16719         * tooltalk.c (Fadd_tooltalk_message_arg):
16720         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16721         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16722         * process-unix.c (unix_create_process):
16723         * ntproc.c (sys_spawnve):
16724         * sound.c (Fplay_sound_file):
16725         * sound.c (Fplay_sound):
16726         * buffer.c (init_initial_directory):
16727         * buffer.c (init_buffer):
16728         * editfns.c (init_editfns):
16729         * editfns.c (Ftemp_directory):
16730         * editfns.c (Fuser_full_name):
16731         * editfns.c (uncache_home_directory):
16732         * editfns.c (get_home_directory):
16733         * editfns.c (Fuser_home_directory):
16734         * editfns.c (Fformat_time_string):
16735         * editfns.c (Fcurrent_time_string):
16736         * gui-x.c (button_item_to_widget_value):
16737         * database.c (Fopen_database):
16738         * event-Xt.c (x_to_emacs_keysym):
16739         * event-Xt.c (x_event_to_emacs_event):
16740         * event-Xt.c (describe_event_window):
16741         * event-msw.c (mswindows_wnd_proc):
16742         * glyphs-eimage.c (jpeg_instantiate):
16743         * glyphs-eimage.c (gif_instantiate):
16744         * glyphs-eimage.c (png_instantiate):
16745         * glyphs-eimage.c (tiff_instantiate):
16746         * glyphs-x.c (xbm_instantiate_1):
16747         * glyphs-x.c (x_xbm_instantiate):
16748         * glyphs-x.c (x_xface_instantiate):
16749         * glyphs-x.c (autodetect_instantiate):
16750         * glyphs-x.c (cursor_font_instantiate):
16751         * glyphs-x.c (x_widget_instantiate):
16752         * glyphs-x.c (x_widget_set_property):
16753         * glyphs-x.c (x_widget_property):
16754         * glyphs-x.c (BUILD_GLYPH_INST):
16755         * print.c (write_string_to_stdio_stream):
16756         * print.c (output_string):
16757         * print.c (Falternate_debugging_output):
16758         * print.c (Fexternal_debugging_output):
16759         * glyphs-msw.c (extract_xpm_color_names):
16760         * glyphs-msw.c (mswindows_xpm_instantiate):
16761         * glyphs-msw.c (bmp_instantiate):
16762         * glyphs-msw.c (resource_name_to_resource):
16763         * glyphs-msw.c (mswindows_resource_instantiate):
16764         * glyphs-msw.c (xbm_instantiate_1):
16765         * glyphs-msw.c (mswindows_xbm_instantiate):
16766         * glyphs-msw.c (mswindows_xface_instantiate):
16767         * glyphs-msw.c (mswindows_widget_instantiate):
16768         * glyphs-msw.c (add_tree_item):
16769         * glyphs-msw.c (add_tab_item):
16770         * glyphs-msw.c (mswindows_combo_box_instantiate):
16771         * glyphs-msw.c (mswindows_widget_property):
16772         * glyphs-msw.c (mswindows_combo_box_property):
16773         * glyphs-msw.c (mswindows_widget_set_property):
16774         * console.c (stuff_buffered_input):
16775         * objects-msw.c (mswindows_initialize_color_instance):
16776         * objects-msw.c (mswindows_valid_color_name_p):
16777         * objects-msw.c (mswindows_list_fonts):
16778         * objects-msw.c (mswindows_font_instance_truename):
16779         * bytecode.c (optimize_compiled_function):
16780         * select-x.c (symbol_to_x_atom):
16781         * select-x.c (x_atom_to_symbol):
16782         * select-x.c (hack_motif_clipboard_selection):
16783         * select-x.c (selection_data_to_lisp_data):
16784         * select-x.c (lisp_data_to_selection_data):
16785         * select-x.c (Fx_get_cutbuffer_internal):
16786         * select-x.c (Fx_store_cutbuffer_internal):
16787         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16788         * buffer.h (TO_INTERNAL_FORMAT): New function.
16789         * emacs.c (make_arg_list_1):
16790         * emacs.c (make_argc_argv):
16791         * emacs.c (main_1):
16792         * emacs.c (Fdump_emacs):
16793         * emacs.c (split_string_by_emchar_1):
16794         * file-coding.h:
16795         * lisp.h:
16796         * lstream.h:
16797         * symsinit.h:
16798         * device-x.c (x_init_device):
16799         * device-x.c (Fx_valid_keysym_name_p):
16800         * device-x.c (Fx_get_font_path):
16801         * device-x.c (Fx_set_font_path):
16802         * glyphs.c (bitmap_to_lisp_data):
16803         * glyphs.c (pixmap_to_lisp_data):
16804         * alloc.c (make_ext_string): Use coding system arguments.  Update
16805         all callers.
16806         * alloc.c (build_string):
16807         * callproc.c (child_setup):
16808         * callproc.c (init_callproc):
16809         * fileio.c (lisp_strerror):
16810         * fileio.c (directory_file_name):
16811         * fileio.c (Fexpand_file_name):
16812         * fileio.c (Ffile_truename):
16813         * fileio.c (Fsysnetunam):
16814         * fileio.c (Fdo_auto_save):
16815         * sysdep.c (sys_readdir):
16816         * tests.c: New file.  Allow adding C tests.
16817         Replace GET_* macros with a more comprehensible and flexible
16818         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16819         Modify all calls.
16820         Any coding system can be used to do format conversion.
16821         Eliminate enum external_data_format.
16822         Eliminate convert_to_external_format.
16823         Eliminate convert_to_internal_format.
16824         Make sure file-name, keyboard, terminal, and ctext are always
16825         defined as coding systems or aliases.  Make
16826         file-name-coding-system, terminal-coding-system, and
16827         keyboard-coding-system magical variables that are equivalent to
16828         defining the corresponding coding system aliases.
16829
16830         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16831         * file-coding.c (Fcoding_system_alias_p): New function.
16832         * file-coding.c (Fcoding_system_aliasee): New function.
16833         * file-coding.c (append_suffix_to_symbol): New function.
16834         * file-coding.c (dangling_coding_system_alias_p): New function.
16835         * file-coding.c (Ffind_coding_system):
16836         * file-coding.c (Fcopy_coding_system):
16837         * file-coding.c (encode_coding_no_conversion):
16838         * file-coding.c (syms_of_file_coding):
16839         * file-coding.c (vars_of_file_coding):
16840         Rewrite coding system alias code.
16841         Allow nested aliases, like symbolic links.
16842         Allow redefinition of coding system aliases.
16843         Prevent existence of dangling coding system aliases.
16844
16845         * dired.c (Fuser_name_completion_1):
16846         * dired.c (Fuser_name_all_completions):
16847         A crash would happen if user did QUIT in the middle of building
16848         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16849
16850         * lisp.h:
16851         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16852
16853         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16854         an unsigned char *.  Update all callers.
16855
16856 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16857
16858         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16859
16860 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16861
16862         * elhash.c (hentry_description): Use more portable definition.
16863         (resize_hash_table): Initialize new hentries using
16864         xnew_array_and_zero, thereby simplifying the code.
16865
16866         * mule-charset.c (make_charset): Make sure entire object is
16867         initialized, to avoid Purify warnings.
16868
16869         * alloc.c (resize_string): Fix unlikely crash with big strings.
16870
16871 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16872
16873         * realpath.c (xrealpath):
16874         Don't call getwd().
16875
16876 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16877
16878         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16879
16880 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16881
16882         * unexelfsgi.c (unexec): Change the way we decide which segment
16883         should be extended.
16884
16885         Assumption that .bss section should be outside the PT_LOADable
16886         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16887         it's present) is inside the 'data' segment. This would fail the
16888         test which was used to find a segment to grow and cover new
16889         heap. Instead of this assumption, I created another one - on IRIX
16890         the segment to grow should start below .bss and it's address
16891         should extent above the end of .bss. Once this segment is
16892         identified, it's grown to accommodate the new heap and new
16893         zero-length .bss section is added at the end of .data2.
16894
16895 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16896
16897         * eval.c (Feval): Wrong number of arguments should use original
16898         function, not the indirect_function version of it.
16899
16900 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16901
16902         * glyphs-x.c (x_button_instantiate): Don't add image if
16903         it is not a pixmap.
16904         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16905         is relative.
16906
16907 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16908
16909         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16910         declaration.
16911         (DEFVAR_INT_MAGIC): Ditto.
16912         (DEFVAR_BOOL_MAGIC): Ditto.
16913         * glyphs.h: Reindent backslash.
16914
16915 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16916
16917         * glyphs-widget.c (layout_query_geometry):
16918         (layout_layout): Use correct types for gheight, gwidth.
16919
16920 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16921
16922         * EmacsManager.c (QueryGeometry): Purified.
16923
16924 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16925
16926         * alloc.c (make_float): Make sure entire object is initialized, to
16927         avoid Purify warnings.
16928         (pdump_register_sub): Remove useless assignment.
16929         (pdump): Use xmalloc, not malloc.
16930         (pdump_load): Use xmalloc, not malloc.
16931
16932 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16933
16934         * callproc.c:
16935         * dired-msw.c:
16936         * fileio.c:
16937         * process-nt.c:
16938         * redisplay-msw.c:
16939         * sysdep.c: Removed redundant #include <windows.h>
16940
16941 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16942
16943         * frame.c (delete_frame_internal): Do not delete device when its
16944         implementation so declares.
16945         (delete_frame_internal): Set device selected frame to nil when
16946         last frame goes away.
16947
16948         * device-msw.c (msprinter_device_system_metrics): Implemented.
16949         (mswindows_device_system_metrics): Added 'device-dpi property.
16950
16951         * device.c: (Fdevice_printer_p): Added.
16952         Added 'offset-workspace device metric.
16953
16954         * console.h (device_metrics): Declared DM_offset_workspace.
16955
16956 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16957
16958         * fileio.c (Ffile_truename): Remove pointless and confusing
16959         initialization of elen.
16960
16961         * glyphs-widget.c: Compiler warning fixes.
16962
16963 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16964
16965         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16966         instead of a Lisp_Object as argument to make it consistent with
16967         the other LIVE_P macros.
16968         (CHECK_LIVE_PROCESS): New macro.
16969
16970         * process.c: Declare Qprocess_live_p.
16971         (Fprocess_live_p): New function.
16972         (create_process): Use PROCESS_LIVE_P.
16973         (read_process_output): Ditto.
16974         (set_process_filter): Ditto.
16975         (Fdelete_process): Ditto.
16976         (kill_buffer_processes): Ditto
16977         (process_send_signal): Use CHECK_LIVE_PROCESS.
16978         (Fprocess_input_coding_system): Check whether process is still
16979         alive (fix PR#1061).
16980         (Fprocess_output_coding_system): Ditto.
16981         (Fprocess_coding_system): Ditto.
16982         (Fset_process_input_coding_system): Ditto.
16983         (Fset_process_output_coding_system): Ditto.
16984
16985 2000-01-23  Andy Piper  <andy@xemacs.org>
16986
16987         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16988         layout and widget.
16989
16990         * glyphs.c (mark_image_instance): take into account changed
16991         image_instance format.
16992         (image_instance_equal): ditto.
16993         (image_instance_hash): ditto.
16994
16995         * glyphs-widget.c (widget_instantiate): Incorporate layout
16996         instantiation here. Delay layout of the layout until later.
16997         (layout_instantiate): deleted.
16998         (layout_query_geometry): new function. get the geometry of a
16999         layout.
17000         (layout_layout): layout a layout dynamically.
17001         (image_instantiator_widget): New function - splitting up
17002         image_instantiator_format_create_glyphs_widget for netwinder
17003         compilation.
17004         (image_instantiator_buttons):
17005         (image_instantiator_edit_fields):
17006         (image_instantiator_combo_box):
17007         (image_instantiator_scrollbar):
17008         (image_instantiator_progress_guage):
17009         (image_instantiator_tree_view):
17010         (image_instantiator_tab_control):
17011         (image_instantiator_labels):
17012         (image_instantiator_layout): ditto.
17013         (image_instantiator_format_create_glyphs_widget): Call preceding
17014         functions.
17015
17016 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17017
17018         * process.c (Fset_process_coding_system):
17019         * device-x.c (Fx_keysym_hash_table):
17020         Docstring fixes.
17021
17022         * lstream.c (Lstream_write): Return documented value, not 0.
17023
17024         * fileio.c (directory_file_name):
17025         (Fsubstitute_in_file_name):
17026         (Fsubstitute_insert_file_contents_internal):
17027         (Fwrite_region_internal):
17028         * emacs.c:
17029         * sysdep.c:
17030         * getloadavg.c:
17031         * systty.h:
17032         Remove vestigial APOLLO-conditional code.
17033
17034 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17035
17036         * getpagesize.h: Add guard macros.
17037         * libsst.h: Add guard macros.
17038         * libst.h: Add guard macros.
17039         * line-number.h: Add guard macros.
17040         * ndir.h: Add guard macros.
17041         * sysfloat.h: Add guard macros.
17042         * sysfile.h: Add guard macros.
17043         * sysproc.h: Add guard macros.
17044         * syswait.h: Add guard macros.
17045         * xintrinsic.h: Add guard macros.
17046         * xintrinsicp.h: Add guard macros.
17047         * xmmanager.h: Add guard macros.
17048         * xmmanagerp.h: Add guard macros.
17049         * xmprimitive.h: Add guard macros.
17050         * xmu.h: Add guard macros.
17051         * gpmevent.h: Add copyright statement. Add guard macros.
17052         * miscplay.h: Add guard macros.
17053         * *.h: Use consistent C-standards-approved guard macro names.
17054
17055         * opaque.c (make_opaque): Switch parameter order.
17056         * opaque.h (make_opaque): Switch parameter order.
17057         Update all callers.
17058         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17059
17060         * config.h.in (type_checking_assert): Added.
17061         (bufpos_checking_assert): Added.
17062
17063 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17064
17065         * alloc.c: Harmless pdump changes.
17066         - Use countof().
17067         - spell alignment correctly.
17068         * sysdep.c: Use countof()
17069
17070 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17071
17072         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17073         initially_selected_for_input() console method, default to 0.
17074         (semi_canonicalize_console_connection): Try to delegate to
17075         canonicalize_console_connection if no such console method.
17076         (canonicalize_console_connection): Vice versa.
17077         (print_console): Do not print nil connection.
17078
17079         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17080         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17081         (XDEVIMPF_FRAMELESS_OK): Added.
17082         (CONSOLE_INHERITS_METHOD): Added.
17083
17084         * console-msw.c (mswindows_canonicalize_console_connection):
17085         Added.
17086         (mswindows_canonicalize_device_connection): Added.
17087
17088         * console-msw.h (struct msprinter_device): Added this struct and
17089         accessor macros.
17090         (mswindows_device): Made fontlist a lisp object.
17091
17092         * device.c (semi_canonicalize_device_connection):  Try to delegate
17093         to canonicalize_device_connection if no such console method.
17094         (canonicalize_device_connection): Vice versa.
17095         (print_device): Do not print nil connection.
17096
17097         * device-msw.c (mswindows_init_device): Call InitCommonControls
17098         when have widgets.
17099         (mswindows_delete_device): Removed fontlist deallocation.
17100         (mswindows_mark_device): Added.
17101
17102         * events.c (event_equal): Added abort() at unreached code.
17103         (event_hash): Ditto.
17104
17105         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17106         fallback tags of Windows devices.
17107
17108         * general.c (syms_of_general): Initialized Qmsprinter.
17109
17110         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17111         of fallback tags of Windows devices.
17112
17113         * lisp.h: Declared Qmsprinter.
17114
17115         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17116         of strings.
17117         (mswindows_list_fonts): Ditto.
17118         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17119         that it can be used by both mswindows and msprinter devices.
17120         (initialize_font_instance): Added.
17121         (mswindows_initialize_font_instance): Use it.
17122         (msprinter_initialize_font_instance): Added.
17123
17124         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17125         and implementation flags check.
17126         (redisplay_without_hooks): Changed the call to the above.
17127         (Fredraw_device): Ditto.
17128         (Fredisplay_device): Ditto.
17129
17130         * redisplay-msw.c (get_frame_dc): Implemented.
17131         (get_frame_compdc): Implemented.
17132         (many functions): Use the two functions above to get device
17133         contexts, ether for a window or a printer.
17134
17135 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17136
17137         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17138         initialization here.
17139         (init_symbols_once_early): Call it.
17140         * emacs.c (main_1): Call it.
17141         * symsinit.h: Declare it.
17142
17143 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17144
17145         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17146         Lisp_Object.
17147         (pdump_backtrace): Ditto.
17148         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17149         (pdump_get_entry): Abort if trying to register a null pointer.
17150         (pdump_dump_data): Cleanup types when relocating.
17151         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17152         (pdump_dump_rtables): Remove bad casts.
17153         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17154         Lisp_Object instead of a EMACS_INT for the hashtable
17155         reorganization.
17156
17157 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17158
17159         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17160
17161         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17162
17163         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17164
17165         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17166
17167 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17168
17169         * faces.h (FACE_STRIKETHRU_P): Added.
17170
17171         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17172         of font variants.
17173
17174         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17175         (mswindows_set_dc_font): New function, aware of font variants,
17176         separated from mswindows_update_dc.
17177
17178         * objects-msw.h (struct mswindows_font_instance_data): Added
17179         definition.
17180
17181         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17182         cached fonts and the data structure.
17183         (mswindows_initialize_font_instance): Added creation of font data
17184         structure.
17185         (mswindows_print_font_instance): Print at least something.
17186         (mswindows_create_font_variant): Implemented.
17187         (mswindows_get_hfont): Implemented.
17188
17189 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17190
17191         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17192         prototyping problem with msvc.
17193
17194         * emacs.c (main_1): added syms_of_gui_mswindows() call
17195
17196         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17197         syms_of_gui_mswindows() function
17198
17199         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17200
17201 2000-01-18  Martin Buchholz <martin@xemacs.org>
17202
17203         * XEmacs 21.2.27 is released.
17204
17205 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17206
17207         * glyphs-eimage.c (struct tiff_error_struct):
17208         (tiff_error_func):
17209         (tiff_warning_func):
17210         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17211
17212         * unexmips.c:
17213         * unexhp9k3.c:
17214         * unexfreebsd.c:
17215         * unexec.c: Remove vestigial Lucid C code.
17216         * unexalpha.c:
17217         * unexaix.c:
17218         * termcap.c:
17219         * libsst.c: Ansify.
17220         Remove declarations of errno and strerror().
17221
17222         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17223
17224         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17225
17226 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17227
17228         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17229         Optimize.
17230
17231 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17232
17233         * md5.c:
17234         * file-coding.c:
17235         * file-coding.h:
17236         Change enum eol_type to eol_type_t.
17237
17238 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17239
17240         * gui.c (get_gui_callback): Check cons before accessing car.
17241
17242 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17243
17244         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17245         (XSETSPECIFIER_TYPE): Ditto.
17246
17247 2000-01-17  Didier Verna  <didier@xemacs.org>
17248
17249         * redisplay.c (generate_fstring_runes): compute string size in
17250         characters, not bytes.
17251
17252 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17253
17254         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17255
17256 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17257
17258         * print.c (print_error_message): Call print_prepare().
17259
17260 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17261
17262         * .dbxrc: Renamed from dbxrc.
17263
17264         * events.c (event_to_character):
17265         Use `assert (foo)' instead of `if (!foo) abort()'
17266
17267         * .gdbinit (xtype): Add documentation.
17268         * .gdbinit (check-temacs): New function.
17269         * .gdbinit (check-xemacs): New function.
17270         * dbxrc (check-xemacs): New function.
17271         * dbxrc (check-xemacs): New function.
17272
17273 2000-01-14  Andy Piper  <andy@xemacs.org>
17274
17275         * glyphs-widget.c (widget_query_geometry): Make sure that we
17276         calculate default dimensions correctly.
17277
17278 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17279
17280         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17281
17282         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17283         pdump_wire'd variable.
17284
17285         * emacs.c: (main_1): Conditionalized calls to
17286         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17287
17288 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17289
17290         * window.c (Fset_window_configuration):
17291         * sysdep.c (_start):
17292         * input-method-motif.c (res):
17293         * event-Xt.c (Xt_process_to_emacs_event):
17294         Simple compiler warning fixes.
17295
17296         * bytecode.c (funcall_compiled_function): Use the original
17297         function symbol on the backtrace list in preference to the
17298         compiled_function object in error messages.
17299
17300 2000-01-13  Andy Piper  <andy@xemacs.org>
17301
17302         * glyphs-x.c (update_widget_face): Make sure we update the widget
17303         background as well as foreground.
17304
17305 2000-01-13  Andy Piper  <andy@xemacs.org>
17306
17307         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17308         fields to subwindow.
17309         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17310         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17311         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17312         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17313
17314         * glyphs-widget.c (check_valid_tab_orientation): new function.
17315         (initialize_widget_image_instance): zero orientation and
17316         justification.
17317         (widget_instantiate): pick up orientation.
17318         (tab_control_query_geometry): return appropriate values for
17319         vertical tabs.
17320
17321         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17322         appropriate creation flags for left, right and bottom tabs.
17323
17324         * s/cygwin32.h: add tab definitions.
17325
17326 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17327
17328         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17329         frame upon hiding a subwindow.
17330         (mswindows_button_instantiate): Changed the push button style to
17331         BS_PUSHBUTTON.
17332         (mswindows_button_instantiate): Removed button BS_NOTIFY
17333         style.
17334         (mswindows_button_instantiate): Removed redundant check for
17335         a disabled gui item.
17336         (mswindows_button_instantiate): Made use of WS_TABSTOP
17337         consistent: "operable" controls (edit, button, tree, scroll) have
17338         this style, "display-only" ones (static, progress gauge) do
17339         not. This style is currently ignored by XEmacs though. Also,
17340         removed the WS_EX_CONTROLPARENT style - it is not for children,
17341         it is for their parents!
17342         (mswindows_edit_field_instantiate): Ditto.
17343         (mswindows_progress_gauge_instantiate): Ditto.
17344         (mswindows_tree_view_instantiate): Ditto.
17345         (mswindows_tab_control_instantiate): Ditto.
17346         (mswindows_scrollbar_instantiate): Ditto.
17347         (mswindows_combo_box_instantiate): Ditto.
17348         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17349         style to the "clip" window.
17350         (mswindows_button_instantiate): Removed compilation warning by
17351         equally typing terms of the ?: operator.
17352
17353 2000-01-12  Didier Verna  <didier@xemacs.org>
17354
17355         * redisplay.c (generate_fstring_runes): new parameter holding the
17356         last modeline-format extent.
17357         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17358         extent, fill the glyph block with it.
17359         (generate_fstring_runes): handle these parameters.
17360         (generate_formatted_string_db): ditto.
17361
17362         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17363         glyphs'extents in the modeline.
17364
17365 1999-01-11  Mike Woolley  <mike@bulsara.com>
17366
17367         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17368         256Mb, as a workaround for the non-starting problem many people
17369         have experienced.
17370
17371 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17372
17373         * console-tty.c (Fset_console_tty_output_coding_system):
17374         Force redrawing tty frame.
17375
17376 2000-01-10  Didier Verna  <didier@xemacs.org>
17377
17378         * redisplay.c (generate_fstring_runes): fix size computation bug.
17379
17380 2000-01-09  William M. Perry <wmperry@aventail.com>
17381
17382         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17383
17384 2000-01-09  Andy Piper  <andy@xemacs.org>
17385
17386         * glyphs-msw.c: index -> i to avoid shadows.
17387         (xbm_create_bitmap_from_data): make static.
17388         (check_valid_string_or_int): deleted.
17389         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17390
17391         * glyphs-x.c (x_update_subwindow): remove unused args.
17392
17393         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17394         back pointer - this is done in allocate_image_instance.
17395         (query_string_font): return Qnil to make the compiler happy.
17396         (unmap_subwindow): set to ~0 to make the compiler happy.
17397         (glyph_query_geometry): comment out until used.
17398         (glyph_layout): ditto.
17399
17400 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17401
17402         * insdel.c (signal_after_change): Remove extraneous unbind_to().