update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Q_compatibility_of): New variable.
4         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
5         object is proved to be a cons cell; return `<-compatibility' if
6         the first element of argument `value' is `compat'.
7         (Fput_char_attribute): Eliminate the first value if
8         `put_char_composition' returns `<-compatibility'.
9         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
10         for `<-compatibility'.
11         (syms_of_chartab): Add new symbol `<-compatibility'.
12
13 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * chartab.c (Q_canonical): New variable.
16         (put_char_composition): Return a feature name: return
17         `->canonical' if argument `value' specifies single character.
18         (Fput_char_attribute): Use `put_char_composition' to determine
19         feature name for `=decomposition' or `->denotational'.
20         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
21         for `->canonical'.
22         (syms_of_chartab): Add new symbol `->canonical'.
23
24 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * chartab.c (Qmap_decomposition): New variable.
27         (Fput_char_attribute): Convert `->decomposition' to
28         `=decomposition'.
29         (syms_of_chartab): Add new symbol `=decomposition'.
30
31 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * chartab.c (Fget_range_char_table): Fix serious problem when
34         `range' is nil.
35
36 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * chartab.c (char_table_get_db): Use `read_from_c_string'.
39
40 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * lread.c (read_from_c_string): New function.
43
44         * lisp.h (read_from_c_string): New prototype.
45
46 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * chartab.c (Fput_char_attribute): Convert char-specs in value of
49         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
50         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
51         for `{<-|->}Oracle-Bones[^*]*'.
52
53 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
56         (Kizu).
57
58 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * text-coding.c (Qccs_priority_list): New variable in XEmacs
61         CHISE.
62         (Fmake_coding_system): Support new property `ccs-priority-list' in
63         XEmacs CHISE.
64         (Fcoding_system_property): Likewise.
65         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
66         Vdefault_coded_charset_priority_list in XEmacs CHISE.
67         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
68         XEmacs CHISE.
69         (complex_vars_of_file_coding): Define new coding-system-property
70         `ccs-priority-list' in XEmacs CHISE.
71
72         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
73
74 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
77         changed to normal function.
78         (encode_char_2): Likewise.
79
80         * mule-charset.c (decoding_table_put_char): Copied from
81         char-ucs.h; changed to normal function.
82         (encode_char_2): Likewise.
83
84 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
87         New extern.
88         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
89         (encode_char_2_search_children): New inline function.
90         (encode_char_2): Refer
91         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
92         and use `encode_char_2_search_children'.
93
94 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * mule-charset.c
97         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
98         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
99         (vars_of_mule_charset): Add new variable
100         `display-coded-charset-priority-use-inheritance' and
101         `display-coded-charset-priority-use-hierarchy-order'.
102
103 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * char-ucs.h (Q_subsumptive): New extern.
106         (Q_denotational): Likewise.
107         (encode_char_2): Search children specified by `->subsumptive' and
108         `->denotational'.
109
110 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * mule-charset.c (complex_vars_of_mule_charset): Modify the
113         X-registry of `ucs-bmp'.
114
115 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c (char-variants): Refer `->subsumptive',
118         `->denotational' and `->identical' as same as `->ucs-unified'.
119
120 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * chartab.c (Fput_char_attribute): Convert char-specs in value of
123         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
124         links.
125
126 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * text-coding.c: Add EXFUN for `Fregexp_quote'.
129         (decode_add_er_char): Fix problem about infinite loop when a CCS
130         specified in `coded-charset-entity-reference-alist' is not
131         existed.
132
133 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * mule-charset.c (syms_of_mule_charset): Rename
136         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
137
138 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * fns.c (simplify_char_spec): Don't allocate new character-object
141         if specified char_spec does not have any CCS-features.
142
143         * chartab.h: Add EXFUN for Fdefine_char.
144
145         * chartab.c: Delete EXFUN for Fdefine_char.
146
147 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * fns.c (simplify_char_spec): Use Fdefine_char instead of
150         Ffind_char for char-spec.
151
152 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * lisp-disunion.h (XCHARVAL): Fix condition about
155         SIZEOF_EMACS_INT.
156
157 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
160         <int> for `code'.
161         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
162         point; use <Emchar> instead of <int> for character-id.
163
164 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
167         (make_char): Likewise.
168         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
169         environment.
170         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
171         instead of <int> as the type of return value; use <Lisp_Object>
172         instead of <Emchar> as the type of argument.
173         (XCHARVAL[macro version]): Cast the result into <Emchar>.
174
175         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
176         syntaxcode> instead of <int>.
177
178 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * chartab.c (put_char_composition): Use DECODE_CHAR to get
181         character corresponding with UCS code point.
182         (Fput_char_attribute): Likewise.
183
184         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
185         character in the UCS decoding-table if the char-id is not equal to
186         the UCS code point.
187
188 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
191         for aliases; write `description'; write
192         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
193         not 0.
194
195 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.c (Fsave_char_attribute_table): Don't use
198         `save_charset_properties'.
199
200         * mule-charset.c (Fsave_charset_properties): Renamed from
201         `save_charset_properties' and changed to Lisp function again;
202         write property `type' as `CCS'; write properties `final-byte' and
203         `mother' if they exists.
204         (syms_of_mule_charset): Revive builtin function
205         `save-charset-properties' when HAVE_LIBCHISE is defined.
206
207 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
210         instead of Vexec_directory.
211         (char_attribute_system_db_file): Likewise.
212
213 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (Fsave_char_attribute_table): Use
216         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
217         defined.
218
219         * mule-charset.c (save_charset_properties): Renamed from
220         `Fsave_charset_properties'; changed to non-Lisp function.
221         (syms_of_mule_charset): Abolish builtin function
222         `save-charset-properties'.
223
224 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * mule-charset.c (Fsave_charset_properties): New function when
227         HAVE_LIBCHISE is defined.
228         (syms_of_mule_charset): Add new builtin function
229         `save-charset-properties' when HAVE_LIBCHISE is defined.
230
231 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * chartab.c (Fput_char_attribute): Convert char-specs in value of
234         `{<-|->}ancient[^*]*' to characters and put reverse links.
235         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
236         for `{<-|->}ancient[^*]*'.
237
238 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * chartab.c (Fput_char_attribute): Convert char-specs in value of
241         `{<-|->}original[^*]*' to characters and put reverse links.
242         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
243         for `{<-|->}original[^*]*'.
244
245 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
248
249 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * mule-charset.c (Qsystem_char_id): New variable.
252
253         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
254         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
255
256 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * chartab.c (Fput_char_attribute): When processing a reference of
259         a character, put into the end of the reversed reference of each
260         target character.
261
262 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * chartab.c (Q_same): Deleted.
265         (Q_same_of): Deleted.
266         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
267         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
268         for `{<-|->}same'.
269         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
270
271 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * chartab.c (Q_vulgar): Deleted.
274         (Q_vulgar_of): Deleted.
275         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
276         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
277         for `{<-|->}vulgar'.
278         (syms_of_chartab): Don't define `{<-|->}vulgar'.
279
280 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * chartab.c (Fput_char_attribute): Convert char-specs in value of
283         `{<-|->}wrong[^*]*' to characters and put reverse links.
284         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
285         for `{<-|->}wrong[^*]*'.
286
287 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * chartab.c (Q_vulgar): New variable.
290         (Q_vulgar_of): New variable.
291         (Fput_char_attribute): Convert char-specs in value of
292         `{->|<-}vulgar' to characters and put reverse links.
293         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
294         for `{->|<-}vulgar'.
295         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
296
297 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * text-coding.c (decode_add_er_char): Must to quote prefix string
300         as regexp.
301
302 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * mule-charset.c (put_char_ccs_code_point): Store characters of
305         =ucs whose code_points >= 0xF0000.
306
307 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
310         CHISE.
311         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
312         CHISE.
313         (complex_vars_of_mule_charset): Add new coded-charset
314         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
315         builtin characters over 0xEFFFF.
316
317         * chartab.c (syms_of_chartab): Don't define symbol
318         `system-char-id' in every case.
319
320         * char-ucs.h (Qsystem_char_id): New extern variable.
321         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
322
323 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
324
325         * text-coding.c (char_encode_utf8): Try to use entity-references
326         for U-000F0000 ...  U-0010FFFF.
327
328 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
329
330         * text-coding.c (ER_BUF_SIZE): New macro.
331         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
332         `er_buf'.
333         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
334         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
335
336 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * chartab.c (find_char_feature_in_family): New function.
339         (Fchar_feature): Use `find_char_feature_in_family' with
340         `->identical', `<-subsumptive' and `<-denotational'.
341
342 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * text-coding.c (char_encode_as_entity_reference): Allow prefix
345         within 8 characters; fix infinite loop.
346
347 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * chartab.c (Q_same): New variable.
350         (Q_same_of): New variable.
351         (Fput_char_attribute): Convert char-specs in value of
352         `{->|<-}same' to characters and put reverse links.
353         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
354         for `{->|<-}same'.
355         (syms_of_chartab): Add new symbols `{->|<-}same'.
356
357 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * chartab.c (Q_component): New variable.
360         (Q_component_of): Likewise.
361         (Fput_char_attribute): Convert char-specs in value of
362         `{->|<-}ideographic-component-forms' to characters and put reverse
363         links.
364         (syms_of_chartab): Add new symbols
365         `{->|<-}ideographic-component-forms'.
366
367 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
368
369         * chartab.c (Q_identical): New variable.
370         (Q_identical_from): New variable.
371         (Fchar_feature): Regard `->identical' as a feature to find
372         ancestors.
373         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
374         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
375         for `{->|<-}identical'.
376         (syms_of_chartab): Add new symbols `{->|<-}identical'.
377
378 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * char-ucs.h (encode_char_2): New inline function.
381         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
382
383 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
384
385         * chartab.c (Fput_char_attribute): Convert char-specs to
386         characters in value of `ideographic-structure'.
387         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
388         for `{<-|->}simplified(@...)'.
389         (Fdefine_char): Try to use predefined character's id.
390
391 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * fns.c (simplify_char_spec): Try to convert builtin chars to
394         defined chars.
395
396 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
397
398         * chartab.c (Fput_char_attribute): Convert char-specs in value of
399         `<-simplified[^*]*' to characters and put reverse links.
400
401 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
402
403         * chartab.c (Q_subsumptive): Renamed from Q_unified.
404         (Q_subsumptive_from): Renamed from Q_unified_from.
405         (Fchar_feature): Use `Q_subsumptive_from' instead of
406         `Q_unified_from'.
407         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
408         `Q_unified'.
409         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
410         `<-unified' to `<-subsumptive'.
411
412 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
413
414         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
415         inheritance itself; fix typo; stop recursive search if cyclic
416         inheritance is found.
417
418 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * chartab.c (Q_denotational): New variable.
421         (Q_denotational_from): New variable.
422         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
423         (put_char_attribute): New function.
424         (Fput_char_attribute): Use `put_char_attribute'; regard
425         `->denotational' and `<-denotational' as same as `->unified' and
426         `<-unified'.
427         (syms_of_chartab): Add new symbols `->denotational' and
428         `<-denotational'.
429
430 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
433         `Fget_char_attribute'.
434         (Fchar_variants): Likewise.
435         (get_char_table): Likewise.
436         (Fchar_feature): New function.
437         (put_char_composition): Use `Fchar_feature' instead of
438         `Fget_char_attribute'.
439         (Fput_char_attribute): Likewise; don't put the target character
440         into its `->unified' value.
441         (syms_of_chartab): Add new builtin function `char-feature'.
442
443 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
446         `Fget_char_attribute'.
447         (char_encode_utf8): Likewise.
448
449         * chartab.h: Add an EXFUN for `Fchar_feature'.
450
451 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
452
453         * chartab.c (Vnext_defined_char_id): New variable.
454         (Fput_char_attribute): Accept characters in `->unified'.
455         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
456         new characters which are not related with builtin char-id ranges.
457         (vars_of_chartab): Add new variable `next-defined-char-id'.
458
459 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * chartab.c (Q_unified): New variable.
462         (Q_unified_from): New variable.
463         (Fput_char_attribute): Add code for `->unified'.
464         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
465         XEmacs CHISE.
466
467 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * mule-charset.c (decode_ccs_conversion): New function.
470         (decode_defined_char): Use `decode_ccs_conversion'.
471         (decode_builtin_char): Likewise.
472
473 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * char-ucs.h: Change some charset-ids of private coded-charsets.
476
477 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
478
479         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
480         (char_encode_as_entity_reference): Likewise.
481         (decode_coding_big5): Modify for `decode_defined_char' and
482         `DECODE_CHAR'.
483         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
484         avoid compiler warning.
485         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
486
487         * mule-charset.c (decode_defined_char): Add new argument
488         `without_inheritance'.
489         (Fdecode_char): Add new optional argument `without_inheritance'.
490         (Fdecode_builtin_char): Modify for `Fdecode_char'.
491
492         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
493         (simplify_char_spec): Likewise.
494
495         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
496         setting.
497
498         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
499         (map_char_table): Likewise.
500         (Fdefine_char): Use `Fdecode_char' without inheritance.
501         (Ffind_char): Modify for `Fdecode_char'.
502
503         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
504
505         * char-ucs.h (decode_defined_char): Add new argument
506         `without_inheritance'.
507         (DECODE_CHAR): Likewise.
508         (MAKE_CHAR): Modify for `DECODE_CHAR'.
509
510 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
511
512         * chartab.c (Vchise_system_db_directory): New variable.
513         (vars_of_chartab): Add new variable `chise-system-db-directory'.
514
515 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * chartab.c: EXFUN `Fmount_char_attribute_table'.
518         (print_chartab_range): Don't define when `UTF2000' is defined.
519         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
520         `CHISE_DS_open'.
521
522 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
525         and optional argument `rehash' is specified, call
526         `open_chise_data_source_maybe' before
527         `chise_ds_foreach_char_feature_name' is called.
528
529 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * chartab.c (char_attribute_list_reset_map_func): New function
532         when HAVE_LIBCHISE is defined.
533         (Fchar_attribute_list): Add new optional argument `rehash' when
534         HAVE_LIBCHISE is defined.
535         (open_chise_data_source_maybe): Use "chise-db" instead of
536         "char-db".
537         (char_attribute_system_db_file): Likewise.
538         (Fload_char_attribute_table): Use
539         `chise_feature_foreach_char_with_value' instead of
540         `chise_char_feature_value_iterate'.
541
542 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * chartab.c (Vchise_db_directory): New variable.
545         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
546
547 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
550         instead of HAVE_CHISE to specify using with libchise.
551
552         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
553
554         * chartab.h: Don't use HAVE_CHISE_CLIENT.
555
556         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
557         defined or HAVE_LIBCHISE_LIBCHISE is defined.
558         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
559         is defined.
560         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
561         HAVE_CHISE to specify using with libchise.
562         (syms_of_chartab): Don't define symbol `system-char-id' when
563         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
564
565 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
568         specify CHISE DB support.
569         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
570         of `char_attribute_system_db_file' to check feature DB file.
571
572         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
573         HAVE_CHISE_CLIENT to specify CHISE DB support.
574
575         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
576         specify CHISE DB support.
577         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
578         not defined.
579         (Freset_char_attribute_table): Use `chise_feature_setup_db'
580         instead of `char_attribute_system_db_file' to check feature DB
581         file.
582
583 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
586         `HAVE_CHISE_CLIENT'.
587
588 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
591         (Fsave_charset_mapping_table): Don't use
592         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
593
594         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
595         (HAVE_LIBCHISE): New macro.
596
597         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
598
599         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
600         (Fsave_char_attribute_table): Don't use
601         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
602
603 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
606         defined.
607         (save_uint16_byte_table): Likewise.
608         (save_byte_table): Likewise.
609         (char_table_get_db): Use `chise_ds_load_char_feature_value'
610         instead of `chise_char_load_feature_value'.
611         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
612
613 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * chartab.h (struct Lisp_Char_Table): Delete member
616         `feature_table' if CHISE is defined.
617
618         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
619         (Fcopy_char_table): Likewise.
620         (char_table_open_db_maybe): Likewise.
621         (char_table_close_db_maybe): Likewise.
622         (char_table_get_db): Likewise.
623         (Fmount_char_attribute_table): Likewise.
624         (Fload_char_attribute_table): Likewise.
625
626 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * mule-charset.c (load_char_decoding_entry_maybe): Use
629         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
630         `chise_ccs_decode'.
631
632 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
635         instead of `chise_open_data_source'.
636         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
637         `chise_ds_close'.
638
639 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
640
641         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
642         instead of `chise_ds_open_feature_table'.
643         (char_table_close_db_maybe): Don't use `chise_ft_close'.
644
645 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
646
647         * mule-charset.c (Fsave_charset_mapping_table): Use
648         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
649         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
650         `chise_ccs_sync' instead of `chise_ccst_close'.
651         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
652
653         * chartab.c (open_chise_data_source_maybe): Modify for
654         `chise_open_data_source'.
655         (char_table_open_db_maybe): Modify for
656         `chise_ds_open_feature_table'.
657
658 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
659
660         * mule-charset.c (load_char_decoding_entry_maybe): Use
661         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
662         `chise_ccst_close'.
663
664 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
665
666         * mule-charset.c (Fsave_charset_mapping_table): Use
667         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
668         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
669         `chise_dt_put_char' and `chise_dt_close'.
670         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
671         `chise_ccs_decode' and `chise_ccst_close' instead of
672         `chise_ds_open_decoding_table', `chise_dt_get_char' and
673         `chise_dt_close'.
674
675         * chartab.c (char_table_get_db): Use
676         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
677         (load_char_attribute_table_map_func): Modify for
678         `chise_char_feature_value_iterate'.
679         (Fload_char_attribute_table): Use
680         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
681
682 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
685
686 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
687
688         * chartab.c (put_char_table): Modify for inherited coded-charsets
689         in XEmacs CHISE.
690
691 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
692
693         * chartab.c (Fput_char_table_map_function): Fixed.
694         (word_boundary_p): Don't check charset in XEmacs CHISE.
695
696 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * mule-charset.c (Fsave_charset_mapping_table): Use
699         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
700         instead of `chise_open_decoding_table'; refer
701         `default_chise_data_source'; use `chise_dt_close' instead of
702         `chise_close_decoding_table'.
703         (load_char_decoding_entry_maybe): Likewise.
704
705         * chartab.c (default_chise_data_source): New variable when `CHISE'
706         is defined.
707         (Fcopy_char_table): `ct->ds' is deleted.
708         (open_chise_data_source_maybe): New function.
709         (Fclose_char_data_source): New function.
710         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
711         use `chise_ds_open_feature_table' instead of
712         `chise_open_feature_table'.
713         (char_table_close_db_maybe): Use `chise_ft_close' instead of
714         `chise_close_feature_table'; `cit->ds' is deleted.
715         (syms_of_chartab): Add new builtin function
716         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
717
718         * chartab.h (default_chise_data_source): New extern variable.
719         (open_chise_data_source_maybe): New prototype.
720         (struct Lisp_Char_Table): Delete `ds'.
721
722 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
723
724         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
725         `CHISE' is defined.
726
727 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
728
729         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
730         not defined; add code for non-libchise setting.
731         (char_table_close_db_maybe): Likewise.
732         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
733         defined.
734         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
735         even if `CHISE' is not defined.
736         (Freset_char_attribute_table): Likewise.
737         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
738         `char_table_close_db_maybe' even if `CHISE' is not defined; use
739         `char_table_get_db'.
740         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
741         `char_table_close_db_maybe' even if `CHISE' is not defined.
742
743 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
744
745         * chartab.c (char_table_open_db_maybe): New function.
746         (char_table_close_db_maybe): New function.
747         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
748         (Freset_char_attribute_table): Likewise.
749         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
750         `char_table_close_db_maybe'.
751         (Fload_char_attribute_table): Likewise.
752
753 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
754
755         * chartab.c: Don't include <chise.h> because it is included in
756         chartab.h.
757         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
758         defined.
759         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
760         `CHISE' is defined.
761         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
762         `CHISE' is defined.
763         (Fclose_char_attribute_table): Close `ct->feature_table' and
764         `ct->ds' when `CHISE' is defined.
765         (Freset_char_attribute_table): Likewise.
766         (load_char_attribute_maybe): Use `cit->ds' and
767         `cit->feature_table' when `CHISE' is defined.
768         (Fload_char_attribute_table): Likewise.
769
770         * chartab.h: Include <chise.h> when `CHISE' is defined.
771         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
772         when `CHISE' is defined.
773
774 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
775
776         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
777         is defined.
778         (char_table_description): Likewise.
779         (Fmake_char_table): Likewise.
780         (Fcopy_char_table): Likewise.
781         (Fmount_char_attribute_table): Likewise.
782         (Fclose_char_attribute_table): Likewise.
783         (Freset_char_attribute_table): Likewise.
784         (load_char_attribute_maybe): Likewise.
785         (Fload_char_attribute_table): Likewise.
786
787         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
788         defined.
789
790 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * chartab.c (load_char_attribute_table_map_func): New function
793         when CHISE is defined.
794         (Qload_char_attribute_table_map_function): Don't define when CHISE
795         is defined.
796         (Fload_char_attribute_table_map_function): Likewise.
797         (Fload_char_attribute_table): Use libchise when `CHISE' is
798         defined.
799         (syms_of_chartab): Don't define
800         `load-char-attribute-table-map-function' when CHISE is defined.
801
802 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * chartab.c: Include <chise.h> when `CHISE' is defined.
805         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
806
807 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * mule-charset.c (charset_code_point): Fix problem when searching
810         in mother CCS fails with `defined_only' mode.
811
812 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
813
814         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
815         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
816         (put_char_composition): Likewise.
817         (Fput_char_attribute): Likewise.
818         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
819
820 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
821
822         * chartab.c (Q_ucs): Deleted.
823         (Fput_char_attribute): Don't refer `->ucs'.
824         (Fdefine_char): Likewise.
825         (Ffind_char): Likewise.
826         (syms_of_chartab): Delete `->ucs'.
827
828 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
829
830         * mule-charset.c (Qmap_cns11643_2): Renamed from
831         `Qchinese_cns11643_2'.
832         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
833         `chinese-cns11643-2'.
834         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
835         `=cns11643-2'.
836
837 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
838
839         * mule-charset.c (Qmap_cns11643_1): Renamed from
840         `Qchinese_cns11643_1'.
841         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
842         `chinese-cns11643-1'.
843         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
844         `=cns11643-1'.
845
846 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
847
848         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
849         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
850         `chinese-gb12345'.
851         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
852         `=gb12345'.
853
854 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
855
856         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
857         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
858         `chinese-gb2312'.
859         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
860         `=gb2312'.
861
862 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
863
864         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
865         (syms_of_mule_charset): Add new symbol `=big5' instead of
866         `chinese-big5'.
867         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
868
869 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
870
871         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
872         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
873         `korean-ksc5601'.
874         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
875         `=ks-x1001'.
876
877 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
878
879         * mule-charset.c (Qmap_jis_x0212): Renamed from
880         `Qjapanese_jisx0212'.
881         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
882         `japanese-jisx0212'.
883         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
884         `=jis-x0212'.
885
886 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
887
888         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
889         `Qjapanese_jisx0208'.
890         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
891         of `japanese-jisx0208'.
892         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
893         `=jis-x0208-1983'.
894
895 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
898         `Qjapanese_jisx0208_1978'.
899         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
900         of `japanese-jisx0208-1978'.
901         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
902         `=jis-x0208-1978'.
903
904 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
905
906         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
907         only for XEmacs CHISE.
908
909 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
910
911         * char-ucs.h: Compact non-ISO-IR charset-ids.
912         (LEADING_BYTE_UCS): Changed to -177.
913         (LEADING_BYTE_CONTROL_1): Changed to -77.
914         (LEADING_BYTE_UCS_BMP): Changed to -176.
915         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
916
917 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
918
919         * mule-charset.c (Qiso_ir): New variable.
920         (Fmake_charset): Recognise new property `iso-ir'.
921         (syms_of_mule_charset): Add new symbol `iso-ir'.
922
923 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
924
925         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
926         n to -n; charset-id of non ISO-IR sets are changed to positive
927         numbers.
928
929 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
930
931         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
932         for &MCS-XXXXXXXX; values.
933
934 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
935
936         * mule.c (Vxemacs_chise_version): Renamed from
937         `Vutf_2000_version'.
938         (vars_of_mule): Add new variable `xemacs-chise-version'; define
939         `utf-2000-version' as an alias for `xemacs-chise-version'.
940
941 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
942
943         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
944         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
945         defined.
946
947         * config.h.in (CHISE): New macro.
948
949 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
950
951         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
952         of `ucs'.
953         (Qmap_ucs): New variable.
954         (syms_of_mule_charset): Add new symbol `=ucs'.
955         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
956
957         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
958         (simplify_char_spec): Likewise.
959
960         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
961
962         * char-ucs.h (Qmap_ucs): New extern variable.
963
964 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
965
966         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
967         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
968         don't define it when UTF2000 is not defined.
969         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
970         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
971         when UTF2000 is not defined.
972         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
973         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
974
975 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
978
979         * mule-charset.c (Vcharset_ucs_gb): Deleted.
980         (Qucs_gb): Deleted.
981         (syms_of_mule_charset): Delete `ucs-gb'.
982         (complex_vars_of_mule_charset): Likewise.
983
984 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
985
986         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
987
988         * mule-charset.c (Vcharset_ucs_cns): Deleted.
989         (Qucs_cns): Deleted.
990         (syms_of_mule_charset): Delete `ucs-cns'.
991         (complex_vars_of_mule_charset): Likewise.
992
993 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
996
997         * mule-charset.c (Vcharset_ucs_jis): Deleted.
998         (Qucs_jis): Deleted.
999         (syms_of_mule_charset): Delete `ucs-jis'.
1000         (complex_vars_of_mule_charset): Likewise.
1001
1002 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1003
1004         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1005
1006         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1007         (Qucs_ks): Deleted.
1008         (syms_of_mule_charset): Delete `ucs-ks'.
1009         (complex_vars_of_mule_charset): Likewise.
1010
1011 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1012
1013         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1014         (Qideograph_daikanwa_2): Deleted.
1015         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1016         (complex_vars_of_mule_charset): Likewise.
1017
1018         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1019         (LEADING_BYTE_DAIKANWA_1): Deleted.
1020         (LEADING_BYTE_DAIKANWA_2): Deleted.
1021         (MIN_CHAR_DAIKANWA): Deleted.
1022         (MAX_CHAR_DAIKANWA): Deleted.
1023
1024 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1025
1026         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1027         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1028         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1029
1030         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1031         (Vcharset_ideograph_daikanwa): Deleted.
1032         (Qideograph_hanziku_{1..12}): Deleted.
1033         (Qideograph_daikanwa): Deleted.
1034         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1035         Vcharset_ideograph_daikanwa.
1036         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1037         `ideograph-hanziku-{1..12}'.
1038         (complex_vars_of_mule_charset): Likewise.
1039
1040 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1041
1042         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1043
1044         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1045         (Qideograph_gt_pj_{1..11}): Deleted.
1046         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1047         (complex_vars_of_mule_charset): Likewise.
1048
1049 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1052         (Vcharset_ideograph_gt): Deleted.
1053         (Qucs_big5): Deleted.
1054         (Qideograph_gt): Deleted.
1055         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1056         `ideograph-gt'.
1057         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1058         and `ideograph-gt'.
1059
1060         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1061         (LEADING_BYTE_GT): Deleted.
1062         (MIN_CHAR_GT): Deleted.
1063         (MAX_CHAR_GT): Deleted.
1064
1065 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1068
1069 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1072         (save_uint16_byte_table): Likewise.
1073         (save_byte_table): Likewise; convert values by it.
1074         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1075         for `ideographic-structure'.
1076         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1077         as the filter for `ideographic-structure'.
1078
1079 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1080
1081         * chartab.c (put_char_composition): New function.
1082         (Fput_char_attribute): Use `put_char_composition'; use
1083         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1084
1085         * fns.c (simplify_char_spec): New function.
1086         (char_ref_simplify_spec): New function.
1087         (Fchar_refs_simplify_char_specs): New function.
1088         (syms_of_fns): Add new builtin function
1089         `char-refs-simplify-char-specs'.
1090
1091 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1092
1093         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1094         (Qideograph_cbeta): Deleted.
1095         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1096         (complex_vars_of_mule_charset): Likewise.
1097
1098         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1099         (MIN_CHAR_CBETA): Comment out.
1100         (MAX_CHAR_CBETA): Likewise.
1101
1102 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1103
1104         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1105         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1106         CHISE client feature.
1107
1108 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1109
1110         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1111
1112 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1113
1114         * mule-charset.c (charset_lookup_description_1): Use
1115         `NUM_LEADING_BYTES' in UTF-2000.
1116
1117 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1118
1119         * char-ucs.h (GC_CHARSETP): Deleted.
1120
1121 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * char-ucs.h (MAX_CHAR_GT): Updated.
1124
1125 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1126
1127         * text-coding.c: Sync with XEmacs 21.4.10.
1128
1129 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1130
1131         * mule-charset.c (Vcharset_china3_jef): Deleted.
1132         (Qchina3_jef): Deleted.
1133         (syms_of_mule_charset): Don't define `china3-jef'.
1134         (complex_vars_of_mule_charset): Likewise.
1135
1136         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1137         (MIN_CHAR_CHINA3_JEF): Comment out.
1138         (MAX_CHAR_CHINA3_JEF): Comment out.
1139
1140 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1141
1142         * mule-charset.c (Vcharset_ucs_gb): New variable.
1143         (Qucs_gb): New variable.
1144         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1145         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1146
1147         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1148
1149 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1150
1151         * mule-charset.c (charset_code_point): if a coded-charset has a
1152         final-byte, don't inherit the builtin range of the mother CCS.
1153
1154 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1155
1156         * mule-charset.c (charset_code_point): Fix problem about
1157         inheritance.
1158
1159 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1160
1161         * mule-charset.c (decode_builtin_char): Reorganized.
1162
1163 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1164
1165         * text-coding.c (char_encode_as_entity_reference): Modify for
1166         `charset_code_point'.
1167         (char_encode_shift_jis): Likewise.
1168         (char_encode_big5): Likewise.
1169         (char_encode_utf8): Likewise.
1170         (char_encode_iso2022): Likewise.
1171
1172         * mule-charset.c (charset_code_point): Add new argument
1173         `defined_only'.
1174         (Fencode_char): Add new optional argument `defined_only'.
1175
1176         * chartab.c (put_char_table): Modify for `charset_code_point'.
1177
1178         * char-ucs.h (charset_code_point): Add new argument
1179         `defined_only'.
1180         (encode_char_1): Modify for `charset_code_point'.
1181
1182 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1185         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1186
1187 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1188
1189         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1190         (Qjis_x0208): Likewise.
1191         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1192         XCHARSET_FINAL(charset).
1193         (charset_code_point): Modify condition for final-byte based
1194         builtin-chars.
1195         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1196         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1197         in UTF-2000; specify `=jis-x0208' as the mother of
1198         `japanese-jisx0208-1978', `japanese-jisx0208' and
1199         `japanese-jisx0208-1990' in UTF-2000.
1200
1201 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1202
1203         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1204
1205 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * text-coding.c (decode_coding_utf16): Support UTF-16.
1208         (char_encode_utf16): Fixed.
1209
1210 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * text-coding.c (Qutf16): New variable in MULE.
1213         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1214         (Fcoding_system_type): Add `utf-16' in MULE.
1215         (struct detection_state): Add a structure for utf16 in MULE.
1216         (detect_coding_type): Setup st->utf16.mask in MULE.
1217         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1218         MULE.
1219         (reset_encoding_stream): Use `char_encode_utf16' and
1220         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1221         (detect_coding_utf16): New function [incomplete].
1222         (decode_coding_utf16): New function [support only UCS-2].
1223         (char_encode_utf16): New function.
1224         (char_finish_utf16): New function.
1225         (syms_of_file_coding): Add new symbol `utf-16'; setup
1226         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1227
1228         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1229         UTF-2000.
1230         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1231         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1232
1233 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * chartab.c (put_char_table): When a charset is specified as a
1236         range in UTF-2000, don't support builtin characters.
1237
1238 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1239
1240         * mule-charset.c (decode_defined_char): Don't refer external
1241         database if Qunbound or Qnil are found.
1242         (Fsave_charset_mapping_table): Don't define it if
1243         HAVE_CHISE_CLIENT is not defined.
1244         (Freset_charset_mapping_table): New function.
1245         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1246         found in external database.
1247         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1248         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1249         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1250
1251 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1252
1253         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1254         not.
1255
1256 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1257
1258         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1259         Q_lowercase, Q_uppercase in UTF-2000.
1260
1261         * chartab.c (get_char_table): Add special code for the standard
1262         case table to use character attribute `->downcase' and
1263         `->uppercase' for case operations in UTF-2000.
1264
1265         * casetab.c (Qflippedcase): New variable in UTF-2000.
1266         (Q_lowercase): Likewise.
1267         (Q_uppercase): Likewise.
1268         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1269         and `->uppercase' in UTF-2000.
1270         (complex_vars_of_casetab): Assign attribute name `downcase' to
1271         downcase and CANON table of Vstandard_case_table in UTF-2000;
1272         assign attribute name `flippedcase' to upcase and EQV table of
1273         Vstandard_case_table in UTF-2000.
1274
1275 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * text-coding.c (decode_add_er_char): Support isolated-chars.
1278         (char_encode_as_entity_reference): Likewise.
1279
1280 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1281
1282         * emacs.c (Vutf_2000_lisp_directory): New variable.
1283         (Vconfigure_utf_2000_lisp_directory): Likewise.
1284         (complex_vars_of_emacs): Add new variable
1285         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1286
1287 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1288
1289         * char-ucs.h (DECODE_CHAR): Delete special code for
1290         `chinese-big5-1' and `chinese-big5-2'.
1291
1292         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1293         (Qbig5_2): Likewise.
1294         (decode_defined_char): Support CONVERSION_BIG5_1 and
1295         CONVERSION_BIG5_2.
1296         (decode_builtin_char): Likewise.
1297         (charset_code_point): Likewise.
1298         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1299         'conversion in UTF-2000.
1300         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1301         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1302         `chinese-big5-2' as children of `chinese-big5'.
1303
1304         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1305         (CONVERSION_BIG5_2): New macro.
1306
1307 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1308
1309         * text-coding.c (char_encode_big5): Support entity-reference.
1310
1311 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1312
1313         * text-coding.c (char_encode_as_entity_reference): New function.
1314         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1315
1316 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1317
1318         * text-coding.c (decode_coding_big5): Support entity-reference
1319         decoding feature.
1320
1321 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * text-coding.c (allocate_coding_system): Initialize initial
1324         charsets for CODESYS_UTF8.
1325         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1326         charset-g2 for CODESYS_UTF8.
1327         (decode_coding_utf8): Use charset-g0.
1328         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1329         to force variants to map to UCS.
1330
1331 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1332
1333         * text-coding.c (Qutf_8_mcs): New variable.
1334         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1335         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1336         instead of `utf-8' in UTF-2000.
1337
1338 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1339
1340         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1341         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1342         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1343         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1344         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1345         CONVERSION_96x96x96x96 are introduced.
1346         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1347         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1348         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1349
1350         * char-ucs.h (CONVERSION_94): New macro.
1351         (CONVERSION_96): New macro.
1352         (CONVERSION_94x94): New macro.
1353         (CONVERSION_96x96): New macro.
1354         (CONVERSION_94x94x94): New macro.
1355         (CONVERSION_96x96x96): New macro.
1356         (CONVERSION_94x94x94x60): New macro.
1357         (CONVERSION_94x94x94x94): New macro.
1358         (CONVERSION_96x96x96x96): New macro.
1359
1360 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * chartab.c (Vcharacter_variant_table): Deleted.
1363         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1364         of `Vcharacter_variant_table'.
1365         (Fput_char_attribute): Likewise.
1366         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1367         (complex_vars_of_chartab): Likewise.
1368
1369 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1370
1371         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1372
1373         * fns.c (Qideographic_structure): New variable.
1374         (Qkeyword_char): New variable.
1375         (ids_format_unit): New function.
1376         (Fideographic_structure_to_ids): New function.
1377         (syms_of_fns): Add new symbols `ideographic-structure' and
1378         `:char'; add new builtin function `ideographic-structure-to-ids'.
1379
1380         * data.c (Fchar_ref_p): New function.
1381         (syms_of_data): Add new builtin function `char-ref-p'.
1382
1383         * chartab.h: Add an EXFUN for `Ffind_char'.
1384
1385 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1386
1387         * text-coding.c (Vcharacter_composition_table): Deleted.
1388         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1389         in every UTF-2000.
1390
1391         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1392         UTF-2000.
1393         (Vcharacter_composition_table): Deleted.
1394         (Fget_composite_char): Use the implementation for external-DB
1395         support in every UTF-2000.
1396         (Fput_char_attribute): Likewise.
1397         (char_attribute_system_db_file): Don't define if external-DB
1398         feature is not available.
1399         (Fsave_char_attribute_table): Likewise.
1400         (Fmount_char_attribute_table): Likewise.
1401         (Fclose_char_attribute_table): Likewise.
1402         (Freset_char_attribute_table): Likewise.
1403         (Fload_char_attribute_table): Likewise.
1404         (syms_of_chartab): Don't define `save-char-attribute-table',
1405         `mount-char-attribute-table', `reset-char-attribute-table',
1406         `close-char-attribute-table' and `load-char-attribute-table' if
1407         external-DB feature is not available.
1408         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1409
1410 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1411
1412         * text-coding.c (Qcomposition): Add extern if external-DB feature
1413         is supported.
1414         (Vcharacter_composition_table): Don't add extern if external-DB
1415         feature is supported.
1416         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1417         character composition rule if external-DB feature is supported.
1418
1419         * chartab.c (Vcharacter_composition_table): Don't define if
1420         external-DB feature is supported.
1421         (Qcomposition): New variable.
1422         (Fget_composite_char): New implementation for external-DB support.
1423         (Fput_char_attribute): Use `composition' property of each
1424         character instead of `Vcharacter_composition_table' to store
1425         character-composition rules if external-DB feature is supported.
1426         (syms_of_chartab): Add new symbol `composition'.
1427         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1428         external-DB feature is supported.
1429
1430 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * chartab.c (Vchar_db_stingy_mode): New variable.
1433         (load_char_attribute_maybe): Close database if
1434         Vchar_db_stingy_mode is not NIL.
1435         (Fload_char_attribute_table_map_function): Use
1436         `get_char_id_table_0' instead of `get_char_id_table'.
1437         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1438
1439         * chartab.h (get_char_id_table_0): New inline function.
1440         (get_char_id_table): Use `get_char_id_table_0'.
1441
1442 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1443
1444         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1445         and `COMPOSE_ADD_CHAR'.
1446         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1447
1448 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1449
1450         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1451         instead of `DECODE_ADD_UCS_CHAR'.
1452         (COMPOSE_ADD_CHAR): Likewise.
1453
1454 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1455
1456         * text-coding.c (decode_flush_er_chars): New inline function.
1457         (decode_add_er_char): New function.
1458         (decode_coding_utf8): Use `decode_flush_er_chars' and
1459         `decode_add_er_char'.
1460
1461 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1462
1463         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1464         done before `decode_output_utf8_partial_char'.
1465
1466         * mule-charset.c (complex_vars_of_mule_charset): Specify
1467         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1468         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1469
1470 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * mule-charset.c (decode_defined_char): New function; search
1473         mother.
1474         (decode_builtin_char): Don't search mother if
1475         XCHARSET_MAX_CODE(charset) == 0.
1476         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1477         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1478         (Fdecode_char): Use `decode_defined_char' instead of
1479         `DECODE_DEFINED_CHAR'.
1480         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1481         mother of `Vcharset_ucs_jis'.
1482
1483         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1484         instead of `DECODE_DEFINED_CHAR'.
1485
1486         * char-ucs.h (decode_defined_char): Renamed from
1487         `DECODE_DEFINED_CHAR'; changed to normal function.
1488         (DECODE_CHAR): Use `decode_defined_char' instead of
1489         `DECODE_DEFINED_CHAR'.
1490
1491         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1492
1493 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1496
1497         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1498         variable.
1499         (Quse_entity_reference): New variable.
1500         (Qd): New variable.
1501         (Qx): New variable.
1502         (QX): New variable.
1503         (coding_system_description): Add description for
1504         `ccs_priority_list'.
1505         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1506         (allocate_coding_system): Initialize `ccs_priority_list' in
1507         UTF-2000.
1508         (Fmake_coding_system): Add description about
1509         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1510         (codesys).
1511         (Fcoding_system_property): Accept `disable-composition' and
1512         `use-entity-reference' in UTF-2000.
1513         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1514         in UTF-2000.
1515         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1516         (decode_coding_utf8): Decode entity-reference if
1517         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1518         (char_encode_utf8): Encode non-Unicode characters as
1519         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1520         (str->codesys).
1521         (syms_of_file_coding): Add new symbols `use-entity-reference',
1522         `d', `x', `X'.
1523         (vars_of_file_coding): Add new variable
1524         `coded-charset-entity-reference-alist'.
1525         (complex_vars_of_file_coding): Declare `disable-composition' and
1526         `use-entity-reference' to be coding-system-properties in UTF-2000.
1527
1528         * file-coding.h (struct Lisp_Coding_System): Add new member
1529         `use_entity_reference' and `ccs_priority_list'.
1530         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1531         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1532         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1533
1534 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1535
1536         * chartab.c (save_uint8_byte_table): Don't clear the table.
1537         (save_uint16_byte_table): Likewise.
1538         (save_byte_table): Likewise.
1539         (Fmount_char_attribute_table): New function.
1540         (syms_of_chartab): Add new builtin function
1541         `mount-char-attribute-table'.
1542
1543 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1544
1545         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1546         "w+" mode.
1547         (load_char_decoding_entry_maybe): Open database as read-only mode.
1548
1549         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1550         open database as "w+" mode.
1551         (load_char_attribute_maybe): Open database as read-only mode.
1552         (Fload_char_attribute_table): Likewise.
1553
1554 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1555
1556         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1557         (char_table_description): Delete member `db_file'.
1558         (Fmake_char_table): Don't refer `ct->db_file'.
1559         (Fcopy_char_table): Likewise.
1560         (Fsave_char_attribute_table): Likewise.
1561         (Fclose_char_attribute_table): Likewise.
1562         (Freset_char_attribute_table): Likewise.
1563         (load_char_attribute_maybe): Likewise.
1564         (Fload_char_attribute_table): Likewise.
1565
1566         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1567
1568 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1571         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1572         `ct->db' is living.
1573         (load_char_attribute_maybe): Likewise.
1574         (Fload_char_attribute_table): Likewise.
1575
1576 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1577
1578         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1579         `ct->db_file' unconditionally.
1580
1581 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1582
1583         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1584         UTF-2000.
1585         (char_table_description): Add description for `db_file' and `db'
1586         in UTF-2000.
1587         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1588         UTF-2000.
1589         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1590         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1591         (Fclose_char_attribute_table): New function.
1592         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1593         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1594         and `cit->db'.
1595         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1596         (syms_of_chartab): Add new builtin function
1597         `Fclose_char_attribute_table'.
1598
1599 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1600
1601         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1602         `db' in UTF-2000.
1603         (load_char_attribute_maybe): Change interface.
1604         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1605
1606 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1607
1608         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1609
1610 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1613         instead of `DECODE_CHAR' for mother; don't use special code for
1614         chinese-big5 to use code space of chinese-big5-1 and
1615         chinese-big5-2.
1616         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1617         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1618
1619         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1620         (MAX_CHAR_BIG5_CDP): Revival.
1621
1622 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1625         the XLFD registry-encoding name of `chinese-big5'.
1626
1627 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1628
1629         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1630         (Qchinese_big5_cdp): Deleted.
1631         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1632         (complex_vars_of_mule_charset): Delete coded-charset
1633         `chinese-big5-cdp'.
1634
1635         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1636         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1637         `CHARSET_ID_OFFSET - n' for private CCS.
1638         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1639         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1640         of `MIN_LEADING_BYTE'.
1641         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1642         `(CHARSET_ID_OFFSET - 97)'.
1643         (MIN_CHAR_BIG5_CDP): Deleted.
1644         (MAX_CHAR_BIG5_CDP): Deleted.
1645
1646 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1647
1648         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1649
1650 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1653         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1654         chartab.c].
1655
1656         * chartab.c (Vutf_2000_version): Moved to mule.c.
1657         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1658
1659 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1660
1661         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1662         when HAVE_CHISE_CLIENT is not defined.
1663
1664         * mule.c (vars_of_mule): Provide feature `chise' when
1665         HAVE_CHISE_CLIENT is defined.
1666
1667 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1668
1669         * config.h.in (UTF2000): Add comment.
1670         (HAVE_CHISE_CLIENT): New macro.
1671
1672 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1673
1674         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1675         CONSP.
1676         (Fput_char_attribute): Likewise.
1677         (char_attribute_system_db_file): Encode file-name of attribute.
1678         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1679         the initial value.
1680
1681 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1682
1683         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1684         (Fsave_charset_mapping_table): Use
1685         `char_attribute_system_db_file'.
1686         (load_char_decoding_entry_maybe): Likewise.
1687
1688         * chartab.h (Qsystem_char_id): New external variable.
1689         (char_attribute_system_db_file): New prototype.
1690
1691         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1692         (char_attribute_system_db_file): New function.
1693         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1694         (Freset_char_attribute_table): Likewise.
1695         (load_char_attribute_maybe): Likewise.
1696         (Fload_char_attribute_table): Likewise.
1697         (syms_of_chartab): Add new symbol `system-char-id'.
1698
1699 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1700
1701         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1702         `XCHARSET_GRAPHIC(ccs)'.
1703
1704 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1705
1706         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1707
1708 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1709
1710         * chartab.c (Q_ucs_variants): New variable.
1711         (syms_of_chartab): Add new symbol `->ucs-variants'.
1712         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1713         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1714         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1715
1716         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1717
1718         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1719         `HAVE_DATABASE' is defined.
1720         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1721         `HAVE_DATABASE' is defined.
1722
1723 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1724
1725         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1726         attribute-table.
1727         (Freset_char_attribute_table): New function.
1728         (syms_of_chartab): Add new builtin function
1729         `reset-char-attribute-table'.
1730
1731 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1732
1733         * chartab.c (load_char_attribute_maybe): Don't make directories.
1734
1735 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1736
1737         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1738
1739         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1740         for decoding-table.
1741
1742 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1743
1744         * mule-charset.c (Fsave_charset_mapping_table): Use
1745         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1746
1747         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1748         instead of `XCHARSET_CHARS'.
1749
1750 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1751
1752         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1753         (XCHARSET_BYTE_SIZE): Likewise.
1754
1755         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1756         mule-charset.c].
1757         (XCHARSET_BYTE_SIZE): Likewise.
1758
1759 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1760
1761         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1762         data-directory to store database.
1763         (Fsave_char_attribute_table): Likewise.
1764         (load_char_attribute_maybe): Likewise.
1765         (Fload_char_attribute_table): Likewise.
1766
1767 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1768
1769         * mule-charset.c (Fsave_charset_mapping_table): New function.
1770         (syms_of_mule_charset): Add new builtin function
1771         `save-charset-mapping-table'.
1772
1773 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1774
1775         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1776         (get_ccs_octet_table): New inline function.
1777         (put_ccs_octet_table): Likewise.
1778         (decoding_table_put_char): Use `get_ccs_octet_table' and
1779         `put_ccs_octet_table'.
1780         (decoding_table_remove_char): Use `decoding_table_put_char'.
1781         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1782
1783         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1784         into encoding_table.
1785         (make_charset): Use Qunbound instead Qnil as initial value of
1786         decoding_table.
1787
1788 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1791         element is Qunloaded.
1792         (map_over_uint16_byte_table): Likewise.
1793         (map_over_byte_table): Likewise.
1794         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1795         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1796         database support, load encoding-table of the specified
1797         coded-charset if it is not loaded yet.
1798         (save_uint8_byte_table): New function of UTF-2000 with external
1799         database support.
1800         (save_uint16_byte_table): Likewise.
1801         (save_byte_table): Likewise.
1802         (Fput_char_attribute): Don't store value into external database
1803         even if the external database feature is supported in UTF-2000;
1804         set `attribute' as name of char-table if the external database
1805         feature is supported.
1806         (Fsave_char_attribute_table): New function in UTF-2000.
1807         (syms_of_chartab): Add new builtin function
1808         `save-char-attribute-table' in UTF-2000.
1809
1810 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1811
1812         * chartab.c (char_attribute_table_to_put): New variable in
1813         UTF-2000.
1814         (Qput_char_table_map_function): Likewise.
1815         (value_to_put): Likewise.
1816         (Fput_char_table_map_function): New function in UTF-2000.
1817         (put_char_table): Use `Fmap_char_attribute' for
1818         CHARTAB_RANGE_CHARSET in UTF-2000.
1819         (Fput_char_attribute): Store symbol instead of string in
1820         `XCHAR_TABLE_NAME (table)'.
1821         (load_char_attribute_maybe): Likewise.
1822         (syms_of_chartab): Add new symbol/function
1823         `put-char-table-map-function'.
1824
1825 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1826
1827         * database.h: Add new EXFUN for `Fmap_database'.
1828
1829         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1830         (syms_of_database): Likewise.
1831
1832         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1833         UTF-2000.
1834         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1835         (XCHAR_TABLE_UNLOADED): Likewise.
1836
1837         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1838         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1839         HAVE_DATABASE is defined.
1840         (char_attribute_table_to_load): New variable of UTF-2000 with
1841         external database support.
1842         (Qload_char_attribute_table_map_function): Likewise.
1843         (Fload_char_attribute_table_map_function): New function of
1844         UTF-2000 with external database support.
1845         (Fload_char_attribute_table): New function of UTF-2000.
1846         (Fmap_char_attribute): Call Fload_char_attribute_table if
1847         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1848         (syms_of_chartab): Add new symbol and function
1849         `load-char-attribute-table-map-function' in UTF-2000 with external
1850         database support; add new function `load-char-attribute-table' in
1851         UTF-2000.
1852
1853 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * chartab.h (load_char_attribute_maybe): New prototype for
1856         UTF-2000 with DATABASE support.
1857         (get_char_id_table): Use `load_char_attribute_maybe' if
1858         HAVE_DATABASE is defined.
1859
1860         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1861         with DATABASE support.
1862
1863 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * chartab.c (Fput_char_attribute): Use S-expression as key of
1866         external database.
1867
1868         * chartab.h (get_char_id_table): Use S-expression as key of
1869         external database.
1870
1871 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1872
1873         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1874         if an element is not loaded, load the corresponding attributes
1875         from an external database.
1876         (map_over_uint16_byte_table): Likewise.
1877         (map_over_byte_table): Likewise.
1878         (map_char_table): Modify for `map_over_uint8_byte_table',
1879         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1880         element is not loaded, load the corresponding attributes from an
1881         external database.
1882         (Fput_char_attribute): Change initial values to Qunloaded.
1883
1884         * chartab.h (get_char_id_table): If a character attribute is not
1885         loaded and the attribute value is not found in an external
1886         database, store Qunbound as the attribute value.
1887
1888 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1889
1890         * chartab.c (BT_UINT8_unloaded): New macro.
1891         (UINT8_VALUE_P): Accept Qunloaded.
1892         (UINT8_ENCODE): Likewise.
1893         (UINT8_DECODE): Likewise.
1894         (BT_UINT16_unloaded): New macro.
1895         (UINT16_VALUE_P): Accept Qunloaded.
1896         (UINT16_ENCODE): Likewise.
1897         (UINT16_DECODE): Likewise.
1898         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1899         BT_UINT16_unloaded.
1900         (mark_char_table): Mark `ct->name' in UTF-2000.
1901         (char_table_description): Add `name' in UTF-2000.
1902         (Fmake_char_table): Initialize `ct->name'.
1903         (Fcopy_char_table): Copy `ct->name'.
1904         (Fput_char_attribute): Store value into an external database if
1905         HAVE_DATABASE is defined.
1906
1907         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1908         UTF-2000.
1909         (CHAR_TABLE_NAME): New macro in UTF-2000.
1910         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1911         (get_char_id_table): Try to read an external database if Qunloaded
1912         is stored in a table.
1913
1914         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1915         Qunloaded.
1916
1917 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1918
1919         * database.h: Add EXFUN definitions for Fopen_database,
1920         Fput_database, Fget_database and Fclose_database.
1921
1922         * data.c (Qunloaded): New variable in UTF-2000.
1923
1924         * lisp.h (Qunloaded): New variable in UTF-2000.
1925
1926 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * mule-charset.c (put_char_ccs_code_point): Modify for
1929         `decoding_table_remove_char' and `decoding_table_put_char'.
1930         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1931
1932         * char-ucs.h (decoding_table_remove_char): Change arguments to
1933         hide decoding_table vector.
1934         (decoding_table_put_char): Likewise.
1935
1936 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (decoding_table_remove_char): Moved to
1939         char-ucs.h.
1940         (decoding_table_put_char): Likewise.
1941
1942         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1943         from mule-charset.c].
1944         (decoding_table_remove_char): New inline function [moved from
1945         mule-charset.c].
1946         (decoding_table_put_char): Likewise.
1947
1948 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1949
1950         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1951         extension.
1952
1953 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1954
1955         * mule-charset.c (decode_builtin_char): Support mother charsets.
1956
1957 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1958
1959         * mule-charset.c (Q94x94x60): New variable.
1960         (charset_code_point): Support conversion `94x94x60'.
1961         (Fmake_charset): Likewise.
1962         (syms_of_mule_charset): Add new symbol `94x94x60'.
1963
1964         * char-ucs.h (CONVERSION_94x94x60): New macro.
1965
1966 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1967
1968         * mule-charset.c (charset_code_point): Unify code about
1969         `code-offset'.
1970
1971 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1972
1973         * mule-charset.c (charset_code_point): Merge code about builtin
1974         characters into code about mother charsets; don't use
1975         `range_charset_code_point'.
1976         (range_charset_code_point): Deleted.
1977
1978 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1979
1980         * mule-charset.c (Qcode_offset): New variable.
1981         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1982         `max-code'; accept new property `code-offset'.
1983         (syms_of_mule_charset): Add new symbol `code-offset'.
1984
1985 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * mule-charset.c (range_charset_code_point): Fixed.
1988
1989 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * mule-charset.c (decode_builtin_char): Change semantics of
1992         code-offset of coded-charset.
1993         (charset_code_point): Likewise.
1994         (range_charset_code_point): Likewise.
1995         (complex_vars_of_mule_charset): Modify for the change.
1996
1997 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * mule-charset.c (Fencode_char): Reverse arguments.
2000
2001         * mule-charset.c (charset_code_point): Fixed.
2002
2003 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2004
2005         * mule-charset.c (Vcharset_mojikyo): Deleted.
2006         (Vcharset_mojikyo_2022_1): Deleted.
2007         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2008         (Qmin_code): New variable in UTF-2000.
2009         (Qmax_code): Likewise.
2010         (Qmother): Likewise.
2011         (Qconversion): Likewise.
2012         (Q94x60): Likewise.
2013         (Qmojikyo): Deleted.
2014         (Qmojikyo_2022_1): Deleted.
2015         (Qmojikyo_pj_{1..22}): Deleted.
2016         (mark_charset): Mark `cs->mother'.
2017         (charset_description): Add description for `mother'.
2018         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2019         new arguments `mother' and `conversion'; use
2020         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2021         (charset_code_point): Moved from char-ucs.h; support `mother'
2022         charset feature.
2023         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2024         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2025         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2026         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2027         allow 2 as the value of `graphic' in UTF-2000; add new properties
2028         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2029         require `final' in UTF-2000; modify for `make_charset'.
2030         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2031         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2032         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2033         (Fencode_char): New function.
2034         (syms_of_mule_charset): Add new builtin function `encode-char' in
2035         UTF-2000; add new symbols `min-code', `max-code', `mother',
2036         `conversion' and `94x60'; delete symbols `mojikyo',
2037         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2038         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2039         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2040         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2041
2042         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2043         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2044
2045         * char-ucs.h (Vcharset_mojikyo): Deleted.
2046         (Vcharset_mojikyo_2022_1): Deleted.
2047         (LEADING_BYTE_MOJIKYO): Deleted.
2048         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2049         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2050         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2051         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2052         add new member `mother'; add new member `conversion'.
2053         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2054         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2055         (CHARSET_MOTHER): New macro.
2056         (CHARSET_CONVERSION): New macro.
2057         (CONVERSION_IDENTICAL): New macro.
2058         (CONVERSION_94x60): New macro.
2059         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2060         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2061         (XCHARSET_MOTHER): New macro.
2062         (XCHARSET_CONVERSION): New macro.
2063         (MIN_CHAR_MOJIKYO): Deleted.
2064         (MAX_CHAR_MOJIKYO): Deleted.
2065         (DECODE_MOJIKYO_2022): Deleted.
2066         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2067         (charset_code_point): Changed to non-inline function.
2068         (encode_char_1): Use `charset_code_point'.
2069         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2070
2071 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2072
2073         * lread.c (read_compiled_function): Fix prototype.
2074         (read_vector): Likewise.
2075
2076 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * lrecord.h (struct lrecord_header): Delete `older'.
2079         (set_lheader_implementation): Delete code for `older'.
2080         (set_lheader_older_implementation): Deleted.
2081         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2082         (OLDER_RECORD_P): Deleted.
2083         (OLDER_RECORD_HEADER_P): Deleted.
2084         (alloc_older_lcrecord): Deleted.
2085         (alloc_older_lcrecord_type): Deleted.
2086
2087         * alloc.c (all_older_lcrecords): Deleted.
2088         (alloc_older_lcrecord): Deleted.
2089         (disksave_object_finalization_1): Delete code for older objects.
2090         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2091         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2092
2093 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2094
2095         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2096         instead of `make_older_vector'.
2097         (put_char_ccs_code_point): Likewise.
2098         (mark_charset): Mark `cs->decoding_table'.
2099         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2100
2101         * lisp.h (make_older_vector): Deleted.
2102         (make_vector_newer): Deleted.
2103
2104         * config.h.in (HAVE_GGC): Deleted.
2105
2106         * alloc.c (make_older_vector): Deleted.
2107         (make_vector_newer_1): Deleted.
2108         (make_vector_newer): Deleted.
2109
2110 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2111
2112         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2113         (Qideograph_daikanwa_2): New variable.
2114         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2115         (complex_vars_of_mule_charset): Add new coded-charset
2116         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2117         `LEADING_BYTE_DAIKANWA'.
2118
2119         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2120         (LEADING_BYTE_DAIKANWA_1): New macro.
2121         (LEADING_BYTE_DAIKANWA_2): New macro.
2122         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2123
2124 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2125
2126         * mule-charset.c (complex_vars_of_mule_charset): Change
2127         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2128         the second revised version.
2129
2130 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * mule-charset.c (Vcharset_ucs_smp): New variable.
2133         (Vcharset_ucs_sip): New variable.
2134         (Qucs_smp): New variable.
2135         (Qucs_sip): New variable.
2136         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2137         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2138         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2139         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2140         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2141         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2142
2143         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2144         (LEADING_BYTE_UCS_SIP): New macro.
2145         (MIN_CHAR_SMP): New macro.
2146         (MAX_CHAR_SMP): New macro.
2147         (MIN_CHAR_SIP): New macro.
2148         (MAX_CHAR_SIP): New macro.
2149
2150 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2151
2152         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2153         utf-2000.
2154
2155 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2156
2157         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2158         value; don't store value into `encoding_table' of `Lisp_Charset'.
2159         (mark_charset): `encoding_table' was deleted.
2160         (charset_description): Likewise.
2161         (make_charset): Likewise.
2162         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2163         `put_char_ccs_code_point'.
2164
2165         * chartab.h (Fput_char_attribute): New EXFUN.
2166
2167         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2168         is unified with normal symbol space.
2169         (Fget_char_attribute): Likewise.
2170         (Fput_char_attribute): Likewise; behavior of
2171         `put_char_ccs_code_point' is changed.
2172
2173         * char-ucs.h: Include "elhash.h".
2174         (Vchar_attribute_hash_table): New external variable.
2175         (struct Lisp_Charset): Delete `encoding_table'.
2176         (CHARSET_ENCODING_TABLE): New implementation; refer
2177         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2178         `Lisp_Charset'.
2179
2180 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2181
2182         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2183         (cs) == 0.
2184
2185 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2186
2187         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2188         `chinese-big5'.
2189
2190 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2191
2192         * chartab.c (uint8_byte_table_description): New constant.
2193         (uint8-byte-table): Use `uint8_byte_table_description'.
2194         (uint16_byte_table_description): New constant.
2195         (uint16-byte-table): Use `uint16_byte_table_description'.
2196
2197 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2198
2199         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2200         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2201
2202 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2203
2204         * mule-charset.c (Vcharset_ucs_ks): New variable.
2205         (Qucs_ks): New variable.
2206         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2207         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2208
2209         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2210
2211 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2212
2213         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2214         (Fdecode_char): Likewise.
2215
2216         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2217         chartab.h.
2218         (Fdefine_char): Modify for Fdecode_char.
2219         (Ffind_char): Likewise.
2220
2221         * mule-charset.c (Fdecode_char): Add new optional argument
2222         `defined-only'.
2223         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2224
2225 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2228         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2229         (allocate_coding_system): Initialize initial-charsets of
2230         CODESYS_BIG5 in XEmacs UTF-2000.
2231         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2232         CODESYS_BIG5 in XEmacs UTF-2000.
2233         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2234         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2235
2236         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2237         variables.
2238         (Qideograph_hanziku_{1 .. 12}): Likewise.
2239         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2240         .. 12}'.
2241         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2242         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2243         `ideograph-hanziku-{1 .. 12}'.
2244
2245         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2246         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2247         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2248         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2249         (DECODE_DEFINED_CHAR): New inline function.
2250         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2251
2252 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2253
2254         * mule-charset.c (Vcharset_china3_jef): Renamed from
2255         `Vcharset_japanese_jef_china3'.
2256         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2257         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2258         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2259         (syms_of_mule_charset): Rename `china3-jef' from
2260         `japanese-jef-china3'.
2261         (complex_vars_of_mule_charset): Likewise; rename
2262         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2263
2264         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2265         `LEADING_BYTE_JEF_CHINA3'.
2266         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2267         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2268
2269 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2270
2271         * mule-charset.c (encode_builtin_char_1): Comment out special code
2272         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2273
2274         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2275         (MAX_CHAR_MOJIKYO_0): Comment out.
2276         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2277         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2278         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2279         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2280
2281 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2284         (Qideograph_cbeta): New variable.
2285         (encode_builtin_char_1): Comment out special code for
2286         coded-charset `mojikyo' and `japanese-jef-china3'.
2287         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2288         (complex_vars_of_mule_charset): Add new coded-charset
2289         `ideograph-cbeta'.
2290
2291         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2292         (MIN_CHAR_CBETA): New macro.
2293         (MAX_CHAR_CBETA): New macro.
2294
2295 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2296
2297         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2298         (LEADING_BYTE_JEF_CHINA3): New macro.
2299         (MIN_CHAR_JEF_CHINA3): New macro.
2300         (MAX_CHAR_JEF_CHINA3): Likewise.
2301         (DECODE_CHAR): Fixed.
2302
2303 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2304
2305         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2306         (Qjapanese_jef_china3): New variable.
2307         (encode_builtin_char_1): Support `japanese-jef-china3'.
2308         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2309         (complex_vars_of_mule_charset): Add new coded-charset
2310         `japanese-jef-china3'.
2311
2312 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2313
2314         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2315         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2316         94^4, 96^3, 96^4, 128^n and 256^n set.
2317         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2318         (map_char_table): Likewise.
2319
2320 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2321
2322         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2323         UTF-2000.
2324
2325 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2326
2327         * chartab.h (get_char_id_table): New inline function.
2328
2329         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2330         function.
2331
2332 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * chartab.h (decode_char_table_range): New prototype in XEmacs
2335         UTF-2000.
2336         (put_char_id_table): New inline function in XEmacs UTF-2000.
2337
2338         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2339         function.
2340         (decode_char_table_range): Delete static declaration in XEmacs
2341         UTF-2000.
2342
2343 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2344
2345         * chartab.c (put_char_id_table): Use `put_char_table'.
2346
2347 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2348
2349         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2350         (map_over_uint16_byte_table): Likewise.
2351         (map_over_byte_table): Likewise.
2352         (map_char_table): Modify for `map_over_uint8_byte_table',
2353         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2354         UTF-2000.
2355
2356 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2357
2358         * chartab.c (struct map_char_table_for_charset_arg): New
2359         structure.
2360         (map_char_table_for_charset_fun): New function.
2361         (map_char_table): Use `map_char_table' for encoding_table of
2362         `range->charset'.
2363
2364 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * chartab.c (map_char_table): Check a character is found in
2367         range->charset instead of non default value is defined in
2368         char-table when range is CHARTAB_RANGE_ROW.
2369
2370 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2371
2372         * chartab.c (map_char_id_table): Deleted.
2373         (Fmap_char_attribute): Use `map_char_table' instead of
2374         `map_char_id_table'.
2375
2376 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2377
2378         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2379         UTF-2000.
2380         (update_syntax_table): Deleted in XEmacs UTF-2000.
2381
2382         * syntax.c (find_defun_start): Use `syntax_table' instead of
2383         `mirror_syntax_table' in XEmacs UTF-2000.
2384         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2385         UTF-2000.
2386         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2387         XEmacs UTF-2000.
2388         (Fmatching_paren): Likewise.
2389         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2390         in XEmacs UTF-2000.
2391         (find_start_of_comment): Likewise.
2392         (find_end_of_comment): Likewise.
2393         (Fforward_comment): Likewise.
2394         (scan_lists): Likewise.
2395         (char_quoted): Likewise.
2396         (Fbackward_prefix_chars): Likewise.
2397         (scan_sexps_forward): Likewise.
2398         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2399         (update_syntax_table): Likewise.
2400
2401         * search.c (skip_chars): Use `syntax_table' instead of
2402         `mirror_syntax_table' in XEmacs UTF-2000.
2403         (wordify): Likewise.
2404         (Freplace_match): Likewise.
2405
2406         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2407         `mirror_syntax_table' in XEmacs UTF-2000.
2408         (WORDCHAR_P_UNSAFE): Likewise.
2409         (re_match_2_internal): Likewise.
2410
2411         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2412         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2413
2414         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2415         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2416
2417         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2418         XEmacs UTF-2000.
2419
2420         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2421         UTF-2000.
2422         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2423         (char_table_description): Delete `mirror_table' in XEmacs
2424         UTF-2000.
2425         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2426         UTF-2000.
2427         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2428         (Fcopy_char_table): Likewise.
2429         (put_char_table): Don't call `update_syntax_table' in XEmacs
2430         UTF-2000.
2431
2432         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2433         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2434         (casify_region_internal): Likewise.
2435
2436         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2437
2438         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2439         `mirror_syntax_table' in XEmacs UTF-2000.
2440
2441         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2442         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2443         (Fexpand_abbrev): Likewise.
2444
2445 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2448
2449 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2450
2451         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2452         (map_over_uint16_byte_table): Likewise.
2453         (map_over_byte_table): Likewise.
2454         (get_char_id_table): Refer `cit->default_value'.
2455         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2456         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2457         of character-id ranges.
2458         (mark_char_table): Mark `ct->default_value'.
2459         (char_table_description): Add `default_value'.
2460         (fill_char_table): Use `default_value'.
2461         (decode_char_table_range): Decode `nil' as
2462         `CHARTAB_RANGE_DEFAULT'.
2463         (get_char_id_table): Refer `cit->default_value'.
2464         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2465         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2466         temporary hack; check value of char-table is bound or not.
2467         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2468
2469         * chartab.h (struct Lisp_Char_Table): Add new member
2470         `default_value' in XEmacs UTF-2000.
2471         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2472         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2473         UTF-2000.
2474
2475 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2476
2477         * chartab.h (Lisp_Char_ID_Table): Deleted.
2478
2479         * chartab.c (char_table_description): Fix typo.
2480         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2481         `Lisp_Char_ID_Table'.
2482
2483 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2484
2485         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2486         `CHAR_ID_TABLE_P'.
2487
2488         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2489         `CHAR_ID_TABLE_P'.
2490
2491         * chartab.h (XCHAR_ID_TABLE): Deleted.
2492         (XSETCHAR_ID_TABLE): Deleted.
2493         (CHAR_ID_TABLE_P): Deleted.
2494
2495         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2496         `CHAR_ID_TABLE_P'.
2497         (Fget_composite_char): Likewise.
2498         (put_char_table): Likewise.
2499         (add_char_attribute_alist_mapper): Fixed.
2500         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2501         `CHAR_ID_TABLE_P'.
2502         (Fget_char_attribute): Likewise.
2503         (Fget_char_attribute): Likewise.
2504         (Fmap_char_attribute): Likewise.
2505
2506         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2507         `CHAR_ID_TABLE_P'.
2508         (encode_char_1): Likewise.
2509
2510 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2511
2512         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2513         `XCHAR_ID_TABLE'.
2514
2515         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2516         instead of `XCHAR_ID_TABLE'.
2517         (remove_char_ccs): Likewise.
2518
2519         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2520         `XCHAR_ID_TABLE'.
2521         (Fget_composite_char): Likewise.
2522         (Fchar_variants): Likewise.
2523         (put_char_table): Likewise.
2524         (add_char_attribute_alist_mapper): Likewise.
2525         (Fchar_attribute_alist): Likewise.
2526         (Fget_char_attribute): Likewise.
2527         (Fput_char_attribute): Likewise.
2528         (Fmap_char_attribute): Likewise.
2529         (Fmap_char_attribute): Likewise.
2530
2531         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2532         `XCHAR_ID_TABLE'.
2533         (encode_char_1): Likewise.
2534
2535 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2536
2537         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2538         `Lisp_Char_ID_Table'.
2539         (mark_char_id_table): Deleted.
2540         (print_char_id_table): Likewise.
2541         (char_id_table_equal): Likewise.
2542         (char_id_table_hash): Likewise.
2543         (char_id_table_description): Likewise.
2544         (char_id_table): Likewise.
2545         (make_char_id_table): Use `Fmake_char_table' and
2546         `fill_char_table'.
2547         (get_char_id_table): Use `Lisp_Char_Table' instead of
2548         `Lisp_Char_ID_Table'.
2549         (put_char_id_table): Likewise.
2550         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2551         `XCHAR_ID_TABLE'.
2552         (Fremove_char_attribute): Likewise.
2553         (syms_of_chartab): Don't define type `char-id-table'.
2554
2555         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2556         (char_id_table): Likewise.
2557         (GC_CHAR_ID_TABLE_P): Likewise.
2558         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2559         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2560         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2561         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2562         (get_char_id_table): Use `Lisp_Char_Table' instead of
2563         `Lisp_Char_ID_Table'.
2564         (put_char_id_table_0): Likewise.
2565         (put_char_id_table): Likewise.
2566
2567 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2568
2569         * chartab.h: Lisp_Byte_Table related codes are moved from
2570         chartab.h.
2571
2572         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2573
2574 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2575
2576         * chartab.h: Don't include "chartab.h".
2577         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2578         (Lisp_Char_ID_Table): Likewise.
2579         (char_id_table): Likewise.
2580         (XCHAR_ID_TABLE): Likewise.
2581         (XSETCHAR_ID_TABLE): Likewise.
2582         (CHAR_ID_TABLE_P): Likewise.
2583         (GC_CHAR_ID_TABLE_P): Likewise.
2584         (get_char_id_table): Likewise.
2585
2586         * char-ucs.h: Include "chartab.h".
2587         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2588         (Lisp_Char_ID_Table): Likewise.
2589         (char_id_table): Likewise.
2590         (XCHAR_ID_TABLE): Likewise.
2591         (XSETCHAR_ID_TABLE): Likewise.
2592         (CHAR_ID_TABLE_P): Likewise.
2593         (GC_CHAR_ID_TABLE_P): Likewise.
2594         (get_char_id_table): Likewise.
2595
2596 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2597
2598         * chartab.c (copy_uint8_byte_table): New function.
2599         (copy_uint16_byte_table): New function.
2600         (copy_byte_table): New function.
2601         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2602         characters to call.
2603         (map_over_uint16_byte_table): Likewise.
2604         (map_over_byte_table): Likewise.
2605         (get_byte_table): Move prototype to chartab.h.
2606         (put_byte_table): Likewise.
2607         (put_char_id_table_0): Moved to chartab.h.
2608         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2609         (char_table_entry_equal): Likewise.
2610         (char_table_entry_hash): Likewise.
2611         (char_table_entry_description): Likewise.
2612         (char_table_entry): Likewise.
2613         (make_char_table_entry): Likewise.
2614         (copy_char_table_entry): Likewise.
2615         (get_non_ascii_char_table_value): Likewise.
2616         (map_over_charset_ascii): Likewise.
2617         (map_over_charset_control_1): Likewise.
2618         (map_over_charset_row): Likewise.
2619         (map_over_other_charset): Likewise.
2620         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2621         (print_char_table): Likewise.
2622         (char_table_equal): Likewise.
2623         (char_table_hash): Likewise.
2624         (char_table_description): Likewise.
2625         (fill_char_table): Likewise.
2626         (Fcopy_char_table): Likewise.
2627         (get_char_table): Likewise.
2628         (Fget_range_char_table): Likewise.
2629         (put_char_table): Likewise.
2630         (map_char_table): Likewise.
2631         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2632         UTF-2000.
2633
2634 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2637         `Vauto_fill_chars' in XEmacs UTF-2000.
2638
2639         * chartab.h (get_byte_table): New prototype [moved from
2640         chartab.c].
2641         (put_byte_table): Likewise [moved from chartab.c].
2642         (put_char_id_table_0): New inline function [moved from chartab.c].
2643         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2644         (Lisp_Char_Table_Entry): Likewise.
2645         (char_table_entry): Likewise.
2646         (XCHAR_TABLE_ENTRY): Likewise.
2647         (XSETCHAR_TABLE_ENTRY): Likewise.
2648         (CHAR_TABLE_ENTRYP): Likewise.
2649         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2650         (NUM_ASCII_CHARS): Likewise.
2651         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2652         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2653
2654 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2655
2656         * chartab.c (get_char_id_table): Change interface.
2657         (put_char_id_table_0): New function.
2658         (put_char_id_table): Change interface; new implementation.
2659         (Fget_composite_char): Modify for interface change of
2660         `get_char_id_table'.
2661         (Fchar_variants): Likewise.
2662         (add_char_attribute_alist_mapper): Likewise.
2663         (Fchar_attribute_alist): Likewise.
2664         (Fget_char_attribute): Likewise.
2665         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2666         as same as character as the first argument like `put-char-table';
2667         modify for interface change of `put_char_id_table'.
2668         (Fremove_char_attribute): Modify for interface change of
2669         `put_char_id_table'.
2670
2671 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * text-coding.c: Sync up with XEmacs 21.2.41.
2674         (COMPOSE_ADD_CHAR): Modify for interface change of
2675         `get_char_id_table'.
2676
2677         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2678         change of `put_char_id_table'.
2679         (remove_char_ccs): Likewise.
2680
2681         * chartab.h (put_char_id_table): Change interface.
2682
2683         * char-ucs.h (get_char_id_table): Change interface.
2684         (charset_code_point): Modify for interface change of
2685         `get_char_id_table'.
2686         (encode_char_1): Likewise.
2687
2688 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2691         argument `ccs'.
2692         (map_over_uint16_byte_table): Likewise.
2693         (map_over_byte_table): Likewise.
2694         (map_char_id_table): Add new argument `range' like
2695         `map_char_table'.
2696         (Fmap_char_attribute): Add new argument `range' like
2697         `Fmap_char_table'.
2698
2699 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2700
2701         * chartab.c (map_over_uint8_byte_table): Change interface of
2702         mapping function to use struct chartab_range instead of Emchar.
2703         (map_over_uint16_byte_table): Likewise.
2704         (map_over_byte_table): Likewise.
2705         (map_char_id_table): Likewise.
2706         (struct slow_map_char_id_table_arg): Deleted.
2707         (slow_map_char_id_table_fun): Deleted.
2708         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2709         function `slow_map_char_table_fun' instead of struct
2710         `slow_map_char_id_table_arg' and function
2711         `slow_map_char_id_table_fun'.
2712
2713 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2714
2715         * mule-charset.c: Move char-it-table related codes to chartab.c.
2716         (Vutf_2000_version): Moved to chartab.c.
2717         (Fdefine_char): Likewise.
2718         (Ffind_char): Likewise.
2719         (syms_of_mule_charset): Move types `uint8-byte-table',
2720         `uint16-byte-table', `byte-table' and `char-id-table' to
2721         chartab.c; move functions `char_attribute_list,
2722         `find_char_attribute_table, `char_attribute_alist,
2723         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2724         `map_char_attribute, `define_char, `find_char, `char_variants and
2725         `get_composite_char to chartab.c; move symbols `=>ucs',
2726         `->decomposition', `compat', `isolated', `initial', `medial',
2727         `final', `vertical', `noBreak', `fraction', `super', `sub',
2728         `circle', `square', `wide', `narrow', `small' and `font' to
2729         chartab.c.
2730         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2731         setting codes for `Vcharacter_composition_table' and
2732         `Vcharacter_variant_table' to chartab.c.
2733         (complex_vars_of_mule_charset): Move setting code for
2734         `Vchar_attribute_hash_table' to chartab.c.
2735
2736         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2737         (make_char_id_table): New prototype.
2738         (put_char_id_table): Likewise.
2739         (Fget_char_attribute): Likewise.
2740
2741         * chartab.c: Move char-id-table related code from mule-charset.c.
2742         (Vutf_2000_version): Moved from mule-charset.c.
2743
2744         * char-ucs.h (Qucs): New external variable.
2745         (put_char_ccs_code_point): New prototype.
2746         (remove_char_ccs): Likewise.
2747
2748 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2749
2750         * mule-charset.c (Vcharset_ucs_jis): New variable.
2751         (Qucs_jis): Likewise.
2752         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2753         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2754
2755         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2756
2757 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2758
2759         * mule-charset.c (map_over_uint8_byte_table): New function.
2760         (map_over_uint16_byte_table): Likewise.
2761         (map_over_byte_table): Likewise.
2762         (map_char_id_table): Likewise.
2763         (slow_map_char_id_table_fun): Likewise.
2764         (Fmap_char_attribute): Likewise.
2765         (syms_of_mule_charset): Add new function `map-char-attribute'.
2766
2767 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2768
2769         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2770         (syms_of_mule_charset): Add new function `find-char'.
2771
2772 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2773
2774         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2775         XEmacs UTF-2000.
2776         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2777         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2778         XEmacs UTF-2000.
2779         (complex_vars_of_mule_charset): Add new coded-charset
2780         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2781         `ideograph-gt-pj-*'.
2782
2783         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2784
2785 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2786
2787         * mule-charset.c (encode_builtin_char_1): Purge codes about
2788         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2789         {MIN|MAX}_CHAR_HEBREW.
2790         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2791         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2792
2793         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2794         (MAX_CHAR_GREEK): Purged.
2795         (MIN_CHAR_CYRILLIC): Purged.
2796         (MAX_CHAR_CYRILLIC): Purged.
2797         (MIN_CHAR_HEBREW): Commented out.
2798         (MAX_CHAR_HEBREW): Likewise.
2799
2800 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2801
2802         * mule-charset.c (Qto_ucs): New variable.
2803         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2804         (Fdefine_char): Likewise.
2805         (syms_of_mule_charset): Add new symbol `=>ucs'.
2806
2807 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2808
2809         * mule-charset.c (Fdecode_char): Fixed.
2810
2811 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2812
2813         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2814         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2815         "tcvn5712-1".
2816
2817 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2818
2819         * mule-charset.c (Vcharset_ucs_big5): New variable.
2820         (Qucs_big5): Likewise.
2821         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2822         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2823
2824         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2825
2826 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2827
2828         * mule-charset.c (decode_builtin_char): Check Big5 code range
2829         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2830
2831 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2832
2833         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2834         (Qchinese_gb12345): Likewise.
2835         (Fdecode_builtin_char): Fixed.
2836         (syms_of_mule_charset): Add `chinese-gb12345'.
2837         (complex_vars_of_mule_charset): Add coded-charset
2838         `chinese-gb12345'.
2839
2840         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2841         (LEADING_BYTE_CHINESE_GB12345): New macro.
2842
2843 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2844
2845         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2846         and `latin-viscii-upper' for `latin-viscii'.
2847
2848 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2849
2850         * mule-charset.c (Fdecode_builtin_char): Comment out
2851         regularization code for ISO-IR GR representation.
2852
2853 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2854
2855         * mule-charset.c (decode_builtin_char): New function; renamed from
2856         `make_builtin_char'; return -1 instead of signal.
2857         (Fdecode_builtin_char): Use `decode_builtin_char'.
2858
2859         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2860         `make_builtin_char'.
2861         (DECODE_CHAR): Use `decode_builtin_char' instead of
2862         `make_builtin_char'; use mapping table of `chinese-big5' for
2863         `chinese-big5-{1,2}'.
2864
2865 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2866
2867         * text-coding.c (char_encode_big5): New function.
2868         (char_finish_big5): Likewise.
2869         (reset_encoding_stream): Use `char_encode_big5' and
2870         `char_finish_big5' for CODESYS_BIG5.
2871         (mule_encode): Don't use `encode_coding_big5'.
2872         (encode_coding_big5): Deleted.
2873
2874 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2875
2876         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2877         0x81- in XEmacs UTF-2000.
2878         (detect_coding_big5): Likewise.
2879
2880 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2883         generate character-id if the CCS property does not have
2884         corresponding predefined character.
2885         (make_builtin_char): Return -1 if corresponding predefined
2886         character is not found.
2887         (Fdecode_char): Return nil if corresponding character is not
2888         found.
2889         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2890         don't map to builtin ucs space.
2891
2892 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2893
2894         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2895         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2896
2897 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2898
2899         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2900         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2901         (Qideograph_gt): Likewise.
2902         (Qideograph_gt_pj_{1..11}): Likewise.
2903         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2904         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2905         `ideograph-gt-pj-11'.
2906         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2907         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2908         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2909
2910         * char-ucs.h (LEADING_BYTE_GT): New macro.
2911         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2912         (MIN_CHAR_GT): Likewise.
2913         (MAX_CHAR_GT): Likewise.
2914
2915 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2918         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2919
2920         * doprnt.c (unsigned_int_converters): Add `c'.
2921         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2922
2923         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2924         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2925         `MIN_CHAR_MOJIKYO'.
2926         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2927         (MAX_CHAR_MOJIKYO_0): New macro.
2928         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2929
2930 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2931
2932         * mule-charset.c (Fdefine_char): Delete cemented out code.
2933         (encode_builtin_char_1): Modify for new allocation of builtin
2934         Mojikyo characters.
2935
2936         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2937
2938 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * mule-charset.c (Vcharset_ucs_cns): New variable.
2941         (Qucs_cns): New variable.
2942         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2943         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2944
2945 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2946
2947         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2948
2949 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2950
2951         * search.c (search_buffer): Make `charset_base_code' as
2952         character-id >> 6 to eliminate the corresponding last byte in
2953         UTF-8 representation [I'm not sure it is right thing].
2954         (boyer_moore): Likewise.
2955
2956 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2957
2958         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2959         representation in MULE.
2960
2961 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2962
2963         * text-coding.c (Fmake_coding_system): Use
2964         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2965         `EXTERNAL_PROPERTY_LIST_LOOP'.
2966
2967 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2968
2969         * text-coding.c (decode_output_utf8_partial_char): New function.
2970         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2971
2972 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2973
2974         * text-coding.c (decode_coding_utf8): Output original byte
2975         sequence if it is broken; change order of conditions.
2976
2977         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2978         of conditions.
2979
2980         * mb-multibyte.h (BYTE_ASCII_P):
2981         Use bit ops for char-signedness safety.
2982         (BYTE_C0_P): Use bit ops for char-signedness safety.
2983         (BYTE_C1_P): Use bit ops for char-signedness safety.
2984
2985         * character.h: (XCHAR_OR_CHAR_INT):
2986         Always use inline function.
2987         Remove redundant type checking assert() - XINT will abort quite
2988         nicely.
2989
2990 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2991
2992         * text-coding.c: (Fencode_shift_jis_char):
2993         (Fencode_big5_char):
2994         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2995         Replace 0 with '\0' when working with bytes.
2996         Replace initial "(" with "\(" in docstrings.
2997
2998         (Fmake_coding_system):
2999         When type is ccl and value is vector, register it with a proper
3000         symbol.  And checks whether the given ccl program is valid.
3001         (mule_decode): When calling ccl_driver, if src indicates
3002         NULL pointer, set an empty string instead.
3003         (mule_encode): Likewise.
3004
3005         (detect_eol_type):
3006         (detect_coding_sjis):
3007         (decode_coding_sjis):
3008         (detect_coding_big5):
3009         (decode_coding_big5):
3010         (detect_coding_ucs4):
3011         (decode_coding_ucs4):
3012         (detect_coding_utf8):
3013         (decode_coding_utf8):
3014         (detect_coding_iso2022):
3015         (decode_coding_iso2022):
3016         (decode_coding_no_conversion):
3017         (mule_decode):
3018         Make all detecting and decoding functions take an Extbyte * arg.
3019         (text_encode_generic):
3020         (encode_coding_big5):
3021         (encode_coding_no_conversion):
3022         (mule_encode):
3023         Make all encoding functions take a Bufbyte * arg.
3024         Use size_t instead of unsigned int for memory sizes.
3025         Only cast to unsigned char whenever dereferencing Extbyte *.
3026
3027         (struct lrecord_description fcd_description_1): Use countof.
3028         (complex_vars_of_file_coding):
3029         Use countof instead of sizeof.
3030         Use CHECK_NATNUM instead of CHECK_INT.
3031
3032 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3033
3034         * mule-charset.c (Fget_char_attribute): Add new optional argument
3035         `default-value'.
3036         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3037         (remove_char_ccs): Likewise.
3038
3039 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3040
3041         * text-coding.c (char_encode_shift_jis): New implementation in
3042         UTF-2000.
3043         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3044         ...)'.
3045
3046         * mule-charset.c (Vcharset_chinese_big5): New variable in
3047         UTF-2000.
3048         (Qchinese_big5): New variable in UTF-2000.
3049         (BIG5_SAME_ROW): New macro in UTF-2000.
3050         (make_builtin_char): Use builtin characters of
3051         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3052         characters of `Vcharset_chinese_big5'.
3053         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3054         (complex_vars_of_mule_charset): Add new coded-charset
3055         `chinese-big5' in UTF-2000.
3056
3057         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3058         (Vcharset_chinese_big5): New external variable declaration.
3059         (Vcharset_japanese_jisx0208_1990): Likewise.
3060
3061 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3062
3063         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3064         function.
3065         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3066
3067 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3068
3069         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3070         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3071         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3072         `mojikyo-pj-*'.
3073
3074 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3075
3076         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3077
3078 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3079
3080         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3081         to 0.17.
3082
3083 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3084
3085         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3086         for `CHARSET_BY_ATTRIBUTES'.
3087         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3088         `CHARSET_BY_ATTRIBUTES'.
3089
3090         * text-coding.c (struct decoding_stream): Rename member `CH' to
3091         `CPOS'.
3092         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3093         (decode_coding_sjis): Likewise.
3094         (decode_coding_big5): Likewise.
3095         (decode_coding_ucs4): Likewise.
3096         (decode_coding_utf8): Likewise.
3097         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3098         `CHARSET_BY_ATTRIBUTES'.
3099         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3100         `str->counter'; decode 3, 4 bytes sets.
3101         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3102         sets.
3103         (decode_coding_no_conversion): Use `str->cpos' instead of
3104         `str->ch'.
3105
3106         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3107         (Qmojikyo_2022_1): New variable.
3108         (make_charset): Don't use `CHARSET_TYPE_*'.
3109         (range_charset_code_point): Support coded-charset
3110         `mojikyo-2022-1'.
3111         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3112         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3113         `CHARSET_BY_ATTRIBUTES'.
3114         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3115         `CHARSET_BY_ATTRIBUTES'.
3116         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3117         (complex_vars_of_mule_charset): Add new coded-charset
3118         `mojikyo-2022-1'.
3119
3120         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3121         interface; changed to inline function.
3122
3123         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3124         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3125         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3126         (CHARSET_TYPE_94): Deleted.
3127         (CHARSET_TYPE_94X94): Deleted.
3128         (CHARSET_TYPE_96): Deleted.
3129         (CHARSET_TYPE_96X96): Deleted.
3130         (CHARSET_TYPE_128): Deleted.
3131         (CHARSET_TYPE_128X128): Deleted.
3132         (CHARSET_TYPE_256): Deleted.
3133         (CHARSET_TYPE_256X256): Deleted.
3134         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3135         to inline function.
3136         (DECODE_MOJIKYO_2022): New inline function.
3137         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3138         `Vcharset_mojikyo_2022_1'.
3139
3140 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3141
3142         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3143         instead of `EQ'.
3144         (put_byte_table): Likewise.
3145         (char_id_table_equal): Use `get_byte_table' [new implementation].
3146
3147 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3148
3149         * mule-charset.c: Include <limits.h> in UTF-2000.
3150         (BT_UINT8_MIN): New macro in UTF-2000.
3151         (BT_UINT8_MAX): New macro in UTF-2000.
3152         (BT_UINT8_t): New macro in UTF-2000.
3153         (BT_UINT8_nil): New macro in UTF-2000.
3154         (BT_UINT8_unbound): New macro in UTF-2000.
3155         (INT_UINT8_P): New inline function in UTF-2000.
3156         (UINT8_VALUE_P): New inline function in UTF-2000.
3157         (UINT8_ENCODE): New inline function in UTF-2000.
3158         (UINT8_DECODE): New inline function in UTF-2000.
3159         (mark_uint8_byte_table): New function in UTF-2000.
3160         (print_uint8_byte_table): New function in UTF-2000.
3161         (uint8_byte_table_equal): New function in UTF-2000.
3162         (uint8_byte_table_hash): New function in UTF-2000.
3163         (make_uint8_byte_table): New function in UTF-2000.
3164         (uint8_byte_table_same_value_p): New function in UTF-2000.
3165         (BT_UINT16_MIN): New macro in UTF-2000.
3166         (BT_UINT16_MAX): New macro in UTF-2000.
3167         (BT_UINT16_t): New macro in UTF-2000.
3168         (BT_UINT16_nil): New macro in UTF-2000.
3169         (BT_UINT16_unbound): New macro in UTF-2000.
3170         (INT_UINT16_P): New inline function in UTF-2000.
3171         (UINT16_VALUE_P): New inline function in UTF-2000.
3172         (UINT16_ENCODE): New inline function in UTF-2000.
3173         (UINT16_DECODE): New inline function in UTF-2000.
3174         (UINT8_TO_UINT16): New inline function in UTF-2000.
3175         (mark_uint16_byte_table): New function in UTF-2000.
3176         (print_uint16_byte_table): New function in UTF-2000.
3177         (uint16_byte_table_equal): New function in UTF-2000.
3178         (uint16_byte_table_hash): New function in UTF-2000.
3179         (make_uint16_byte_table): New function in UTF-2000.
3180         (uint16_byte_table_same_value_p): New function in UTF-2000.
3181         (print_byte_table): New function in UTF-2000.
3182         (byte-table): Use `print_byte_table' as printer.
3183         (make_byte_table): Delete second argument `older'.
3184         (byte_table_same_value_p): New function in UTF-2000.
3185         (copy_byte_table): Deleted.
3186         (get_byte_table): New function in UTF-2000.
3187         (put_byte_table): New function in UTF-2000.
3188         (print_char_id_table): New function in UTF-2000.
3189         (char-id-table): Use `print_char_id_table' as printer.
3190         (make_char_id_table): Delete second argument `older'.
3191         (get_char_id_table): Use `get_byte_table [new implementation].
3192         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3193         implementation].
3194         (Ffind_char_attribute_table): New function in UTF-2000.
3195         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3196         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3197         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3198         (syms_of_mule_charset): Add new function
3199         `find-char-attribute-table' in UTF-2000.
3200
3201         * lrecord.h (enum lrecord_type): Add
3202         `lrecord_type_uint16_byte_table' and
3203         `lrecord_type_uint8_byte_table'.
3204
3205         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3206         (Lisp_Uint8_Byte_Table): New type.
3207         (XUINT8_BYTE_TABLE): New macro.
3208         (XSETUINT8_BYTE_TABLE): New macro.
3209         (UINT8_BYTE_TABLE_P): New macro.
3210         (GC_UINT8_BYTE_TABLE_P): New macro.
3211         (struct Lisp_Uint16_Byte_Table): New structure.
3212         (Lisp_Uint16_Byte_Table): New type.
3213         (XUINT16_BYTE_TABLE): New macro.
3214         (XSETUINT16_BYTE_TABLE): New macro.
3215         (UINT16_BYTE_TABLE_P): New macro.
3216         (GC_UINT16_BYTE_TABLE_P): New macro.
3217
3218 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3221         (Vcharacter_ideographic_strokes_table): Deleted.
3222         (Vcharacter_total_strokes_table): Deleted.
3223         (Vcharacter_morohashi_daikanwa_table): Deleted.
3224         (Vcharacter_decomposition_table): Deleted.
3225         (Qname): Deleted because it is duplicated.
3226         (Qideographic_radical): Deleted.
3227         (Qideographic_strokes): Deleted.
3228         (Qtotal_strokes): Deleted.
3229         (Qmorohashi_daikanwa): Deleted.
3230         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3231         `ideographic-radical', `ideographic-strokes', `total-strokes',
3232         `morohashi-daikanwa' and `->decomposition'.
3233         (Fget_char_attribute): Likewise.
3234         (Fput_char_attribute): Likewise; use `make-vector' instead of
3235         `make_older_vector' for `->decomposition' value.
3236         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3237         `ideograph-daikanwa'.
3238         (syms_of_mule_charset): Delete builtin symbols `name',
3239         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3240         `morohashi-daikanwa'.
3241         (vars_of_mule_charset): Don't setup
3242         `Vcharacter_ideographic_radical_table',
3243         `Vcharacter_ideographic_strokes_table',
3244         `Vcharacter_total_strokes_table',
3245         `Vcharacter_morohashi_daikanwa_table' and
3246         `Vcharacter_decomposition_table'.
3247
3248 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3249
3250         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3251         `make_older_vector', `make_vector_newer_1' and
3252         `make_vector_newer'.
3253
3254         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3255         `make_older_vector' and `make_vector_newer'.
3256
3257         * config.h.in (HAVE_GGC): New macro.
3258
3259 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3260
3261         * mule-charset.c (struct char_attribute_list_closure): New
3262         structure in UTF-2000.
3263         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3264         (Fchar_attribute_list): Likewise.
3265         (Fset_charset_mapping_table): Use `make_vector_newer'.
3266         (Fdecode_builtin_char): New function in UTF-2000.
3267         (syms_of_mule_charset): Add new function `char-attribute-list' and
3268         `decode-builtin-char' in UTF-2000.
3269
3270         * lisp.h (make_vector_newer): New prototype.
3271
3272         * alloc.c (make_vector_newer_1): New function.
3273         (make_vector_newer): New function.
3274
3275 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3276
3277         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3278         50100)'.
3279
3280 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3283         (Vcharacter_attribute_table): Deleted.
3284         (Vcharacter_name_table): Deleted.
3285         (put_char_attribute): Deleted.
3286         (remove_char_attribute): Deleted.
3287         (struct char_attribute_alist_closure): New structure.
3288         (add_char_attribute_alist_mapper): New function.
3289         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3290         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3291         (Fget_char_attribute): Likewise.
3292         (Fput_char_attribute): Likewise.
3293         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3294         of `remove_char_attribute'.
3295         (Fdefine_char): Return character.
3296         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3297         and `Vcharacter_name_table'.
3298         (complex_vars_of_mule_charset): Likewise
3299         `Vchar_attribute_hash_table'.
3300
3301 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3302
3303         * character.h (CHARC_CHARSET): New macro.
3304         (CHARC_CHARSET_ID): New macro.
3305         (CHARC_CODE_POINT): New macro.
3306         (CHARC_COLUMNS): New macro.
3307         (CHARC_TO_CHAR): New inline function.
3308         (CHARC_EQ): New inline function.
3309         (CHARC_ASCII_EQ): New inline function.
3310         (CHARC_IS_SPACE): New inline function.
3311         (ASCII_TO_CHARC): New inline function.
3312
3313         * char-ucs.h (encode_char_2): Deleted.
3314         (ENCODE_CHAR): Use `encode_char_1' again.
3315         (breakup_char_1): Likewise.
3316         (CHAR_TO_CHARC): New inline function.
3317
3318         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3319
3320 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3321
3322         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3323         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3324         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3325         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3326         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3327         `CHARC_IS_SPACE'.
3328         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3329
3330         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3331         `CHARC_CODE_POINT'.
3332         (x_output_display_block): Use `CHARC_CHARSET' and
3333         `CHARC_ASCII_EQ'.
3334
3335         * redisplay-tty.c (tty_output_display_block): Use
3336         `CHARC_ASCII_EQ'.
3337         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3338
3339         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3340
3341         * insdel.c (find_charsets_in_charc_string): Use
3342         `CHARC_CHARSET_ID'.
3343         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3344         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3345         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3346         (convert_charc_string_into_malloced_string): Likewise.
3347
3348 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3351         instead of <Emchar_dynarr *> for buf; use
3352         `convert_bufbyte_string_into_charc_dynarr' instead of
3353         `convert_bufbyte_string_into_emchar_dynarr'; use
3354         `find_charsets_in_charc_string' instead of
3355         `find_charsets_in_emchar_string'.
3356
3357         * redisplay.h:
3358         - Include "character.h".
3359         (struct rune): New member `cglyph'; delete member `chr'.
3360
3361         * redisplay.c (redisplay_text_width_charc_string): New function;
3362         delete `redisplay_text_width_emchar_string'.
3363         (rtw_charc_dynarr): New variable; renamed from
3364         `rtw_emchar_dynarr'.
3365         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3366         `rtw_emchar_dynarr'; use
3367         `convert_bufbyte_string_into_charc_dynarr' instead of
3368         `convert_bufbyte_string_into_emchar_dynarr'; use
3369         `redisplay_text_width_charc_string' instead of
3370         `redisplay_text_width_emchar_string'.
3371         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3372         instead of `rtw_emchar_dynarr'; use
3373         `convert_bufbyte_string_into_charc_dynarr' instead of
3374         `convert_bufbyte_string_into_emchar_dynarr'.
3375         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3376         `redisplay_text_width_charc_string' instead of
3377         `redisplay_text_width_emchar_string'.
3378         (create_text_block): Modify for <struct rune> change.
3379         (generate_formatted_string_db): Likewise.
3380         (create_string_text_block): Likewise.
3381         (pixel_to_glyph_translation): Likewise.
3382
3383         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3384         instead of <const Emchar *>.
3385         (x_text_width): Likewise.
3386         (x_output_display_block): Use <Charc_dynarr *> instead
3387         <Emchar_dynarr *>; modify for <structure rune> change.
3388         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3389         *>.
3390
3391         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3392         <const Emchar *>; use `charc_string_displayed_columns' instead of
3393         `emchar_string_displayed_columns'.
3394         (tty_output_display_block): Use <Charc_dynarr *> instead of
3395         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3396         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3397         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3398         `tty_output_emchar_dynarr_dynarr'.
3399         (tty_output_charc_dynarr): New function; delete
3400         `tty_output_charc_dynarr'.
3401
3402         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3403         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3404         <Emchar_dynarr *> for buf; use
3405         `convert_bufbyte_string_into_charc_dynarr' instead of
3406         `convert_bufbyte_string_into_emchar_dynarr'.
3407
3408         * frame.c (title_string_charc_dynarr): New variable; renamed from
3409         `title_string_emchar_dynarr'.
3410         (generate_title_string): Use `title_string_charc_dynarr' instead
3411         of `title_string_emchar_dynarr'; use
3412         `convert_charc_string_into_malloced_string' instead of
3413         `convert_emchar_string_into_malloced_string'.
3414         (init_frame): Use `title_string_charc_dynarr' instead of
3415         `title_string_emchar_dynarr'.
3416
3417         * console.h:
3418         - Include "character.h".
3419         (struct console_methods): Use <const Charc *> instead of <const
3420         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3421         <Emchar_dynarr *> in output_string_method.
3422
3423         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3424         <Emchar_dynarr *>.
3425
3426         * console-stream.c (stream_text_width): Use <const Charc *>
3427         instead of <const Emchar *>.
3428
3429         * character.h (Charc_dynarr): New type.
3430
3431         * char-ucs.h (structure Charc): New structure; define new type
3432         `Charc'.
3433
3434         * char-lb.h (DECODE_CHAR): New inline function.
3435         (encode_char_1): New inline function.
3436         (ENCODE_CHAR): New macro.
3437         (structure Charc): New structure; define new type `Charc'.
3438
3439         * char-1byte.h (Vcharset_control_1): New macro.
3440         (Vcharset_latin_iso8859_1): New macro.
3441         (DECODE_CHAR): New inline function.
3442         (encode_char_1): New inline function.
3443         (ENCODE_CHAR): New macro.
3444         (structure Charc): New structure; define new type `Charc'.
3445
3446         * insdel.c (find_charsets_in_charc_string): New function; delete
3447         `find_charsets_in_emchar_string'.
3448         (charc_string_displayed_columns): New function; delete
3449         `emchar_string_displayed_columns'.
3450         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3451         `convert_bufbyte_string_into_emchar_dynarr'.
3452         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3453         `convert_charc_string_into_bufbyte_dynarr'.
3454         (convert_charc_string_into_malloced_string): New function; delete
3455         `convert_charc_string_into_malloced_string'.
3456
3457         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3458         `find_charsets_in_emchar_string'.
3459         (charc_string_displayed_columns): New prototype; delete
3460         `emchar_string_displayed_columns'.
3461         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3462         `convert_charc_string_into_bufbyte_dynarr'.
3463         (convert_charc_string_into_malloced_string): New prototype; delete
3464         `convert_charc_string_into_malloced_string'.
3465
3466 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3467
3468         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3469
3470 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3471
3472         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3473
3474         * char-ucs.h: Use <short> for <Charset_ID>.
3475
3476         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3477         <Charset_ID>.
3478
3479 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3480
3481         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3482         to 0.16.
3483
3484 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3485
3486         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3487         variable.
3488         (Qmorohashi_daikanwa): New variable.
3489         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3490         for `morohashi-daikanwa' attribute.
3491         (Fget_char_attribute): Likewise.
3492         (Fput_char_attribute): Likewise.
3493         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3494         has the same value of `ideograph-daikanwa'.
3495         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3496         (vars_of_mule_charset): Setup
3497         `Vcharacter_morohashi_daikanwa_table'.
3498
3499 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3500
3501         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3502         attributes.
3503         (add_charset_to_list_mapper): Add `key' instead of
3504         `XCHARSET_NAME (value)' to return aliases.
3505
3506 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3507
3508         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3509         variable.
3510         (Vcharacter_ideographic_strokes_table): New variable.
3511         (Qideographic_radical): New variable.
3512         (Qideographic_strokes): New variable.
3513         (Fchar_attribute_alist): Use
3514         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3515         attribute; use `Vcharacter_ideographic_strokes_table' for
3516         `ideographic-strokes' attribute.
3517         (Fget_char_attribute): Likewise.
3518         (Fput_char_attribute): Likewise.
3519         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3520         `ideographic-strokes'.
3521         (vars_of_mule_charset): Setup
3522         `Vcharacter_ideographic_radical_table' and
3523         `Vcharacter_ideographic_strokes_table'.
3524
3525 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3526
3527         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3528         (Qtotal_strokes): New variable.
3529         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3530         `total-strokes' attribute.
3531         (Fget_char_attribute): Likewise.
3532         (Fput_char_attribute): Likewise.
3533         (syms_of_mule_charset): Add new symbol `total-strokes'.
3534         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3535
3536 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3537
3538         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3539         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3540         are found.
3541         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3542         `->decomposition' attribute.
3543         (Fput_char_attribute): Likewise.
3544         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3545
3546 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3547
3548         * mule-charset.c (decoding_table_check_elements): New function.
3549         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3550
3551 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3552
3553         * mule-charset.c (Fset_charset_mapping_table): Use
3554         `put_char_ccs_code_point'.
3555
3556 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3557
3558         * mule-charset.c (decoding_table_put_char): New inline function.
3559         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3560
3561 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3562
3563         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3564         (XCHARSET_BYTE_SIZE): New macro.
3565         (decoding_table_remove_char): New inline function.
3566         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3567         `decoding_table_remove_char'.
3568         (remove_char_ccs): Use `decoding_table_remove_char'.
3569         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3570
3571 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3572
3573         * mule-charset.c (Vcharacter_name_table): New variable.
3574         (Qname): New variable.
3575         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3576         attribute.
3577         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3578         `Vcharacter_name_table' for `name' attribute.
3579         (Fremove_char_attribute): Use function `remove_char_ccs'.
3580         (put_char_ccs_code_point): New function.
3581         (remove_char_ccs): New function.
3582         (syms_of_mule_charset): Add new symbol `name'.
3583         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3584
3585 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3586
3587         * mule-charset.c (make_byte_table): Add new argument `older'.
3588         (make_char_id_table): Likewise.
3589         (copy_char_id_table): Comment out because it is not used.
3590         (put_char_id_table): Modify for `make_byte_table'.
3591         (Fput_char_attribute): Make encoding_table as older object;
3592         inherit older bit of `Vcharacter_composition_table'.
3593         (mark_charset): Don't mark `cs->encoding_table'.
3594         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3595         normal object; make `Vcharacter_composition_table' as an older
3596         object; delete staticpro for `Vcharacter_composition_table'; make
3597         `Vcharacter_variant_table' as a normal object.
3598
3599         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3600         (mark_object): Don't check older object in UTF-2000.
3601
3602         * lrecord.h (struct lrecord_header): Add new member `older' in
3603         UTF-2000.
3604         (set_lheader_implementation): Setup `SLI_header->older' in
3605         UTF-2000.
3606         (set_lheader_older_implementation): New macro in UTF-2000.
3607         (OLDER_RECORD_P): New macro in UTF-2000.
3608         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3609         (alloc_older_lcrecord): New prototype in UTF-2000.
3610         (alloc_older_lcrecord_type): New macro in UTF-2000.
3611
3612 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3613
3614         * mule-charset.c (byte_table_description): Use
3615         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3616         (char_id_table_description): Delete bogus `, 1'.
3617         (Fget_char_attribute): Refer encoding_table of each coded-charset
3618         to get value of coded-charset attribute of a character.
3619         (Fput_char_attribute): Use `make_older_vector' instead of
3620         `make_vector'; use encoding_table of each coded-charset to store
3621         value of coded-charset attribute of a character.
3622         (Fremove_char_attribute): Use encoding_table of each coded-charset
3623         to store value of coded-charset attribute of a character.
3624         (mark_charset): Mark `cs->encoding_table'; don't mark
3625         `cs->decoding_table'.
3626         (charset_description): Add description of new member
3627         `encoding_table'.
3628         (make_charset): Initialize `encoding_table'.
3629
3630         * char-ucs.h (struct Lisp_Charset): Add new member
3631         `encoding_table'.
3632         (CHARSET_ENCODING_TABLE): New macro.
3633         (XCHARSET_ENCODING_TABLE): New macro.
3634         (charset_code_point): New implementation.
3635         (encode_char_1): Likewise.
3636
3637         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3638         (disksave_object_finalization_1): Call finalizers of
3639         `all_older_lcrecords' in UTF-2000.
3640         (make_older_vector): New function in UTF-2000.
3641         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3642         UTF-2000.
3643
3644         * lisp.h (make_older_vector): New prototype in UTF-2000.
3645
3646 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3647
3648         * lrecord.h (enum lrecord_type): Rename
3649         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3650
3651         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3652         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3653         `get_char_code_table'.
3654
3655         * mule-charset.c (mark_char_id_table): Renamed from
3656         `mark_char_code_table'.
3657         (char_id_table_equal): Renamed from `char_code_table_equal'.
3658         (char_id_table_hash): Renamed from `char_code_table_hash'.
3659         (make_char_id_table): Renamed from `make_char_code_table'.
3660         (copy_char_id_table): Renamed from `copy_char_code_table'.
3661         (get_char_id_table): Renamed from `get_char_code_table'.
3662         (put_char_id_table): Renamed from `put_char_code_table'.
3663         (to_char_id): Renamed from `to_char_code'.
3664
3665         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3666         `Lisp_Char_Code_Table'.
3667         (char_id_table): Renamed from `char_code_table'.
3668         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3669         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3670         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3671         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3672         (get_char_id_table): Renamed from `get_char_code_table'.
3673
3674 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3675
3676         * lrecord.h (enum lrecord_type): Rename
3677         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3678
3679         * mule-charset.c (mark_byte_table): Renamed from
3680         `mark_char_byte_table'.
3681         (byte_table_equal): Renamed from `char_byte_table_equal'.
3682         (byte_table_hash): Renamed from `byte_table_hash'.
3683         (make_byte_table): Renamed from `make_byte_table'.
3684         (copy_byte_table): Renamed from `copy_char_byte_table'.
3685
3686         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3687         `Lisp_Char_Byte_Table'.
3688         (byte_table): Renamed from `char_byte_table'.
3689         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3690         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3691         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3692         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3693
3694 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3695
3696         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3697         (dfc_convert_to_internal_format): Likewise.
3698         
3699         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3700         * text-coding.c (Fcoding_system_alias_p): New function.
3701         * text-coding.c (Fcoding_system_aliasee): New function.
3702         * text-coding.c (append_suffix_to_symbol): New function.
3703         * text-coding.c (dangling_coding_system_alias_p): New function.
3704         * text-coding.c (Ffind_coding_system):
3705         * text-coding.c (Fcopy_coding_system):
3706         * text-coding.c (encode_coding_no_conversion):
3707         * text-coding.c (syms_of_file_coding):
3708         * text-coding.c (vars_of_file_coding):
3709         Rewrite coding system alias code.
3710         Allow nested aliases, like symbolic links.
3711         Allow redefinition of coding system aliases.
3712         Prevent existence of dangling coding system aliases.
3713         Eliminate convert_to_external_format.
3714         Eliminate convert_to_internal_format.
3715         
3716         * text-coding.c: Change enum eol_type to eol_type_t.
3717
3718 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3719
3720         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3721         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3722
3723         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3724         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3725
3726 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3727
3728         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3729         `ideograph-daikanwa'.
3730
3731         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3732         (Vcharset_ucs_bmp): Likewise.
3733         (Vcharset_mojikyo): Add new extern variable definition.
3734         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3735         (Vcharset_latin_iso8859_3): Likewise.
3736         (Vcharset_latin_iso8859_4): Likewise.
3737         (Vcharset_latin_iso8859_9): Likewise.
3738         (Vcharset_latin_viscii_lower): Likewise.
3739         (Vcharset_latin_viscii_upper): Likewise.
3740         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3741         `mojikyo' code-point is used to decode.
3742         (encode_char_2): New function [to convert `mojikyo' code-point to
3743         Mojikyo font encoding].
3744         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3745         (breakup_char_1): Likewise.
3746         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3747
3748 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3749
3750         * text-coding.c (Fmake_coding_system): Add document about
3751         `disable-composition' property.
3752
3753 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3754
3755         * text-coding.c (Qdisable_composition): New variable; delete
3756         `Qcomposite'.
3757         (Fmake_coding_system): Add new property `disable-composite';
3758         delete property `composite'.
3759         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3760         instead of `!CODING_SYSTEM_COMPOSITE'.
3761         (syms_of_file_coding): Add new symbol `disable-composition';
3762         delete symbol `composite'.
3763
3764         * file-coding.h (struct Lisp_Coding_System): Add
3765         `disable_composition'; delete `enable_composition'.
3766         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3767         `CODING_SYSTEM_COMPOSITE'.
3768         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3769         `XCODING_SYSTEM_COMPOSITE'.
3770
3771 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3772
3773         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3774         to 0.15.
3775
3776 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3777
3778         * text-coding.c (Qcomposite): New variable.
3779         (Fmake_coding_system): Add new property `composite'.
3780         (struct decoding_stream): Add `combined_char_count',
3781         `combined_chars' and `combining_table' in UTF-2000.
3782         (COMPOSE_FLUSH_CHARS): New macro.
3783         (COMPOSE_ADD_CHAR): New macro.
3784         (reset_decoding_stream): Reset `str->combined_char_count' and
3785         `str->combining_table' in UTF-2000.
3786         (decode_coding_iso2022): Modify for character-decomposition.
3787         (syms_of_file_coding): Add new symbol `composite'.
3788
3789 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3790
3791         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3792         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3793         of `Vcharacter_composition_table' if `->decomposition' property
3794         has only 1 element.
3795         (Qlatin_tcvn5712): New variable.
3796         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3797         (complex_vars_of_mule_charset): Add new coded-charset
3798         `latin-tcvn5712'.
3799
3800         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3801
3802 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3803
3804         * file-coding.h (struct Lisp_Coding_System): Add
3805         `enable_composition'.
3806         (CODING_SYSTEM_COMPOSITE): New macro.
3807         (XCODING_SYSTEM_COMPOSITE): New macro.
3808
3809 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3810
3811         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3812
3813 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3814
3815         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3816         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3817
3818 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3819
3820         * mule-charset.c (Vcharset_mojikyo): New variable.
3821         (Fdefine_char): Don't use coded-charset which does not have
3822         non-builtin character range to allocate character-id.
3823         (Qmojikyo): New variable.
3824         (syms_of_mule_charset): Add new symbol `mojikyo'.
3825         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3826
3827         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3828         (LEADING_BYTE_MOJIKYO): New macro.
3829         (MIN_CHAR_MOJIKYO): New macro.
3830         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3831         (MAX_CHAR_MOJIKYO): New macro.
3832
3833 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3834
3835         * mule-charset.c (remove_char_attribute): Fixed.
3836
3837 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3838
3839         * mule-charset.c (remove_char_attribute): New function.
3840         (Fremove_char_attribute): New function.
3841         (encode_builtin_char_1): Comment out builtin-support for
3842         greek-iso8859-7 and cyrillic-iso8859-5.
3843         (Fdecode_char): Check `code' is an integer.
3844         (syms_of_mule_charset): Add `remove-char-attribute'.
3845         (MIN_CHAR_GREEK): Deleted.
3846         (MAX_CHAR_GREEK): Likewise.
3847         (MIN_CHAR_CYRILLIC): Likewise.
3848         (MAX_CHAR_CYRILLIC): Likewise.
3849         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3850         MAX_CHAR_GREEK for `greek-iso8859-7'.
3851
3852         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3853         (MAX_CHAR_GREEK): Likewise.
3854         (MIN_CHAR_CYRILLIC): Likewise.
3855         (MAX_CHAR_CYRILLIC): Likewise.
3856
3857 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3858
3859         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3860         format is used without `ucs' property.
3861         (Fdecode_char): Fix problem with GR representation.
3862         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3863         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3864
3865 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * mule-charset.c (make_builtin_char): New function.
3868         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3869         (Fset_charset_mapping_table): Modify for new representation of
3870         code-point.
3871         (Fdecode_char): New function.
3872         (syms_of_mule_charset): Add new builtin function `decode-char' in
3873         UTF-2000.
3874
3875         * char-ucs.h (make_builtin_char): New prototype.
3876         (DECODE_CHAR): New inline function.
3877         (MAKE_CHAR): Use `DECODE_CHAR'.
3878
3879 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3880
3881         * text-coding.c (parse_charset_conversion_specs): Use
3882         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3883         `XCHARSET_TYPE'.
3884         (iso2022_designate): Likewise.
3885
3886         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3887         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3888
3889         * mule-charset.c (Vcharset_ucs): New variable.
3890         (print_charset): Change design; use `CHARSET_CHARS' and
3891         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3892         (make_charset): Change signature to specify `chars' and
3893         `dimension' instead of `type'.
3894         (range_charset_code_point): Modify for 256^n-set.
3895         (encode_builtin_char_1): Encode as `ucs' in default.
3896         (Fmake_charset): Modify for `make_charset'.
3897         (Fmake_reverse_direction_charset): Likewise.
3898         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3899         UTF-2000.
3900         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3901         for `make_charset'.
3902
3903         * char-ucs.h (Vcharset_ucs): New variable.
3904         (LEADING_BYTE_UCS): New macro.
3905         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3906         and `chars' to `unsigned short' from `unsigned int'.
3907         (CHARSET_TYPE): Deleted.
3908         (XCHARSET_TYPE): Deleted.
3909
3910 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3911
3912         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3913
3914         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3915         (ENCODE_CHAR): New macro.
3916
3917 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3918
3919         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3920         to 0.14 (Kawachi-Katakami).
3921
3922 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3923
3924         * text-coding.c (char_encode_shift_jis): Modify for
3925         `charset_code_point'.
3926         (char_encode_iso2022): Likewise.
3927
3928         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3929         (integer) instead of list of <Lisp_Object>s (integers) as the
3930         format of code-point of a coded-charset.
3931         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3932         (encode_builtin_char_1): New function; delete
3933         `split_builtin_char'.
3934         (charset_code_point): Return <int> instead of <Lisp_Object>.
3935         (Fsplit_char): Don't use `SPLIT_CHAR'.
3936
3937         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3938         prototype for `split_builtin_char'.
3939         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3940         (charset_code_point): Likewise.
3941         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3942         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3943
3944 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3945
3946         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3947         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3948
3949 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3950
3951         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3952
3953         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3954         (MAX_CHAR_OBS_94x94): Deleted.
3955
3956 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3957
3958         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3959
3960         * char-ucs.h (MAX_CHAR_BMP): New macro.
3961
3962 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3963
3964         * text-coding.c: Sync with r21-2-24.
3965
3966 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3967
3968         * file-coding.c: Modify for UTF-2000.
3969
3970 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3971
3972         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3973         to 0.13 (Takaida).
3974
3975 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3976
3977         * mule-charset.c (split_builtin_char): Delete builtin support for
3978         `katakana-jisx0201'.
3979         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3980         BMP area in builtin representation.
3981
3982         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3983         `Vcharset_katakana_jisx0201'.
3984
3985 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3986
3987         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3988         (Qisolated): New variable.
3989         (Qinitial): New variable.
3990         (Qmedial): New variable.
3991         (Qfinal): New variable.
3992         (Qvertical): New variable.
3993         (Qsmall): New variable.
3994         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3995         `Qvertical' and `Qsmall'.
3996         (Qmojikyo_pj_[1 .. 21]): New variable.
3997         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3998         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3999         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4000         .. 21]'.
4001
4002 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4003
4004         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4005         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4006         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4007
4008 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4009
4010         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4011         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4012         BMP.
4013         (Qjapanese_jisx0208_1990): New variable.
4014         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4015         (complex_vars_of_mule_charset): Add new coded-charset
4016         `japanese-jisx0208-1990'.
4017
4018         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4019         (MIN_CHAR_JIS_X0208_1990): New macro.
4020         (MAX_CHAR_JIS_X0208_1990): New macro.
4021
4022 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4023
4024         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4025         coded-charset is not found.
4026
4027 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4028
4029         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4030         (Fdefine_char): Use `Fmake_char'.
4031
4032 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4033
4034         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4035         (Vcharset_hiragana_jisx0208): Deleted.
4036         (Vcharset_katakana_jisx0208): Deleted.
4037         (Qideograph_daikanwa): New variable.
4038         (Qhiragana_jisx0208): Deleted.
4039         (Qkatakana_jisx0208): Deleted.
4040         (split_builtin_char): Split `ideograph-daikanwa'.
4041         (Fsplit_char): New implementation for UTF-2000.
4042         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4043         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4044         (complex_vars_of_mule_charset): Add new coded-charset
4045         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4046         `katakana-jisx0208'.
4047
4048         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4049         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4050         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4051         (MIN_CHAR_DAIKANWA): New macro.
4052         (MAX_CHAR_DAIKANWA): New macro.
4053
4054 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4055
4056         * data.c (Fstring_to_number): Don't recognize floating point if
4057         base is not 10.
4058
4059 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4060
4061         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4062
4063 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4064
4065         * mule-charset.c (Qsquare): New variable.
4066         (to_char_code): Add `Qsquare'.
4067         (syms_of_mule_charset): Add new symbol `square'.
4068
4069 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4070
4071         * mule-charset.c (Qcircle): New variable.
4072         (to_char_code): Add `Qcircle'.
4073         (syms_of_mule_charset): Add new symbol `circle'.
4074
4075 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4076
4077         * mule-charset.c (Qfont): New variable.
4078         (to_char_code): Add `Qfont'.
4079         (syms_of_mule_charset): Add new symbol `font'.
4080
4081 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4082
4083         * mule-charset.c (Qsub): New variable.
4084         (to_char_code): Add `Qsub'.
4085         (syms_of_mule_charset): Add new symbol `sub'.
4086
4087 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4088
4089         * mule-charset.c (Fput_char_attribute): Convert each element of
4090         VALUE to GL position if ATTRIBUTE is a GR-set,
4091
4092 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4093
4094         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4095         coded-charset is a GR-set.
4096
4097 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4098
4099         * mule-charset.c (Fput_char_attribute): Check each element of
4100         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4101
4102 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4103
4104         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4105         UTF-2000.
4106         (Qethiopic_ucs): New variable in UTF-2000.
4107         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4108         (complex_vars_of_mule_charset): Add new coded-charset
4109         `ethiopic-ucs' in UTF-2000.
4110
4111         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4112         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4113         9)'.
4114         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4115         10)'.
4116         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4117
4118 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4119
4120         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4121         `ascii'.
4122
4123 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4124
4125         * mule-charset.c (Vcharacter_variant_table): New variable.
4126         (Q_ucs): New variable.
4127         (Fchar_variants): New function.
4128         (Fput_char_attribute): Register `->ucs' value to
4129         `Vcharacter_variant_table'.
4130         (syms_of_mule_charset): Add new function `char-variants' and new
4131         symbol `->ucs'.
4132         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4133
4134 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4135
4136         * mule-charset.c (get_char_code_table): Allow negative character
4137         code.
4138         (put_char_code_table): Likewise.
4139         (Vcharacter_composition_table): New variable.
4140         (Q_decomposition): New variable.
4141         (Qwide): New variable.
4142         (Qnarrow): New variable.
4143         (Qcompat): New variable.
4144         (QnoBreak): New variable.
4145         (Qsuper): New variable.
4146         (Qfraction): New variable.
4147         (to_char_code): New function.
4148         (Fget_composite_char): New function.
4149         (Fput_char_attribute): Register `->decomposition' value to
4150         `Vcharacter_composition_table'.
4151         (syms_of_mule_charset): Add new function `get-composite-char', new
4152         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4153         `super' and `fraction'.
4154         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4155
4156 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4157
4158         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4159         character; copy the return value.
4160
4161 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4162
4163         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4164
4165         * mule-charset.c (range_charset_code_point): Must use make_int.
4166         (split_builtin_char): New function.
4167
4168 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * mule-charset.c (char_byte_table): Change name from
4171         "char-code-table" to "char-byte-table".
4172         (mark_char_code_table): New function.
4173         (char_code_table_equal): New function.
4174         (char_code_table_hash): New function.
4175         (char_code_table_description): New constant.
4176         (char_code_table): New type.
4177         (make_char_code_table): New function.
4178         (copy_char_code_table): New function.
4179         (get_char_code_table): Modify for `char_code_table' type.
4180         (put_char_code_table): Likewise.
4181         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4182         (Kashiwara).
4183
4184         * char-ucs.h (char_code_table): New type.
4185         (XCHAR_CODE_TABLE): New macro.
4186         (XSETCHAR_CODE_TABLE): New macro.
4187         (CHAR_CODE_TABLE_P): New macro.
4188         (GC_CHAR_CODE_TABLE_P): New macro.
4189         (struct Lisp_Char_Code_Table): New structure.
4190
4191 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4192
4193         * mule-charset.c (Fmake_charset): Setup byte_offset for
4194         {94|96}^n-set.
4195
4196 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4197
4198         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4199         character.
4200
4201 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4202
4203         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4204         is found.
4205
4206 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4207
4208         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4209         charset, it is regarded as a charset.
4210         (put_char_attribute): New function in UTF-2000.
4211         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4212         charset, mapping-table of the charset is modified.
4213         (Fdefine_char): New function in UTF-2000.
4214         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4215         `Fput_char_attribute'.
4216         (syms_of_mule_charset): Add new function `define-char' and new
4217         symbol `ucs' in UTF-2000.
4218         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4219
4220 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4221
4222         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4223         non-UTF-2000 configuration.
4224
4225 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4226
4227         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4228         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4229
4230         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4231         deleted.
4232         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4233         (Fset_charset_mapping_table): Likewise.
4234
4235         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4236         (CHARSET_ENCODING_TABLE): Delete.
4237         (XCHARSET_ENCODING_TABLE): Delete.
4238         (charset_code_point): New interface.
4239
4240 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4241
4242         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4243         instead of `charset_get_byte1' and `charset_get_byte2'.
4244
4245         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4246         (charset_get_byte2): Deleted.
4247
4248 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4249
4250         * char-ucs.h (SPLIT_CHAR): New inline function.
4251         (breakup_char_1): Use `SPLIT_CHAR'.
4252
4253         * mule-charset.c (range_charset_code_point): New function.
4254         (charset_code_point): New function.
4255
4256         * char-ucs.h (range_charset_code_point): New interface.
4257         (breakup_char_1): Use `range_charset_code_point'.
4258
4259 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4260
4261         * mule-charset.c (Fmake_charset): Delete unused local variable
4262         `code_offset'.
4263
4264         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4265         (breakup_char_1): Find a charset and code-point in
4266         `Vcharacter_attribute_table'.
4267
4268 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4269
4270         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4271         to 0.10 (Yao).
4272
4273 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4274
4275         * mule-charset.c (Vcharacter_attribute_table): New variable.
4276         (Fchar_attribute_alist): New function.
4277         (Fget_char_attribute): New function.
4278         (Fput_char_attribute): New function.
4279         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4280         too.
4281         (syms_of_mule_charset): Add new function `char-attribute-alist',
4282         `get-char-attribute' and `put-char-attribute'.
4283         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4284
4285 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4286
4287         * mule-charset.c (Fmake_charset): Just use
4288         `get_unallocated_leading_byte'.
4289
4290         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4291         sets; don't use final-byte based number for private sets.
4292
4293 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4294
4295         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4296         integer.
4297
4298 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4299
4300         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4301         to 0.9.
4302
4303 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4304
4305         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4306         of `CHAR_LEADING_BYTE' in UTF-2000.
4307
4308         * insdel.c (find_charsets_in_bufbyte_string): Use
4309         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4310         (find_charsets_in_emchar_string): Likewise.
4311
4312         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4313         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4314
4315         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4316         (CHAR_CHARSET_ID): New macro.
4317
4318 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4319
4320         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4321         charset-id - MIN_LEADING_BYTE.
4322         (put_char_table): Likewise.
4323
4324 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4325
4326         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4327         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4328         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4329         (CHARSET_ID_OFFSET): New macro.
4330         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4331         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4332         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4333         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4334         4).
4335         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4336         5).
4337         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4338         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4339         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4340         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4341         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4342
4343 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4344
4345         * mule-charset.c (next_allocated_leading_byte): New variable in
4346         UTF-2000.
4347         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4348         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4349         (get_unallocated_leading_byte): Simply use
4350         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4351         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4352         UTF-2000.
4353
4354         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4355         (MAX_LEADING_BYTE_PRIVATE): New macro.
4356         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4357         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4358
4359 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4360
4361         * mule-charset.c (Fmake_charset): Allocate final-byte based
4362         charset-id for 94-set, 96-set and 94x94-set.
4363
4364 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4365
4366         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4367         ambiguous `else'.
4368         (Fmake_charset): Likewise.
4369         (complex_vars_of_mule_charset): Modify the font registry of
4370         `ucs-bmp' not to match `Ethiopic-Unicode'.
4371
4372 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4373
4374         * mule-charset.c (complex_vars_of_mule_charset): Add font
4375         registory of `ucs-bmp'.
4376
4377 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4378
4379         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4380         coded-charsets in `default-coded-charset-priority-list' when
4381         breaking up a character.
4382
4383         * mule-charset.c (Vcharset_latin_viscii): New variable.
4384         (Qlatin_viscii): New variable.
4385         (make_charset): Don't use `decoding_table'.
4386         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4387         byte_offset.
4388         (Fset_charset_mapping_table): New implementation.
4389         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4390         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4391         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4392         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4393         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4394         charset `latin_viscii'.
4395
4396         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4397         (CHARSET_TYPE_94X94): Change to 1 from 2.
4398         (CHARSET_TYPE_96): Change to 2 from 1.
4399         (CHARSET_TYPE_128): New macro.
4400         (CHARSET_TYPE_128X128): Change to 5 from 4.
4401         (CHARSET_TYPE_256): New macro.
4402         (CHARSET_TYPE_256X256): Change to 7 from 5.
4403         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4404
4405 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4406
4407         * text-coding.c (char_encode_shift_jis): Refer
4408         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4409         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4410
4411         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4412         (char_byte_table_equal): New function in UTF-2000.
4413         (char_byte_table_hash): New function in UTF-2000.
4414         (char_byte_table_description): New constant in UTF-2000.
4415         (char_byte_table): New type in UTF-2000.
4416         (make_char_byte_table): New function in UTF-2000.
4417         (copy_char_byte_table): New function in UTF-2000.
4418         (make_char_code_table): New macro in UTF-2000.
4419         (get_char_code_table): New function in UTF-2000.
4420         (put_char_code_table): New function in UTF-2000.
4421         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4422         (charset_description): Add setting in UTF-2000.
4423         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4424         `CHARSET_TO_BYTE1_TABLE(cs)'.
4425         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4426         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4427         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4428         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4429         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4430         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4431         `CHARSET_TO_BYTE2_TABLE(cs)'.
4432
4433         * char-ucs.h (char_byte_table): New type.
4434         (XCHAR_BYTE_TABLE): New macro.
4435         (XSETCHAR_BYTE_TABLE): New macro.
4436         (CHAR_BYTE_TABLE_P): New macro.
4437         (GC_CHAR_BYTE_TABLE_P): New macro.
4438         (struct Lisp_Char_Byte_Table): New structure.
4439         (get_char_code_table): New interface.
4440         (Emchar_to_byte_table): Deleted.
4441         (get_byte_from_character_table): Deleted.
4442         (struct Lisp_Charset): Add `encoding_table'; delete
4443         `to_byte1_table' and `to_byte2_table'.
4444         (CHARSET_ENCODING_TABLE): New macro.
4445         (CHARSET_TO_BYTE1_TABLE): Deleted.
4446         (CHARSET_TO_BYTE2_TABLE): Deleted.
4447         (XCHARSET_ENCODING_TABLE): New macro.
4448         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4449         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4450
4451 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4452
4453         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4454         `vietnamese-viscii-*'.
4455
4456 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4459         (Qvietnamese_viscii_upper): New variable.
4460         (Fdefine_charset_alias): New function.
4461         (syms_of_mule_charset): Add new function `define-charset-alias'.
4462         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4463         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4464         `latin-viscii-*'.
4465
4466 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4469         (MAX_CHAR_OBS_94x94): New macro.
4470         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4471         for 94x94 sets.
4472
4473         * mule-charset.c (put_byte_from_character_table): Change unit size
4474         from 128 to 256.
4475         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4476         not defined.
4477         (Fmake_reverse_direction_charset): Modify dummy argument of
4478         `make_charset' for non-UTF-2000 environment.
4479
4480 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4481
4482         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4483
4484         * mule-charset.c (destroy_byte_from_character_table): New macro.
4485         (latin_jisx0201_to_ucs): Deleted.
4486         (latin_iso8859_2_to_ucs): Deleted.
4487         (latin_iso8859_3_to_ucs): Deleted.
4488         (latin_iso8859_4_to_ucs): Deleted.
4489         (latin_iso8859_9_to_ucs): Deleted.
4490         (latin_viscii_lower_to_ucs): Deleted.
4491         (latin_viscii_upper_to_ucs): Deleted.
4492         (mark_charset): Mark `cs->decoding_table'.
4493         (Fcharset_mapping_table): Fix DOC-string.
4494         (Fset_charset_mapping_table): New function.
4495         (syms_of_mule_charset): Add nwe function
4496         `set-charset-mapping-table'.
4497         (complex_vars_of_mule_charset): Don't setup and use
4498         `latin_*_to_ucs'.
4499
4500 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4501
4502         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4503         charset.
4504
4505 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4506
4507         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4508         (Vcharset_katakana_jisx0208): New variable.
4509         (Qhiragana_jisx0208): New variable.
4510         (Qkatakana_jisx0208): New variable.
4511         (make_charset): Add new argument `byte_offset'.
4512         (charset_get_byte1): Modify for new coded-charset definition; use
4513         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4514         `XCHARSET_BYTE_OFFSET'.
4515         (Fmake_charset): Modify for `make_charset'.
4516         (Fmake_reverse_direction_charset): Likewise.
4517         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4518         `katakana-jisx0208'.
4519         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4520         `.'  in font registry of charset `katakana-jisx0201',
4521         `latin-jisx0201', `vietnamese-viscii-lower' and
4522         `vietnamese-viscii-upper'; modify DOC-string of charset
4523         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4524         registry of charset `japanese-jisx0208' not to use font for JIS
4525         X0208:1990; add new charset `hiragana-jisx0208' and
4526         `katakana-jisx0208'.
4527
4528         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4529         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4530         (struct Lisp_Charset): Add `byte_offset'.
4531         (CHARSET_BYTE_OFFSET): New macro.
4532         (XCHARSET_UCS_MIN): New macro.
4533         (XCHARSET_UCS_MAX): New macro.
4534         (XCHARSET_CODE_OFFSET): New macro.
4535         (XCHARSET_BYTE_OFFSET): New macro.
4536         (MIN_CHAR_HIRAGANA): New macro.
4537         (MAX_CHAR_HIRAGANA): New macro.
4538         (MIN_CHAR_KATAKANA): New macro.
4539         (MAX_CHAR_KATAKANA): New macro.
4540         (MAKE_CHAR): Modify for new coded-charset definition; use
4541         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4542         `XCHARSET_BYTE_OFFSET'.
4543
4544 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4545
4546         * mule-charset.c (CHAR96): Deleted.
4547         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4548         <Lisp_Object>.
4549         (latin_iso8859_2_to_ucs): Likewise.
4550         (latin_iso8859_3_to_ucs): Likewise.
4551         (latin_iso8859_4_to_ucs): Likewise.
4552         (latin_iso8859_9_to_ucs): Likewise.
4553         (latin_viscii_lower_to_ucs): Likewise.
4554         (latin_viscii_upper_to_ucs): Likewise.
4555         (latin_tcvn5712_to_ucs): Commented out.
4556         (make_charset): Change type of argument `decoding_table' from
4557         <Emchar*> to <Lisp_Object> [vector of characters].
4558         (Fmake_charset): Modify for `make_charset'.
4559         (Fmake_reverse_direction_charset): Likewise.
4560         (Fcharset_mapping_table): New function in UTF-2000.
4561         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4562         UTF-2000.
4563         (complex_vars_of_mule_charset): Modify for type change of
4564         `*_to_ucs'; modify for `make_charset'.
4565
4566         * char-ucs.h (struct Lisp_Charset): Change type of
4567         `decoding_table' from <Emchar*> to <Lisp_Object>.
4568         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4569
4570 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4571
4572         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4573         error with non-UTF-2000-Mule.
4574
4575 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4576
4577         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4578         in lisp again].
4579         (Vcharset_chinese_cns11643_4): Likewise.
4580         (Vcharset_chinese_cns11643_5): Likewise.
4581         (Vcharset_chinese_cns11643_6): Likewise.
4582         (Vcharset_chinese_cns11643_7): Likewise.
4583         (Qchinese_cns11643_3): Likewise.
4584         (Qchinese_cns11643_4): Likewise.
4585         (Qchinese_cns11643_5): Likewise.
4586         (Qchinese_cns11643_6): Likewise.
4587         (Qchinese_cns11643_7): Likewise.
4588         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4589         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4590         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4591         (complex_vars_of_mule_charset): Likewise.
4592
4593 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4594
4595         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4596         96-set.
4597         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4598         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4599
4600 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4601
4602         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4603         0xFF60.
4604         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4605         (breakup_char_1): Likewise.
4606
4607         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4608         one of them includes the specified character.
4609
4610 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4611
4612         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4613
4614 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4617
4618 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4619
4620         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4621         definition for non-UTF-2000 Mule.
4622         (latin_iso8859_3_to_ucs): Likewise.
4623         (latin_iso8859_4_to_ucs): Likewise.
4624         (latin_iso8859_9_to_ucs): Likewise.
4625         (latin_jisx0201_to_ucs): Likewise.
4626         (MIN_CHAR_THAI): Likewise.
4627         (MAX_CHAR_THAI): Likewise.
4628         (MIN_CHAR_GREEK): Likewise.
4629         (MAX_CHAR_GREEK): Likewise.
4630         (MIN_CHAR_HEBREW): Likewise.
4631         (MAX_CHAR_HEBREW): Likewise.
4632         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4633         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4634         (MIN_CHAR_CYRILLIC): Likewise.
4635         (MAX_CHAR_CYRILLIC): Likewise.
4636
4637 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4638
4639         * char-ucs.h (breakup_char_1): Use
4640         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4641         thai-tis620 and katakana-jisx0201 area.
4642
4643 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4644
4645         * char-ucs.h (breakup_char_1): Use
4646         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4647         area.
4648
4649         * text-coding.c (reset_encoding_stream): Fixed.
4650         (char_encode_ucs4): Delete `& 255'.
4651
4652         * char-ucs.h (breakup_char_1): Use
4653         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4654
4655 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4656
4657         * file-coding.c (Fmake_coding_system): Don't set up
4658         `codesys->fixed.size'.
4659         (encode_coding_no_conversion): Don't refer
4660         `str->codesys->fixed.size'.
4661
4662 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4663
4664         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4665         (latin_a_char_to_byte1): Deleted.
4666         (latin_a_char_to_byte2): Deleted.
4667
4668 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4669
4670         * mule-charset.c (make_charset): Add new argument `ucs_min',
4671         `ucs_max' and `code_offset'.
4672         (charset_get_byte1): New implementation [delete specific charset
4673         depended implementations].
4674         (Fmake_charset): Modify for `make_charset'.
4675         (Fmake_reverse_direction_charset): Likewise.
4676         (complex_vars_of_mule_charset): Likewise.
4677
4678         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4679         `code_offset'.
4680         (CHARSET_UCS_MIN): New macro.
4681         (CHARSET_UCS_MAX): New macro.
4682         (CHARSET_CODE_OFFSET): New macro.
4683         (MAKE_CHAR): Delete charset depended definitions [except
4684         katakana-jisx0201].
4685
4686 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4687
4688         * char-ucs.h (breakup_char_1): Use
4689         `Vdefault_coded_charset_priority_list' for C0-Controls,
4690         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4691
4692 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4693
4694         * char-ucs.h (charset_get_byte1): New function.
4695         (XCHARSET_GET_BYTE1): Deleted.
4696         (charset_get_byte2): New function.
4697         (XCHARSET_GET_BYTE2): Deleted.
4698         (Vdefault_coded_charset_priority_list): New external variable.
4699         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4700         `Vdefault_preferred_coded_charset_list'.
4701
4702         * mule-charset.c (charset_get_byte1): New function.
4703         (charset_get_byte2): New function.
4704         (Vdefault_coded_charset_priority_list): New variable.
4705         (vars_of_mule_charset): Add new variable
4706         `default-coded-charset-priority-list'.
4707
4708 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4709
4710         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4711         (XCHARSET_GET_BYTE2): New inline function.
4712         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4713         `XCHARSET_GET_BYTE2'.
4714
4715 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4716
4717         * mule-charset.c (make_charset): Initialize
4718         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4719         NULL if table is not defined.
4720
4721 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4722
4723         * text-coding.c (char_encode_shift_jis): Use
4724         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4725         `ucs_to_latin_jisx0201'.
4726
4727         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4728         (ucs_to_latin_iso8859_2): Deleted.
4729         (ucs_to_latin_iso8859_3): Deleted.
4730         (ucs_to_latin_iso8859_4): Deleted.
4731         (ucs_to_latin_iso8859_9): Deleted.
4732         (ucs_to_latin_viscii_lower): Deleted.
4733         (ucs_to_latin_viscii_upper): Deleted.
4734         (ucs_to_latin_tcvn5712): Deleted.
4735         (make_charset): Add new argument `decoding_table'; set up
4736         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4737         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4738         `decoding_table' is defined in UTF-2000.
4739         (Fmake_charset): Modify for `make_charset'.
4740         (Fmake_reverse_direction_charset): Likewise.
4741         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4742         and `GENERATE_96_SET'.
4743
4744         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4745         (ucs_to_latin_jisx0201): Deleted.
4746         (latin_iso8859_2_to_ucs): Deleted.
4747         (ucs_to_latin_iso8859_2): Deleted.
4748         (latin_iso8859_3_to_ucs): Deleted.
4749         (ucs_to_latin_iso8859_3): Deleted.
4750         (latin_iso8859_4_to_ucs): Deleted.
4751         (ucs_to_latin_iso8859_4): Deleted.
4752         (latin_iso8859_9_to_ucs): Deleted.
4753         (ucs_to_latin_iso8859_9): Deleted.
4754         (latin_viscii_lower_to_ucs): Deleted.
4755         (ucs_to_latin_viscii_lower): Deleted.
4756         (latin_viscii_upper_to_ucs): Deleted.
4757         (ucs_to_latin_viscii_upper): Deleted.
4758         (struct Lisp_Charset): Renamed `encoding_table' to
4759         `to_byte1_table'; add `to_byte2_table'.
4760         (CHARSET_DECODING_TABLE): New macro.
4761         (CHARSET_TO_BYTE1_TABLE): New macro.
4762         (CHARSET_TO_BYTE2_TABLE): New macro.
4763         (XCHARSET_DECODING_TABLE): New macro.
4764         (XCHARSET_TO_BYTE1_TABLE): New macro.
4765         (XCHARSET_TO_BYTE2_TABLE): New macro.
4766         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4767         tables.
4768         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4769         don't use `ucs_to_*' tables.
4770
4771 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4772
4773         * text-coding.c (Fmake_coding_system): Don't set up
4774         `codesys->fixed.size'.
4775         (encode_coding_no_conversion): Use `if' instead of `switch'.
4776
4777         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4778
4779 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4780
4781         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4782         (Fmake_charset): Modify for `make_charset'.
4783         (Fmake_reverse_direction_charset): Likewise.
4784         (complex_vars_of_mule_charset): Likewise.
4785
4786 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4787
4788         * text-coding.c (char_encode_shift_jis): Use table
4789         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4790
4791 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4792
4793         * text-coding.c (text_encode_generic): Use `if' instead of
4794         `switch'.
4795         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4796         decode JIS-Latin.
4797
4798 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4799
4800         * text-coding.c (encode_coding_sjis): Deleted.
4801         (char_encode_shift_jis): New function.
4802         (char_finish_shift_jis): New function.
4803         (reset_encoding_stream): Set up `encode_char' and `finish' for
4804         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4805         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4806         (char_encode_utf8): Treat `eol_type'.
4807
4808 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4809
4810         * file-coding.c (decode_coding_iso2022): Use
4811         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4812
4813 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4814
4815         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4816         to 0.7 (Hirano).
4817
4818 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4819
4820         * char-lb.h (CHAR_COLUMNS): New macro.
4821
4822 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4823
4824         * text-coding.c (char_encode_ucs4): New function.
4825         (char_finish_ucs4): New function.
4826         (encode_coding_ucs4): Deleted.
4827         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4828         (text_encode_generic): Delete local variable `charset' and `half'.
4829         (ucs_to_mule_table): Deleted.
4830         (mule_to_ucs_table): Deleted.
4831         (Fset_ucs_char): Deleted.
4832         (ucs_to_char): Deleted.
4833         (Fucs_char): Deleted.
4834         (Fset_char_ucs): Deleted.
4835         (Fchar_ucs): Deleted.
4836         (decode_ucs4): Deleted.
4837         (mule_char_to_ucs4): Deleted.
4838         (encode_ucs4): Deleted.
4839         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4840         (decode_coding_utf8): Likewise.
4841         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4842         (char_encode_iso2022): Fixed.
4843         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4844         `Fset_char_ucs' and `Fchar_ucs'.
4845         (complex_vars_of_file_coding): Don't initialize
4846         `ucs_to_mule_table'.
4847
4848         * objects-tty.c (tty_initialize_font_instance): Don't use
4849         `XCHARSET_COLUMNS'.
4850
4851         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4852         UTF-2000.
4853
4854         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4855         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4856
4857         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4858         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4859         (emchar_string_displayed_columns): Likewise.
4860
4861         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4862         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4863         (string_column_at_point): Likewise.
4864         (Fmove_to_column): Likewise.
4865
4866         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4867         `encoding_table' and `decoding_table'.
4868         (CHARSET_REP_BYTES): Deleted.
4869         (XCHARSET_REP_BYTES): Deleted.
4870         (XCHARSET_COLUMNS): Deleted.
4871         (CHAR_COLUMNS): New macro.
4872         (lookup_composite_char): Deleted unconditionally.
4873         (composite_char_string): Likewise.
4874
4875 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4876
4877         * char-ucs.h (Emchar_to_byte_table): New type.
4878         (get_byte_from_character_table): New function interface.
4879         (Vcharset_latin_jisx0201): New variable.
4880         (latin_jisx0201_to_ucs): New variable.
4881         (ucs_to_latin_jisx0201): New variable.
4882         (Vcharset_latin_iso8859_2): New variable.
4883         (latin_iso8859_2_to_ucs): New variable.
4884         (ucs_to_latin_iso8859_2): New variable.
4885         (Vcharset_latin_iso8859_3): New variable.
4886         (latin_iso8859_3_to_ucs): New variable.
4887         (ucs_to_latin_iso8859_3): New variable.
4888         (Vcharset_latin_iso8859_4): New variable.
4889         (latin_iso8859_4_to_ucs): New variable.
4890         (ucs_to_latin_iso8859_4): New variable.
4891         (Vcharset_latin_iso8859_9): New variable.
4892         (latin_iso8859_9_to_ucs): New variable.
4893         (ucs_to_latin_iso8859_9): New variable.
4894         (Vcharset_latin_viscii_lower): New variable.
4895         (latin_viscii_lower_to_ucs): New variable.
4896         (ucs_to_latin_viscii_lower): New variable.
4897         (Vcharset_latin_viscii_upper): New variable.
4898         (latin_viscii_upper_to_ucs): New variable.
4899         (ucs_to_latin_viscii_upper): New variable.
4900         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4901         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4902         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4903         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4904         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4905         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4906         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4907         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4908         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4909         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4910
4911         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4912         (Vcharset_latin_viscii_upper): New variable.
4913         (make_byte_from_character_table): New function.
4914         (put_byte_from_character_table): New function.
4915         (get_byte_from_character_table): New function.
4916         (CHAR96): New macro.
4917         (ucs_to_latin_jisx0201): New variable.
4918         (latin_jisx0201_to_ucs): New variable.
4919         (ucs_to_latin_iso8859_2): New variable.
4920         (latin_iso8859_2_to_ucs): New variable.
4921         (ucs_to_latin_iso8859_3): New variable.
4922         (latin_iso8859_3_to_ucs): New variable.
4923         (ucs_to_latin_iso8859_4): New variable.
4924         (latin_iso8859_4_to_ucs): New variable.
4925         (ucs_to_latin_iso8859_9): New variable.
4926         (latin_iso8859_9_to_ucs): New variable.
4927         (ucs_to_latin_viscii_lower): New variable.
4928         (latin_viscii_lower_to_ucs): New variable.
4929         (ucs_to_latin_viscii_upper): New variable.
4930         (latin_viscii_upper_to_ucs): New variable.
4931         (ucs_to_latin_tcvn5712): New variable.
4932         (latin_tcvn5712_to_ucs): New variable.
4933         (Qlatin_viscii_lower): New variable.
4934         (Qlatin_viscii_upper): New variable.
4935         (syms_of_mule_charset): Set up new symbol
4936         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4937         (complex_vars_of_mule_charset): Set up new charset
4938         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4939         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4940         `ucs_to_<CHARSET>' tables.
4941
4942 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4943
4944         * text-coding.c: New file.
4945
4946 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4947
4948         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4949
4950         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4951         (MAKE_CHAR): Modify for `ucs-bmp'.
4952         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4953         non-MULE characters of BMP.
4954
4955 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4956
4957         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4958         to 0.6.
4959
4960 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4961
4962         * lstream.h:
4963         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4964         - Include character.h for `CHAR_ASCII_P'.
4965
4966         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4967
4968         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4969         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4970
4971         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4972         (BYTE_C0_P): Likewise.
4973         (BYTE_C1_P): Likewise.
4974         (Lstream_get_emchar_1): Likewise.
4975         (Lstream_fput_emchar): Likewise.
4976         (Lstream_funget_emchar): Likewise.
4977         (copy_internal_to_external): Likewise.
4978         (copy_external_to_internal): Likewise.
4979
4980         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4981         (BYTE_C0_P): Likewise.
4982         (BYTE_C1_P): Likewise.
4983         (Lstream_get_emchar_1): Likewise.
4984         (Lstream_fput_emchar): Likewise.
4985         (Lstream_funget_emchar): Likewise.
4986         (copy_internal_to_external): Likewise.
4987         (copy_external_to_internal): Likewise.
4988
4989         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4990         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4991
4992         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4993         (BYTE_ASCII_P): Moved to mb-1byte.h.
4994
4995 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4996
4997         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4998
4999         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5000         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5001         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5002         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5003         (VALIDATE_CHARPTR_FORWARD): Likewise.
5004         (simple_charptr_emchar): Moved to mb-multibyte.h.
5005         (simple_set_charptr_emchar): Likewise.
5006         (simple_charptr_copy_char): Likewise.
5007         (non_ascii_charptr_emchar): Likewise.
5008         (non_ascii_set_charptr_emchar): Likewise.
5009         (non_ascii_charptr_copy_char): Likewise.
5010         (charptr_emchar): Moved to mb-*byte.h.
5011         (set_charptr_emchar): Likewise.
5012         (charptr_copy_char): Likewise.
5013
5014         * mb-1byte.h, mb-multibyte.h: New files.
5015
5016 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5017
5018         * mb-utf-8.h (MULTIBYTE): New macro.
5019         (MAX_EMCHAR_LEN): Moved from buffer.h.
5020         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5021
5022         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5023
5024         * mb-lb.h, multibyte.h: New files.
5025
5026         * char-1byte.h (Charset_ID): Moved from buffer.h.
5027         (MIN_LEADING_BYTE): Likewise.
5028         (LEADING_BYTE_ASCII): Likewise.
5029         (NUM_LEADING_BYTES): Likewise.
5030         (CHARSETP): Likewise.
5031         (CHARSET_BY_LEADING_BYTE): Likewise.
5032         (XCHARSET_LEADING_BYTE): Likewise.
5033         (XCHARSET_GRAPHIC): Likewise.
5034         (XCHARSET_COLUMNS): Likewise.
5035         (XCHARSET_DIMENSION): Likewise.
5036         (CHAR_CHARSET): Likewise.
5037         (CHAR_LEADING_BYTE): Likewise.
5038         (BREAKUP_CHAR): Likewise.
5039         (Vcharset_ascii): Likewise.
5040
5041         * buffer.h: Include multibyte.h unconditionally.
5042         (VALID_CHARPTR_P): Moved to multibyte.h.
5043         (ASSERT_VALID_CHARPTR): Likewise.
5044         (REAL_INC_CHARPTR): Likewise.
5045         (REAL_INC_CHARBYTIND): Likewise.
5046         (REAL_DEC_CHARPTR): Likewise.
5047         (INC_CHARPTR): Likewise.
5048         (INC_CHARBYTIND): Likewise.
5049         (DEC_CHARPTR): Likewise.
5050         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5051         (VALIDATE_CHARPTR_FORWARD): Likewise.
5052         (charptr_n_addr): Likewise.
5053         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5054         (simple_charptr_emchar): Moved to multibyte.h.
5055         (simple_set_charptr_emchar): Likewise.
5056         (simple_charptr_copy_char): Likewise.
5057         (non_ascii_charptr_emchar): Likewise.
5058         (non_ascii_set_charptr_emchar): Likewise.
5059         (non_ascii_charptr_copy_char): Likewise.
5060         (charptr_emchar): Likewise.
5061         (set_charptr_emchar): Likewise.
5062         (charptr_copy_char): Likewise.
5063         (charptr_emchar_n): Likewise.
5064         (Charset_ID): Moved to char-1byte.h.
5065         (Vcharset_ascii): Likewise.
5066         (CHAR_CHARSET): Likewise.
5067         (CHAR_LEADING_BYTE): Likewise.
5068         (LEADING_BYTE_ASCII): Likewise.
5069         (NUM_LEADING_BYTES): Likewise.
5070         (MIN_LEADING_BYTE): Likewise.
5071         (CHARSETP): Likewise.
5072         (CHARSET_BY_LEADING_BYTE): Likewise.
5073         (XCHARSET_LEADING_BYTE): Likewise.
5074         (XCHARSET_GRAPHIC): Likewise.
5075         (XCHARSET_COLUMNS): Likewise.
5076         (XCHARSET_DIMENSION): Likewise.
5077         (BREAKUP_CHAR): Likewise.
5078
5079 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5080
5081         * character.h: Add document about interface for characters.
5082
5083         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5084         (MAKE_CHAR): Delete comment about
5085         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5086         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5087         (BREAKUP_CHAR): Modify name of arguments.
5088         (CHAR_CHARSET): Modify name of argument.
5089
5090         * buffer.h: Delete document about Emchar accessors.
5091
5092 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5093
5094         * character.h (CHAR_INTP): Moved from buffer.h
5095         (CHAR_OR_CHAR_INTP): Likewise.
5096         (XCHAR_OR_CHAR_INT): Likewise.
5097         (CHECK_CHAR_COERCE_INT): Likewise.
5098
5099         * buffer.h (CHAR_INTP): Moved to character.h
5100         (CHAR_OR_CHAR_INTP): Likewise.
5101         (XCHAR_OR_CHAR_INT): Likewise.
5102         (CHECK_CHAR_COERCE_INT): Likewise.
5103
5104 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5105
5106         * character.h:
5107         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5108         - Include char-1byte.h, char-lb.h or char-ucs.h.
5109
5110         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5111
5112         * buffer.h: Include character unconditionally.
5113         (valid_char_p): Moved to char-*.h.
5114         (non_ascii_valid_char_p): Moved to char-lb.h.
5115
5116         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5117
5118 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5119
5120         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5121         in UTF-2000 because it is not ported yet and not to use
5122         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5123         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5124         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5125
5126         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5127         (CHAR_ASCII_P): Moved from character.h.
5128
5129         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5130         (CHAR_ASCII_P): Likewise.
5131         (CHAR_FIELD1_MASK): Deleted.
5132         (CHAR_FIELD2_MASK): Deleted.
5133         (CHAR_FIELD3_MASK): Deleted.
5134         (MAX_CHAR_BASIC_LATIN): New macro.
5135         (CHAR_FIELD1): Deleted.
5136         (CHAR_FIELD2_INTERNAL): Deleted.
5137         (CHAR_FIELD3_INTERNAL): Deleted.
5138         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5139         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5140         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5141         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5142         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5143         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5144         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5145         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5146         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5147         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5148         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5149         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5150         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5151         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5152         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5153         (MIN_CHAR_COMPOSITION): Deleted.
5154         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5155         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5156
5157 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5158
5159         * buffer.h: Include mb-utf-8.h in UTF-2000.
5160
5161         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5162
5163         * mb-utf-8.h: New file.
5164
5165 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5166
5167         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5168         instead of `int'.
5169
5170         * mule-charset.h, buffer.h (Charset_ID): New type.
5171
5172 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5173
5174         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5175         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5176         instead of `MULE_CHAR_PRIVATE_OFFSET',
5177         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5178         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5179         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5180
5181         * character.h (Vcharset_japanese_jisx0212): New variable
5182         definition.
5183
5184 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5185
5186         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5187         (charset_by_attributes): Delete array about direction.
5188         (latin_a_char_to_charset): New variable in UTF-2000.
5189         (latin_a_char_to_byte1): New variable in UTF-2000.
5190         (latin_a_char_to_byte2): New variable in UTF-2000.
5191         (Qucs_bmp): New variable.
5192         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5193         `Bufbyte'.
5194         (next_allocated_2_byte_leading_byte): Likewise.
5195         (non_ascii_set_charptr_emchar): Likewise.
5196         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5197         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5198         `charset_by_attributes'.
5199         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5200         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5201         and `CHARSET_BY_LEADING_BYTE'.
5202         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5203         `utf-2000-version' to `vars_of_mule_charset'.
5204         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5205         define `leading-code-private-11' in UTF-2000; move setting of
5206         `utf-2000-version' from `syms_of_mule_charset'.
5207         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5208         UTF-2000.
5209
5210         * character.h (Charset_ID): New type.
5211         (LEADING_BYTE_UCS_BMP): New macro.
5212         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5213         (CHARSET_ID_OFFSET_94): New macro.
5214         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5215         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5216         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5217         final-byte.
5218         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5219         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5220         (CHARSET_ID_OFFSET_96): New macro.
5221         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5222         CHARSET_ID_OFFSET_96 and final-byte.
5223         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5224         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5225         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5226         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5227         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5228         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5229         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5230         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5231         (LEADING_BYTE_THAI_TIS620): Likewise.
5232         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5233         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5234         (CHARSET_ID_OFFSET_94x94): New macro.
5235         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5236         CHARSET_ID_OFFSET_94x94 and final-byte.
5237         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5238         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5239         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5240         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5241         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5242         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5243         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5244         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5245         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5246         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5247         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5248         (CHARSET_TYPE_128X128): New macro.
5249         (CHARSET_TYPE_256X256): New macro.
5250         (XCHARSET_PRIVATE_P): Delete unconditionally.
5251         (charset_by_attributes): Delete array about direction.
5252         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5253         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5254         (MIN_CHAR_94): New macro.
5255         (MAX_CHAR_94): New macro.
5256         (MIN_CHAR_96): New macro.
5257         (MAX_CHAR_96): New macro.
5258         (MIN_CHAR_94x94): New macro.
5259         (MAX_CHAR_94x94): New macro.
5260         (MIN_CHAR_96x96): New macro.
5261         (MAX_CHAR_96x96): New macro.
5262         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5263         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5264         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5265         - 32)'.
5266         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5267         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5268         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5269         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5270         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5271         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5272         `XCHARSET_LEADING_BYTE' to make code-point.
5273         (latin_a_char_to_charset): New variable.
5274         (latin_a_char_to_byte1): New variable.
5275         (latin_a_char_to_byte2): New variable.
5276         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5277         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5278         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5279
5280         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5281         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5282         (find_charsets_in_emchar_string): Likewise.
5283         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5284
5285         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5286         `int'.
5287         (decode_coding_iso2022): Likewise.
5288
5289         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5290         of `unsigned char'.
5291
5292         * redisplay.c (redisplay_text_width_emchar_string): Use
5293         `Charset_ID' instead of `unsigned char'.
5294         (redisplay_frame_text_width_string): Likewise.
5295
5296         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5297         `unsigned char'.
5298
5299         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5300         instead of `unsigned char'.
5301         (face_cachel_charset_font_metric_info): Likewise.
5302
5303         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5304         (get_non_ascii_char_table_value): Likewise.
5305         (get_char_table): Likewise.
5306         (put_char_table): Likewise.
5307         (map_over_other_charset): Likewise.
5308         (map_char_table): Likewise.
5309
5310         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5311         instead of `unsigned char'.
5312
5313 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5314
5315         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5316         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5317
5318         * mule-charset.c (leading_code_private_11): Don't define in
5319         UTF-2000.
5320
5321         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5322         in UTF-2000 because it is not ported yet and not to use
5323         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5324
5325 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5326
5327         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5328
5329 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5330
5331         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5332         in UTF-2000.
5333
5334         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5335         of unsigned char to store leading-byte.
5336
5337         * chartab.c (get_non_ascii_char_table_value): Don't use
5338         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5339
5340         * file-coding.c (encode_coding_big5): Delete bogus implementation
5341         in UTF2000.
5342
5343         * character.h (LEADING_BYTE_*): Delete definition for
5344         non-UTF-2000.
5345         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5346         (LEADING_BYTE_PREFIX_P): Deleted.
5347         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5348         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5349         (BUFBYTE_LEADING_BYTE_P): Deleted.
5350         (CHARSET_PRIVATE_P): Deleted unconditionally.
5351         (rep_bytes_by_first_byte): Deleted unconditionally.
5352         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5353         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5354         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5355         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5356         (CHAR_FIELD2): Deleted.
5357         (CHAR_FIELD3): Deleted.
5358         (MAKE_CHAR): Delete definition for non-UTF-2000.
5359         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5360         (breakup_char_1): New implementation.
5361         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5362         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5363
5364 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5365
5366         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5367         condition.
5368
5369 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5370
5371         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5372         (CHARSET_PRIVATE_P): Likewise.
5373         (XCHARSET_PRIVATE_P): Likewise.
5374         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5375
5376         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5377         UTF2000.
5378         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5379
5380 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5381
5382         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5383         (NUM_LEADING_BYTES): Changed from 128 to 256.
5384         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5385         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5386         UTF2000.
5387         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5388
5389         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5390         UTF2000.
5391         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5392         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5393         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5394         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5395         (Qchinese_cns11643_3): New variable in UTF2000.
5396         (Qchinese_cns11643_4): New variable in UTF2000.
5397         (Qchinese_cns11643_5): New variable in UTF2000.
5398         (Qchinese_cns11643_6): New variable in UTF2000.
5399         (Qchinese_cns11643_7): New variable in UTF2000.
5400         (syms_of_mule_charset): Define `chinese-cns11643-3',
5401         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5402         and `chinese-cns11643-7' in UTF2000.
5403         (vars_of_mule_charset): Initialize
5404         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5405         + 1 in UTF2000.
5406         (complex_vars_of_mule_charset): Setup charset
5407         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5408         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5409
5410 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5411
5412         * mule-charset.c: Move setting for `leading-code-private-11' from
5413         `syms_of_mule_charset' to `vars_of_mule_charset'.
5414
5415 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5416
5417         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5418         and `NUM_LEADING_BYTES' in assert.
5419
5420 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5421
5422         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5423         instead of 128.
5424         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5425         `NUM_LEADING_BYTES' instead of 128.
5426
5427 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5428
5429         * mule-charset.h (charset_by_leading_byte): Use
5430         `NUM_LEADING_BYTES' instead of 128.
5431         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5432
5433         * mule-charset.c (charset_by_leading_byte): Use
5434         `NUM_LEADING_BYTES' instead of 128.
5435         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5436
5437         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5438         128.
5439
5440 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5441
5442         * mule-charset.c (syms_of_mule_charset): Update to
5443         0.4 (Shin-Imamiya).
5444
5445 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5446
5447         * file-coding.c (encode_coding_sjis): New implementation for
5448         UTF2000.  (decode_coding_sjis): Ditto.
5449
5450 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5451
5452         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5453         Don't define in UTF2000.
5454
5455         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5456         defined.
5457
5458         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5459         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5460         MULE.
5461
5462 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5463
5464         * config.h.in (CHAR_IS_UCS4): New macro.
5465
5466         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5467         conventional MULE representation.
5468         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5469
5470         * mule-charset.h: Reverted to original.
5471
5472         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5473         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5474         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5475
5476         * character.h: New file.
5477
5478         * file-coding.c (Fmake_coding_system): Set 1 to
5479         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5480         defined.
5481         (encode_coding_no_conversion): New implementation for UTF2000.
5482
5483         * file-coding.h (struct Lisp_Coding_System): Add new member
5484         `fixed.size'.
5485
5486 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5487
5488         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5489         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5490         (encode_coding_iso2022): New implementation for UTF2000.
5491
5492 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5493
5494         * mule-canna.c (c2mu): New implementation for UTF2000.
5495         (m2c): Likewise.
5496
5497 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5498
5499         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5500
5501 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5502
5503         * file-coding.c (reset_encoding_stream): Set 0 to
5504         `str->iso2022.current_char_boundary' in UTF2000.
5505         (encode_utf8): Don't define in UTF2000.
5506         (encode_coding_utf8): New implementation for UTF-8 representation
5507         of UTF2000.
5508         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5509
5510 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5511
5512         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5513
5514         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5515         UTF2000.
5516         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5517
5518         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5519
5520         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5521         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5522         as UTF-8 in UTF2000.
5523         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5524         (non_ascii_valid_char_p): Don't define in UTF2000.
5525         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5526         (Lstream_get_emchar_1): Likewise.
5527         (utf-2000-version): New variable in UTF2000.
5528
5529         * lread.c (read_escape): Add new reader `u'.
5530
5531         * insdel.c (three_to_one_table): Don't define in UTF2000.
5532         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5533         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5534         UTF2000.
5535         (bytind_to_bufpos_func): Likewise.
5536         (buffer_mule_signal_inserted_region): Likewise.
5537         (vars_of_insdel): Don't initialize `three_to_one_table'.
5538         (init_buffer_text): Use `buf->text->mule_size' instead of
5539         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5540         UTF2000.
5541
5542         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5543         UTF-8 representation in UTF2000.
5544         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5545         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5546         (decode_coding_iso2022): Don't define local variable `lb' in
5547         UTF2000; don't use LEADING_BYTE in UTF2000; use
5548         `DECODE_ADD_UCS_CHAR' in UTF2000.
5549         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5550
5551         * config.h.in (UTF2000): New macro.
5552
5553         * buffer.h (struct buffer_text): Add new member `mule_size' and
5554         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5555         (valid_char_p): Return always 1 in UTF2000.
5556         (MAX_EMCHAR_LEN): 6 in UTF2000.
5557         (three_to_one_table): Don't define in UTF2000.
5558         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5559         UTF2000.
5560         (real_bytind_to_bufpos): Likewise.
5561
5562         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5563
5564 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5565
5566         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5567         representation change.
5568         (Vutf_2000_version): New variable.
5569         (leading_code_private_11): New variable.
5570         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5571         `leading-code-private-11'.
5572
5573         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5574         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5575         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5576         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5577         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5578         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5579         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5580         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5581         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5582         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5583         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5584         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5585         (MIN_CHAR_GREEK): New macro.
5586         (MAX_CHAR_GREEK): New macro.
5587         (MIN_CHAR_CYRILLIC): New macro.
5588         (MAX_CHAR_CYRILLIC): New macro.
5589         (MIN_CHAR_HEBREW): New macro.
5590         (MAX_CHAR_HEBREW): New macro.
5591         (MIN_CHAR_THAI): New macro.
5592         (MAX_CHAR_THAI): New macro.
5593         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5594         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5595         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5596         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5597         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5598         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5599         (CHAR_FIELD2): New inline function.
5600         (CHAR_FIELD3): New inline function.
5601         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5602         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5603         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5604         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5605         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5606         (MIN_CHAR_COMPOSITION): Likewise.
5607         (CHAR_LEADING_BYTE): Modified for character representation change.
5608         (MAKE_CHAR): Likewise.
5609
5610         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5611         (Vcharset_greek_iso8859_7): Likewise.
5612         (Vcharset_cyrillic_iso8859_5): Likewise.
5613         (Vcharset_hebrew_iso8859_8): Likewise.
5614         (Vcharset_thai_tis620): Likewise.
5615         (Vcharset_katakana_jisx0201): Likewise.
5616
5617 2005-02-06  Vin Shelton <acs@xemacs.org>
5618
5619         * XEmacs 21.4.17 is released
5620
5621 2005-01-31  Ben Wing  <ben@xemacs.org>
5622
5623         * emacs.c:
5624         Define assert_failed() always.
5625         * lisp.h:
5626         Always define ABORT().
5627
5628 2005-01-25  Ben Wing  <ben@xemacs.org>
5629
5630         * Makefile.in.in:
5631         * Makefile.in.in (%.o):
5632         Don't compile executable as Windows (-mwindows) under Cygwin.
5633         Semi-recent changes to Cygwin's executable-startup handling make
5634         it impossible to access the TTY this way.
5635
5636         Don't use special linker file under Cygwin (cygwin.sc) except
5637         when non-PDUMP (even in this case it is highly questionable); you
5638         get errors like
5639
5640       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5641    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5642
5643 2005-01-29  Ben Wing  <ben@xemacs.org>
5644
5645         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5646
5647         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5648
5649 2005-01-29  Ben Wing  <ben@xemacs.org>
5650
5651         * bytecode.c (optimize_compiled_function):
5652         * print.c (FROB):
5653         * print.c (long_to_string):
5654         Add casts to avoid warning.
5655         
5656         * glyphs-eimage.c:
5657         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5658         #### The better solution is to move the TIFF and JPEG code to
5659         different files.
5660         
5661         * glyphs-msw.c (mswindows_xbm_instantiate):
5662         Define __STDC__ to avoid problems with compface.h.
5663         
5664         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5665         * EmacsShell-sub.c:
5666         * EmacsShell-sub.c (ABORT):
5667         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5668         * EmacsShell-sub.c (RootGeometryManager):
5669         * EmacsShell.c:
5670         * EmacsShell.c (ABORT):
5671         * EmacsShell.c (EmacsShellUpdateSizeHints):
5672         * alloc.c (free_lcrecord):
5673         * alloca.c (i00afunc):
5674         * buffer.c (delete_from_buffer_alist):
5675         * buffer.c (MARKED_SLOT):
5676         * bytecode.c (execute_rare_opcode):
5677         * bytecode.c (optimize_byte_code):
5678         * bytecode.c (Ffetch_bytecode):
5679         * chartab.c (char_table_type_to_symbol):
5680         * chartab.c (Freset_char_table):
5681         * chartab.c (decode_char_table_range):
5682         * chartab.c (Fget_range_char_table):
5683         * chartab.c (check_valid_char_table_value):
5684         * chartab.c (map_char_table):
5685         * chartab.c (slow_map_char_table_fun):
5686         * chartab.c (chartab_instantiate):
5687         * cm.c (cmcheckmagic):
5688         * console-msw.c (DHEADER):
5689         * console.c (MARKED_SLOT):
5690         * data.c (finish_marking_weak_lists):
5691         * data.c (encode_weak_list_type):
5692         * debug.h (DASSERT):
5693         * device-gtk.c (gtk_init_device):
5694         * device-msw.c (mswindows_get_default_margin):
5695         * device-tty.c (tty_init_device):
5696         * device-x.c (get_device_from_display):
5697         * device-x.c (x_get_visual_depth):
5698         * doprnt.c (parse_doprnt_spec):
5699         * doprnt.c (get_doprnt_args):
5700         * dumper.c (pdump_get_indirect_count):
5701         * dumper.c (pdump_register_sub):
5702         * dumper.c (pdump_register_object):
5703         * dumper.c (pdump_register_struct):
5704         * dumper.c (pdump_dump_data):
5705         * dumper.c (pdump_reloc_one):
5706         * elhash.c (print_hash_table):
5707         * elhash.c (make_standard_lisp_hash_table):
5708         * elhash.c (hash_table_instantiate):
5709         * emacs.c:
5710         * emacs.c (Fforce_debugging_signal):
5711         * emacs.c (sort_args):
5712         * emacs.c (main):
5713         * emacs.c (assert_failed):
5714         * eval.c (throw_or_bomb_out):
5715         * eval.c (signal_1):
5716         * eval.c (Fsignal):
5717         * event-Xt.c:
5718         * event-Xt.c (emacs_Xt_mapping_action):
5719         * event-Xt.c (Xt_process_to_emacs_event):
5720         * event-msw.c:
5721         * event-stream.c (check_event_stream_ok):
5722         * event-stream.c (Fadd_timeout):
5723         * event-stream.c (Fadd_async_timeout):
5724         * event-stream.c (Fdiscard_input):
5725         * event-stream.c (execute_internal_event):
5726         * event-stream.c (Frecent_keys):
5727         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5728         * event-stream.c (lookup_command_event):
5729         * event-unixoid.c (poll_fds_for_input):
5730         * events.c:
5731         * events.c (mark_event):
5732         * events.c (event_equal):
5733         * events.c (event_hash):
5734         * events.c (Fmake_event):
5735         * events.c (Fdeallocate_event):
5736         * events.c (event_chain_find_previous):
5737         * events.c (event_to_character):
5738         * events.c (format_event_object):
5739         * events.c (Fevent_type):
5740         * events.c (event_pixel_translation):
5741         * events.c (Fevent_properties):
5742         * extents.c (extent_in_region_p):
5743         * extents.c (print_extent):
5744         * extents.c (process_extents_for_insertion_mapper):
5745         * extents.c (report_extent_modification_mapper):
5746         * extents.c (glyph_layout_to_symbol):
5747         * faces.c (face_validate):
5748         * file-coding.c (eol_type_to_symbol):
5749         * file-coding.c (subsidiary_coding_system):
5750         * file-coding.c (Fcoding_system_type):
5751         * file-coding.c (Fcoding_system_property):
5752         * file-coding.c (mule_decode):
5753         * file-coding.c (mule_encode):
5754         * file-coding.c (encode_coding_ucs4):
5755         * file-coding.c (encode_coding_utf8):
5756         * file-coding.c (parse_iso2022_esc):
5757         * file-coding.c (encode_coding_iso2022):
5758         * fileio.c:
5759         * fns.c (concat):
5760         * fns.c (Fsubseq):
5761         * fns.c (mapcar1):
5762         * fns.c (Fbase64_encode_region):
5763         * fns.c (Fbase64_encode_string):
5764         * fns.c (Fbase64_decode_region):
5765         * fns.c (Fbase64_decode_string):
5766         * font-lock.c (find_context):
5767         * font-lock.c (context_to_symbol):
5768         * frame-gtk.c (gtk_set_frame_pointer):
5769         * frame-gtk.c (gtk_update_frame_external_traits):
5770         * frame-x.c (x_wm_mark_shell_size_user_specified):
5771         * frame-x.c (x_wm_mark_shell_position_user_specified):
5772         * frame-x.c (x_wm_set_shell_iconic_p):
5773         * frame-x.c (x_wm_set_cell_size):
5774         * frame-x.c (x_wm_set_variable_size):
5775         * frame-x.c (x_wm_store_class_hints):
5776         * frame-x.c (x_wm_maybe_store_wm_command):
5777         * frame-x.c (x_initialize_frame_size):
5778         * frame-x.c (x_update_frame_external_traits):
5779         * frame.c:
5780         * frame.c (delete_frame_internal):
5781         * frame.c (mouse_pixel_position_1):
5782         * frame.c (change_frame_size_1):
5783         * free-hook.c (check_free):
5784         * free-hook.c (check_realloc):
5785         * free-hook.c (note_block_input):
5786         * free-hook.c (log_gcpro):
5787         * gccache-gtk.c (gc_cache_lookup):
5788         * glyphs-eimage.c (tiff_memory_write):
5789         * glyphs-gtk.c (gtk_finalize_image_instance):
5790         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5791         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5792         * glyphs-gtk.c (gtk_xpm_instantiate):
5793         * glyphs-gtk.c (gtk_unmap_subwindow):
5794         * glyphs-gtk.c (gtk_map_subwindow):
5795         * glyphs-gtk.c (gtk_button_redisplay):
5796         * glyphs-msw.c:
5797         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5798         * glyphs-x.c (init_image_instance_from_xbm_inline):
5799         * glyphs-x.c (extract_xpm_color_names):
5800         * glyphs-x.c (x_xpm_instantiate):
5801         * glyphs.c (get_image_instantiator_governing_domain):
5802         * glyphs.c (print_image_instance):
5803         * glyphs.c (image_instance_equal):
5804         * glyphs.c (image_instance_hash):
5805         * glyphs.c (encode_image_instance_type):
5806         * glyphs.c (make_image_instance_1):
5807         * glyphs.c (inherit_instantiate):
5808         * glyphs.c (image_instantiate):
5809         * glyphs.c (allocate_glyph):
5810         * glyphs.c (Fglyph_type):
5811         * glyphs.c (redisplay_subwindow):
5812         * glyphs.c (display_table_entry):
5813         * gtk-glue.c (xemacs_list_to_gtklist):
5814         * gtk-glue.c (xemacs_gtklist_to_list):
5815         * gtk-glue.c (xemacs_list_to_array):
5816         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5817         * gutter.c (gutter_was_visible):
5818         * gutter.c (get_gutter_coords):
5819         * input-method-xlib.c (get_XIM_input):
5820         * insdel.c (bufpos_to_bytind_func):
5821         * insdel.c (bytind_to_bufpos_func):
5822         * insdel.c (move_gap):
5823         * intl.c (x_get_composed_input):
5824         * keymap.c (keymap_lookup_directly):
5825         * keymap.c (keymap_delete_inverse_internal):
5826         * keymap.c (ensure_meta_prefix_char_keymapp):
5827         * keymap.c (accessible_keymaps_mapper_1):
5828         * keymap.c (where_is_recursive_mapper):
5829         * lisp.h:
5830         * lisp.h (ABORT):
5831         * lread.c (read_atom):
5832         * lstream.c (Lstream_delete):
5833         * lstream.c (make_lisp_buffer_stream_1):
5834         * macros.c (pop_kbd_macro_event):
5835         * malloc.c (malloc):
5836         * malloc.c (free):
5837         * marker.c (bi_marker_position):
5838         * marker.c (set_bi_marker_position):
5839         * menubar-gtk.c (menu_descriptor_to_widget_1):
5840         * menubar-msw.c (prune_menubar):
5841         * menubar-x.c (set_frame_menubar):
5842         * mule-charset.c (get_unallocated_leading_byte):
5843         * mule-charset.h (CHAR_LEADING_BYTE):
5844         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5845         * nt.c (init_environment):
5846         * nt.c (generate_inode_val):
5847         * ntproc.c (delete_child):
5848         * ntproc.c (_sys_read_ahead):
5849         * ntproc.c (create_child):
5850         * objects.c (color_instantiate):
5851         * objects.c (font_instantiate):
5852         * objects.c (face_boolean_instantiate):
5853         * print.c (printing_major_badness):
5854         * process-nt.c (nt_send_process):
5855         * process-unix.c (unix_send_process):
5856         * process.c (get_process):
5857         * ralloc.c (obtain):
5858         * ralloc.c (relinquish):
5859         * ralloc.c (relocate_blocs):
5860         * ralloc.c (resize_bloc):
5861         * ralloc.c (r_alloc_free):
5862         * ralloc.c (r_re_alloc):
5863         * ralloc.c (r_alloc_thaw):
5864         * ralloc.c (init_ralloc):
5865         * ralloc.c (Free_Addr_Block):
5866         * ralloc.c (r_alloc):
5867         * redisplay-gtk.c (gtk_output_display_block):
5868         * redisplay-msw.c (mswindows_output_display_block):
5869         * redisplay-output.c (get_next_display_block):
5870         * redisplay-output.c (get_cursor_size_and_location):
5871         * redisplay-output.c (redisplay_output_layout):
5872         * redisplay-output.c (redisplay_clear_region):
5873         * redisplay-tty.c (tty_output_display_block):
5874         * redisplay-x.c (x_output_display_block):
5875         * redisplay.c (add_propagation_runes):
5876         * redisplay.c (add_glyph_rune):
5877         * redisplay.c (create_text_block):
5878         * redisplay.c (add_margin_runes):
5879         * redisplay.c (create_left_glyph_block):
5880         * redisplay.c (create_right_glyph_block):
5881         * redisplay.c (create_string_text_block):
5882         * redisplay.c (regenerate_window):
5883         * redisplay.c (REGEN_INC_FIND_START_END):
5884         * redisplay.c (redisplay_frame):
5885         * redisplay.c (point_in_line_start_cache):
5886         * regex.c:
5887         * regex.c (ABORT):
5888         * regex.c (re_compile_fastmap):
5889         * regex.c (re_match_2_internal):
5890         * regex.c (regerror):
5891         * scrollbar-gtk.c (gtk_scrollbar_loop):
5892         * scrollbar-gtk.c (scrollbar_cb):
5893         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5894         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5895         * scrollbar-x.c (x_update_scrollbar_instance_status):
5896         * scrollbar-x.c (x_scrollbar_loop):
5897         * scrollbar-x.c (x_update_frame_scrollbars):
5898         * search.c (search_command):
5899         * search.c (Fmatch_data):
5900         * select-x.c (motif_clipboard_cb):
5901         * signal.c (interrupt_signal):
5902         * specifier.c (specifier_add_spec):
5903         * specifier.c (specifier_instance_from_inst_list):
5904         * specifier.c (specifier_instance):
5905         * specifier.h:
5906         * specifier.h (struct specifier_methods):
5907         * strftime.c (add_num_time_t):
5908         * sunplay.c (init_device):
5909         * symbols.c (Fsetplist):
5910         * symbols.c (do_symval_forwarding):
5911         * symbols.c (store_symval_forwarding):
5912         * symbols.c (Fset):
5913         * symbols.c (Fbuilt_in_variable_type):
5914         * symbols.c (decode_magic_handler_type):
5915         * symbols.c (handler_type_from_function_symbol):
5916         * syntax.c (update_syntax_cache):
5917         * sysdep.c (init_baud_rate):
5918         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5919         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5920         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5921         * toolbar.c (get_toolbar_coords):
5922         * ui-gtk.c (build_gtk_boxed):
5923         * ui-gtk.c (describe_gtk_arg):
5924         * ui-gtk.c (gtk_type_to_lisp):
5925         * ui-gtk.c (lisp_to_gtk_type):
5926         * ui-gtk.c (lisp_to_gtk_ret_type):
5927         * ui-gtk.c (lisp_to_flag):
5928         * unexnt.c (read_in_bss):
5929         * unexnt.c (map_in_heap):
5930         * window.c (real_window):
5931         * window.c (window_display_lines):
5932         * window.c (window_display_buffer):
5933         * window.c (set_window_display_buffer):
5934         * window.c (window_modeline_height):
5935         * window.c (unshow_buffer):
5936         * window.c (window_loop):
5937         * window.c (Fget_lru_window):
5938         * window.c (Fsplit_window):
5939         * window.c (Fset_window_configuration):
5940         * window.c (saved_window_index):
5941         * xgccache.c (gc_cache_lookup):
5942         abort() -> ABORT().  Eliminate preprocessor games with abort()
5943         since it creates huge problems in VC7, solvable only by including
5944         massive amounts of files in every compile (and not worth it).
5945
5946         * sysdep.c:
5947         * sysproc.h:
5948         Inclusion of process.h does not need to be before lisp.h any more.
5949         Move later and remove comment about abort().
5950
5951 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
5952
5953         * regex.c (re_match_2_internal):
5954         Correctly initialize loop which clears uninitialized registers.
5955
5956 2005-01-28  Vin Shelton  <acs@xemacs.org>
5957
5958         * sheap.c (more_static_core): Applied Ben's version of the long
5959         string patch.
5960
5961 2005-01-24  Vin Shelton  <acs@xemacs.org>
5962
5963         * sheap.c (more_static_core): Reformatted printf string so
5964         gcc-3.3.3 will compile this on Cygwin.
5965
5966 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
5967
5968         * console.c (function_key_map): Reference `key-binding'.
5969
5970         * keymap.c (Vkey_translation_map): Improve docstring.
5971
5972 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
5973
5974         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
5975         * window.c (window_loop): [fix] Take into account
5976         `allow-deletion-of-last-visible-frame' variable.
5977         * window.c (replace-buffer-in-windows): Ditto.
5978
5979 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
5980
5981         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
5982
5983 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
5984
5985         * event-gtk.c: Recognise AltGr as a valid modifier.
5986
5987 2005-01-12  Ville Skyttä  <scop@xemacs.org>
5988
5989         * console-x.h: #include X11/keysym.h before xintrinsic.h.
5990
5991 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5992
5993         Fix backreference bug caught by test suite.
5994
5995         * regex.c (regex_compile):
5996         Make backref duplicate internal register.
5997
5998 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5999
6000         Documentation, code clarification, and warning suppression.
6001         
6002         * regex.c (regex_compile):
6003         Improve comments.
6004         (re_match_2_internal):
6005         Improve comments and avoid redundant braces.  [Most of the big hunk
6006         at l. 4710 is indentation; use diff -w to see the real changes.]
6007         (alt_match_null_string_p):
6008         (common_op_match_null_string_p):
6009         Avoid shadowing global on Mac OS X 10.4, at least.
6010
6011 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6012
6013         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6014         introduced with shy groups fix).  [Already applied, probably
6015         with the second "fix shy groups" patch of 2004-10-07.] 
6016
6017 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6018
6019         From Andrey Slusar <anrays@gmail.com>:
6020
6021         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6022
6023 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6024
6025         * Makefile (RECURSIVE_MAKE): Removed.
6026         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6027         handling parallel builds.
6028
6029 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6030
6031         * Makefile.in.in: Enable support for parallel builds.
6032
6033 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6034
6035         From Andrey Slusar <anrays@gmail.com>:
6036
6037         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6038         FreeBSD version is >= 199701 _and_ < 600006.
6039
6040 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6041
6042         * scrollbar.c (compute_scrollbar_instance_usage):
6043         Only call device method compute_scrollbar_instance_usage() if it
6044         is defined.
6045
6046 2004-12-05  Vin Shelton <acs@xemacs.org>
6047
6048         * XEmacs 21.4.16 is released
6049
6050 2004-12-04  Vin Shelton  <acs@xemacs.org>
6051
6052         * depend: Regenerated.
6053
6054 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6055
6056         * regex.c (re_match_2_internal): Map internal to external
6057         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6058         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6059
6060 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6061
6062         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6063         to fix a crash.  Also, check the buffer is live and it
6064         really exists in buffer_list.  If the buffer is not in the list,
6065         prepend it.
6066
6067 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6068
6069         Fix shy groups by implementing recording of all groups for
6070         repetition and backtracking.  Backport from 21.5.
6071         
6072         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6073         external_to_internal_register, external_to_internal_register_size,
6074         and update comments for re_nsub.
6075
6076         * regex.c (re_opcode_t): Update comments.
6077         (print_compiled_pattern): Ouput external_to_internal_register,
6078         external_to_internal_register_size, and re_ngroups for debugging.
6079         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6080         (regex_compile): Update header comment.
6081         Ensure that all groups are recorded so that repeat matches and
6082         backtracking work correctly.  Comment related warning for groups >
6083         255.
6084         (re_search_2): Construct map of API indexes (which count only
6085         nonshy groups) to internal register numbers, and keep it updated.
6086
6087 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6088
6089         * frame-gtk.c (gtk_make_frame_visible):
6090         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6091         show/hide.  This is what X uses and is prevents previously hidden
6092         widgets from suddenly reappearing.
6093         * gtk-xemacs.c (gtk_xemacs_paint):
6094         * gtk-xemacs.c (gtk_xemacs_draw):
6095         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6096         drawable.
6097         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6098         size and location changes so that they can be seen before the next
6099         idle event.  Without this rapid changes to scrollbar properties
6100         are not seen.
6101
6102 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6103
6104         * console-gtk.h:
6105         * console-gtk.h (struct gtk_frame):
6106         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6107           Add hash tables track tab_control callback data.
6108           Added #defines for GTK object data names.
6109           Declaration of gtk_widget_to_frame().
6110         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6111         * frame-gtk.c (gtk_widget_to_frame): New.
6112         * frame-gtk.c (gtk_create_widgets):
6113         * frame-gtk.c (allocate_gtk_frame_struct):
6114         * frame-gtk.c (gtk_mark_frame):
6115         Manage frame callbakc hash tables.
6116         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6117         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6118         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6119         of widget size.
6120         * glyphs-gtk.c (gtk_widget_query_geometry): New
6121         * glyphs-gtk.c (gtk_register_gui_item): New
6122         * glyphs-gtk.c (gtk_add_tab_item): New
6123         * glyphs-gtk.c (gtk_tab_control_callback): New
6124         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6125         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6126         Use correct list when loading item.
6127         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6128         Register new methods.
6129         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6130         default size, for widgets.
6131         * gui-x.c:  Improved comment.
6132         * menubar-gtk.c (__generic_button_callback): Use
6133         gtk_widget_to_frame instead of __get_channel.
6134         * scrollbar-gtk.c:
6135         * ui-gtk.c: Use symbolic names for GTK object data.
6136
6137 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6138
6139         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6140
6141 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6142
6143         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6144
6145 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6146
6147         * malloc.c (morecore): siz is a long because in some architectures
6148         (eg ia-64) an int cannot hold the address range.  Additional patch
6149         from the SuSe distribution.
6150
6151 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6152
6153         * emacs.c:
6154         * malloc.c: lim_data is a long because in some architectures
6155         (eg ia-64) an int cannot hold the address range.
6156         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6157         instead of ulimit() because ulimit() always returns -1.
6158
6159 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6160
6161         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6162
6163 2004-06-11  David Kastrup  <dak@gnu.org>
6164
6165         * search.c (match_limit): Don't flag an error if match-data
6166         exceeding the allocated search_regs.num_regs gets requested, just
6167         return Qnil.
6168
6169 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6170
6171         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6172         replace symbolic color entries with the real colors specified in
6173         xpm-color-symbols, before passing the XPM to gtk.
6174         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6175         instead of a GTK specific field, so that it is used in by generic
6176         code.
6177
6178 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6179
6180        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6181         coredump from deref of NULL ptr (ExtData)
6182
6183 2004-04-19  Jerry James  <james@xemacs.org>
6184
6185         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6186         VALBITS to compute the location of the sign bit.
6187         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6188         of VALBITS with EMACS_INT_MAX.
6189         * events.c (Fevent_timestamp): Ditto.
6190         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6191         compute the halfway point to timestamp wraparound.
6192         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6193         EMACS_INT_MIN instead of using VALBITS.
6194         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6195         incorrect number with VALBITS.
6196         * fns.c (Frandom): Correct number of integer bits in docstring.
6197         Use INT_VALBITS instead of VALBITS to compute the denominator.
6198         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6199         build random numbers.
6200
6201 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6202         * event-gtk.c:
6203         * event-gtk.c (gtk_event_to_emacs_event):
6204         * menubar-gtk.c:
6205         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6206         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6207         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6208         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6209         * menubar-gtk.c (__activate_menu):
6210         * menubar-gtk.c (convert_underscores):
6211         * menubar-gtk.c (remove_underscores):
6212         * menubar-gtk.c (menu_convert):
6213         * menubar-gtk.c (menu_descriptor_to_widget_1):
6214         * menubar-gtk.c (menu_descriptor_to_widget):
6215         * menubar-gtk.c (menu_can_reuse_widget):
6216         * menubar-gtk.c (menu_create_menubar):
6217         * menubar-gtk.c (gtk_popup_menu):
6218         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6219         Added support for Gtk menu bar and menu item mnemonics.
6220
6221 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6222
6223         * sysdll.c: (dll_function): Added support for finding symbols in
6224         Darwin shared libraries as well in Darwin bundles.
6225         * sysdll.c (image_for_address): New
6226         * sysdll.c (my_find_image): New
6227         * sysdll.c (search_linked_libs): New
6228
6229 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6230
6231         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6232         return to GTK requires a different API to marshalling data to use
6233         as GTK parameters.
6234         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6235
6236 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6237
6238         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6239
6240 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6241
6242         * glyphs.c (process_image_string_instantiator):
6243         (Fset_console_type_image_conversion_list):
6244         Stop GCC from warning about shadowing of `exp'.
6245
6246         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6247
6248 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6249
6250         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6251
6252 2004-02-03  Vin Shelton  <acs@xemacs.org>
6253
6254         * glyphs.c (image_instance_layout): Remove pointless assertion.
6255         * regex.c (regex_grow_registers): Return type is void.
6256
6257 2004-02-02  Vin Shelton <acs@xemacs.org>
6258
6259         * XEmacs 21.4.15 is released
6260
6261 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6262
6263         * device-x.c (x_error_handler): Don't call stderr_out
6264
6265 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6266
6267         * buffer.c (other-buffer): Clarify documentation of order of
6268         arguments for FSF Emacs.
6269
6270 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6271
6272         * window.c (Fdelete_window): Dirty the mirror structure _before_
6273         marking the window deleted.
6274
6275 2003-09-15  Jerry James  <james@xemacs.org>
6276
6277         * event-msw.c (debug_mswin_messages): Conditionally compile
6278         messages missing from the Cygwin headers.
6279
6280 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6281
6282         * data.c (eq_with_ebola_notice): Fix typo in comment.
6283         (Ftrue_list_p): Improve docstring.
6284
6285 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6286
6287         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6288
6289 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6290
6291         * search.c (trivial_regexp_p): Regexps containing "\{" are
6292         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6293         Stefan Monnier for suggesting a diagnosis.
6294
6295 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6296
6297         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6298
6299 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6300
6301         * search.c (Fsearch_forward):
6302         (Fsearch_backward):
6303         Document negative count.
6304
6305 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6306
6307         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6308
6309 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6310
6311         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6312
6313 2003-09-15  Vin Shelton  <acs@xemacs.org>
6314
6315         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6316         21.5.
6317
6318 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6319
6320         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6321         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6322         (re_match_2_internal): Use TRANSLATE instead of
6323         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6324         non-ASCII char case conversion.
6325
6326 2003-09-08  Mike Sperber  <mike@xemacs.org>
6327
6328         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6329         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6330
6331 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6332
6333        * .gdbinit (pobj): fix printing of symbol name.
6334
6335 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6336
6337         * frame-x.c (x_layout_widgets): When resizing is about to cause
6338         frame size slip, mark it for redisplay.
6339
6340 2003-08-18  Jerry James  <james@xemacs.org>
6341
6342         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6343
6344 2003-09-03  Vin Shelton <acs@xemacs.org>
6345
6346         * XEmacs 21.4.14 is released
6347
6348 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6349
6350         * config.h.in (REGEX_MALLOC): Make it configure'able.
6351
6352 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6353
6354         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6355         linking.
6356         * sysdll.c (dll_init):
6357         * sysdll.c (dll_open):
6358         * sysdll.c (dll_close):
6359         * sysdll.c (dll_function):
6360         * sysdll.c (dll_variable):
6361         * sysdll.c (dll_error):
6362         Add support for loading bundles using Darwin/MacOSX
6363         native API.
6364
6365 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6366
6367         * process.c (start-process-internal): Document coding systems.
6368
6369 2003-07-30  Jerry James  <james@xemacs.org>
6370
6371         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6372
6373 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6374
6375         * event-msw.c (mswindows_enqueue_mouse_button_event):
6376         * event-msw.c (mswindows_wnd_proc):
6377           enqueue button event when scrollwheel event isn't handled by 
6378           mswindows_handle_mousewheel_event, such as when the scrollbars
6379           are not showing.
6380
6381 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6382
6383         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6384
6385 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6386
6387         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6388
6389 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6390
6391         * regex.c (re_match_2_internal): Fix matching degenerate word
6392         boundaries.
6393
6394 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6395
6396         * XEmacs 21.4.13 is released
6397
6398 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6399
6400         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6401         * lisp.h (<inttypes.h>):
6402         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6403         the definition.
6404
6405 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6406
6407         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6408         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6409         Result: "temacs can only be run in -batch mode."
6410         Fix: Check xemacs executable candidate for directory-ness.
6411
6412 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6413
6414         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6415           they conflict with <sys/types.h>.
6416
6417 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6418
6419         * database.c: Berkeley DB wants __STDC__ to be defined.
6420
6421 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6422
6423         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6424
6425 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6426
6427         * process-unix.c (unix_send_process): Fix C++ compile error.
6428
6429 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6430
6431         * Added .dylib as an acceptable shared library file extension
6432         * to support MacOSX.
6433
6434 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6435
6436         * EmacsFrameP.h (EmacsFramePart):
6437         Kludge to allow compiling with Motif1, but linking with Motif2.
6438
6439 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6440
6441         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6442
6443
6444 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6445
6446         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6447
6448 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6449
6450         * sysdll.c: Included lisp.h to define needed alloca_array.
6451
6452 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6453
6454         Make XEmacs redisplay 10 times faster.
6455         If, that is, you're using a slow X connection and MoveOpaque.
6456         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6457         Use compress_motion = TRUE.
6458         * EmacsFrame.c (emacsFrameClassRec): 
6459         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6460         * EmacsManager.c (emacsManagerClassRec):
6461         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6462
6463 2003-01-30  Vin Shelton  <acs@xemacs.org>
6464
6465         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6466
6467 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6468
6469         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6470         Patch by Martin Buchholz.
6471
6472 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6473
6474         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6475         Thanks to icc for warning and Martin Buchholz for reporting.
6476
6477 2003-01-29  Vin Shelton <acs@xemacs.org>
6478
6479         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6480
6481         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6482         remember to multiply by the element size.
6483
6484 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6485
6486         * XEmacs 21.4.12 "Portable Code" is released.
6487
6488 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6489
6490         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6491         * s/cygwin.sc: new linker file.
6492
6493 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6494
6495         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6496
6497         * redisplay-x.c (x_output_string): Use X11-specified types.
6498         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6499         * emacs.c (__free_hook): Use typeof with Intel compiler.
6500         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6501
6502 2003-01-08  Andy Piper  <andy@xemacs.org>
6503
6504         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6505         reserve size during unexec().
6506
6507 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6508
6509         * process-unix.c (unix_create_process): Don't let outchannel block.
6510
6511 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6512
6513         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6514         Needed for IsBadReadPtr().
6515
6516 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6517
6518         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6519
6520 2002-12-14  Ben Wing  <ben@xemacs.org>
6521
6522         * callint.c: Declaration error.
6523         * dumper.c (pdump):
6524         * dumper.c (pdump_load): Warning fix.
6525         * process.c: GCPRO error.
6526         * glyphs.c (unmap_subwindow):
6527         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6528         * event-stream.c (maybe_kbd_translate): Wrong argument to
6529         character_to_event().
6530
6531         * alloc.c (garbage_collect_1):
6532         * emacs.c:
6533         * emacs.c (debug_can_access_memory):
6534         * emacs.c (fatal_error_signal):
6535         * emacs.c (mswindows_handle_hardware_exceptions):
6536         * emacs.c (main_1):
6537         * emacs.c (main):
6538         * emacs.c (assert_failed):
6539         * emacs.c (syms_of_emacs):
6540         * lisp.h:
6541         * print.c:
6542         * print.c (std_handle_out_va):
6543         * print.c (write_string_to_stdio_stream):
6544         * print.c (write_fmt_string):
6545         * print.c (printing_badness):
6546         * print.c (printing_major_badness):
6547         * print.c (print_internal):
6548         * print.c (debug_print_no_newline):
6549         * print.c (debug_backtrace):
6550         Be more defensive in handling bad values when printing.  Add code
6551         from trunk involving inhibit_non_essential_printing_operations.
6552         When going down or in debug_print(), don't do external conversion
6553         and such and try really, really hard when printing to avoid core
6554         dumping.  Add force-debugging-signal, debug_break().
6555
6556 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6557
6558         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6559         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6560
6561 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6562
6563         * database.c: Fix open_database. Berkeley DB API has changed in
6564         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6565
6566 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6567
6568         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6569
6570 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6571
6572         * event-Xt.c (Xt_timeout):
6573         (Xt_timeout_callback):
6574         (emacs_Xt_add_timeout):
6575         (emacs_Xt_remove_timeout):
6576         (Xt_timeout_to_emacs_event):
6577         Turn completed_timeouts from a stack into a queue.  Fixes
6578         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6579
6580 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6581
6582         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6583         * emacs.c (main): Assert that mmap'd allocation is disabled.
6584
6585 2002-10-14  Andy Piper  <andy@xemacs.org>
6586
6587         * glyphs-widget.c (layout_query_geometry): add in fiddle
6588         factor. Include border text in width layout calculation.
6589         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6590
6591 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6592
6593         * XEmacs 21.4.10 "Military Intelligence" is released.
6594
6595 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6596
6597         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6598         using the NAS private array SoundFileInfo that no longer exists in
6599         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6600         and earlier.  This is broken for some versions between 1.5a and
6601         1.5f.
6602
6603 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6604
6605         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6606
6607         * emacs.c (shut_down_emacs): Improve crash message.
6608
6609 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6610
6611         * file-coding.c (determine_real_coding_system): Check for coding
6612         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6613         shebangs and Python PEP 263.
6614
6615 2002-10-08  Andy Piper  <andy@xemacs.org>
6616
6617         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6618         if static sizes haven't been set.
6619
6620 2002-08-30  Mike Alexander  <mta@arbortext.com>
6621
6622         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6623         to close a socket.
6624
6625 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6626
6627         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6628
6629 2002-09-20  Mike Sperber <mike@xemacs.org>
6630
6631         (This partially gets back my patch from 2002-07-20 without the
6632         bug.)
6633         * callproc.c (child_setup): Remove Ben's comment noting confusion
6634         over the file descriptors >= 3: close_process_descs() doesn't
6635         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6636         * process-unix.c (unix_create_process): Call
6637         begin_dont_check_for_quit to inhibit unwanted interaction (and
6638         thus breaking of X event synchronicity) in the child.
6639
6640 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6641
6642         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6643         widget.
6644
6645 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6646
6647         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6648         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6649         the xemacs process did not exit, but looped infinitely here.  This
6650         fixes that problem.
6651
6652 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6653
6654         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6655         (find_context): Improve comments.
6656
6657         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6658         (re_match_2): An XCHAR_TABLE operation was missing.
6659
6660         Many of the following changes were inspired by Andy Piper's (now
6661         obsolete) patch to make syntax-table text property lookup optional.
6662
6663         [Documentation]
6664
6665         * syntax.h (top level): Document semantics of syntax flags.
6666         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6667         * syntax.c, syntax.h (top level): Document syntax cache better in
6668         comments.
6669
6670         [Instrument syntax caching (temporary change)]
6671
6672         * syntax.h (enum syntax_cache_statistics_functions, struct
6673         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6674         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6675         * syntax.c (scan_words, Fforward_comment, scan_lists,
6676         Fbackward_prefix_characters):
6677         * font-lock.c (find_context):
6678         Use them to instrument syntax caching. 
6679         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6680         syntax_cache_statistics_function_names): New type and variables.
6681         * syntax.c (update_syntax_cache): Update and report statistics.
6682
6683         [Major syntax cache optimizations]
6684
6685         syntax.c (lookup_syntax_properties): Default off.
6686
6687         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6688         * syntax.c (update_syntax_cache):
6689         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6690
6691         [Minor syntax cache optimizations and code clarifications]
6692
6693         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6694         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6695         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6696         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6697         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6698         (Code clarification.)
6699
6700         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6701         scan_lists): Compute code from syncode, use Boolean macros instead
6702         of redundant masking operations.  (Code clarification; any decent
6703         compiler can do this optimization.)
6704
6705         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6706         for clarity.
6707
6708         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6709         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6710         use F*_single_property_change instead of F*_extent_change.
6711         Currently F*_single_property_change is _much_ less efficient.
6712
6713         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6714         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6715         syntax_cache.object properly, don't leave Qt or Qnil.
6716         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6717         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6718         tests for Qt or Qnil.
6719
6720 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6721
6722         * redisplay.c (point_in_line_start_cache): 
6723         * extents.c (print_extent_1):
6724         Fix warnings.
6725
6726         * extents.c (Fset_extent_property): Document `syntax-table' property.
6727
6728         * extents.h (Fnext_single_property_change): EXFUN it.
6729
6730 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6731
6732         * search.c (clear_unused_search_regs): New static function.
6733         (search_buffer): 
6734         (simple_search): 
6735         (boyer_moore):
6736         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6737         Minor clarifications in comments.
6738
6739         * regex.c (re_match_2_internal): Ensure no stale submatches.
6740
6741 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6742
6743         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6744
6745 2002-08-29  Jerry James  <james@xemacs.org>
6746
6747         * lisp.h: structrures -> structures.
6748
6749 2002-06-03  Andy Piper  <andy@xemacs.org>
6750
6751         * frame.c (frame_conversion_internal): add conversion appropriate
6752         for setting frame dimensions in pixels.
6753
6754         * console.h (struct console_methods): add device-specific widget
6755         layout functions.
6756
6757         * emacs.c (main_1): initialize glyph vars.
6758
6759         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6760         (handle_focus_event_2): new function. Allow focus to
6761         be set to a particular window and widget.
6762         (enqueue_focus_event): new function. Create a
6763         synthetic focus event.
6764         (emacs_Xt_handle_magic_event): call
6765         handle_focus_event_2.
6766
6767         * frame.c (Fset_frame_pixel_height): new function. Allow
6768         pixel-based sizing. Does the right thing on character-oriented
6769         displays.
6770         (Fset_frame_pixel_width): ditto.
6771         (Fset_frame_pixel_size): ditto.
6772         (syms_of_frame): declare.
6773
6774         * general-slots.h: add :vertically-justify and
6775         :horizontally-justify.
6776
6777         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6778         (mswindows_widget_border_width): new function.
6779         (mswindows_combo_box_instantiate): set border widths.
6780         (console_type_create_glyphs_mswindows): declare.
6781
6782         * glyphs-widget.c:
6783         (check_valid_justification): allow vertical and horizontal
6784         justification.
6785         (widget_border_width): new function. Call device methods.
6786         (widget_instance_border_width): ditto.
6787         (logical_unit_height): new function. Determine the height of a
6788         logical-unit. Logical units are intended to provide grid-like
6789         layout for subcontrols in a layout. If the layout is
6790         :vertically-justify top then subcontrols will be positioned on
6791         logical-unit boundaries, thus allowing adjacent subcontrols to
6792         line up.
6793         (widget_logical_unit_height): ditto for widgets.
6794         (redisplay_widget): misc cleanup.
6795         (widget_spacing): new function. Call device specific
6796         methods. Intended to be the default gap between adjacent widgets.
6797         (widget_query_geometry): use new spacing functions to determine
6798         appropriate geometry.
6799         (initialize_widget_image_instance): initialize horizontal and
6800         vertical justification.
6801         (widget_instantiate): use logica-units where appropriate for
6802         sizing large widgets.
6803         (button_query_geometry): use widget_instance_border_width.
6804         (tree_view_query_geometry): ditto.
6805         (tab_control_query_geometry): ditto.
6806         (edit_field_query_geometry): new function.
6807         (layout_update): pick up :justify, :horizontally-justify and
6808         :vertically-justify none of which worked previously. :justify is
6809         used as a fallback for both horizontal and vertical justification.
6810         (layout_query_geometry): use logical units to size appropriately.
6811         (layout_layout): ditto.
6812         (Fwidget_logical_to_character_width): new function. Allow users to
6813         convert from logical units to characters so that frame sizes can
6814         be set appropriately.
6815         (Fwidget_logical_to_character_height): ditto.
6816         (syms_of_glyphs_widget): declare.
6817         (image_instantiator_edit_fields): add edit_field_query_geometry.
6818         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6819         :horizontally-justify.
6820         (specifier_vars_of_glyphs_widget): new function. Declare
6821         Vwidget_border_width which is not yet used.
6822
6823         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6824         (x_widget_border_width): new function.
6825         (x_widget_instantiate): create a sensible name for widgets.
6826         (console_type_create_glyphs_x): declare x_widget_border_width.
6827
6828         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6829         (struct Lisp_Image_Instance): add :vertically-justify and
6830         :horizontally-justify.
6831         (LAYOUT_JUSTIFY_TOP): new.
6832         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6833         (ROUND_UP): new macro. Round argument up to next integral
6834         interval.
6835
6836         * redisplay-output.c (redisplay_output_layout): misc formatting.
6837
6838         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6839
6840 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6841
6842         * XEmacs 21.4.9 "Informed Management" is released.
6843
6844 2002-08-19  Andy Piper  <andy@xemacs.org>
6845
6846         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6847         win32 format.
6848
6849         * realpath.c (xrealpath): normalize drive spec also so that dir
6850         sep chars are not mixed on cygwin.
6851
6852 2002-08-06  Jerry James  <james@xemacs.org>
6853
6854         * window.c (Fsplit_window): Count only half of the divider width
6855         against the left window when splitting horizontally. 
6856
6857 2002-06-24  Andy Piper  <andy@xemacs.org>
6858
6859         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6860         toolbar was cleared.
6861
6862         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6863         function. Split out from mswindows_output_frame_toolbars.
6864         (mswindows_output_frame_toolbars): move clear pieces to
6865         mswindows_output_frame_toolbars.
6866
6867         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6868         out from gtk_output_frame_toolbars.
6869         (gtk_output_frame_toolbars): move clear pieces to
6870         gtk_clear_frame_toolbars.
6871
6872         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6873         the frame is cleared. How this ever worked before is a mystery.
6874         (x_output_frame_toolbars): Only output toolbars.
6875         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6876
6877         * gutter.c (update_gutter_geometry):
6878         Mark frame layout changed.
6879         (update_frame_gutter_geometry, update_frame_gutters):
6880         Respect frame_layout_changed.
6881
6882         * console.h (struct console_methods): add
6883         clear_frame_toolbars_method.
6884
6885         * redisplay.c (redisplay_frame): call
6886         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6887
6888         * toolbar.h: declare update_frame_toolbars_geometry.
6889
6890         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6891         out from update_frame_toolbars.  Call clear_frame_toolbars.
6892         (update_frame_toolbars): only output, do not change geometry.
6893
6894         * redisplay.c: add frame_layout_changed.
6895
6896         * redisplay.h: add frame_layout_changed.
6897         (CLASS_RESET_CHANGED_FLAGS): set it.
6898         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6899         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6900         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6901
6902         * device.h (struct device): add frame_layout_changed.
6903         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6904
6905         * frame.h (struct frame): add frame_layout_changed.
6906         (MARK_FRAME_LAYOUT_CHANGED): new.
6907
6908 2002-06-30  Mike Alexander  <mta@arbortext.com>
6909
6910         * event-msw.c (mswindows_need_event): Don't wait for a new message
6911         if the queue is not empty.  Suggested by Paul Moore.
6912
6913 2002-06-12  Andy Piper  <andy@xemacs.org>
6914
6915         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6916         for printing on accurately.
6917
6918 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6919
6920         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6921         WM_ACTIVATE message. Make sure that the frame is visible if the
6922         window is visible. This seemss to fix the problem where XEmacs
6923         appears to freeze after switching desktops with certain virtual
6924         window managers.
6925         (debug_output_mswin_message): Added code to output message
6926         parameters for WM_WINDOWPOSCHANGED, 
6927         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6928
6929 2002-05-25  Andy Piper  <andy@xemacs.org>
6930
6931         * select-x.c (vars_of_select_x): Fix docstring of
6932         x-selection-strict-motif-ownership
6933
6934 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6935
6936         * keymap.c (get_keymap):
6937         Add comment about do_autoload GCPROs own args.
6938
6939 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6940
6941         * bytecode.c (execute_optimized_program): check_opcode ifdef
6942         ERROR_CHECK_BYTE_CODE.
6943
6944 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6945
6946         Thanks to Ben Wing and Michael Sperber.
6947
6948         * eval.c (Fcommand_execute):
6949         (Feval):
6950         (Ffuncall):
6951         (Fmacroexpand_internal):
6952         (function_argcount):
6953         callint.c (Fcall_interactively):
6954         Add comment about do_autoload GCPROs own args.
6955
6956         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6957
6958         * eval.c (Ffuncall): Extra braces to placate GCC.
6959
6960 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6961
6962         * backtrace.h (grow_specpdl):
6963         (SPECPDL_RESERVE):
6964         * EmacsFrame.c (EmacsFrameSetValues):
6965         * eval.c (grow_specpdl):
6966         * ExternalShell.c (hack_event_masks_1):
6967         * glyphs-x.c (convert_EImage_to_XImage): 
6968         (x_finalize_image_instance):
6969         * ralloc.c (page_size):
6970         (r_alloc_sbrk):
6971         * xgccache.c (gc_cache_hash):
6972         Fix unsigned comparison warnings.
6973
6974 2002-07-29  Jerry James  <james@xemacs.org>
6975
6976         * lread.c (locate_file): Any nonnegative return value indicates
6977         success if MODE is nonnegative.
6978
6979 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6980
6981         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6982         argument. 
6983
6984 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6985
6986         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6987
6988         * dumper.c (pdump_get_indirect_count):
6989         (pdump_scan_by_alignment):
6990         (pdump_dump_root_struct_ptrs):
6991         (pdump_dump_rtables):
6992         (pdump_dump_root_objects):
6993         (pdump):
6994         * nas.c (WaveOpenDataForReading):
6995         * fns.c (print_bit_vector):
6996         * font-lock.c (SINGLE_SYNTAX_STYLE):
6997         * glyphs.c (check_for_ignored_expose):
6998         (find_matching_subwindow):
6999         * glyphs-eimage.c:
7000         * imgproc.c (get_histogram):
7001         * redisplay.c (point_in_line_start_cache):
7002         * redisplay-output.c (redisplay_unmap_subwindows):
7003         * symbols.c (defsymbol_massage_name_1):
7004         (defkeyword_massage_name):
7005         (deferror_massage_name_and_message):
7006         * redisplay-x.c (x_output_string): 
7007         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7008         * frame.h (struct frame):
7009         * filelock.c (current_lock_owner):
7010         * doprnt.c (emacs_doprnt_1):
7011         * lisp.h (struct Lisp_Bit_Vector):
7012         (DO_REALLOC):
7013         Fix warnings.
7014
7015 2002-02-13  Ben Wing  <ben@xemacs.org>
7016
7017         * event-stream.c (reset_key_echo):
7018         * event-stream.c (reset_this_command_keys):
7019         * event-stream.c (execute_command_event):
7020         If console is dead as a result of C-x 5 0, then post-command stuff
7021         needs to be careful and do only non-console-specific stuff.
7022
7023 2002-07-01  Mike Sperber <mike@xemacs.org>
7024
7025         * process-unix.c (unix_send_process): Mark coding_outstream as
7026         non-open upon SIGPIPE.
7027
7028         * event-stream.c (Fnext_event): Reorder switch cases to something
7029         that makes sense.
7030
7031 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7032
7033         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7034         Don't bogusly reinitialize ascii_character property.
7035
7036 2002-07-08  Mike Sperber <mike@xemacs.org>
7037
7038         * process.c (Fstart_process_internal): Do error checking before we
7039         fork off the child, so the child can't muck with the state of the
7040         parent.
7041
7042 2002-07-08  Mike Sperber <mike@xemacs.org>
7043
7044         * ralloc.c (init_ralloc): Allocate properly for pdump.
7045
7046 2002-06-12  Andy Piper  <andy@xemacs.org>
7047
7048         * glyphs.c (query_string_geometry): check the string.
7049
7050         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7051         widget names.
7052
7053 2002-06-17  Jerry James  <james@xemacs.org>
7054
7055         * sysdll.c: Remove RTLD_GLOBAL initialization.
7056         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7057
7058 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7059
7060         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7061
7062 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7063
7064         * sysdep.c (sys_rename): Make sys_rename work for the case where
7065         Windows rename sets errno to EACCES if target file exists.
7066
7067 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7068
7069         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7070         Fix detection of metric units to work on Win95
7071
7072 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7073
7074         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7075
7076 2002-04-25  Andy Piper  <andy@xemacs.org>
7077
7078         * redisplay.c (create_text_block): Remove extra comment trailer.
7079
7080 2002-04-24  Andy Piper  <andy@xemacs.org>
7081
7082         * redisplay.c (create_text_block): Don't actually add propagation
7083         data if the line ends after we have added a glyph.
7084
7085 2002-04-22  Andy Piper  <andy@xemacs.org>
7086
7087         * extents.c (extent_fragment_update): check for glyphs we have
7088         previously displayed.
7089         * extents.c (print_extent_1): warning removal.
7090         * extents.h: change prototype.
7091         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7092         widths correctly for wide glyphs.
7093         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7094         * redisplay.c (prop_type): add PROP_GLYPH.
7095         * redisplay.c (struct prop_block): add glyph type
7096         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7097         to the propagation data.
7098         * redisplay.c (create_text_block): if there is a glyph in the
7099         propagation data use it to salt extent_fragment_update.
7100         * redisplay.c (create_string_text_block): ditto.
7101
7102 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7103
7104         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7105         * redisplay-output.c (compare_runes): Compare them.
7106         * redisplay.c: Update copyright date.
7107         * redisplay.c (pos_data): Add need_baseline_computation field.
7108         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7109         need_baseline_computation; zero yoffset. Set max_pixmap_height
7110         for all pixmaps, not just automatically positioned ones.
7111         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7112         * redisplay.c (calculate_baseline): New, compute textual baseline.
7113         * redisplay.c (add_glyph_rune): Call them.
7114         * redisplay.c (create_text_block): Likewise.
7115         * redisplay.c (create_overlay_glyph_block): Likewise.
7116         * redisplay.c (add_margin_runes): Likewise.
7117         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7118
7119         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7120         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7121         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7122         * redisplay-msw.c (mswindows_output_string): Likewise.
7123         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7124         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7125         * redisplay-x.c (x_output_display_block): Likewise.
7126
7127 2002-03-28  Ben Wing  <ben@xemacs.org>
7128
7129         * redisplay.c: Fixed bug in redisplay
7130         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7131         and down of the lines, since they're bigger than the line
7132         size. (It was seen most obviously when there's a horizontal scroll
7133         bar, e.g. do C-h a glyph or something like that.) The problem was
7134         that the glyph-contrib-p setting on glyphs was ignored even if it
7135         was set properly, which it wasn't until now.
7136
7137 2002-04-24  Andy Piper  <andy@xemacs.org>
7138
7139         * lisp.h (Dynarr_end): Fix definition.
7140
7141 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7142
7143         * redisplay.c (mark_redisplay): Remove call to
7144         update_frame_window_mirror.
7145
7146 2001-11-15  Andy Piper  <andy@xemacs.org>
7147
7148         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7149         cygwin (again).
7150
7151 2002-02-13  Andy Piper  <andy@xemacs.org>
7152
7153         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7154         we did in fact enqueue the XM_MAPFRAME event.
7155
7156 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7157
7158         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7159         to fix problem switching between virtual desktops under virtuawin
7160         virtual window manager.
7161
7162 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7163
7164         * event-msw.c: Typo fix.
7165         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7166         magic XM_MAPFRAME event has been sent.
7167
7168 2001-11-23  Andy Piper  <andy@xemacs.org>
7169
7170         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7171
7172 2001-11-21  Andy Piper  <andy@xemacs.org>
7173
7174         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7175         mouse events outside the frame.
7176
7177 2002-03-20  Andy Piper  <andy@xemacs.org>
7178
7179         * menubar-msw.c (mswindows_popup_menu): warning removal.
7180         * dialog-msw.c (dialog_popped_down): ditto.
7181
7182 2001-12-11  Andy Piper  <andy@xemacs.org>
7183
7184         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7185         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7186         popup_up_p.
7187         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7188         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7189         * menubar-msw.c (mswindows_popup_menu): ditto.
7190
7191 2001-10-29  Andy Piper  <andy@xemacs.org>
7192
7193         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7194         cancels.
7195
7196 2002-01-03  Andy Piper  <andy@xemacs.org>
7197
7198         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7199         letters.
7200         (xrealpath): ditto.
7201
7202 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7203
7204         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7205         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7206         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7207         Detect and handle case where machine is set up for metric units
7208
7209 2002-04-02  Andy Piper  <andy@xemacs.org>
7210
7211         * dired-msw.c (mswindows_get_files): 
7212         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7213         completely handled by XEmacs. Suggested by Thomas Vogler
7214         <mail@thomas-vogler.de>.
7215
7216 2001-11-14  Andy Piper  <andy@xemacs.org>
7217
7218         * nt.c (REG_ROOT): change registry key to XEmacs.
7219
7220 2002-04-27  Andy Piper  <andy@xemacs.org>
7221
7222         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7223
7224 2002-04-26  Andy Piper  <andy@xemacs.org>
7225
7226         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7227         behavior.
7228
7229 2002-03-14  Mike Alexander  <mta@arbortext.com>
7230
7231         * event-msw.c (mswindows_unwait_process): New, remove process from
7232         wait list
7233         * process-nt.c (nt_finalize_process_data): Call
7234         mswindows_unwait_process
7235         * console-msw.h: Declare mswindows_unwait_process
7236
7237 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7238
7239         * editfns.c (Fdecode_time):
7240         (Fformat_time_string):
7241         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7242         (make_time): Warning elimination (change arg name).
7243
7244 2001-11-24  Andy Piper  <andy@xemacs.org>
7245
7246         * window.c (Fsplit_window): Doc return type.
7247
7248 2002-04-01  Andy Piper  <andy@xemacs.org>
7249
7250         * emacs.c (Fkill_emacs): Only output message box in interactive
7251         mode.
7252
7253 2002-04-26  Andy Piper  <andy@xemacs.org>
7254  
7255         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7256         cygwin.
7257
7258 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7259
7260         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7261         bit platform.
7262
7263 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7264
7265         * XEmacs 21.4.8 "Honest Recruiter" is released.
7266
7267 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7268
7269         Supersedes 2002-04-17 patch.
7270
7271         * process.h (PROCESS_LIVE_P): Use the process status as
7272         evidence of health, not the state of the input stream.
7273         (PROCESS_READABLE_P): Say if the process is readable
7274         from. (It may be dead nonetheless.)
7275         (CHECK_READABLE_PROCESS): Test for that condition.
7276
7277         * process.c (create_process): Use PROCESS_READABLE_P.
7278         (read_process_output, set_process_filter): Likewise.
7279
7280         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7281         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7282
7283         This code is #if 0'd, this is not the time to add new functions:
7284
7285         * process.c (Fprocess_readable_p): Report readability status.
7286         * process.c (Qprocess_readable_p): New, associated symbol...
7287         * process.c (syms_of_process): ... initialize it.
7288
7289 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7290
7291         * XEmacs 21.4.7 "Economic Science" is released.
7292
7293 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7294
7295         * process.h (PROCESS_LIVE_P): Use the process status as
7296         evidence of health, not the state of the input stream.
7297
7298 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7299
7300         * sysdep.c (sys_siglist): change "signum" to "signal"
7301
7302 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7303
7304         * s/darwin.h: New file.
7305         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7306         
7307 2002-04-23  Andreas Jaeger  <aj@suse.de>
7308
7309         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7310         which use lib64 for 64-bit libs.
7311         (START_FILES): Likewise.
7312
7313 2002-02-11  Mike Sperber  <mike@xemacs.org>
7314
7315         * device-x.c: 
7316         (x_IO_error_handler):
7317         (x_init_device): Temporarily keep device in static variable
7318         `device_being_initialized' so we can recover gracefully from
7319         internal XOpenDevice failure.  (XOpenDevice is documented to
7320         return NULL on failure, but sometimes calls the IO error handler
7321         instead.)
7322
7323 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7324
7325         * dired.c (Ffile_name_all_completions): Change documentation --
7326         remove reference to completion-ignored-extensions.
7327         * dired.c (vars_of_dired): Change documentation for
7328         completion-ignored-extensions -- remove reference to
7329         file-name-all-completions.
7330
7331 2002-03-06  Jerry James  <james@xemacs.org>
7332
7333         * emodules.c (emodules_load): Fix multiple loading of same module.
7334
7335 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7336         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7337         RTLD_LAZY to avoid incorrect symbol binding when using nested
7338         shared libraries on Solaris.
7339
7340 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7341
7342         * fileio.c (Ffind_file_name_handler): Improve docstring.
7343
7344 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7345
7346         * fns.c (Fmapconcat): Improve docstring.
7347
7348 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7349
7350         * device-gtk.c: Add prototype for
7351         emacs_gtk_selection_clear_event_handle.
7352         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7353         selection.  Setup signal handler for "selection_clear_event"
7354         (emacs_gtk_selection_clear_event_handle).
7355
7356         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7357         other applications owning the clipboard (based on
7358         x_handle_selection_clear).
7359
7360 2001-12-23  William M. Perry  <wmperry@gnu.org>
7361
7362         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7363         
7364 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7365
7366         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7367
7368 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7369
7370         * XEmacs 21.4.6 "Common Lisp" is released.
7371
7372 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7373
7374         * search.c (Freplace_match): Add missing sub-expression functionality.
7375
7376         * buffer.c (decode_buffer): Add a check for pointer type to
7377         decode_buffer, before gcc's CSE optimization reorders a
7378         dereference in front of the allow_string test.
7379
7380 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7381
7382         * window.c (window_loop): Fix bug that sometimes prevented
7383         window_loop() from iterating across multiple devices.  Also, at
7384         Ben's request, changed infloop-detecting code to abort() instead
7385         of silently terminating window_loop().
7386
7387 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7388
7389         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7390         * editfns.c (make_time): New function.
7391         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7392         * lisp.h (make_time): Prototype and comment it.
7393         * dired.c (wasteful_word_to_lisp): Deprecate.
7394         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7395
7396 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7397
7398         * fileio.c (auto_save_1): Use current coding system, not
7399         escape-quoted.
7400
7401 2001-11-13  Ben Wing  <ben@xemacs.org>
7402
7403         * window.c:
7404         * window.c (window_truncation_on):
7405         * window.c (syms_of_window):
7406         truncate-partial-width-windows should respect the buffer being
7407         displayed, like other redisplay vars.
7408
7409 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7410
7411         * event-stream.c (Fread_key_sequence): save current buffer.
7412
7413 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7414
7415         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7416
7417 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7418
7419         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7420
7421 2001-10-26  Mike Alexander  <mta@arbortext.com>
7422
7423         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7424
7425 2001-10-25  Andy Piper  <andy@xemacs.org>
7426
7427         * ChangeLog:
7428         * dialog-msw.c (handle_directory_proc): new function.
7429          (handle_directory_dialog_box): new fucntion.
7430          (handle_file_dialog_box): use new directory dialog support.
7431          (mswindows_make_dialog_box_internal): ditto.
7432         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7433         handling.
7434         (mswindows_find_frame): make global.
7435         * fileio.c (Fexpand_file_name): build fix.
7436         * general-slots.h: add Qdirectory.
7437         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7438         handling.
7439         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7440         cygwin not leaving win32 paths unchanged.
7441         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7442         cygwin runtime to do path conversion.
7443         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7444         (syms_of_win32): add new function.
7445         * window.c (window_loop): build fix.
7446
7447 2001-10-15  Andy Piper  <andy@xemacs.org>
7448
7449         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7450
7451 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7452
7453         * XEmacs 21.4.5 "Civil Service" is released.
7454
7455 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7456
7457         * glyphs-x.c: Force buffer-tab highlight update when moving the
7458         buffer, avoiding an ugly black border, used for keyboard focus
7459         indication, on a widget that can never have keyboard focus, the
7460         buffer tab.
7461
7462 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7463
7464         * process-unix.c (unix_open_multicast_group): Remove too much
7465         conversion between host and network byte order.
7466
7467 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7468
7469         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7470         before replacing them.
7471
7472         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7473         operation.
7474
7475         * src/window.c (undedicate_windows): Use it.
7476         * src/window.h: Add prototype.
7477
7478 2001-09-17  Ben Wing  <ben@xemacs.org>
7479
7480         * fileio.c (normalize_filename):
7481         * fileio.c (Fexpand_file_name):
7482         Fix various C++ compile errors in Andy's recent code.
7483         
7484         * callint.c (Fcall_interactively):
7485         * editfns.c (Ftemp_directory):
7486         * editfns.c (Fuser_full_name):
7487         * emacs.c (argmatch):
7488         * lread.c (locate_file_map_suffixes):
7489         * redisplay-x.c (x_ring_bell):
7490         Fix sign-compare warnings.
7491         
7492 2001-09-08  Andy Piper  <andy@xemacs.org>
7493
7494         * fileio.c (normalize_filename): copied from nt.c
7495         * (Ffile_name_directory): enable win32 paths under cygwin.
7496         * (Ffile_name_nondirectory): ditto.
7497         * (directory_file_name): ditto.
7498         * (Fexpand_file_name): ditto.
7499         * (Ffile_truename): ditto.
7500         * (Fsubstitute_in_file_name): ditto.
7501         * (Ffile_name_absolute_p): ditto.
7502         * (Ffile_readable_p): ditto.
7503
7504 2001-09-08  Andy Piper  <andy@xemacs.org>
7505
7506         * device-msw.c (mswindows_finish_init_device): remove dde
7507         initialization.
7508         * device-msw.c (mswindows_init_dde): factor out from
7509         mswindows_finish_init_device()
7510         * device-msw.c (init_mswindows_very_early): new function
7511         initialize but don't enable dde.
7512         * emacs.c (main_1): call init_mswindows_very_early.
7513         * event-msw.c:
7514         * event-msw.c (mswindows_dde_callback): only execute when we are
7515         ready.
7516         * symsinit.h: declare init_mswindows_very_early.
7517
7518 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7519
7520         [sjt: This has been in 21.5 for months with no complaints.]
7521
7522         * console.h (struct console_methods): Added flags member.
7523         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7524         (CONMETH_IMPL_FLAG):
7525         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7526         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7527
7528         * device.c (window_system_pixelated_geometry): Use the above macros.
7529
7530         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7531         implememntation flag.
7532         * device.h (DEVICE_DISPLAY_P): Use it.
7533
7534         * frame.c (delete_frame_internal): Use the above macro.
7535
7536         * redisplay.c (redisplay_device): Use it.
7537         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7538         (redisplay_frame): Ditto.
7539
7540         * device-msw.c (mswindows_device_implementation_flags): Removed.
7541         (msprinter_device_implementation_flags): Removed.
7542         (console_type_create_device_mswindows): Removed references to
7543         implementation_flags methods, set implementation flags here.
7544         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7545
7546         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7547         (console_type_create_device_gtk): Removed method declaration.
7548         Added commented out statement which semantically matches the
7549         commented out statement in the above removed method.
7550
7551 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7552
7553         The attached patch fixes a few warnings. 
7554
7555         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7556         * src/frame-gtk.c: guard against GNOME calls in GTK only
7557         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7558         * src/select-gtk.c: prototype lisp_to_time
7559
7560 2001-06-08  Ben Wing  <ben@xemacs.org>
7561
7562         ------ gc-in-window-procedure fixes ------
7563         
7564         * alloc.c:
7565         * alloc.c (struct post_gc_action):
7566         * alloc.c (register_post_gc_action):
7567         * alloc.c (run_post_gc_actions):
7568         * alloc.c (garbage_collect_1):
7569         Create "post-gc actions", to avoid those dreaded "GC during window
7570         procedure" problems.
7571
7572         * event-msw.c:
7573         Abort, clean and simple, when GC in window procedure.  We want
7574         to flush these puppies out.
7575
7576         * glyphs-msw.c:
7577         * glyphs-msw.c (finalize_destroy_window):
7578         * glyphs-msw.c (mswindows_finalize_image_instance):
7579         Use a post-gc action when destroying subwindows.
7580
7581         * lisp.h:
7582         Declare register_post_gc_action().
7583
7584         * scrollbar-msw.c:
7585         * scrollbar-msw.c (unshow_that_mofo):
7586         Use a post-gc action when unshowing scrollbar windows, if in gc.
7587
7588         * redisplay.c (mark_redisplay):
7589         Add comment about the utter evilness of what's going down here.
7590
7591         ------ cygwin setitimer fixes ------
7592         
7593         * Makefile.in.in (sheap_objs):
7594         * Makefile.in.in (profile_objs):
7595         * Makefile.in.in (objs):
7596         Compile profile.c only when HAVE_SETITIMER.
7597         
7598         * nt.c (mswindows_sigset):
7599         * nt.c (mswindows_sighold):
7600         * nt.c (mswindows_sigrelse):
7601         * nt.c (mswindows_sigpause):
7602         * nt.c (mswindows_raise):
7603         * nt.c (close_file_data):
7604         Style fixes.
7605         
7606         * nt.c:
7607         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7608         
7609         * profile.c:
7610         * profile.c (Fstart_profiling):
7611         * profile.c (Fstop_profiling):
7612         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7613         instead of just plain setitimer().
7614         
7615         * signal.c:
7616         * signal.c (set_one_shot_timer):
7617         * signal.c (alarm):
7618         Define qxe_setitimer() as an encapsulation around setitimer() --
7619         call setitimer() directly unless Cygwin or MS Win, in which case
7620         we use our simulated version in win32.c.
7621         
7622         * systime.h:
7623         * systime.h (struct itimerval):
7624         * systime.h (ITIMER_REAL):
7625         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7626         comment about "qxe" and the policy regarding encapsulation.
7627
7628         * win32.c:
7629         * win32.c (setitimer_helper_proc):
7630         * win32.c (setitimer_helper_period):
7631         * win32.c (setitimer_helper):
7632         * win32.c (mswindows_setitimer):
7633         Move setitimer() emulation here, so Cygwin can use it.
7634         Rename a couple of functions and variables to be longer and more
7635         descriptive.  In setitimer_helper_proc(), send the signal
7636         using either mswindows_raise() or (on Cygwin) kill().  If for
7637         some reason we are still getting lockups, we'll change the kill()
7638         to directly invoke the signal handlers.
7639
7640         ------ windows shell fixes ------
7641         
7642         * callproc.c:
7643         * ntproc.c:
7644         Comments about how these two files must die.
7645
7646         * callproc.c (init_callproc):
7647         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7648         not just COMSPEC. (more correct and closer to FSF.) Don't
7649         force a value for SHELL into the environment. (Comments added
7650         to explain why not.)
7651         
7652         * nt.c (init_user_info):
7653         Don't shove a fabricated SHELL into the environment.  See above.
7654
7655 2001-06-01  Ben Wing  <ben@xemacs.org>
7656
7657         * Makefile.in.in (ldflags):
7658         eliminate that pesky "defaulting to 00401000" warning.
7659         * nt.h:
7660         eliminate warnings.
7661
7662 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7663
7664         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7665         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7666
7667 2001-04-24  Jerry James <james@xemacs.org>
7668
7669         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7670         correct order.
7671
7672 2001-06-01  Ben Wing  <ben@xemacs.org>
7673
7674         * event-msw.c (debug_mswin_messages):
7675         conditionalize the messages that were causing compile errors.
7676         (if only macros could generate #ifdef statements ...)
7677
7678 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7679
7680         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7681
7682 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7683
7684         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7685
7686 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7687
7688         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7689         * process-unix.c (unix_canonicalize_host_name):
7690         sysdep.c (init_system_name):
7691         Use it to conditionally support IPv6 canonicalization.
7692
7693 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7694
7695         * event-msw.c:
7696         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7697
7698 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7699
7700         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7701         attempt is made to scroll when no scroll bar is available.
7702
7703 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7704
7705         * input-method-motif.c (XIM_delete_frame): New callback.
7706         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7707         got deleted from 21.4.3.)
7708
7709 2001-06-01  Ben Wing  <ben@xemacs.org>
7710
7711         * nt.c (mswindows_utime):
7712         * nt.c (close_file_data):
7713         fix off-by-one-indirection error.
7714
7715 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7716
7717         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7718         because set_file_times() now takes Lisp_Object path, instead of
7719         char*.
7720         * nt.c: Include buffer.h.
7721         * nt.c (convert_from_time_t): New.
7722         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7723         not set mtime correctly.
7724         * nt.h: Declare mswindows_utime().
7725         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7726         path, instead of char*.
7727         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7728
7729 2001-05-30  Ben Wing  <ben@xemacs.org>
7730
7731         For 21.4:
7732
7733         (Stephen, just take all event-msw.c patches.  This includes
7734         the "iconify" fix below.)
7735
7736         * event-msw.c:
7737         * event-msw.c (mswindows_dequeue_dispatch_event):
7738         * event-msw.c (assert):
7739         * event-msw.c (emacs_mswindows_quit_p):
7740         * event-msw.c (debug_mswin_messages):
7741         * event-msw.c (debug_output_mswin_message):
7742         * event-msw.c (vars_of_event_mswindows):
7743         Fix yet more problems with C-g handling.
7744         Implement debug-mswindows-events.
7745         
7746 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7747
7748         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7749         
7750 2001-05-23  Ben Wing  <ben@xemacs.org>
7751
7752         * event-msw.c (winsock_writer):
7753         * event-msw.c (winsock_closer):
7754         prior kludgy code was clobbering the buffer, thinking it was
7755         "unused" space to store an unneeded return value; instead, use
7756         the variable we've already got staring us in the face.
7757
7758 2001-05-17  Andy Piper  <andy@xemacs.org>
7759
7760         * sysfile.h: don't assume that file attributes are boolean
7761
7762 2001-05-23  Ben Wing  <ben@xemacs.org>
7763
7764         * device-msw.c (msprinter_init_device):
7765         signal an error rather than crash with an unavailable network
7766         printer (from Mike Alexander).
7767         
7768         * event-msw.c:
7769         * event-msw.c (struct winsock_stream):
7770         * event-msw.c (winsock_writer):
7771         * event-msw.c (winsock_closer):
7772         * event-msw.c (make_winsock_stream_1):
7773         cleanup headers.  fix (hopefully) an error with data corruption
7774         when sending to a network connection.
7775
7776         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7777         to handle the ~user prefix by (a) always assuming we're referencing
7778         ourselves and not even verifying the user -- hence any file with
7779         a tilde as its first char is invalid! (b) if there wasn't a slash
7780         following the filename, the pointer was set *past* the end of
7781         file and we started reading from uninitialized memory.  Now we
7782         simply treat these as files, always.
7783
7784         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7785         
7786 2001-05-19  Ben Wing  <ben@xemacs.org>
7787
7788         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7789
7790         * process-nt.c:
7791         * process-nt.c (vars_of_process_nt):
7792         remove unused mswindows-quote-process-args.  rec for 21.4.
7793         
7794 2001-05-12  Ben Wing  <ben@xemacs.org>
7795
7796         * event-msw.c (mswindows_dde_callback):
7797         * event-msw.c (mswindows_wnd_proc):
7798         eliminate cygwin warnings.
7799
7800 2001-05-06  Ben Wing  <ben@xemacs.org>
7801
7802         * console-msw.h:
7803         * device-msw.c:
7804         * device-msw.c (print_dialog_worker):
7805         * device-msw.c (mswindows_handle_print_dialog_box):
7806         * device-msw.c (syms_of_device_mswindows):
7807         * dialog-msw.c (mswindows_make_dialog_box_internal):
7808         * general-slots.h:
7809         implement printing the selection when it's selected.
7810
7811 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7812
7813         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7814
7815 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7816
7817         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7818         EMACS_INT is signed.
7819
7820 2001-04-15  Michael Lausch  <mla@1012surf.net>
7821
7822         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7823         gtk_widget_request_size() to give scrollbar >0 width for
7824         GTK >1.2.8.
7825
7826 2001-05-30  William M. Perry  <wmperry@gnu.org>
7827
7828         * event-gtk.c: Check for buttons as modifier keys.
7829
7830 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7831
7832         * s\mingw32.h:
7833         Properly find MinGW's <process.h> inside Cygwin's restructured
7834         include directories.  Don't try to include <cygwin/version.h>
7835         since we are dropping support for MinGW in versions of Cygwin
7836         earlier than b21.
7837         * nt.c:
7838         Drop support for MinGW in versions of Cygwin before b21.
7839         * sysdep.c:
7840         Properly find MinGW's <process.h> inside Cygwin's restructured
7841         include directories.
7842         * syswindows.h:
7843         Drop support for MinGW in versions of Cygwin before b21.
7844         * unexcw.c:
7845         Even though a.out.h is no longer detected by configure, allow
7846         MinGW to use it until we figure out how to do the job with Win32.
7847
7848 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7849
7850         * syntax.c (find_start_of_comment):
7851         Fix `unbalanced parentheses' bug when dealing with mixed comment
7852         styles in c++/java/etc. mode
7853
7854 2001-05-29  Mike Alexander  <mta@arbortext.com>
7855
7856         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7857         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7858
7859 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7860
7861         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7862
7863 2001-03-31  Mike Sperber <mike@xemacs.org>
7864
7865         * search.c (Freplace_match): Support FSF-style specification of
7866         match subexpression when applied to a buffer.
7867
7868 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7869
7870         * event-stream.c (is_scrollbar_event): add missing semicolon
7871
7872 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7873
7874         * Makefile.in.in: Use TAR macro instead of hardcoding
7875           tar.  Allows use of GNU tar instead of system tar
7876
7877 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7878
7879         * event-stream.c (is_scrollbar_event): add missing semicolon
7880
7881 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7882
7883         * XEmacs 21.4.3 "Academic Rigor" is released.
7884
7885 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7886
7887         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7888
7889 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7890
7891         * buffer.c (Vcase_fold_search): Remove obsolete
7892           comment about non ASCII case-fold-search.  This
7893           bug has been fixed by case-table changes.
7894
7895 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7896
7897         * event-msw.c: Restore include of events-mod.h.
7898
7899 2001-04-22   zhaoway  <zw@debian.org>
7900
7901         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7902         !HAVE_SCROLLBARS.
7903
7904 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7905
7906         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7907
7908 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7909
7910         * mule-charset.c (Fmake_charset): Add missing else.
7911
7912 2001-04-23  Ben Wing  <ben@xemacs.org>
7913
7914         * event-msw.c (FAKE_MOD_QUIT):
7915         * event-msw.c (mswindows_dequeue_dispatch_event):
7916         * event-msw.c (mswindows_wnd_proc):
7917         * event-msw.c (emacs_mswindows_quit_p):
7918         Get critical quit working.
7919
7920 2001-05-05  Ben Wing  <ben@xemacs.org>
7921
7922         * console-msw.h:
7923         * device-msw.c:
7924         * device-msw.c (mswindows_get_default_margin):
7925         * frame-msw.c (mswindows_size_frame_internal):
7926         * frame-msw.c (msprinter_init_frame_1):
7927         * frame-msw.c (vars_of_frame_mswindows):
7928         Change top/bottom margin defaults to 0.5 inches.
7929
7930 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7931
7932         Fix link error with gcc 3.0 on Linux.
7933         * terminfo.c (UP): Remove.
7934         * terminfo.c (BC): Remove.
7935         * terminfo.c (PC): Remove.
7936         They weren't used, and in any case, these symbols should be
7937         defined in the *library*.
7938
7939 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7940
7941         * s/aix4.h: Fix crash with xlc -O3.
7942         Improve comment explaining how -O3 works.
7943
7944 2001-04-15  Ben Wing  <ben@xemacs.org>
7945
7946         * event-stream.c:
7947         * event-stream.c (Fnext_event):
7948         * event-stream.c (is_scrollbar_event):
7949         * event-stream.c (execute_command_event):
7950         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7951         crash' problem.  His fix introduces other problems.  We filter
7952         out scrollbar events specifically, making them somewhat invisible
7953         to command-building, and not appearing in `this-command-keys'.
7954         More work is still needed (see comments in event-stream.c), but
7955         this fixes all the major problems.
7956
7957 2001-04-20  Ben Wing  <ben@xemacs.org>
7958
7959         * .cvsignore: Added stuff for Windows.
7960
7961 2001-04-28  Ben Wing  <ben@xemacs.org>
7962
7963         * buffer.c (Ferase_buffer):
7964         * editfns.c (buffer_insert1):
7965         * editfns.c (Finsert_before_markers):
7966         * editfns.c (Finsert_string):
7967         * editfns.c (Finsert_char):
7968         * editfns.c (Fdelete_region):
7969         * editfns.c (Fwiden):
7970         * editfns.c (Fnarrow_to_region):
7971         remove bogus lines setting zmacs_region_stays to 0.
7972         
7973 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7974
7975         * process-unix.c (unix_open_network_stream): If connect() fails
7976         invalidate file descriptor after closing it.
7977
7978 2001-03-08  Mike Alexander  <mta@arbortext.com>
7979
7980         * event-msw.c (mswindows_need_event_in_modal_loop):
7981         Don't dispatch a message if we didn't get one.
7982         (mswindows_need_event):
7983         Terminate the correct process when one exits instead of the first
7984         one on Vprocess_list and look for process termination when in
7985         mswindows_protect_modal_loop.
7986
7987 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7988
7989         * XEmacs 21.4.1 "Copyleft" is released.
7990
7991 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7992
7993         * input-method-motif.c (XIM_delete_frame): New callback.
7994         (XIM_init_frame): Register it.
7995
7996 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7997
7998         * XEmacs 21.4.0 "Solid Vapor" is released.
7999
8000 2001-04-15  Ben Wing  <ben@xemacs.org>
8001
8002         * cmdloop.c (call_command_loop):
8003         Fix braino in bit-rotting code.
8004         
8005 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8006
8007         * extents.c (Fset_extent_endpoints): Force creation of extent info
8008         in buffer_or_string.
8009
8010         * extents.c (process_extents_for_insertion_mapper): Correctly
8011         check for open-open zero-length extents.
8012
8013 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8014
8015         * lisp.h: New typedefs Memory_count, Element_count.
8016         * regex.c:
8017         * regex.h:
8018         Sign-compare warning elimination: several unsigned -> signed.
8019         Based on work by Ben Wing <ben@xemacs.org>.
8020
8021 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8022
8023         * XEmacs 21.2.47 "Zephir" is released.
8024
8025 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8026
8027         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8028
8029 2001-04-03  Mike Sperber <mike@xemacs.org>
8030
8031         * search.c: Revert previous patch due because of release.
8032
8033 2001-03-30  Ben Wing  <ben@xemacs.org>
8034
8035         * s\cygwin32.h:
8036         Add missing killpg prototype.
8037
8038         * elhash.c:
8039         Add a comment about fixing problems when a new entry is added
8040         while mapping.
8041
8042         * frame-msw.c (mswindows_init_frame_1):
8043         Fix compile warnings.
8044
8045         * menubar.c (vars_of_menubar):
8046         Provide `menu-accelerator-support' to indicate that we properly
8047         support %_ in menu specifications, so that package code can
8048         conditionalize on this (and remove %_ from menu specifications
8049         on older versions).
8050
8051         * event-msw.c:
8052         * scrollbar-msw.c:
8053         * scrollbar-msw.c (can_scroll):
8054         * scrollbar-msw.h:
8055         Fix handling of mouse wheel under Windows to follow standards --
8056         now scrolls window under pointer, not selected window.
8057
8058 2001-03-31  Mike Sperber <mike@xemacs.org>
8059
8060         * search.c (Freplace_match): Support FSF-style specification of
8061         match subexpression when applied to a buffer.
8062
8063 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8064
8065         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8066         function to modify KEYMAP, so map over a copy of the hash table.
8067
8068 2001-03-21  Martin Buchholz <martin@xemacs.org>
8069
8070         * XEmacs 21.2.46 "Urania" is released.
8071
8072 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8073
8074         * realpath.c (xrealpath): Make file-truename work with symlinks to
8075         /cygdrive paths on cygwin. Always lowercase drive-letters on
8076         native windows.
8077         (cygwin_readlink): Don't try to find canonical filename unless
8078         file exists.
8079
8080 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8081
8082         * ChangeLog: Log GTK merge.
8083
8084         * dumper.c:
8085         * select-x.c:
8086         * specifier.c:
8087         * symeval.h:
8088         Revert gratuitous whitespace changes from GTK merge.
8089
8090         * emacs.c: Document end of complex #ifdef @ l. 1495.
8091
8092
8093 2001-03-12  Andy Piper  <andy@xemacs.org>
8094
8095         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8096         have to do likewise.
8097
8098 2001-03-12  Andy Piper  <andy@xemacs.org>
8099
8100         * sysdep.c: we only support mingw now.
8101
8102 2001-03-09  Andy Piper  <andy@xemacs.org>
8103
8104         * unexcw.c (copy_executable_and_dump_data_section): making approx
8105         overrun a warning only.
8106
8107 2001-03-10  William M. Perry  <wmperry@aventail.com>
8108
8109         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8110         satisfy Stephen's identical-after-cpp plea.
8111
8112 2001-03-02  Ben Wing  <ben@xemacs.org>
8113
8114         * cmds.c:
8115         * cmds.c (Fforward_char):
8116         * syntax.c:
8117         * window.c:
8118
8119         Augment documentation of the most common motion commands to make
8120         note of the shifted-motion support.
8121         
8122 2001-03-02  Ben Wing  <ben@xemacs.org>
8123
8124         * nt.c (mswindows_fstat):
8125         * nt.c (mswindows_stat):
8126         * search.c (boyer_moore):
8127         Fix compile warnings under Windows.
8128         
8129         * sysdep.c (sys_readdir):
8130         Fix buggy filename-conversion code under Mule.
8131
8132 2001-03-09  William M. Perry  <wmperry@aventail.com>
8133
8134         * Makefile.in.in:
8135         * config.h.in:
8136         * console.c:
8137         * console.h:
8138         * device.c:
8139         * device.h:
8140         * dragdrop.c:
8141         * emacs.c:
8142         * event-stream.c:
8143         * events.c:
8144         * events.h:
8145         * faces.c:
8146         * frame.h:
8147         * general-slots.h:
8148         * glyphs.c:
8149         * gutter.c:
8150         * inline.c:
8151         * lisp.h:
8152         * lrecord.h:
8153         * make-src-depend:
8154         * redisplay-output.c:
8155         * redisplay.c:
8156         * symsinit.h:
8157         * sysfile.h:
8158         * toolbar.c:
8159         * window.c:
8160         The Great GTK Merge.
8161
8162         * ChangeLog.GTK:
8163         * console-gtk.c:
8164         * console-gtk.h:
8165         * device-gtk.c:
8166         * emacs-marshals.c:
8167         * emacs-widget-accessors.c:
8168         * event-gtk.c:
8169         * frame-gtk.c:
8170         * gccache-gtk.c:
8171         * gccache-gtk.h:
8172         * glade.c:
8173         * glyphs-gtk.c:
8174         * glyphs-gtk.h:
8175         * gtk-glue.c:
8176         * gtk-xemacs.c:
8177         * gtk-xemacs.h:
8178         * gui-gtk.c:
8179         * gui-gtk.h:
8180         * menubar-gtk.c:
8181         * native-gtk-toolbar.c:
8182         * objects-gtk.c:
8183         * objects-gtk.h:
8184         * redisplay-gtk.c:
8185         * scrollbar-gtk.c:
8186         * scrollbar-gtk.h:
8187         * select-gtk.c:
8188         * toolbar-gtk.c:
8189         * ui-byhand.c:
8190         * ui-gtk.c:
8191         * ui-gtk.h:
8192         The Great GTK Merge: new files.
8193
8194 2001-02-26  Ben Wing  <ben@xemacs.org>
8195
8196         Reapplied Lstream change.
8197
8198 2001-02-26  Ben Wing  <ben@xemacs.org>
8199
8200         Undid the last change, since it is more controversial than I
8201         thought.  It should be back in at some point soon.
8202         
8203 2001-02-25  Ben Wing  <ben@xemacs.org>
8204
8205         * buffer.c:
8206         * callproc.c (Fold_call_process_internal):
8207         * event-msw.c (ntpipe_slurp_reader):
8208         * event-msw.c (ntpipe_shove_writer):
8209         * event-msw.c (winsock_reader):
8210         * event-msw.c (winsock_writer):
8211         * file-coding.c:
8212         * file-coding.c (detect_eol_type):
8213         * file-coding.c (detect_coding_type):
8214         * file-coding.c (determine_real_coding_system):
8215         * file-coding.c (Fdetect_coding_region):
8216         * file-coding.c (decoding_reader):
8217         * file-coding.c (decoding_writer):
8218         * file-coding.c (mule_decode):
8219         * file-coding.c (Fdecode_coding_region):
8220         * file-coding.c (encoding_reader):
8221         * file-coding.c (encoding_writer):
8222         * file-coding.c (mule_encode):
8223         * file-coding.c (Fencode_coding_region):
8224         * file-coding.c (detect_coding_sjis):
8225         * file-coding.c (decode_coding_sjis):
8226         * file-coding.c (encode_coding_sjis):
8227         * file-coding.c (detect_coding_big5):
8228         * file-coding.c (decode_coding_big5):
8229         * file-coding.c (encode_coding_big5):
8230         * file-coding.c (detect_coding_ucs4):
8231         * file-coding.c (decode_coding_ucs4):
8232         * file-coding.c (encode_coding_ucs4):
8233         * file-coding.c (detect_coding_utf8):
8234         * file-coding.c (decode_coding_utf8):
8235         * file-coding.c (encode_coding_utf8):
8236         * file-coding.c (detect_coding_iso2022):
8237         * file-coding.c (decode_coding_iso2022):
8238         * file-coding.c (encode_coding_iso2022):
8239         * file-coding.c (decode_coding_no_conversion):
8240         * file-coding.c (encode_coding_no_conversion):
8241         * glyphs-x.c (write_lisp_string_to_temp_file):
8242         * gpmevent.c (tty_get_foreign_selection):
8243         * lisp.h:
8244         * lstream.c:
8245         * lstream.c (Lstream_flush_out):
8246         * lstream.c (Lstream_adding):
8247         * lstream.c (Lstream_write_1):
8248         * lstream.c (Lstream_write):
8249         * lstream.c (Lstream_raw_read):
8250         * lstream.c (Lstream_read_more):
8251         * lstream.c (Lstream_read):
8252         * lstream.c (Lstream_unread):
8253         * lstream.c (Lstream_fputc):
8254         * lstream.c (stdio_reader):
8255         * lstream.c (stdio_writer):
8256         * lstream.c (filedesc_reader):
8257         * lstream.c (filedesc_writer):
8258         * lstream.c (lisp_string_reader):
8259         * lstream.c (struct fixed_buffer_stream):
8260         * lstream.c (make_fixed_buffer_input_stream):
8261         * lstream.c (make_fixed_buffer_output_stream):
8262         * lstream.c (fixed_buffer_reader):
8263         * lstream.c (fixed_buffer_writer):
8264         * lstream.c (struct resizing_buffer_stream):
8265         * lstream.c (resizing_buffer_writer):
8266         * lstream.c (dynarr_writer):
8267         * lstream.c (lisp_buffer_reader):
8268         * lstream.c (lisp_buffer_writer):
8269         * lstream.h:
8270         * lstream.h (lstream_implementation):
8271         * lstream.h (struct lstream):
8272         * md5.c (Fmd5):
8273         * process-nt.c (nt_send_process):
8274         * process-unix.c (unix_send_process):
8275         
8276         Correct Lstream lossage due to mixing of signed and unsigned
8277         quantities.  All Lstream uses of size_t and ssize_t are now a
8278         single signed data type Lstream_data_count.  This fixes problems
8279         under Windows with sending large quantities of data to a process,
8280         and may well fix other subtle bugs.
8281
8282 2001-02-23  Martin Buchholz <martin@xemacs.org>
8283
8284         * XEmacs 21.2.45 "Thelxepeia" is released.
8285
8286 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8287
8288         * lisp-union.h (XSETINT): 
8289         (XSETCHAR):
8290         (XSETOBJ): 
8291         Reverse previous change of 2001-02-06.
8292
8293 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8294
8295         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8296         buffers.
8297         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8298         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8299         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8300         * regex.c (POS_AS_IN_BUFFER): removed
8301         * regex.c (re_search_2):
8302         * regex.c (re_match_2):
8303         Don't use an offset of 1 when calculating buffer positions, since
8304         `BI_BUF_BEGV' does it already.
8305
8306 2001-02-18  Wim Dumon  <wim@easics.be>
8307
8308         * insdel.c (prepare_to_modify_buffer): Also check for
8309         supersession when clash-detection is enabled. 
8310
8311 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8312
8313         * regex.c (re_match_2_internal):
8314         Convert temp characters from 'const unsigned char' to 're_char'.
8315         Fix crashing bug with extended characters under mule.
8316         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8317         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8318         font-lock, pdump, and new syntax-table code.
8319         * syntax.c (find_start_of_comment):
8320         (find_end_of_comment):
8321         (forward-comment):
8322         Fix crashing bugs involving moving beyond end of buffer.
8323         * syntax.c (find_start_of_comment):
8324         Fixed logic to allow proper detection of cases where the same
8325         character is used to end both a two-char comment start and a
8326         two-char comment end sequence. Fixes `(forward-comment -1)'.
8327         * syntax.c (find_start_of_comment):
8328         Return position just past last comment-end character for all cases
8329         (previously was only done for two-char comment-end sequences).
8330         * syntax.c (forward-comment):
8331         Take value returned from `find_end_of_comment', rather than
8332         incrementing it.
8333         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8334         Properly deal with BUFFERP (syntax_cache.object)
8335
8336 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8337
8338         * alloc.c (Fgarbage_collect): 
8339         * alloc.c (make_bit_vector_from_byte_vector):
8340         -Wsign-compare-correctness.
8341
8342 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8343
8344         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8345         (XSETCHAR): Likewise.
8346         (XSETOBJ): Likewise.
8347
8348 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8349
8350         * mule-canna.c (canna-func-delete_previous): 
8351         Rename to canna-func-delete-previous.
8352
8353 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8354
8355         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8356
8357 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8358
8359         * font-lock.c (find_context): Fix C++ compile errors introduced by
8360         recent patch
8361
8362 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8363
8364         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8365         pragma, but earlier ones barf on the same pragma.
8366
8367 2001-02-06  Mike Sperber <mike@xemacs.org>
8368
8369         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8370         `configure-mule-lisp-directory'.
8371
8372 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8373
8374         Make sure dump-id.c is compiled in the same way as other .c's.
8375         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8376         * dump-id.h: Remove.
8377         * emacs.c: Move dump-id.h into dumper.h.
8378         * dumper.h: Move dump-id.h into dumper.h.
8379         * Makefile.in.in:
8380         Use standard .c.o rule for building dump-id.o.
8381         Remove preprocessor flags from link command.
8382         Add dump-id.o to ${otherobjs} if PDUMP.
8383
8384 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8385
8386         Port FSF 20.7 syntax table improvements.
8387         * syntax.c.
8388         * syntax.h.
8389
8390         Fixups for new syntax table stuff.
8391         * dired.c: Include syntax.c.
8392         (Fdirectory_files): Initialize regex_match_object and
8393         regex_emacs_buffer.
8394         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8395         and Fget_char_property.
8396
8397         Use ported FSF 20.7 syntax table improvements.
8398         * font-lock.c.
8399         * regex.c.
8400         * search.c.
8401         
8402 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8403
8404         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8405         Unixware's enum boolean from sys/types.h.
8406
8407 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8408
8409         Fix support for building with latest Purify.
8410         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8411         (PURIFY_FLAGS): Likewise.
8412
8413 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8414
8415         * fileio.c (lisp_string_set_file_times): New.
8416         * fileio.c (Fcopy_file): Use it.
8417         Fixes bug:
8418         (copy-file filename non-ascii-filename t t)
8419         ==> No such file or directory, non-ascii-filename
8420
8421 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8422
8423         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8424         USHRT_MAX seems clearer than ~0 anyways.
8425
8426 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8427
8428         dumper improvements.  Inspired by Olivier.
8429         * dumper.c (pdump_max_align): New.
8430         * dumper.c (pdump_add_entry): Use pdump_max_align.
8431         * dumper.c (pdump_get_entry_list): Likewise.
8432         * dumper.c (pdump_scan_by_alignment): Likewise.
8433         Don't iterate through unnecessary alignments.
8434         * dumper.c (pdump_file_get): No need to align result of malloc().
8435         * dumper.c (pdump_mallocadr): Remove.  
8436         The result of malloc() is guaranteed to be maximally aligned.
8437         * dumper.c: s/elmt/elt/g;
8438         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8439         * dumper.c (pdump_alert_undump_object): Likewise.
8440         * dumper.c (pdump_align_table): 
8441         Don't support alignments > 64.
8442         Store ALIGNOF's, not shift counts, in table.
8443
8444 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8445
8446         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8447         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8448         * systime.h: Use HAVE_UTIME.
8449         * sysdep.c (struct utimbuf): Remove.
8450         * sysdep.c (set_file_times): Prefer utime() to utimes().
8451         * config.h.in (HAVE_UTIME): New.
8452         * config.h.in (HAVE_UTIME_H): Remove.
8453         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8454
8455 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8456
8457         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8458
8459 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8460
8461         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8462
8463 2001-02-08  Martin Buchholz <martin@xemacs.org>
8464
8465         * XEmacs 21.2.44 "Thalia" is released.
8466
8467 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8468
8469         Fixes crashes in kill-emacs on some systems.
8470         * process-unix.c (unix_kill_child_process):
8471         It's OK for kill() to fail with ESRCH.
8472
8473 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8474
8475         Contortions to make .gdbinit tricks work on most systems.
8476         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8477         * alloc.c (dbg_valmask): Make non-const.
8478         * alloc.c (dbg_typemask): Make non-const.
8479         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8480         * alloc.c (dbg_valbits): Make non-const.
8481         * alloc.c (dbg_gctypebits): Make non-const.
8482         * .gdbinit (decode_object): Make it work with AIX cc.
8483
8484 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8485
8486         * elhash.c (make_general_lisp_hash_table):
8487         Use simpler and more efficient calloc to clear entries.
8488
8489 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8490
8491         * window.c (window_scroll): Work around an AIX C compiler bug.
8492         Fixes 'scroll-up' does nothing problem with xlC.
8493
8494 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8495
8496         * .gdbinit: Remove obsolete comment.
8497
8498 2001-01-31  Mike Alexander  <mta@arbortext.com>
8499
8500         * select.c (Fown_selection_internal): Set owned_p for device
8501         method correctly.
8502
8503 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8504
8505         Port to g++ 2.97.
8506         "not" cannot be used as a macro name as it is an operator in C++
8507         * config.h.in: Stop #defining `not'.
8508         * chartab.c (check_category_char): not ==> not_p
8509         * chartab.h: Likewise.
8510         * regex.c (re_match_2_internal): Likewise.
8511
8512 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8513
8514         * lisp-disunion.h: Fix up comments.
8515
8516 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8517
8518         * keymap.c (define_key_check_and_coerce_keysym):
8519         (syms_of_keymap):
8520         Support mouse-6 and mouse-7 bindings in the obvious way.
8521
8522 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8523
8524         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8525
8526 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8527
8528         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8529         Previous patch missed DEFVAR_INT_MAGIC.
8530         Make sure future DEFVAR_foo use correct types.
8531         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8532         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8533         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8534         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8535         * (DEFVAR_INT): Likewise.
8536         * redisplay.c (vertical_clip): Should be of type Fixnum.
8537         * redisplay.c (horizontal_clip): Likewise.
8538         * lisp.h (dump_add_opaque_int): New.
8539         (dump_add_opaque_fixnum): New.
8540
8541 2001-01-29  Andy Piper  <andy@xemacs.org>
8542
8543         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8544         since they can be eval'ed
8545
8546 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8547
8548         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8549         Oops, XEmacs redefines `class'.  Use `typename' instead.
8550
8551 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8552
8553         * dumper.c: Fix C++ compile errors.
8554
8555 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8556
8557         * tparam.c: Use correct prototypes.
8558
8559 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8560
8561         * sysproc.h: #include util.h for NetBSD's openpty.
8562
8563 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8564
8565         More 64-bit correctness.
8566         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8567         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8568         Fix up comments.
8569         This finally finishes the 64-bit SGI port.
8570         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8571         * symbols.c: Fix up comments and type casts.
8572         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8573         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8574         * symeval.h (Fixnum): New type.
8575         * symeval.h (symbol_value_type): Fix up comment.
8576
8577         * commands.h:
8578         * nt.c:
8579         * emacs.c:
8580         * data.c:
8581         * redisplay.c:
8582         * abbrev.c:
8583         * dired-msw.c:
8584         * event-Xt.c:
8585         * eldap.c:
8586         * window.c:
8587         * sound.c:
8588         * event-stream.c:
8589         * eval.c:
8590         * buffer.c:
8591         * mule-canna.c: A million DEFVAR_INTs here...
8592         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8593         * extents.c:
8594         * cmdloop.c:
8595         * lisp.h:
8596         * select-x.c:
8597         * console-x.h:
8598         * event-msw.c:
8599         * mule-wnnfns.c:
8600         * hpplay.c:
8601         * ralloc.c:
8602         * alloc.c:
8603         * keymap.c:
8604         * profile.c:
8605         s/int/Fixnum/g in DEFVAR_INT declarations.
8606
8607 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8608
8609         Port pdump to SGI alignment-sensitive environment.
8610         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8611         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8612         properly aligned.
8613         Define and use aligned reading and writing macros.
8614         Use buffered stdio instead of posix i/o for faster dumping.
8615         Eliminate kludgy 256 byte space for header.
8616         Read and write from dump file using structs for alignment safety.
8617         * dumper.c (pdump_align_stream): New.
8618         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8619         * dumper.c (PDUMP_READ_ALIGNED): New.
8620         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8621         * dumper.c (pdump_static_Lisp_Object): New struct.
8622         * dumper.c (pdump_static_pointer): New struct.
8623         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8624         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8625         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8626         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8627
8628         * dumper.c (pdump_backtrace):
8629         * dumper.c (pdump_get_indirect_count):
8630         * dumper.c (pdump_register_object):
8631         * dumper.c (pdump_register_struct):
8632         * dumper.c (pdump_reloc_one):
8633         * dumper.c (pdump_scan_by_alignment):
8634         * dumper.c (pdump_dump_from_root_struct_ptrs):
8635         * dumper.c (pdump_dump_opaques):
8636         * dumper.c (pdump_dump_rtables):
8637         * dumper.c (pdump_dump_from_root_objects):
8638         * dumper.c (pdump):
8639         * dumper.c (pdump_load_finish):
8640         Use aligned reading and writing.
8641
8642         * dumper.c (pdump_free): Make static.
8643         * dumper.c (pdump_hFile): Likewise.
8644         * dumper.c (pdump_hMap): Likewise.
8645
8646 2001-01-26  Martin Buchholz <martin@xemacs.org>
8647
8648         * XEmacs 21.2.43 "Terspichore" is released.
8649
8650 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8651
8652         Type fiddling for window_config.saved_windows_count
8653         * window.c (struct window_config): 
8654         Make saved_windows_count member unsigned.
8655         * window.c (sizeof_window_config_for_n_windows): 
8656         Make parameter unsigned.
8657         * window.c (mark_window_config):
8658         * window.c (window_config_equal):
8659         * window.c (free_window_configuration):
8660         * window.c (Fset_window_configuration):
8661         * window.c (count_windows):
8662         * window.c (Fcurrent_window_configuration):
8663         * window.c (reinit_vars_of_window):
8664         Update all callers and users.
8665
8666 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8667
8668         Alignment correctness for flexible arrays.
8669         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8670         Make alignment-correct. Add interesting comments.
8671         * alloc.c (size_vector):
8672         * alloc.c (make_vector_internal):
8673         * alloc.c (make_bit_vector_internal):
8674         * alloc.c (sweep_bit_vectors_1):
8675         * fns.c (size_bit_vector):
8676         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8677         * window.c (sizeof_window_config_for_n_windows): 
8678         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8679
8680 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8681
8682         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8683
8684 2001-01-23  Andy Piper  <andy@xemacs.org>
8685
8686         * select.c (Fown_selection_internal): pass owned_p
8687
8688         * select-msw.c (mswindows_own_selection): New Signature.
8689
8690         * console.h (struct console_methods): add owned_p to
8691         _own_selection.
8692
8693         * select-x.c (x_own_selection): pass owned_p
8694         (hack_motif_clipboard_selection): use owned_p
8695         (vars_of_select_x): new variable -
8696         x_selection_strict_motif_ownership.
8697
8698 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8699
8700         * specifier.h (specifier_data_offset): Remove pointless parens.
8701         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8702
8703 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8704
8705         Make Lisp_Object sizeof methods be alignment-correct.
8706         pdump must restore objects to the same alignment as the C compiler
8707         assumes.  It really matters on SGIs.
8708         * lstream.c (aligned_sizeof_lstream): New.
8709         (sizeof_lstream): Use aligned_sizeof_lstream.
8710         (Lstream_new): Likewise.
8711         * opaque.c (aligned_sizeof_opaque): New.
8712         (sizeof_opaque): Use aligned_sizeof_opaque.
8713         (make_opaque): Likewise.
8714         * specifier.c (aligned_sizeof_specifier): New.
8715         (sizeof_specifier): Use aligned_sizeof_specifier.
8716         (make_specifier_internal): Likewise.
8717
8718 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8719
8720         * lstream.h (struct lstream): Use max_align_t for trailing data.
8721         * specifier.h (struct Lisp_Specifier): Likewise.
8722
8723 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8724
8725         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8726         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8727         (CCL_SUSPEND): Likewise.
8728         (CCL_INVALID_CMD): Likewise.
8729         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8730         (ccl_driver): Likewise.
8731         (CCL_WRITE_CHAR): Macro hygiene.
8732         (CCL_WRITE_STRING): Macro hygiene.
8733
8734 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8735
8736         Port "portable" dumper to SunOS 4 and HP-UX.
8737         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8738         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8739         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8740
8741 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8742
8743         * lisp.h (ALIGNOF): A better definition for C++.
8744
8745 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8746
8747         Macro hygiene.
8748         Fix printf warnings: int format, long int arg.
8749         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8750         (PUSH_FAILURE_POINT): Use correct printf formats.
8751         (POP_FAILURE_POINT): Use correct printf formats.  
8752         Use do {...} while (0)
8753
8754 2001-01-20  Martin Buchholz <martin@xemacs.org>
8755
8756         * XEmacs 21.2.42 "Poseidon" is released.
8757
8758 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8759
8760         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8761
8762 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8763
8764         De-kludgify FIXED_TYPE free list frobbing.
8765         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8766         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8767         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8768         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8769         * alloc.c (LRECORD_FREE_P): New.
8770         * alloc.c (MARK_LRECORD_AS_FREE): New.
8771         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8772         * alloc.c (STRUCT_FREE_P): Deleted.
8773         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8774         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8775         * alloc.c (STRING_CHARS_FREE_P): New.
8776         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8777         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8778         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8779         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8780         * alloc.c (resize_string): Use new definitions.
8781         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8782         * alloc.c (verify_string_chars_integrity): Use new definitions.
8783         * alloc.c (compact_string_chars): Use new definitions.
8784         * alloc.c: Update monster comments.
8785         * lrecord.h (lrecord_type): Add some new lrecord types for
8786         alloc.c's use.
8787
8788 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8789
8790         Improve alignment hackery.
8791         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8792         (max_align_t): Moved from opaque.h - general purpose.
8793         (ALIGN_PTR): Use size_t, not long.
8794         * opaque.h (max_align_t): Move to lisp.h.
8795
8796 2001-01-18  Norbert Koch  <nk@LF.net>
8797
8798         * gui.h: Fix and add prototypes to fix build problems.
8799
8800 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8801
8802         temacs is going away, so `dump-temacs' is now a bad name.
8803         * .dbxrc (dump-temacs): Rename to `dmp'.
8804         * .gdbinit (dump-temacs): Rename to `dmp'.
8805
8806 2001-01-17  Andy Piper  <andy@xemacs.org>
8807
8808         * glyphs.c (print_image_instance): comment to make martin happy.
8809
8810         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8811         change.
8812
8813         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8814         activation.
8815         (mswindows_tab_control_redisplay): warning suppression.
8816
8817         * glyphs-widget.c (widget_update): re-write to cope with updated
8818         items.
8819         (widget_instantiate): use new gui_item functions.
8820         (tab_control_update): deleted.
8821         (progress_gauge_update): deleted.
8822         (image_instantiator_progress_guage): take out update reference.
8823         (image_instantiator_tree_view): ditto.
8824         (image_instantiator_tab_control): ditto.
8825
8826         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8827         Right the new way.
8828         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8829         return whether anything was changed.
8830         (update_gui_item_keywords): as it sounds.
8831
8832         * gui.h: declare widget_gui_parse_item_keywords.
8833
8834         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8835         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8836
8837 2001-01-17  Martin Buchholz <martin@xemacs.org>
8838
8839         * XEmacs 21.2.41 "Polyhymnia" is released.
8840
8841 2001-01-16  Didier Verna  <didier@xemacs.org>
8842
8843         * glyphs.c (image_instantiate): don't use fallbacks when
8844         instantiating a face's background pixmap by inheritance.
8845
8846 2001-01-14  Mike Sperber <mike@xemacs.org>
8847
8848         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8849         Conditionalize accordingly.
8850
8851 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8852
8853         * dumper.c (pdump_file_get): Fix a compiler warning.
8854
8855 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8856
8857         Make Purify happy when pdumping.
8858         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8859         iniitalizing all bits of new lisp object memory.
8860         * symbols.c (Fmake_local_variable): Likewise.
8861         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8862         * symbols.c (Fdefvaralias): Likewise.
8863         * mule-charset.c (vars_of_mule_charset): Likewise.
8864
8865 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8866         Add the `-nd' flag when running pre-dump operations under the debugger.
8867         * .dbxrc (run-temacs): Add `-nd'.
8868         * .dbxrc (update-elc): Likewise.
8869         * .dbxrc (dump-temacs): Likewise.
8870         * .gdbinit (run-temacs): Likewise.
8871         * .gdbinit (check-temacs): Likewise.
8872         * .gdbinit (update-elc): Likewise.
8873         * .gdbinit (dump-temacs): Likewise.
8874
8875 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8876
8877         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8878         export OBJECT_MODE=64
8879         configure --pdump --use-union-type=no
8880         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8881         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8882
8883         * miscplay.c (sndcnv8U_2mono):
8884         Avoid two uses of `++' in the same expression.
8885         Suppresses a GCC warning.
8886
8887 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8888
8889         Make sure future compilers don't miscompile alloc.c.
8890         * alloc.c:
8891         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8892         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8893
8894 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8895
8896         * dumper.c: A little post-pdump-rename comment fixup.
8897
8898 2001-01-09  Jerry James  <james@eecs.ku.edu>
8899
8900         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8901
8902 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8903
8904         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8905         script:
8906         #!/bin/sh
8907         replace_symbol () {
8908           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8909         }
8910
8911         replace_symbol pdump_wire_lists pdump_weak_object_chains
8912         replace_symbol pdump_wire_list dump_add_weak_object_chain
8913
8914         replace_symbol pdump_wires pdump_root_objects
8915         replace_symbol pdump_wire dump_add_root_object
8916
8917         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8918         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8919
8920         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8921         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8922         replace_symbol dumpstructinfo pdump_root_struct_ptr
8923         replace_symbol dumpstruct dump_add_root_struct_ptr
8924
8925         replace_symbol dumpopaque dump_add_opaque
8926         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8927         replace_symbol dumpopaqueinfos pdump_opaques
8928         replace_symbol dumpopaqueinfo pdump_opaque
8929
8930         replace_symbol nb_structdump nb_root_struct_ptrs
8931         replace_symbol nb_opaquedump nb_opaques
8932
8933         replace_symbol align_table pdump_align_table
8934         replace_symbol dump_header pdump_header
8935
8936         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8937         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8938
8939
8940 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8941
8942         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8943         optimizing bytecount_to_charcount().
8944
8945 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8946
8947         * config.h.in:
8948         (HAVE_DLFCN_H): Removed.
8949         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8950
8951 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8952
8953         Portable dumper maintainability improvements.
8954         * alloc.c (staticpro):
8955         * alloc.c (staticpro_nodump):
8956         * alloc.c (garbage_collect_1):
8957         * alloc.c (reinit_alloc_once_early):
8958         * alloc.c (init_alloc_once_early):
8959         * alloc.c: Move dumper functions to alloc.c.
8960         * dumper.c (pdump_backtrace):
8961         * dumper.c (pdump_dump_structs):
8962         * dumper.c (pdump_dump_opaques):
8963         * dumper.c (pdump_dump_rtables):
8964         * dumper.c (pdump_dump_wired):
8965         * dumper.c (pdump):
8966         * dumper.c (pdump_load_check):
8967         * dumper.c (pdump_load_finish):
8968         * dumper.c (pdump_file_unmap):
8969         * dumper.c (pdump_file_get):
8970         * dumper.c (pdump_resource_free):
8971         * dumper.c (pdump_resource_get):
8972         * dumper.c (pdump_file_free):
8973         * dumper.c (pdump_file_try):
8974         * dumper.c (pdump_load):
8975         Remove fixed size limits on staticpro(), staticpro_nodump(),
8976         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8977         Remove custom code for dumping lrecord_implementations_table - use
8978         dumpopaque instead.
8979         Remove (most of the) custom code for dumping staticpros - dump it
8980         like any other dynarr.
8981
8982         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8983         * dumper.c: Moved functions from alloc.c.
8984         * alloc.c (dumpstruct): Moved to dumper.c.
8985         * alloc.c (dumpopaque): Likewise.
8986         * alloc.c (pdump_wire): Likewise.
8987         * alloc.c (pdump_wire_list): Likewise.
8988
8989         * lisp.h (Dynarr_sizeof): New.
8990         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8991         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8992         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8993
8994         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8995         * lisp.h (dumpopaque): ditto.
8996         * lisp.h (pdump_wire): ditto.
8997         * lisp.h (pdump_wire_list): ditto.
8998
8999 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9000
9001         * make-src-depend (PrintPatternDeps):
9002         Use `sort' to make output independent of perl version.
9003
9004 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9005
9006         Port to Netbsd 1.5.
9007         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9008         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9009
9010 2001-01-03  Didier Verna  <didier@xemacs.org>
9011
9012         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9013         that `focus_frame' is alive before thinking of calling
9014         `redisplay_redraw_cursor' on it.
9015
9016 2001-01-08  Martin Buchholz <martin@xemacs.org>
9017
9018         * XEmacs 21.2.40 is released.
9019
9020 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9021
9022         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9023
9024 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9025
9026         * alloc.c (dbg_valmask): Make const.
9027         * alloc.c (dbg_typemask): Make const.
9028         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9029         * alloc.c (dbg_valbits): Make const.
9030         * alloc.c (dbg_gctypebits): Make const.
9031
9032 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9033
9034         * redisplay-x.c (x_bevel_area):
9035         redisplay.h (struct rune):
9036         Typo fixes in comments.
9037
9038 2001-01-05  Andy Piper  <andy@xemacs.org>
9039
9040         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9041         adjustment.
9042
9043         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9044
9045 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9046
9047         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9048
9049         * mule-ccl.c (stack_idx_of_map_multiple):
9050         Non const global data must not be initialized!
9051         Found by MIYASHITA Hisashi.
9052
9053 2001-01-02  Andy Piper  <andy@xemacs.org>
9054
9055         * frame.c (change_frame_size): make sure frame size is always
9056         marked as changed.
9057
9058         * glyphs.c (image_instance_layout): minor code reuse.
9059
9060         * window.c (Fcurrent_window_configuration): revert previous
9061         change.
9062
9063 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9064
9065         * glyphs.h:
9066         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9067
9068 2000-12-31  Andy Piper  <andy@xemacs.org>
9069
9070         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9071         when widget gets unmapped.
9072
9073         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9074         function. Make sure widgets losing focus don't just drop it.
9075         (handle_focus_event_1): record the widget with focus.
9076
9077 2000-12-31  Andy Piper  <andy@xemacs.org>
9078
9079         * window.c (allocate_window): use
9080         make_image_instance_cache_hash_table.
9081         (make_dummy_parent): ditto.
9082         (Fset_window_configuration): ditto.
9083
9084         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9085
9086         * glyphs.c (process_image_string_instantiator): use
9087         INSTANTIATOR_TYPE.
9088         (get_image_instantiator_governing_domain): ditto.
9089         (normalize_image_instantiator): ditto.
9090         (instantiate_image_instantiator): ditto.
9091         (make_image_instance_1): ditto.
9092         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9093         (instantiator_eq_equal): new function for use with instance hash
9094         tables.
9095         (instantiator_eq_hash): ditto.
9096         (make_image_instance_cache_hash_table): create a suitable hash
9097         table for storing image instances.
9098
9099         * elhash.h (hash_table_weakness): new internal weakness type
9100         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9101         declare new functions.
9102
9103         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9104         another weakness type for glyphs.
9105         (make_standard_lisp_hash_table): new function split out from
9106         make_general_lisp_hash_table.
9107         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9108         (hash_table_instantiate): ditto.
9109         (Fmake_hash_table): ditto.
9110
9111 2000-12-31  Martin Buchholz <martin@xemacs.org>
9112
9113         * XEmacs 21.2.39 is released.
9114
9115 2000-12-29  Andy Piper  <andy@xemacs.org>
9116
9117         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9118
9119         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9120         the frame has changed so that we pick up geometry changes such as
9121         menubar visibility.
9122
9123 2000-12-28  Andy Piper  <andy@xemacs.org>
9124
9125         * lastfile.c (my_ebss): make a char array so we can pad the
9126         bss. Fixes cygwin unexec.
9127
9128         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9129
9130 2000-12-26  Andy Piper  <andy@xemacs.org>
9131
9132         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9133         comments and try and be more precise about a non-/SIGIO world.
9134         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9135         SIGIO.
9136
9137         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9138         we don't normalize to zero width or height.
9139
9140 2000-12-24  Andy Piper  <andy@xemacs.org>
9141
9142         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9143
9144 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9145
9146         * s/sco5.h: SCO 5 has pty support.
9147
9148 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9149
9150         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9151         input-method-xlib.c contains whole contents of input-method-xfs.c,
9152         so we can use input-method-xlib.c's code for USE_XFONTSET
9153         using #ifdefs.
9154         * input-method-xfs.c: removed.
9155
9156 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9157
9158         * file-coding.h (enum coding_category_type): reorder enumerators to
9159         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9160         (now one greater than largest real coding_category_type enumerator).
9161         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9162         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9163         Fcoding_category_list, Fset_coding_priority_list,
9164         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9165         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9166
9167 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9168
9169         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9170         * redisplay-output.c (redisplay_output_window): Clear top of window
9171         when face is changed.
9172         * redisplay-x.c (x_redraw_exposed_window): Call
9173         redisplay_clear_top_of_window.
9174         * redisplay.h: Publish redisplay_clear_top_of_window.
9175
9176 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9177
9178         * buffer.c (Fkill_buffer): Map over all devices.
9179         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9180         (list_windows): New function.
9181         (list_all_windows): Ditto.
9182         (Freplace_buffer_in_windows): Use them.
9183
9184 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9185
9186         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9187         (Fopen_database): Use `db_create' instead of `db_open'.
9188         (syms_of_database): Initialize Qqueue.
9189
9190 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9191
9192         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9193         buffer_local_face_property.
9194         * buffer.h (struct buffer): New member buffer_local_face_property.
9195         * window.c (Fset_window_buffer):  Mark window's face as changed
9196         when buffer has buffer local face.
9197         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9198         * objects.c (color_after_change): Set buffer_local_face_property
9199         when locale of face specifier is buffer.
9200         * objects.c (font_after_change): Ditto.
9201         * objects.c (face_boolean_after_change): Ditto.
9202         * glyphs.c (image_after_change): Ditto.
9203
9204 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9205
9206         * nt.c (mswindows_fstat): Report file permissions, volume serial
9207         number, etc. Code adapted from FSF Emacs 20.7.
9208
9209 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9210
9211         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9212         of stat when we don't have symbolic links, to make sure
9213         mswindows_stat is called on mswindows.
9214
9215 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9216
9217         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9218
9219 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9220
9221         * doprnt.c (emacs_doprnt_1): More printing fixes.
9222         Make printing of numbers compatible with libc and FSF Emacs.
9223         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9224         Use the system printf to do most of the hard work of formatting,
9225         instead of doprnt_1().
9226         Calculate memory to allocate for format string.
9227         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9228         (doprnt_1): Cleaner code and documentation.
9229
9230 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9231
9232         * Makefile.in.in: Use the loop variable to install headers.
9233
9234 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9235
9236         * window.c (Fsplit_window): Don't invalidate face cache.
9237
9238 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9239
9240         * minibuf.c (Fall_completions): Undo the previous change
9241         which removed checking elements start with space.
9242
9243 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9244
9245         * mule-canna.c: Didier suppression.
9246
9247 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9248
9249         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9250         (warning suppression).  Add English comment translations.
9251
9252 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9253
9254         * unexelfsgi.c (unexec): Better test for mmap failure.
9255
9256 2000-12-05  Martin Buchholz <martin@xemacs.org>
9257
9258         * XEmacs 21.2.38 is released.
9259
9260 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9261
9262         * redisplay.c (bar-cursor): Make a user variable.
9263
9264         * symsinit.h: Add init_postgresql_from_environment.
9265
9266 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9267
9268         * regex.c: Convert to clean C.
9269
9270 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9271
9272         * realpath.c:
9273         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9274         initialization.
9275         (sys_readlink): renamed to system_readlink to avoid conflict with
9276         the other sys_readlink.
9277
9278 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9279
9280         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9281
9282 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9283
9284         * postgresql.c (init_postgresql_from_environment): new function.
9285         (vars_of_postgresql): Move code initializing Lisp variables out and
9286         into init_postgresql_from_environment.
9287         emacs.c (main_1): Call init_postgresql_from_environment if and only
9288         if running a dumped XEmacs.
9289
9290 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9291
9292         * buffer.c: Make find-file-compare-truenames default to true on
9293         windows.
9294
9295         * realpath.c (win32_abs_start):
9296         (cygwin_readlink):
9297         (win32_readlink): New functions.
9298         (xrealpath): Return really real filenames on windows.
9299
9300         * fileio.c (Ffile_truename): Make file-truename work on windows.
9301
9302 2000-11-29  Didier Verna  <didier@xemacs.org>
9303
9304         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9305         * faces.c (update_face_cachel_data): use it.
9306         * faces.c (add_face_cachel): use it. Complete background pixmap
9307         frobbing in face cache if `update_face_cachel_data' has not done so.
9308
9309 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9310
9311         * search.c (string_match_1): Don't set last_thing_searched
9312         when search failed.
9313
9314 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9315
9316         * buffer.c: Include casetab.h
9317         (common_init_complex_vars_of_buffer): Use new case-table object.
9318         * buffer.h: Include casetab.h
9319         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9320         (DOWNCASE_TABLE_OF): Ditto.
9321         * bufslots.h: Remove char-tables and add case-table.
9322         * casetab.c: Include casetab.h
9323         (CASE_TABLE_P): Removed.
9324         (mark_case_table): New function.
9325         (allocate_case_table): New function.
9326         (Fcase_table_p): Use new case-table.
9327         (case_table_char): New function.
9328         (Fget_case_table): Ditto.
9329         (Fput_case_table): Ditto.
9330         (Fput_case_table_pair): Ditto.
9331         (Fcopy_case_table): Ditto.
9332         (Fcurrent_case_table): Return case-table.
9333         (Fstandard_case_table): Return case-table.
9334         (Fset_case_table): Fix doc-string.
9335         (set_case_table): Use case-table
9336         (syms_of_casetab): DEFSUBR new functions.
9337         (complex_vars_of_casetab): Set up standard case-table.
9338         * casetab.h: New file.
9339         * editfns.c: Include casetab.h
9340         (Fcompare_buffer_substrings): Use case-table.
9341         * inline.c: Include casetab.h
9342         * lisp.h: Remove bogus extern.
9343         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9344         * search.c: Include casetab.h
9345         (TRANSLATE_ASCII): Removed.
9346         (TRANSLATE): Unconditionally translate character.
9347         (looking_at_1): Use case-table.
9348         (string_match_1): Ditto.
9349         (fast_string_match): Ditto.
9350         (search_command): Ditto.
9351         (search_buffer): Separate boyer_moore.  Check whether
9352         boyer_moore is possible.
9353         (simple_search): New function.
9354         (boyer_moore): Separated from search_buffer. Translate char.
9355
9356 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9357
9358         * regex.c (RE_TR_ASCII): Removed.
9359         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9360         (PATFETCH): Call PATFETCH_RAW.
9361         (PATFETCH_RAW): Fetch Emchar.
9362         (PATUNFETCH): Decrement charptr.
9363         (GET_BUFFER_SPACE): Rename b to buf_end.
9364         (BUF_PUSH): Ditto.
9365         (BUF_PUSH_2): Ditto.
9366         (BUF_PUSH_3): Ditto.
9367         (EXTEND_BUFFER): Ditto.
9368         (SET_LIST_BIT): Ditto.
9369         (regex_compile): Ditto.  Translate non ASCII char.
9370         (compile_range): Ditto.
9371         (re_search_2): Ditto.
9372         (re_match_2_internal): Compare Emchar.
9373         (bcmp_translate): Ditto.
9374
9375 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9376
9377         * lisp.h (basic char/int typedefs):  comment improvement.
9378
9379 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9380
9381         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9382         unstomp inhibit_site_lisp.  Improve comments.
9383
9384 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9385
9386         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9387
9388 2000-11-28  Andy Piper  <andy@xemacs.org>
9389
9390         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9391         clipped display for windows in the gutter also.
9392         (redisplay_display_boxes_in_window_p): change semantics of return
9393         codes to be more intuitive.
9394
9395         * gutter.h: declare display_boxes_in_gutter_p.
9396
9397         * gutter.c (display_boxes_in_gutter_p): new function for
9398         redisplay.
9399
9400 2000-11-22  Andy Piper  <andy@xemacs.org>
9401
9402         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9403         autodetect domain.
9404
9405 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9406
9407         * callproc.c (Fold_call_process_internal):
9408         * gpm.c (Freceive_gpm_event):
9409         (tty_get_foreign_selection): Might be just warning supression.
9410         * fileio.c (Fwrite_region_internal):
9411         (Fset_visited_file_modtime):
9412         * keymap.c (event_matches_key_specifier_p):
9413         Initialize GCPROed variable.
9414
9415         * menubar-x.c (command_builder_find_menu_accelerator):
9416         Initialize before use.
9417
9418 2000-11-23  Andy Piper  <andy@xemacs.org>
9419
9420         * unexcw.c (unexec): make the resulting executable executable.
9421
9422 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9423
9424         * doc.c (get_doc_string):
9425         Use size_t, not int, for result of XSTRING_LENGTH.
9426
9427         * cmds.c (Fdelete_char):
9428         * cmds.c (Fpoint_at_eol):
9429         * cmds.c (Fself_insert_command):
9430         Use EMACS_INT, not int, for result of XINT.
9431         Someday, someone will want to insert more than 2**31 identical characters.
9432
9433         * cmds.c (Fdelete_char):
9434         * cmds.c (Fdelete_backward_char):
9435         * syntax.c (Fforward_word):
9436         * syntax.c (Fforward_comment):
9437         Make COUNT argument optional, for consistency with forward-char et al.
9438
9439 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9440
9441         * lisp.h:
9442         * print.c (long_to_string):
9443         Return a useful value: the pointer at end of data written.
9444
9445         * doprnt.c:
9446         Use `static const char * const' for constant strings.
9447         (union printf_arg): Delete `i', `ui' members.
9448         (get_doprnt_args):
9449         (emacs_doprnt_1):
9450         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9451         Do all printf-ing via the `l' specifier.
9452         Use EMACS_INT instead of int.
9453         Optimize.
9454
9455 2000-11-20  Didier Verna  <didier@xemacs.org>
9456
9457         * faces.c (update_face_cachel_data): don't frob the background
9458         pixmap when the window is being created. The face is needed but
9459         does not exist yet.
9460
9461 2000-11-20  Andy Piper  <andy@xemacs.org>
9462
9463         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9464         messing with a debug environment.
9465
9466 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9467
9468         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9469
9470 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9471
9472         * casetab.c (Fcase_table_p): Fix compile error and crash.
9473
9474 2000-11-18  Philip Aston  <philipa@mail.com>
9475
9476         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9477
9478 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9479
9480         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9481         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9482
9483 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9484
9485         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9486         * unexelf.c: Use HAVE_ELF_H.
9487         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9488         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9489         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9490         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9491         for testing.
9492         So this is an unexelfsgi.c from a different line of development.
9493
9494 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9495
9496         * regex.c (RE_TR_ASCII): New function.
9497         (RE_TRANSLATE): Call it.
9498
9499 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9500
9501         * buffer.h (TRT_TABLE_OF): Remove assert.
9502         (IN_TRT_TABLE_DOMAIN): Removed.
9503
9504 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9505
9506         * free-hook.c (log_gcpro):
9507         (show_gcprohist): Add support for GCPRO5.
9508
9509 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9510
9511         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9512
9513 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9514
9515         * symeval.h: Declare flush_all_buffer_local_cache.
9516
9517         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9518         (flush_buffer_local_cache): Added.
9519         (flush_all_buffer_local_cache): Added.
9520
9521         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9522
9523         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9524         (pdump_dump_data): Ditto.
9525         (pdump_reloc_one): Ditto.
9526         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9527         before dumping.
9528
9529
9530 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9531
9532         * buffer.c: Remove if 0'ed entry.
9533         * buffer.h: Rewrite TRT to use char-table.
9534         * bufslots.h: Remove mirror tables.
9535         * casetab.c: Remove mirror tables.
9536         (CASE_TABLE_P): New macro.
9537         (Fcase_table_p): Element of a case table is string or char-table.
9538         (make_mirror_trt_table): Removed.
9539         (set_case_table): Setup char-table from strings for backward
9540         compatibility.
9541         * dired.c (Fdirectory_files):
9542         * dired-msw.c: (mswindows_get_files):
9543         * lisp.h: Change prototype of re_pattern_buffer.
9544         * regex.c: (RE_TRANSLATE): New macro.
9545         (TRANSLATE_P): Ditto.
9546         Change translate to type RE_TRANSLATE_TYPE.
9547         * regex.h: Define RE_TRANSLATE_TYPE
9548         * search.c (TRANSLATE): New macro.
9549         (TRANSLATE_ASCII): New macro.
9550         Translate table is changed to Lisp_Object.
9551         (signal_failure): Inhibit return.
9552
9553 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9554
9555         * device-msw.c:
9556         * eldap.c:
9557         * event-Xt.c:
9558         * event-stream.c:
9559         * print.c:
9560         Do UNGCPRO before return.
9561
9562 2000-11-14  Martin Buchholz <martin@xemacs.org>
9563
9564         * XEmacs 21.2.37 is released.
9565
9566 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9567
9568         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9569         Add comments about discarded return value.
9570
9571 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9572
9573         * callint.c:
9574         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9575
9576 2000-10-27  Andy Piper  <andy@xemacs.org>
9577
9578         * gutter.c (Fset_default_gutter_position): default left and right
9579         gutters to visible.
9580         (calculate_gutter_size): calculate resonable heuristic for left
9581         and right gutter sizes.
9582         (specifier_vars_of_gutter): change left and right gutter sizes to
9583         autodetect.
9584         (calculate_gutter_size_from_display_lines): new function.
9585         (output_gutter): check for resizing on left and right gutters.
9586         (clear_gutter): don't special case top and left gutters.
9587         (specifier_vars_of_gutter): use new signature for
9588         set_specifier_caching.
9589
9590         * glyphs-x.c (x_redisplay_widget): spelling fix.
9591         * glyphs.c (specifier_vars_of_glyphs):
9592         * menubar.c (specifier_vars_of_menubar):
9593         * redisplay.c (specifier_vars_of_redisplay):
9594         * toolbar.c (specifier_vars_of_toolbar):
9595         * window.c (specifier_vars_of_window):
9596         * scrollbar.c (specifier_vars_of_scrollbar):
9597         (complex_vars_of_scrollbar): use new signature for
9598         set_specifier_caching.
9599
9600         * specifier.c (set_specifier_caching): include recompute flag.
9601         (recompute_one_cached_specifier_in_window): always recompute if
9602         flag set.
9603         (recompute_one_cached_specifier_in_frame): ditto.
9604
9605         * specifier.h (struct specifier_caching): add recompute flag.
9606
9607 2000-10-24  Andy Piper  <andy@xemacs.org>
9608
9609         * unexcw.c (copy_executable_and_dump_data_section): add new
9610         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9611         5.0 happy.
9612
9613 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9614
9615         * console-x.h (x_device): New member modifier_release_time.
9616         * event-Xt.c (x_handle_sticky_modifiers):
9617         Bound interval modifier keys are sticky.
9618         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9619         * events.h: extern it.
9620
9621 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9622
9623         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9624
9625 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9626
9627         * event-stream.c (execute_command_event): Preserve current_events
9628         and the like when event is misc-user-event.
9629         Inhibit quit during the call to maybe_echo_keys.
9630
9631 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9632
9633         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9634         symlink when buffer is killed.
9635         (inhibit_clash_detection): New variable.
9636
9637 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9638
9639         * console.c (Fset_input_method): Trigger redisplay on tty.
9640
9641 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9642
9643         * process.c (Fprocess_status): Revert to previous behavior:
9644         (process-status "nosuchprocess") ==> nil
9645
9646 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9647
9648         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9649         Work around another GCC 2.95.2 optimizer bug.
9650
9651 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9652
9653         * process.c (Fget_process): Use LIST_LOOP_2.
9654         (kill_buffer_processes): Use LIST_LOOP_2.
9655
9656         * minibuf.c (Fall_completions):
9657         Delete old non-functional code for FSF fourth argument.
9658
9659         * frame.c (frame_matches_frame_spec):
9660         Renamed from `frame_matches_frametype'.  Update all callers.
9661         (device_matches_device_spec):
9662         Renamed from 'device_matches_console_spec'.  Update all callers.
9663
9664         * doc.c (Fsubstitute_command_keys):
9665         Remove buffer overflow crash.  Small code cleanups.
9666
9667         * casetab.c (check_case_table): Simpler code.
9668
9669         * window.c (Freplace_buffer_in_windows):
9670         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9671         (and similar implementation) as Fdelete_windows_on.
9672         Update all callers.
9673
9674         * alloc.c (Fmake_list):
9675         * alloc.c (make_vector):
9676         * alloc.c (Fmake_vector):
9677         * alloc.c (make_bit_vector):
9678         * alloc.c (Fmake_bit_vector):
9679         * alloc.c (Fbit_vector):
9680         * alloc.c (Fmake_string):
9681         * alloc.c (Fpurecopy):
9682         * alloc.c (Fmemory_limit):
9683         * buffer.c:
9684         * buffer.c (Fget_buffer):
9685         * buffer.c (Fkill_buffer):
9686         * buffer.c (complex_vars_of_buffer):
9687         * bytecode.c (Fcompiled_function_stack_depth):
9688         * callint.c (Fprefix_numeric_value):
9689         * event-stream.c:
9690         * event-stream.c (Fread_key_sequence):
9691         * casetab.c:
9692         * casetab.c (Fcase_table_p):
9693         * casetab.c (check_case_table):
9694         * casetab.c (Fset_case_table):
9695         * casetab.c (Fset_standard_case_table):
9696         * chartab.c:
9697         * chartab.c (Fchar_table_type):
9698         * chartab.c (Freset_char_table):
9699         * chartab.c (Fget_char_table):
9700         * chartab.c (Fget_range_char_table):
9701         * chartab.c (Fput_char_table):
9702         * chartab.c (Fmap_char_table):
9703         * chartab.c (Fcategory_table_p):
9704         * chartab.c (Fcheck_category_at):
9705         * chartab.c (Fchar_in_category_p):
9706         * chartab.c (Fcategory_table):
9707         * chartab.c (Fcopy_category_table):
9708         * chartab.c (Fset_category_table):
9709         * chartab.c (Fcategory_designator_p):
9710         * chartab.c (Fcategory_table_value_p):
9711         * cmds.c (Fdelete_char):
9712         * cmds.c (Fdelete_backward_char):
9713         * cmds.c (Fself_insert_command):
9714         * cmds.c (Fself_insert_internal):
9715         * console.c (Fvalid_console_type_p):
9716         * console.c (Fcdfw_console):
9717         * console.c (Fconsole_type):
9718         * console.c (Fconsole_name):
9719         * console.c (Fconsole_device_list):
9720         * console.c (Fconsole_on_window_system_p):
9721         * data.c:
9722         * data.c (Feq):
9723         * data.c (Fold_eq):
9724         * data.c (Fsubr_interactive):
9725         * data.c (Fchar_to_int):
9726         * data.c (Fint_to_char):
9727         * data.c (Fsetcar):
9728         * data.c (Fsetcdr):
9729         * data.c (Fnumber_to_string):
9730         * data.c (Fstring_to_number):
9731         * data.c (Frem):
9732         * database.c (mark_database):
9733         * database.c (finalize_database):
9734         * database.c (Fdatabase_live_p):
9735         * database.c (Fdatabasep):
9736         * device-x.c (Fx_get_resource):
9737         * device.c (Fdfw_device):
9738         * dired.c:
9739         * dired.c (Ffile_name_completion):
9740         * dired.c (Ffile_name_all_completions):
9741         * dired.c (Fuser_name_completion):
9742         * dired.c (Fuser_name_completion_1):
9743         * dired.c (Fuser_name_all_completions):
9744         * doc.c (Fdocumentation):
9745         * doc.c (Fdocumentation_property):
9746         * doc.c (Fsubstitute_command_keys):
9747         * editfns.c:
9748         * editfns.c (Fchar_to_string):
9749         * editfns.c (Fstring_to_char):
9750         * editfns.c (Ftemp_directory):
9751         * editfns.c (Finsert_char):
9752         * editfns.c (Fbuffer_substring_no_properties):
9753         * editfns.c (Fnarrow_to_region):
9754         * editfns.c (Fchar_equal):
9755         * editfns.c (Fchar_Equal):
9756         * editfns.c (Ftranspose_regions):
9757         * emacs.c (Fdump_emacs):
9758         * eval.c (Fthrow):
9759         * eval.c (Fcommand_execute):
9760         * eval.c (Fautoload):
9761         * eval.c (Fbacktrace):
9762         * eval.c (Fbacktrace_frame):
9763         * events.c:
9764         * events.c (Fcopy_event):
9765         * events.c (Fcharacter_to_event):
9766         * events.c (Fevent_button):
9767         * events.c (Fevent_process):
9768         * extents.c:
9769         * extents.c (Fnext_extent_change):
9770         * extents.c (Fextent_property):
9771         * faces.c (Ffacep):
9772         * faces.c (Fmake_face):
9773         * file-coding.c:
9774         * file-coding.c (Fencode_shift_jis_char):
9775         * file-coding.c (Fencode_big5_char):
9776         * fileio.c (Ffile_name_directory):
9777         * fileio.c (Ffile_name_nondirectory):
9778         * fileio.c (Ffile_name_as_directory):
9779         * fileio.c (Fdirectory_file_name):
9780         * fileio.c (Ffile_truename):
9781         * fileio.c (Fsubstitute_in_file_name):
9782         * fileio.c (Ffile_modes):
9783         * fileio.c (Fset_file_modes):
9784         * fileio.c (Fset_default_file_modes):
9785         * fileio.c (Fverify_visited_file_modtime):
9786         * floatfns.c (Facos):
9787         * floatfns.c (Fasin):
9788         * floatfns.c (Fatan):
9789         * floatfns.c (Fcos):
9790         * floatfns.c (Fsin):
9791         * floatfns.c (Ftan):
9792         * floatfns.c (Fbessel_j0):
9793         * floatfns.c (Fbessel_j1):
9794         * floatfns.c (Fbessel_jn):
9795         * floatfns.c (Fbessel_y0):
9796         * floatfns.c (Fbessel_y1):
9797         * floatfns.c (Fbessel_yn):
9798         * floatfns.c (Ferf):
9799         * floatfns.c (Ferfc):
9800         * floatfns.c (Flog_gamma):
9801         * floatfns.c (Fexp):
9802         * floatfns.c (Fexpt):
9803         * floatfns.c (Flog):
9804         * floatfns.c (Flog10):
9805         * floatfns.c (Fsqrt):
9806         * floatfns.c (Fcube_root):
9807         * floatfns.c (Facosh):
9808         * floatfns.c (Fasinh):
9809         * floatfns.c (Fatanh):
9810         * floatfns.c (Fcosh):
9811         * floatfns.c (Fsinh):
9812         * floatfns.c (Ftanh):
9813         * floatfns.c (Fabs):
9814         * floatfns.c (Ffloat):
9815         * floatfns.c (Flogb):
9816         * floatfns.c (Fceiling):
9817         * floatfns.c (Ffloor):
9818         * floatfns.c (Fround):
9819         * floatfns.c (Ftruncate):
9820         * floatfns.c (Ffceiling):
9821         * floatfns.c (Fffloor):
9822         * floatfns.c (Ffround):
9823         * floatfns.c (Fftruncate):
9824         * fns.c (Fstring_equal):
9825         * fns.c (Fstring_lessp):
9826         * fns.c (concat2):
9827         * fns.c (concat3):
9828         * fns.c (vconcat2):
9829         * fns.c (vconcat3):
9830         * fns.c (Fsubstring):
9831         * fns.c (Fassoc):
9832         * fns.c (Fold_assoc):
9833         * fns.c (assoc_no_quit):
9834         * fns.c (Fassq):
9835         * fns.c (Fold_assq):
9836         * fns.c (assq_no_quit):
9837         * fns.c (Frassoc):
9838         * fns.c (Fold_rassoc):
9839         * fns.c (Frassq):
9840         * fns.c (Fold_rassq):
9841         * fns.c (rassq_no_quit):
9842         * fns.c (Fremassoc):
9843         * fns.c (remassoc_no_quit):
9844         * fns.c (Fremassq):
9845         * fns.c (remassq_no_quit):
9846         * fns.c (Fremrassoc):
9847         * fns.c (Fremrassq):
9848         * fns.c (remrassq_no_quit):
9849         * fns.c (Fsort):
9850         * fns.c (Fplist_get):
9851         * fns.c (Fplist_put):
9852         * fns.c (Fplist_remprop):
9853         * fns.c (Fplist_member):
9854         * fns.c (Flax_plist_get):
9855         * fns.c (Flax_plist_put):
9856         * fns.c (Flax_plist_remprop):
9857         * fns.c (Flax_plist_member):
9858         * fns.c (Fequal):
9859         * fns.c (Fold_equal):
9860         * fns.c (Frequire):
9861         * fns.c (Fbase64_encode_region):
9862         * fns.c (Fbase64_encode_string):
9863         * fns.c (Fbase64_decode_region):
9864         * frame.c:
9865         * frame.c (frame_matches_frame_spec):
9866         * frame.c (device_matches_device_spec):
9867         * frame.c (next_frame):
9868         * frame.c (previous_frame):
9869         * frame.c (Fnext_frame):
9870         * frame.c (Fprevious_frame):
9871         * frame.c (Fframe_property):
9872         * frame.c (Fset_frame_height):
9873         * frame.c (Fset_frame_size):
9874         * frame.h:
9875         * glyphs.c:
9876         * glyphs.c (if):
9877         * glyphs.c (decode_error_behavior_flag):
9878         * glyphs.c (Fmake_image_instance):
9879         * indent.c (Findent_to):
9880         * intl.c (Fignore_defer_gettext):
9881         * keymap.c (Fkeymapp):
9882         * keymap.c (Flookup_key):
9883         * lread.c:
9884         * lread.c (Fload_internal):
9885         * lread.c (Feval_buffer):
9886         * lread.c (Feval_region):
9887         * macros.c (Fexecute_kbd_macro):
9888         * marker.c (set_marker_internal):
9889         * marker.c (Fset_marker):
9890         * marker.c (set_marker_restricted):
9891         * marker.c (Fcopy_marker):
9892         * marker.c (noseeum_copy_marker):
9893         * menubar.c:
9894         * menubar.c (Fpopup_menu):
9895         * minibuf.c:
9896         * mule-charset.c (Fcharset_name):
9897         * mule-charset.c (Fchar_charset):
9898         * mule-charset.c (Fchar_octet):
9899         * mule-charset.c (Fsplit_char):
9900         * mule-wnnfns.c (Fwnn_open):
9901         * mule-wnnfns.c (Fwnn_dict_comment):
9902         * mule-wnnfns.c (Fwnn_quit_henkan):
9903         * mule-wnnfns.c (Fwnn_word_toroku):
9904         * mule-wnnfns.c (Fwnn_word_sakujo):
9905         * mule-wnnfns.c (Fwnn_word_use):
9906         * mule-wnnfns.c (Fwnn_hindo_set):
9907         * objects.c:
9908         * objects.c (Fmake_color_instance):
9909         * objects.c (Fmake_font_instance):
9910         * print.c (Fwrite_char):
9911         * process.c:
9912         * process.c (mark_process):
9913         * process.c (print_process):
9914         * process.c (get_process_from_usid):
9915         * process.c (Fprocessp):
9916         * process.c (Fprocess_live_p):
9917         * process.c (Fget_process):
9918         * process.c (Fget_buffer_process):
9919         * process.c (get_process):
9920         * process.c (Fprocess_id):
9921         * process.c (Fprocess_name):
9922         * process.c (Fprocess_command):
9923         * process.c (init_process_io_handles):
9924         * process.c (start_process_unwind):
9925         * process.c (Fstart_process_internal):
9926         * process.c (Fopen_multicast_group_internal):
9927         * process.c (Fset_process_window_size):
9928         * process.c (read_process_output):
9929         * process.c (send_process):
9930         * process.c (Fprocess_tty_name):
9931         * process.c (Fset_process_buffer):
9932         * process.c (Fprocess_buffer):
9933         * process.c (Fprocess_mark):
9934         * process.c (set_process_filter):
9935         * process.c (Fset_process_filter):
9936         * process.c (Fprocess_filter):
9937         * process.c (Fprocess_send_region):
9938         * process.c (Fprocess_send_string):
9939         * process.c (exec_sentinel):
9940         * process.c (Fset_process_sentinel):
9941         * process.c (Fprocess_sentinel):
9942         * process.c (status_notify):
9943         * process.c (Fprocess_status):
9944         * process.c (Fprocess_exit_status):
9945         * process.c (process_send_signal):
9946         * process.c (Fprocess_send_eof):
9947         * process.c (deactivate_process):
9948         * process.c (remove_process):
9949         * process.c (Fdelete_process):
9950         * process.c (kill_buffer_processes):
9951         * process.c (Fprocess_kill_without_query):
9952         * process.c (Fprocess_kill_without_query_p):
9953         * rangetab.c:
9954         * rangetab.c (Fget_range_table):
9955         * rangetab.c (Fput_range_table):
9956         * rangetab.c (Fremove_range_table):
9957         * rangetab.c (Fclear_range_table):
9958         * search.c:
9959         * search.c (Fskip_chars_forward):
9960         * search.c (Fskip_chars_backward):
9961         * search.c (Fskip_syntax_forward):
9962         * search.c (Fskip_syntax_backward):
9963         * search.c (search_command):
9964         * search.c (Freplace_match):
9965         * search.c (Fregexp_quote):
9966         * select.c (Fown_selection_internal):
9967         * select.c (Fselection_owner_p):
9968         * select.c (Fselection_exists_p):
9969         * select.c (Fget_selection_internal):
9970         * specifier.c:
9971         * symbols.c:
9972         * symbols.c (Fintern):
9973         * symbols.c (Fintern_soft):
9974         * symbols.c (Funintern):
9975         * symbols.c (Fapropos_internal):
9976         * symbols.c (Fset_default):
9977         * syntax.c:
9978         * syntax.c (Fsyntax_table_p):
9979         * syntax.c (Fcopy_syntax_table):
9980         * syntax.c (Fset_syntax_table):
9981         * syntax.c (Fchar_syntax):
9982         * syntax.c (syntax_match):
9983         * syntax.c (Fmatching_paren):
9984         * syntax.c (Fforward_word):
9985         * syntax.c (scan_lists):
9986         * syntax.c (Fscan_lists):
9987         * syntax.c (Fscan_sexps):
9988         * syntax.c (Fparse_partial_sexp):
9989         * toolbar.c (Fcheck_toolbar_button_syntax):
9990         * tooltalk.doc:
9991         * window.c:
9992         * window.c (Fwindowp):
9993         * window.c (Fwindow_live_p):
9994         * window.c (Fwindow_point):
9995         * window.c (Fdelete_window):
9996         * window.c (Fnext_window):
9997         * window.c (Fprevious_window):
9998         * window.c (Fother_window):
9999         * window.c (window_loop):
10000         * window.c (Fget_lru_window):
10001         * window.c (Fsplit_window):
10002         * window.c (Fenlarge_window):
10003         * window.c (Fenlarge_window_pixels):
10004         * window.c (Fshrink_window):
10005         * window.c (Fshrink_window_pixels):
10006         * window.c (change_window_height):
10007         * window.c (Fwindow_configuration_p):
10008         * window.c (Fcurrent_window_configuration):
10009         * window.h:
10010         * casefiddle.c (casify_object):
10011         * casefiddle.c (Fupcase):
10012         * casefiddle.c (Fdowncase):
10013         * casefiddle.c (Fcapitalize):
10014         * casefiddle.c (Fupcase_initials):
10015         * casefiddle.c (casify_region_internal):
10016         * casefiddle.c (casify_region):
10017         * casefiddle.c (Fupcase_region):
10018         * casefiddle.c (Fdowncase_region):
10019         * casefiddle.c (Fcapitalize_region):
10020         * casefiddle.c (Fupcase_initials_region):
10021         * casefiddle.c (Fupcase_word):
10022         * casefiddle.c (Fdowncase_word):
10023         * casefiddle.c (Fcapitalize_word):
10024         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10025         Replace 0 with '\0' when working with bytes.
10026         Replace initial "(" with "\(" in docstrings.
10027
10028 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10029
10030         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10031
10032         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10033
10034 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10035
10036         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10037
10038 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10039
10040         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10041         correctly.
10042
10043 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10044
10045         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10046         (inhibit_auto_save_session): New variable.
10047         (vars_of_fileio): Declare and initialize them.
10048         * fileio.c (Fdo_auto_save): Don't create session file if
10049         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10050
10051 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10052
10053         * sgiplay.c (play_internal): C++ compilability.
10054         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10055         * callproc.c (Fold_call_process_internal):
10056         Remove unused vars `env', `first'.
10057         * scrollbar.c (update_scrollbar_instance):
10058         #### unused var `current_window'.
10059         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10060         etc. within #ifdef NOT_YET.
10061         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10062         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10063         * specifier.c (specifier_instance):
10064         #### unused var `tag'.
10065         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10066
10067 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10068
10069         * fns.c (Fbutlast):
10070         * fns.c (list_sort):
10071         * fns.c (Ffillarray):
10072         * fns.c (bytecode_nconc2):
10073         * fns.c (Fnconc):
10074         * fns.c (mapcar1):
10075         * fns.c (Fmapconcat):
10076         Be pedantically 64-bit correct.  For the time when someone will
10077         want to have a list with length > 2**32.
10078
10079         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10080         Work around MIPSpro compiler bug.
10081
10082         * process-unix.c (unix_kill_child_process): Add snarky comment.
10083         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10084
10085         * config.h.in: Oops, _getpt ==> _getpty
10086
10087 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10088
10089         * config.h.in:
10090         * regex.c:
10091         Use void*, not char*, as return type of alloca().
10092
10093         * alloc.c (free_marker): Side effect inside assert expression!
10094
10095 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10096
10097         * mule-charset.c (Fset_charset_ccl_program): To check
10098         if the given ccl program is valid, use setup_ccl_program()
10099         instead of CHECK_VECTOR().
10100         (Fmake_charset): Likewise.
10101
10102 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10103
10104         * faces.c (get_extent_fragment_face_cache_index):
10105         Fix cachel.merged_faces memory leak.
10106
10107 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10108
10109         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10110         Reset MSB of octets obtained by DECODE_SJIS
10111         because of the incompatibility with Emacs.
10112         (ccl_driver)<CCL_ENCODE_SJIS>:
10113         Set MSB of octets before passing them to
10114         ENCODE_SJIS because of the incompatibility
10115         with Emacs.
10116
10117 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10118
10119         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10120         (DECLARE_LRECORD): Undo the last change.
10121         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10122
10123 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10124
10125         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10126         the implementation to lrecord_implementations_table.
10127
10128 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10129
10130         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10131         initial value of `lrecord_type_##c_name' and
10132         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10133         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10134         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10135         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10136         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10137
10138 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10139
10140         * miscplay.c (sndcnv8S_2mono):
10141         (sndcnv2monounsigned):
10142         (sndcnvULaw_2linear):
10143         (sndcnv16swap):
10144         Remove implementation-defined behavior.
10145
10146 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10147
10148         * input-method-xlib.c: Warning suppression.
10149
10150 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10151
10152         * mule-ccl.c: Sync up with Emacs 21.0.90.
10153         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10154         Do nothing.
10155         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10156         Likewise.
10157         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10158         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10159         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10160         leading char belongs to official 2-dimensional charset.
10161         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10162         write the given character as is.  Otherwise,
10163         if it is a multibyte char, convert it by
10164         non_ascii_set_charptr_emchar, then write it.
10165         (CCL_WRITE_STRING): Likewise.
10166         (ccl_get_compiled_code): New function.
10167         (setup_ccl_program): When ccl_prog is invalid,
10168         return -1.
10169         (Fregister_code_conversion_map): New function.
10170         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10171
10172         * mule-ccl.h: Sync up with Emacs 21.0.90.
10173         (Fregister_ccl_program): export it.
10174
10175         * redisplay-msw.c (separate_textual_runs):
10176         If ccl program is not valid, don't do ccl conversion.
10177
10178         * redisplay-x.c (separate_textual_runs): Ditto.
10179
10180         * file-coding.c (Fmake_coding_system):
10181         When type is ccl and value is vector, register it
10182         with a proper symbol.  And checks whether the
10183         given ccl program is valid.
10184         (mule_decode): When calling ccl_driver, if src indicates
10185         NULL pointer, set an empty string instead.
10186         (mule_encode): Likewise.
10187
10188 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10189
10190         The following large batch of changes gets us back to a state of
10191         C++ compilability.  Extbyte is now a char, which means that
10192         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10193
10194         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10195
10196         * sound.c (Fplay_sound): Type correctness.
10197
10198         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10199         (x_get_window_property): Type correctness.
10200         (receive_incremental_selection): unsigned char ==> Extbyte
10201         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10202         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10203         (Fx_store_cutbuffer_internal): Type correctness.
10204
10205         * process-unix.c (try_to_initialize_subtty): Type correctness.
10206
10207         * objects-x.c (x_print_color_instance): Type correctness.
10208         (x_print_font_instance): Type correctness.
10209         (x_list_fonts): SExtbyte ==> Extbyte.
10210         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10211         (x_find_charset_font): SExtbyte ==> Extbyte.
10212         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10213         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10214         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10215         Use bufbyte_strcmp.
10216
10217         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10218         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10219         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10220         (BYTE_C0_P): Use bit ops for char-signedness safety.
10221         (BYTE_C1_P): Use bit ops for char-signedness safety.
10222         (CHARSET_BY_LEADING_BYTE):
10223         (CHARSET_BY_ATTRIBUTES):
10224         Always use inline function.
10225         Use type_checking_assert.
10226         Hide chlook.
10227
10228         * mule-charset.c (non_ascii_charptr_copy_char):
10229         Modify to work with both ASCII and non-ASCII characters.
10230         Improve docs and variable names.
10231         Replace over-clever fall-through switch with a simple loop.
10232         (Lstream_get_emchar_1):
10233         Replace over-clever fall-through switch with a simple loop.
10234
10235         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10236         Warning suppression.
10237
10238         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10239         the return value of Lstream_getc, which could be EOF as well.
10240
10241         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10242
10243         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10244         APIs can be used on Extbytes without casts.  Risky!
10245         (SExtbyte): Remove.
10246         (UExtbyte): Remove.
10247
10248         * input-method-xlib.c (XIM_init_device):
10249         Use Xlib.h instead of IntrinsicP.h.
10250         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10251         which will break in X11R7.
10252         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10253         to call XRegisterIMInstantiateCallback with correct types.
10254
10255         * gui-x.c (button_item_to_widget_value): Type correctness.
10256
10257         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10258
10259         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10260         (xbm_instantiate_1): Type correctness.
10261         (BUILD_GLYPH_INST):  Type correctness.
10262
10263         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10264
10265         * file-coding.c:
10266         (decode_coding_sjis):
10267         (decode_coding_big5):
10268         (decode_coding_ucs4):
10269         (decode_coding_utf8):
10270         (decode_coding_iso2022):
10271         (decode_coding_no_conversion):
10272         Make all decoding functions take an Extbyte * arg.
10273         (encode_coding_sjis):
10274         (encode_coding_big5):
10275         (encode_coding_ucs4):
10276         (encode_coding_utf8):
10277         (encode_coding_iso2022):
10278         (encode_coding_no_conversion):
10279         Make all encoding functions take a Bufbyte * arg.
10280         Use size_t instead of unsigned int for memory sizes.
10281         Only cast to unsigned char whenever dereferencing Extbyte *.
10282
10283         * doc.c (unparesseuxify_doc_string): Type correctness.
10284
10285         * console-x.c (split_up_display_spec):
10286         Rewrite without using details of internal string representation.
10287         (x_semi_canonicalize_device_connection): Type correctness.
10288
10289         * config.h.in:
10290         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10291         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10292         (HAVE_XFREE386): Removed.
10293
10294         * buffer.h (DEC_CHARPTR): `const' correctness.
10295         (bufbyte_strcmp): New.
10296         (bufbyte_memcmp): New.
10297
10298         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10299
10300         * buffer.h (XCHAR_OR_CHAR_INT):
10301         Always use inline function.
10302         Remove redundant type checking assert() - XINT will abort quite nicely.
10303
10304 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10305
10306         * search.c (Freplace_match): Set newtext to an empty string.
10307
10308 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10309
10310         * s/decosf1-3.h: Remove #include of stropts.h
10311         * s/ptx.h: Remove #include of stropts.h
10312         * s/usg5-4.h: Remove #include of stropts.h
10313         * sysproc.h:
10314         * config.h.in:
10315         Use stropts.h, not sys/stropts.h.
10316         Use strtio.h, not sys/strtio.h.
10317
10318 2000-10-04  Martin Buchholz <martin@xemacs.org>
10319
10320         * XEmacs 21.2.36 is released.
10321
10322 2000-09-21  Andy Piper  <andy@xemacs.org>
10323
10324         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10325         changes still involve copying the widget tree.
10326         (update_widget_face): make sure a change is register in the widget
10327         tree. Call update_tab_widget_face appropriately.
10328         (update_tab_widget_face): ditto.
10329         (x_tab_control_redisplay): make sure non-structural changes still
10330         involve copying the widget tree.
10331
10332 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10333
10334         * lread.c (locate_file): Check the path element is non-nil.
10335
10336 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10337
10338         * lisp.h: Warning suppression for SCO compilers.
10339
10340         * redisplay-tty.c (reset_tty_modes): Fix crash.
10341         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10342
10343 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10344
10345         Big signal/process handling overhaul.  Bugs fixed:
10346         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10347         M-x comint-kill-subjob should work for both values nil and t of
10348         process-connection-type. It was broken on most platforms.
10349         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10350         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10351         * process-unix.c: Signal/Process handling overhaul.
10352         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10353         (allocate_pty): Use all available modern methods of allocating
10354         ptys, falling back to old style BSD allocation as a last resort.
10355         Use allegedly more secure Unix98 pty allocation by default.
10356         (allocate_pty_the_old_fashioned_way): New. the last resort.
10357         (unix_create_process): Push ptem, ldterm, ttcompat where
10358         available.  Autoconfiscate.
10359         (try_to_initialize_subtty): New.
10360         (unix_kill_child_process): Proper signal handling for ptys on most
10361         platforms, using special knowledge of AIX, BSD, etc...
10362         (unix_create_process): Always disconnect_controlling_terminal() for
10363         subprocesses, whether using ptys or not.
10364         * process.h: Remove old getpt-dependent PTY code.
10365         * process.c (Fprocess_send_signal): New, obvious generic function.
10366         (decode_signal): New.
10367         (Finterrupt_process):
10368         (Fkill_process):
10369         (Fquit_process):
10370         (Fstop_process):
10371         (Fcontinue_process):
10372         (Fsignal_process): Use decode_signal.
10373         (process_send_signal):
10374         Many docstring corrections.
10375         Allow any signal to be sent to a process object.
10376         * config.h.in: Add symbols for big signal/process overhaul.
10377         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10378         * sysproc.h: Include process-related headers, where available:
10379         sys/stropts.h sys/strtio.h pty.h libutil.h
10380         * s/irix4-0.h:
10381         * s/irix5-0.h:
10382         * s/cygwin32.h:
10383         * s/gnu.h:
10384         * s/linux.h:
10385         * s/hpux.h:
10386         * s/aix3-1.h:
10387         Remove old S&M pty stuff.
10388         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10389         * systty.h: Simplify cpp hackery, improve comments.
10390         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10391
10392         * editfns.c (Fformat_time_string):
10393         Be a little more paranoid with the return value of ctime.
10394
10395         * fileio.c (check_executable):
10396         (check_writable):
10397         Use symbolic constants X_OK, W_OK.
10398
10399         * console-x.c (split_up_display_spec): Fix a warning.
10400
10401 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10402
10403         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10404         * ntproc.c (sys_spawnve): make_string ==> build_string
10405         Small clarity improvements.
10406
10407 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10408
10409         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10410
10411         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10412
10413         * config.h.in (HAVE_STRCASECMP): Remove.
10414
10415 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10416
10417         * redisplay-output.c (redisplay_output_pixmap):
10418         Cleaner and possibly more 64-bit correct code.
10419
10420 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10421
10422         * dumper.c (pdump_load_finish): move restoration of
10423         `noninteractive1' to emacs.c (main_1).
10424         * emacs.c (main_1): protect LISP-visible command-line flags
10425         from pdump_load().
10426
10427 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10428
10429         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10430         DUMP_TARGET instead of literal program names.
10431
10432 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10433
10434         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10435
10436 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10437
10438         * *: Spelling mega-patch
10439
10440 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10441
10442         * fns.c (bad_bad_turtle):
10443         Delete "Eek!" comment, since we fixed the bug to which it refers.
10444
10445 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10446
10447         * alloca.c: Replace REGISTER with register.
10448
10449 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10450
10451         * file-coding.c (ucs_to_char): Use countof.
10452
10453 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10454
10455         * file-coding.c: (ucs_to_char):
10456         (complex_vars_of_file_coding):
10457         Use countof instead of sizeof.
10458         Use CHECK_NATNUM instead of CHECK_INT.
10459
10460         * sysdep.c (strcasecmp): Remove.
10461         * device-x.c (ascii_strcasecmp): New.
10462         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10463         Avoid using non-standard non-portable strcasecmp.
10464
10465 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10466
10467         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10468         * font-lock.c: remove reference to emacsfns.h.
10469         * search.c: small doc improvement.
10470         * event-Xt.c: correct file names in comments.
10471         * console-x.h Correct file names in comments.
10472         * frame.c: Correct file names in comments.
10473         * event-stream.c: remove Energize from comments.
10474
10475 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10476
10477         * symeval.h (DEFERROR_STANDARD):
10478         (DEFERROR):
10479         (DEFSYMBOL):
10480         (DEFSYMBOL_NO_DUMP):
10481         (DEFSYMBOL_MULTIWORD_PREDICATE):
10482         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10483         (DEFKEYWORD):
10484         The construct &##name is not sensible C.
10485         Fixes compilation errors with Unixware native compiler.
10486
10487 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10488
10489         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10490         (next_frame_internal): Removed.  We now just have next_frame.
10491         (next_frame):
10492         Write a simpler and cleaner one-pass algorithm.
10493         Remove called_from_delete_device arg and #ifdefed-out code.
10494         (previous_frame):
10495         Renamed from prev_frame.  Update callers.
10496         Cleaned up to have an analogous implementation to next_frame.
10497         (other_visible_frames_internal): Remove the
10498         called_from_delete_device bogus arg, and hence, remove this
10499         function.  Just use other_visible_frames().
10500
10501         * window.c (Fnext_window):
10502         Prettify docstring.
10503         Since next_frame() is guaranteed to return a frame, remove check
10504         for nil inserted in previous patch.
10505         (Fprevious_window):
10506         Prettify docstring.
10507         Make code look more like Fnext_window.
10508         (window_loop):
10509         Respect the `console' arg when iterating through windows.
10510         Fixes bug: (get-buffer-window buffer t device) not respecting
10511         the `device' arg.
10512         This function needs more work, as others have pointed out.
10513
10514         * frame.h: Rename prev_frame to previous_frame.
10515         device_matches_console_spec no longer takes a `frame' arg.
10516
10517         * s/gnu.h:
10518         * s/linux.h:
10519         * s/hpux.h:
10520         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10521         From "Golubev I. N." <gin@mo.msk.ru>.
10522
10523         * make-src-depend: Fix typo.
10524
10525 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10526
10527         * window.c (Fnext_window):
10528         next_frame() might return nil, not a frame.
10529         Fixes this crash:
10530         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10531
10532         * frame.c (next_frame_internal):
10533         We've passed a frame if we've passed its device.
10534         Fixes this crash:
10535         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10536 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10537
10538 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10539
10540         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10541         Allow option to suppress accelerators in menu/dialog items.
10542         (populate_or_checksum_helper): Pass dialog title through above.
10543
10544 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10545
10546         * event-msw.c (mswindows_key_to_emacs_keysym):
10547         Add "pause" key, fix "menu" key.
10548
10549 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10550
10551         * eval.c (reinit_vars_of_eval):
10552         Increase max_lisp_eval_depth to 1000,
10553         required for thai-xtis.el to byte-compile under some circumstances.
10554
10555 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10556
10557         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10558         From Kenichi Handa.
10559
10560 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10561
10562         * make-src-depend: Make the generated Makefiles smaller.
10563
10564         * s/hpux.h (SETUP_SLAVE_PTY):
10565         Provide a %d in the format string for the errno argument.
10566
10567         * editfns.c (Ftemp_directory):
10568         Warning fix.
10569         Avoid buffer overrun on very long file name.
10570
10571         * input-method-xlib.c (XIM_init_device):
10572         6th parameter of XRegisterIMInstantiateCallback has different
10573         pointer types on different OSes, so simply cast to (void *).
10574
10575         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10576
10577         * sysdll.c (dll_open):
10578         shl_load will hang hard if passed a NULL filename.
10579         Simply return NULL for compatibility with dlopen.
10580         * sysdll.c: Conform to XEmacs coding standards.
10581
10582         * sysdep.c (get_pty_max_bytes):
10583         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10584
10585 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10586
10587         * tooltalk.c: Add #include <syssignal.h>
10588
10589 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10590
10591         * s/hpux.h: Don't use undefined function sigunblock().
10592
10593 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10594
10595         * config.h.in: Add HAVE_BALLOON_HELP.
10596         * emacs.c: Use HAVE_BALLOON_HELP.
10597         * Makefile.in.in (x_objs):
10598         Make Balloon Help conditional on finding shape.h.
10599
10600 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10601
10602         * syntax.c (regex_emacs_buffer_p): New variable.
10603         * syntax.h (regex_emacs_buffer_p): extern.
10604         * search.c (looking_at_1):
10605         (string_match_1):
10606         (fast_string_match):
10607         (search_buffer): Set regex_emacs_buffer_p.
10608         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10609         when before_dot, at_dot, after_dot.
10610
10611 2000-08-23  Andy Piper  <andy@xemacs.org>
10612
10613         * gui-x.c (popup_selection_callback): Only set action_occurred
10614         when we really have an image instance.
10615         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10616
10617 2000-08-23  Andy Piper  <andy@xemacs.org>
10618
10619         * gui-msw.c (mswindows_handle_gui_wm_command): set
10620         action_occurred.
10621         * gui-x.c (popup_selection_callback): ditto.
10622
10623         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10624         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10625         (struct Lisp_Image_Instance): add action_occurred flag.
10626
10627         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10628         (image_instance_changed): ditto.
10629         (reset_frame_subwindow_instance_cache): only unmap windows - do
10630         not remove them from the cache also.
10631
10632         * glyphs-widget.c (tab_control_update): better debug.
10633         (progress_gauge_update): ditto.
10634         (layout_update): ditto.
10635         (layout_instantiate): ditto.
10636         (tab_control_order_only_changed): cope with null pending items.
10637
10638         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10639         debug. Force selection of an item when an action occurred. Cope
10640         with null pending_items.
10641         (mswindows_progress_gauge_redisplay): better debug.
10642         * glyphs-x.c (x_tab_control_redisplay): ditto.
10643
10644         * redisplay.c (redisplay_frame): reset the frame cache if the
10645         frame is garbaged.
10646
10647         * window.c (Fset_window_configuration): potentially re-enable
10648         frame cache reset.
10649         (window_unmap_subwindows): need to finalize instances here since
10650         it is only used in mark_window_as_deleted.
10651
10652 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10653
10654         * nas.c (SndOpenDataForReading):
10655         nas.c (WaveOpenDataForReading):
10656         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10657         Somehow escaped from the 2000-08-14 patch.
10658
10659 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10660
10661         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10662         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10663
10664 2000-08-21  Andy Piper  <andy@xemacs.org>
10665
10666         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10667         window if it is not already displayed.
10668
10669         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10670         it is not already displayed.
10671
10672         * window.c (Fset_window_configuration): don't reset the frame
10673         cache.
10674
10675         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10676         instances from the frame cache if we are actually finalizing them.
10677         (reset_frame_subwindow_instance_cache): reset frame cache only
10678         after unmapping everything.
10679         (map_subwindow): set displayed flag after mapping.
10680
10681 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10682
10683         * data.c (indirect_function):
10684         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10685
10686         * eval.c (function_argcount):
10687         Use original function when signaling errors.
10688
10689 2000-08-18  Andy Piper  <andy@xemacs.org>
10690
10691         * frame.c (delete_frame_internal): use new
10692         free_frame_subwindow_instances name.
10693
10694         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10695         (add_tab_item): make return type correct.
10696         (mswindows_tab_control_instantiate): assert index of tab.
10697         (mswindows_tab_control_redisplay): Re-code to use
10698         gui_item_equal_sans_selected and gui_item_list_find_selected.
10699
10700         * glyphs-widget.c (tab_control_update): Correct comment.
10701
10702         * window.c (window_unmap_subwindows): use new
10703         unmap_subwindow_instance_cache_mapper.
10704         (window_unmap_subwindows_cache_mapper): deleted.
10705         (Fset_window_configuration): comparisons should now be with
10706         EQ. Preserve the subwindow instance cache across configuration
10707         changes.
10708         (allocate_window): ditto.
10709         (make_dummy_parent): ditto.
10710
10711         * glyphs.c (free_frame_subwindow_instances): rename from
10712         free_frame_subwindow_instance_cache. finalize all instances rather
10713         than just those in the display cache.
10714         (finalize_all_subwindow_instances): walk windows unmapping and
10715         finalizing subwindows.
10716         (unmap_subwindow_instance_cache_mapper): moved from
10717         window.c. Allow finalization as well as unmapping.
10718
10719         * gui.c (gui_item_list_find_selected): new function.
10720
10721         * gui.h (gui_item_list_find_selected): declare.
10722
10723         * glyphs-x.c (x_tab_control_redisplay): pick tab
10724         explicitly. Re-code to use gui_item_equal_sans_selected and
10725         gui_item_list_find_selected.
10726
10727         * glyphs-x.h: add lwlib-utils.h
10728
10729         * buffer.c (Frecord_buffer): undo previous change.
10730
10731 2000-08-09  Vin Shelton  <acs@xemacs.org>
10732
10733         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10734         possible.  Create temporary files more securely.  The patch was
10735         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10736         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10737         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10738         for details.
10739
10740 2000-08-07  Ben Wing  <ben@xemacs.org>
10741
10742         * getloadavg.c: remove duplicate (and windows-breaking)
10743         includes of fcntl.h and sys/file.h.
10744
10745         * nt.c: remove duplicate getloadavg() definition.
10746
10747         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10748         encodings.
10749
10750 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10751
10752         * eval.c (function_argcount): If function needs to be autoloaded
10753         actually use the loaded definition.
10754         GCPRO function.
10755
10756 2000-08-05  Ben Wing  <ben@xemacs.org>
10757
10758         * getloadavg.c: add prototype for getloadavg().  remove
10759         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10760         of the code).  remove duplicate header includes.
10761
10762         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10763
10764         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10765         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10766         useful load average.
10767
10768         * alloc.c (reinit_alloc_once_early): removed references to
10769         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10770         the lisp vars are the only things referencing the malloc_sbrk_*
10771         vars, and they were already if 0'd out.  these vars only exist
10772         in the older malloc.c, which is basically unused, and they're
10773         only for informational purposes.
10774
10775         * m\*.h: removed useless VIRT_ADDR_VARIES.
10776
10777         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10778
10779 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10780
10781         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10782         color if the image is a mono pixmap.
10783
10784 2000-07-30  Ben Wing  <ben@xemacs.org>
10785
10786         * Makefile.in.in (release):
10787         Remove stray @.
10788
10789         * buffer.c (directory_is_current_directory):
10790         * dired-msw.c (mswindows_get_files):
10791         * dired.c:
10792         * dired.c (Fdirectory_files):
10793         * dired.c (file_name_completion_stat):
10794         * dired.c (Ffile_attributes):
10795         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10796         preprocessor tricks, to avoid problems on some machines
10797         (e.g. SCO).
10798
10799         * callproc.c (egetenv): GC docs.
10800
10801         * console-msw.h:
10802         * console-msw.h (struct mswindows_dialog_id):
10803         * lrecord.h (lrecord_type):
10804         New object for use with MSW dialogs.
10805
10806         * console.h (struct console_methods):
10807         New enable/disable frame methods, for proper modal dialogs.
10808
10809         * device-msw.c (msprinter_default_printer): Fix to follow
10810         proper Mule conventions.
10811
10812         * device-msw.c:
10813         * device-msw.c (signal_open_printer_error):
10814         * device-msw.c (msprinter_init_device):
10815         * device-msw.c (ensure_not_printing):
10816         * device-msw.c (plist_get_margin):
10817         * device-msw.c (Fmsprinter_select_settings):
10818         * device-msw.c (finalize_devmode):
10819         * device-msw.c (Fmsprinter_settings_despecialize):
10820         * device-msw.c (signal_enum_priner_error):
10821         * extents.c (decode_extent):
10822         * extents.c (decode_map_extents_flags):
10823         * extents.c (decode_extent_at_flag):
10824         * extents.c (Fextent_at):
10825         * extents.c (Fextents_at):
10826         * extents.c (symbol_to_glyph_layout):
10827         [[[[2]]]] Use structured errors.
10828
10829         * dialog-msw.c:
10830         * dialog-msw.c (mswindows_is_dialog_msg):
10831         * dialog-msw.c (mark_mswindows_dialog_id):
10832         * dialog-msw.c (dialog_proc):
10833         * dialog-msw.c (handle_question_dialog_box):
10834         * dialog-msw.c (syms_of_dialog_mswindows):
10835         Define new object to clean up marking; use it as a dialog identifier.
10836         Call new delete-dialog-box-hook.
10837
10838         * dialog-x.c (dbox_selection_callback):
10839         * dialog-x.c (dbox_descriptor_to_widget_value):
10840         * dialog-x.c (x_make_dialog_box_internal):
10841         Call new delete-dialog-box-hook.
10842         Return an id.
10843
10844         * dialog.c:
10845         * dialog.c (syms_of_dialog):
10846         * dialog.c (vars_of_dialog):
10847         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10848
10849         * eval.c:
10850         * eval.c (signal_call_debugger):
10851         when noninteractive, output stack traces on the console instead
10852         of in a (never-seen) buffer.
10853
10854         * eval.c (signal_type_error):
10855         * eval.c (invalid_argument_2):
10856         * lisp.h:
10857         new funs for use w/structured errors.
10858
10859         * event-Xt.c:
10860         * event-Xt.c (x_to_emacs_keysym):
10861         * event-Xt.c (describe_event):
10862         * event-Xt.c (emacs_Xt_event_handler):
10863         * event-Xt.c (vars_of_event_Xt):
10864         * event-msw.c:
10865         * event-msw.c (mswindows_wnd_proc):
10866         * event-msw.c (vars_of_event_mswindows):
10867         rename {x,mswindows}-debug-events to debug-{}-events for
10868         consistency with other debug-foo variables.
10869
10870         * event-stream.c:
10871         document next-event more clearly.
10872
10873         * fileio.c (Ffile_name_directory):
10874         * fileio.c (Ffile_name_nondirectory):
10875         * fileio.c (Funhandled_file_name_directory):
10876         * fileio.c (file_name_as_directory):
10877         * fileio.c (Ffile_name_as_directory):
10878         * fileio.c (directory_file_name):
10879         * fileio.c (Fdirectory_file_name):
10880         * fileio.c (Fmake_temp_name):
10881         * fileio.c (Ffile_truename):
10882         * fileio.c (Fsubstitute_in_file_name):
10883         * fileio.c (expand_and_dir_to_file):
10884         * fileio.c (barf_or_query_if_file_exists):
10885         * fileio.c (check_executable):
10886         * fileio.c (Ffile_exists_p):
10887         * fileio.c (Ffile_writable_p):
10888         * fileio.c (Ffile_directory_p):
10889         * fileio.c (Ffile_regular_p):
10890         * fileio.c (Ffile_modes):
10891         * fileio.c (Ffile_newer_than_file_p):
10892         * fileio.c (Fverify_visited_file_modtime):
10893         * fileio.c (Fset_visited_file_modtime):
10894         * fileio.c (auto_save_1):
10895         (1). (2).
10896         fix up gcpro's.
10897
10898         * frame-msw.c:
10899         * frame-msw.c (mswindows_init_frame_1):
10900         * frame-msw.c (mswindows_enable_frame):
10901         * frame-msw.c (error_frame_unsizable):
10902         * frame-msw.c (msprinter_init_frame_1):
10903         * frame-msw.c (msprinter_init_frame_3):
10904         * frame-msw.c (console_type_create_frame_mswindows):
10905         (2).
10906         implement new enable/disable frame methods.
10907
10908         * frame-x.c:
10909         * frame-x.c (x_enable_frame):
10910         * frame-x.c (console_type_create_frame_x):
10911         implement new enable/disable frame methods.
10912
10913         * frame.c:
10914         * frame.c (Fdisable_frame):
10915         * frame.c (syms_of_frame):
10916         * frame.h (struct frame):
10917         implement new enable/disable frame methods/functions.
10918
10919         * general-slots.h:
10920         add initial-focus.
10921
10922         * glyphs-msw.c (mswindows_widget_instantiate):
10923         comment that initial-focus should be implemented.
10924
10925         * glyphs-widget.c:
10926         * glyphs-widget.c (check_valid_instantiator):
10927         * glyphs-widget.c (check_valid_orientation):
10928         * glyphs-widget.c (check_valid_tab_orientation):
10929         * glyphs-widget.c (check_valid_justification):
10930         * glyphs-widget.c (check_valid_border):
10931         * glyphs-widget.c (check_valid_callback):
10932         * glyphs-widget.c (check_valid_int_or_function):
10933         * glyphs-widget.c (check_valid_string_or_vector):
10934         * glyphs-widget.c (check_valid_item_list_1):
10935         * glyphs-widget.c (widget_validate):
10936         * glyphs-widget.c (combo_box_validate):
10937         * glyphs-widget.c (widget_instantiate):
10938         * glyphs-widget.c (syms_of_glyphs_widget):
10939         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10940         * glyphs-widget.c (image_instantiator_combo_box):
10941         * glyphs-widget.c (image_instantiator_scrollbar):
10942         * glyphs-widget.c (image_instantiator_tab_control):
10943         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10944         (2).
10945         support (unimplemented) keyword initial-focus.
10946         reindent long macros.
10947
10948         * glyphs-x.c (x_redisplay_widget):
10949         * glyphs-x.c (x_button_instantiate):
10950         * glyphs-x.c (x_button_redisplay):
10951         * glyphs-x.c (x_progress_gauge_instantiate):
10952         * glyphs-x.c (x_edit_field_instantiate):
10953         * glyphs-x.c (x_combo_box_instantiate):
10954         * glyphs-x.c (x_tab_control_instantiate):
10955         * glyphs-x.c (x_label_instantiate):
10956         * gui-x.c:
10957         * gui-x.c (button_item_to_widget_value):
10958         * gui-x.c (gui_items_to_widget_values_1):
10959         * gui-x.c (gui_item_children_to_widget_values):
10960         * gui-x.c (gui_items_to_widget_values):
10961         * gui-x.h:
10962         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10963         add new flag to gui-parsing routines to indicate whether
10964         accelerator specs should be supported.
10965
10966         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10967
10968         * glyphs.h (struct Lisp_Image_Instance):
10969         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10970         add initial-focus flag.
10971
10972         * gui.c:
10973         * gui.c (syms_of_gui):
10974         * gui.c (vars_of_gui):
10975         clean up menu-no-selection-hook.
10976
10977         * gui.h:
10978         support delete-dialog-box-hook.
10979
10980         * lread.c (Fload_internal):
10981         * lread.c (locate_file_in_directory_mapper):
10982         (1).
10983
10984         * lrecord.h:
10985         * lrecord.h (struct toolbar_button):
10986         * lrecord.h (syms_of_toolbar):
10987         document how to create a new object.
10988
10989         * menubar-msw.c (mswindows_char_is_accelerator):
10990         may be called on frames w/o menus.
10991
10992         * menubar.c (vars_of_menubar):
10993         clean up :filter docs.
10994
10995         * nt.c (readdir):
10996         * ntproc.c:
10997         (1).
10998
10999         * process-nt.c:
11000         * process-nt.c (validate_signal_number):
11001         * process-nt.c (signal_cannot_launch):
11002         * process-nt.c (nt_create_process):
11003         * process-nt.c (nt_send_process):
11004         * process-nt.c (nt_kill_child_process):
11005         * process-nt.c (nt_open_network_stream):
11006         * process-nt.c (syms_of_process_nt):
11007         (2).
11008         delete quote-handling.  call new lisp code that does it better.
11009
11010         * process-unix.c (connect_to_file_descriptor):
11011         * process-unix.c (allocate_pty):
11012         * process-unix.c (unix_send_process):
11013         * process-unix.c (unix_kill_child_process):
11014         * process-unix.c (unix_open_network_stream):
11015         * process-unix.c (unix_open_multicast_group):
11016         (1). (2).
11017
11018         * process.c:
11019         * process.c (Fstart_process_internal):
11020         (2).  need to canonicalize process path even if absolute.
11021
11022         * select-msw.c (symbol_to_ms_cf):
11023         * select-msw.c (ms_cf_to_symbol):
11024         * select-msw.c (cf_is_autofreed):
11025         * select-msw.c (mswindows_destroy_selection):
11026         * select.c:
11027         * select.c (syms_of_select):
11028         * select.h:
11029         support dibv5, fix bugs. (from Mike Alexander)
11030
11031         * select.c (Fget_selection_internal):
11032         * select.c (select_convert_out):
11033
11034         * sysdep.c:
11035         * sysdep.c (xemacs_stat):
11036         renamed.
11037
11038         * sysdep.c (mkdir):
11039         * sysdep.c (rmdir):
11040         but keep original stat() here because we provide encapsulation
11041         around these funs.
11042
11043         * sysfile.h:
11044         * sysfile.h (fstat):
11045         remove stat garbage.
11046
11047         * syswindows.h:
11048         fix X/MSW conflict.
11049         don't include tchar.h.  it's inappropriate because it makes
11050         compile-time distinctions when we want runtime distinctions.
11051         (we provide our own tchar replacements)
11052
11053         * toolbar.c:
11054         use default object printer for toolbar-button.
11055
11056         * unexcw.c:
11057         make sure we don't encapsulate.
11058
11059         * window.c (vars_of_window):
11060         emphasize that temp-buffer-show-hook is obsolete.
11061
11062 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11063
11064         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11065         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11066
11067         * events.c (Fevent_timestamp_lessp):
11068         Not 64-bit clean.  Use EMACS_INT, not int.
11069
11070 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11071
11072         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11073         unsigned int and changed the last enum to
11074         lrecord_type_last_built_in_type.
11075         (lrecord_implementations_table): changed prototype to know how
11076         long the array is supposed to be.
11077         (lrecord_type_count): new unsigned int to keep track of the
11078         current number of lisp lrecord types.
11079         (DEFINE_EXTERNAL_LRECORD):
11080         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11081         dynamic-modules to declare new lisp types. They are the same
11082         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11083         int for each new type, and increment lrecord_type_count by 1.
11084
11085         * alloc.c (lrecord_implementations_table): Changed to reference
11086         lrecord_type_last_built_in_type for the size of the array.
11087         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11088
11089 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11090
11091         * glyphs.h (check_valid_item_list): Renamed from
11092         check_valid_item_list_1.
11093
11094 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11095
11096         * select.c (Qselect_coerce): New.
11097         * select.c (Vselection_coercion_alist): New.
11098         * select.c (syms_of_select): Declare.
11099         * select.c (get-selection-internal): Use it.
11100         Use the new select-coerce functionality.
11101
11102         * select.c (select_coerce): New.
11103         * select.h (select_coerce): Declare.
11104         New function to coerce one type of data into another.
11105
11106 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11107
11108         * callproc.c (Fcall_process_internal):
11109         (Fcall_process_internal):
11110         * process-unix.c (unix_create_process):
11111         Save and restore the value of errno, so that error messages are accurate.
11112
11113 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11114
11115         * elhash.c (print_hash_table):
11116         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11117         Prettify docstrings and indentation.
11118
11119 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11120
11121         * window.c (Fwindow_pixel_edges): Subtract frame border and
11122         gutter size.
11123
11124 2000-07-31  Andy Piper  <andy@xemacs.org>
11125
11126         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11127         will acknowledge the change.
11128
11129         * glyphs.h: declare tab_control_order_only_changed.
11130
11131         * glyphs-x.c (x_tab_control_redisplay): use
11132         tab_control_order_only_changed.
11133
11134         * glyphs-widget.c (tab_control_order_only_changed): new function.
11135
11136         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11137         tab_control_order_only_changed.
11138
11139         * gui.c (gui_item_equal_sans_selected): new function.
11140         (gui_item_equal): use it.
11141
11142         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11143         :properties in favor of :items..
11144
11145         * glyphs-widget.c (check_valid_item_list): rename from
11146         check_valid_item_list_1.
11147         (check_valid_item_list_1): renamed.
11148         (combo_box_validate): deprecate :properties in favor of :items.
11149         (widget_instantiate): ditto.
11150         (tab_control_update): ditto.
11151         (image_instantiator_combo_box): ditto.
11152         (image_instantiator_tree_view): ditto.
11153         (image_instantiator_tab_control): ditto.
11154         (layout_post_instantiate): remove dead code.
11155
11156         * print.c (debug_print_no_newline): only write to debugger if in
11157         WIN32_NATIVE.
11158
11159         * elhash.c (Fmake_hash_table): update doc string.
11160
11161         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11162         messages whilst in GC. This at least stops XEmacs crashing but has
11163         the potential for wierd behaviour.
11164
11165 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11166
11167         * config.h.in:
11168         Make existence of s&m files optional.
11169
11170         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11171         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11172         * s/gnu.h: Remove HAVE_GETLOADAVG.
11173         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11174         * s/sol2.h: Remove HAVE_GETLOADAVG.
11175         * lisp.h: Remove getloadavg() declaration.
11176         * fns.c:
11177         Include <sys/loadavg.h> if available.
11178         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11179         * config.h.in:  Group together getloadavg()-related macros.
11180         Use only configure-time tests to detect getloadavg().
11181
11182 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11183
11184         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11185
11186 2000-07-25  Andy Piper  <andy@xemacs.org>
11187
11188         * syswindows.h: add tchar.h for native builds.
11189
11190         * frame.c (syms_of_frame): remove set-glyph-image.
11191
11192         * general-slots.h: add Qset_glyph_image.
11193
11194         * glyphs-widget.c (layout_update): add domain arg to
11195         set-glyph-image.
11196         (syms_of_glyphs_widget): remove set-glyph-image.
11197
11198 2000-07-23  Ben Wing  <ben@xemacs.org>
11199
11200         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11201         Vpopup_frame_list.
11202
11203 2000-07-22  Andy Piper  <andy@xemacs.org>
11204
11205         * symsinit.h: add syms_of_win32().
11206
11207         * gui-msw.c (syms_of_gui_mswindows): remove
11208         Fmswindows_shell_execute.
11209         (Fmswindows_shell_execute): moved to win32.c.
11210
11211         * emacs.c (main_1): add syms_of_win32 ().
11212
11213         * win32.c (init_potentially_nonexistent_functions): rewrite in
11214         compiler-friendly terms.
11215         (Fmswindows_shell_execute): move here from gui-msw.c.
11216         (syms_of_win32): new.
11217
11218         * device-msw.c (Fmswindows_printer_list): clean up args to
11219         EnumPrinters.
11220         Don't include tchar under cygwin or mingw.
11221         (msprinter_default_printer): make cygwin-friendly.
11222
11223 2000-07-21  Andy Piper  <andy@xemacs.org>
11224
11225         * glyphs-widget.c (image_instantiator_tree_view): use tab
11226         control's update function.
11227         (layout_property): new function. Retrieve items.
11228
11229         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11230         function. Re-populate the tree view from the pending items.
11231
11232         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11233         is designated the parent if the domain is an image instance. This
11234         is needed so that dirtiness can be cascade up the hierarchy and
11235         thus for layout children to be redisplayed correctly.
11236         (allocate_image_instance): rename glyph -> parent.
11237
11238         * redisplay.h: change redisplay_output_layout signature.
11239
11240         * redisplay-msw.c (mswindows_output_display_block): use domain
11241         arg.
11242
11243         * redisplay-x.c (x_output_display_block): use domain arg.
11244
11245 2000-07-10  Andy Piper  <andy@xemacs.org>
11246
11247         * window.c (Fset_window_configuration): add comment.
11248
11249         * redisplay-output.c (compare_runes):
11250         (redisplay_output_subwindow): redisplay rather than update subwindow.
11251         (redisplay_output_layout): ditto.
11252
11253         * redisplay-msw.c (mswindows_frame_output_end):
11254         (mswindows_frame_output_end): make defer window pos optional.
11255
11256         * lisp.h: add Flast.
11257
11258         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11259         normalize method. Change update method to be for changed
11260         instantiators. Add redisplay method. Change signature of layout
11261         method.
11262         (struct Lisp_Image_Instance): add instantiator.
11263         (IMAGE_INSTANCE_INSTANTIATOR): new.
11264         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11265         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11266         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11267
11268         * glyphs.c:
11269         (find_instantiator_differences): new function.
11270         (Fset_instantiator_property): new convenience function.
11271         (check_image_instance_structure): strictly check for vector
11272         instantiators.
11273         (normalize_image_instantiator): make non-static.
11274         (instantiate_image_instantiator): pass on dest_mask and use new
11275         signatures for image_instance_layout and friends.
11276         (mark_image_instance): mark the instantiator. Mark the subwindow
11277         face not the widget face.
11278         (image_instance_equal): add instantiator.
11279         (image_instance_hash): ditto.
11280         (allocate_image_instance): ditto.
11281         (Fset_image_instance_property): removed.
11282         (Fimage_instance_file_name): ditto.
11283         (Fcolorize_image_instance): ditto.
11284         (image_instance_layout): add offsets to be set.
11285         (update_image_instance): new function. update an image instance
11286         from its changed instantiator.
11287         (inherit_normalize): add dest_mask.
11288         (xbm_normalize): ditto.
11289         (xface_normalize): ditto.
11290         (xpm_normalize): ditto.
11291         (text_update): set_property -> update.
11292         (image_instantiate): use the glyph identity as a hash key, not the
11293         instantiator.
11294         (glyph_width): use new image_instance_layout signature.
11295         (glyph_ascent): ditto.
11296         (glyph_descent): ditto.
11297         (glyph_height): ditto.
11298         (glyph_query_geometry): ressurrect.
11299         (glyph_layout): ditto.
11300         (redisplay_subwindow): update -> redisplay.
11301         (syms_of_glyphs): add Fset_instantiator_property.
11302         (image_instantiator_format_create): set_property -> update.
11303
11304         * glyphs-x.c:
11305         (autodetect_normalize): add dest_maks to signature.
11306         (x_redisplay_subwindow): update -> redisplay.
11307         (x_redisplay_widget): ditto.
11308         (x_button_redisplay): ditto.
11309         (x_progress_gauge_redisplay): ditto.
11310         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11311         stacking order.
11312         (console_type_create_glyphs_x): update -> redisplay.
11313         (image_instantiator_format_create_glyphs_x): ditto.
11314
11315         * glyphs-widget.c:
11316         (check_valid_instantiator): disallow glyphs in the instantiator,
11317         they must now be vectors.
11318         (check_valid_instantiator_list): ditto.
11319         (glyph_instantiator_to_glyph): use internal symbol rather than
11320         intern.
11321         (widget_update): renamed from widget_set_property. Call cascaded
11322         update methods.
11323         (redisplay_widget): renamed from update_widget.
11324         (widget_layout): image_instance_layout now takes position as well
11325         as size.
11326         (widget_normalize): ditto.
11327         (widget_instantiate): ditto.
11328         (tab_control_query_geometry) ditto.:
11329         (tab_control_update): renamed from tab_control_set_property.
11330         (progress_gauge_update): set_property -> update.
11331         (layout_normalize): rewrite so that child instantiators are
11332         normalized also.
11333         (layout_update): new function. Create glyphs from the normalized
11334         children and cope with any other layout keywords. We do not
11335         instantiate children here that will be take care of by
11336         redisplay_output_layout.
11337         (layout_instantiate): call layout_update and not much else.
11338         (layout_post_instantiate): not sure whether this is needed
11339         anymore.
11340         (layout_query_geometry): query glyph geometry rather than
11341         image_instance geometry.
11342         (layout_layout): set offsets from pass in parameters. Use glyph
11343         geometry and layout functions rather than image instance ones.
11344         (native_layout_layout): ditto.
11345         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11346         (image_instantiator_widget): set_property -> update.
11347         (image_instantiator_buttons): ditto.
11348         (image_instantiator_progress_guage): ditto.
11349         (image_instantiator_tab_control): ditto.
11350         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11351         (image_instantiator_layout): add update method.
11352
11353         * glyphs-msw.c (bmp_normalize):
11354         (mswindows_resource_normalize): add dest_mask so that it can be
11355         proprogated by layout_normalize.
11356         (begin_defer_window_pos): make optional because it may not be the
11357         right thing to do and it introduces differences with X.
11358         (mswindows_unmap_subwindow): ditto.
11359         (mswindows_map_subwindow): ditto.
11360         (mswindows_redisplay_subwindow): renamed from
11361         mswindows_update_subwindow.
11362         (mswindows_redisplay_widget): ditto.
11363         (mswindows_button_redisplay): renamed from
11364         mswindows_button_update. Update is now what the instantiation
11365         function does for a changed instantiator.
11366         (mswindows_progress_gauge_instantiate): set the progress value
11367         here if appropriate.
11368         (mswindows_tab_control_redisplay): cope with re-ordering of the
11369         members of the tab widget by simply selecting the new top
11370         widget. This makes things appear ok if you click on a tab.
11371         (mswindows_combo_box_instantiate): image_instance_layout now takes
11372         position as well as size.
11373         (mswindows_progress_gauge_redisplay): renamed from
11374         mswindows_progress_gauge_update.
11375         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11376         (image_instantiator_format_create_glyphs_mswindows): ditto.
11377
11378         * glyphs-eimage.c (jpeg_normalize):
11379         (gif_normalize):
11380         (png_normalize):
11381         (tiff_normalize): add dest_mask so that it can be proprogated by
11382         layout_normalize.
11383
11384         * elhash.c:
11385         (print_hash_table):
11386         (hash_table_weakness_validate):
11387         (decode_hash_table_weakness):
11388         (Fhash_table_weakness):
11389         (Fhash_table_type):
11390         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11391
11392         * console.h (struct console_methods): move update_* to
11393         redisplay_*.
11394
11395 2000-07-20  Ben Wing  <ben@xemacs.org>
11396
11397         * *.[ch] (XSETOBJ): remove unused middle argument.
11398         lisp-disunion.h: correct wrap_object() to one argument.
11399
11400 2000-07-15  Ben Wing  <ben@xemacs.org>
11401
11402         * s/cygwin32.h:
11403         * s/cygwin32.h (CYGWIN_CONV_PATH):
11404         Add missing logb prototype for v1.1.
11405         Use post-b20 names and alias to pre-b20 names when pre-b20.
11406
11407         * s/windowsnt.h: [5].
11408
11409 2000-07-15  Ben Wing  <ben@xemacs.org>
11410
11411         * Makefile.in.in (x_objs):
11412         * Makefile.in.in (sheap_objs):
11413         * Makefile.in.in (objs):
11414         added win32.o, cosmetic cleanups.
11415
11416         * alloc.c (Fmake_byte_code):
11417         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11418         etc. macros which declare their own args now.
11419
11420         * alloc.c (syms_of_alloc):
11421         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11422
11423         * buffer.c:
11424         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11425
11426         * buffer.c (Fget_file_buffer):
11427         Fixed GCPRO problem.
11428
11429         * buffer.c (get_truename_buffer):
11430         Fixed comment about GC checking.
11431
11432         * buffer.c (syms_of_buffer):
11433         Undeclared those dedicated frame funs.
11434         [2].
11435
11436         * buffer.h:
11437         Define convenience macros for internal/external conversions.
11438         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11439         and Qenvironment_variable_encoding for cleaner code.
11440
11441         * bufslots.h:
11442         Remove dedicated-frame; in lisp.
11443
11444         * bytecode.c (funcall_compiled_function):
11445         [1].
11446
11447         * bytecode.c (syms_of_bytecode):
11448         [2].
11449
11450         * console-msw.c:
11451         * console-msw.c (mswindows_show_console): Rewrote.
11452
11453         * console-msw.c (Fmswindows_debugging_output): New.
11454         Sends to OutputDebugString (special MSWin debugger interface).
11455
11456         * console-msw.c (Fmswindows_message_box):
11457         Fixed stupid bugs so it works when called from kill-emacs.
11458
11459         * console-msw.c (syms_of_console_mswindows):
11460         Declare Fmswindows_debugging_output.
11461
11462         * console-msw.h:
11463         New MSWin prototypes.
11464
11465         * console-msw.h (struct mswindows_frame):
11466         New entry last-click-mods for improved button-modifier support.
11467
11468         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11469         New struct entry `popup' with corresponding accessor.
11470
11471         * console-x.c:
11472         * console-x.c (split_up_display_spec):
11473         * console-x.c (get_display_arg_connection):
11474         * console-x.c (x_semi_canonicalize_console_connection):
11475         * console-x.c (x_canonicalize_device_connection):
11476         [[[6]]]: Change char to more specific type.
11477         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11478
11479         * console-x.c (x_semi_canonicalize_console_connection):
11480         * console-x.c (x_canonicalize_device_connection):
11481         [[[9]]]: Fix up error signalling to use new structured error system.
11482
11483         * console-x.h:
11484         [[[4]]]: Define codesys aliases:
11485         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11486         Qx_color_name_encoding, Qx_display_name_encoding.
11487
11488         * console.h (struct console_methods):
11489         New method make_dialog_box_internal supersedes older
11490         popup_dialog_box method.
11491
11492         * data.c:
11493         Define many new errors, part of new structured errors.
11494
11495         * data.c (init_errors_once_early):
11496         * data.c (syms_of_data):
11497         [2].
11498
11499         * device-msw.c (mswindows_init_device):
11500         [[[5]]]: Cleanup to support NT 3.51.
11501
11502         * device-msw.c (decode_devmode): Cleanup.
11503
11504         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11505         * device-msw.c (mswindows_handle_print_dialog_box):
11506         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11507         * device-msw.c (syms_of_device_mswindows):
11508         Delete the dialog box primitives recently introduced by Kirill and
11509         instead interface to general dialog box interface.
11510
11511         * device-x.c:
11512         * device-x.c (compute_x_app_name):
11513         * device-x.c (x_init_device):
11514         * device-x.c (Fx_valid_keysym_name_p):
11515         * device-x.c (Fx_set_font_path):
11516         [6].
11517         [7].
11518
11519         * device.h (wrap_device): New.
11520         First of its kind; meant to replace XSETDEVICE.
11521
11522         * dialog-msw.c: Many file-dialog symbols.
11523
11524         * dialog-msw.c (mswindows_register_popup_frame): New.
11525         * dialog-msw.c (mswindows_is_dialog_msg): New.
11526         For supporting kbd traversal in dialog boxes.
11527
11528         * dialog-msw.c (dialog_proc):
11529         Support hitting ESC in dialogs.
11530
11531         * dialog-msw.c (struct):
11532         Common dialog box errors.
11533
11534         * dialog-msw.c (handle_file_dialog_box): New.
11535         Add file dialog code.
11536
11537         * dialog-msw.c (handle_question_dialog_box):
11538         Redo existing code to support new question dialog syntax.
11539
11540         * dialog-msw.c (console_type_create_dialog_mswindows):
11541         We support new dialog console method.
11542
11543         * dialog-msw.c (syms_of_dialog_mswindows):
11544         * dialog-msw.c (vars_of_dialog_mswindows):
11545         New file dialog symbols, vars.
11546
11547         * dialog-x.c:
11548         * dialog-x.c (maybe_run_dbox_text_callback):
11549         * dialog-x.c (dbox_descriptor_to_widget_value):
11550         * dialog-x.c (x_make_dialog_box_internal):
11551         * dialog-x.c (console_type_create_dialog_x):
11552         Mule-ize entire file.
11553         Redo to support question dialog syntax.
11554         [6].
11555
11556         * dialog.c:
11557         * dialog.c (Fmake_dialog_box_internal):
11558         * dialog.c (syms_of_dialog):
11559         Kill old popup-dialog-box, replace with new primitive.
11560         Just call device method or signal error.
11561
11562         * eldap.c (Fldap_open):
11563         * eldap.c (Fldap_search_basic):
11564         * eldap.c (Fldap_add):
11565         * eldap.c (Fldap_modify):
11566         [1].
11567         [7].
11568
11569         * emacs.c:
11570         * emacs.c (make_arg_list_1):
11571         * emacs.c (make_arg_list):
11572         Mule-ize call to dll_init().
11573         [6].
11574         [8].
11575
11576         * emacs.c (make_argc_argv):
11577         * emacs.c (free_argc_argv):
11578         * emacs.c (init_cmdargs):
11579         * emacs.c (main_1):
11580         * emacs.c (Fkill_emacs):
11581         * emacs.c (Fdump_emacs):
11582         Update comments about what can be used in syms_* etc.
11583         Call init_win32() when necessary.
11584         Fix up MS Win dialog box in kill-buffer to actually work right.
11585         [7].
11586
11587         * eval.c:
11588         * eval.c (For):
11589         * eval.c (Fand):
11590         * eval.c (Fprogn):
11591         * eval.c (Fprog1):
11592         * eval.c (Fprog2):
11593         * eval.c (FletX):
11594         * eval.c (Flet):
11595         * eval.c (condition_case_3):
11596         * eval.c (Feval):
11597         * eval.c (function_argcount):
11598         * eval.c (funcall_lambda):
11599         [1].
11600
11601         * eval.c (type_error): New.
11602         * eval.c (maybe_type_error): New.
11603         * eval.c (continuable_type_error): New.
11604         * eval.c (maybe_continuable_type_error): New.
11605         * eval.c (type_error_with_frob): New.
11606         * eval.c (maybe_type_error_with_frob): New.
11607         * eval.c (continuable_type_error_with_frob): New.
11608         * eval.c (maybe_continuable_type_error_with_frob): New.
11609         New functions for use with structured errors.
11610
11611         * event-Xt.c:
11612         * event-Xt.c (x_event_to_emacs_event):
11613         Buttons are now modifiers too.
11614
11615         * event-Xt.c (emacs_Xt_current_event_timestamp):
11616         Implement new event method.
11617         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11618
11619         * event-msw.c:
11620         * event-msw.c (ntpipe_shove_writer): [5].
11621         * event-msw.c (mswindows_enqueue_mouse_button_event):
11622         * event-msw.c (mswindows_drain_windows_queue):
11623         * event-msw.c (mswindows_wnd_proc): [7].
11624         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11625         * event-msw.c (mswindows_modifier_state):
11626         Throughout: support new button modifiers.
11627
11628         * event-msw.c (emacs_mswindows_current_event_timestamp):
11629         Implement new event method.
11630         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11631
11632         * event-stream.c:
11633         * event-stream.c (event_stream_current_event_timestamp): New.
11634         * event-stream.c (maybe_kbd_translate): New functionality.
11635         * event-stream.c (vars_of_event_stream):
11636         Document new kbd-translate-table functionality.
11637
11638         * event-stream.c (Fcurrent_event_timestamp): New.
11639         New primitive for use in fabricated events.
11640         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11641
11642         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11643
11644         * events.c:
11645         * events.c (Fmake_event):
11646         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11647         [1].
11648         [9].
11649
11650         * events.c (format_event_object): fix gcc warnings.
11651
11652         * events.c (Fevent_timestamp): Document new primitives.
11653
11654         * events.c (TIMESTAMP_HALFSPACE): New.
11655
11656         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11657         comparing timestamps correctly (half-space algorithm).
11658
11659         * events.c (Fevent_modifier_bits): Doc fix.
11660
11661         * events.c (Fevent_modifiers): Major doc addition.
11662         * events.c (event_x_y_pixel_internal): Typo fix.
11663         * events.c (syms_of_events): Declare new primitives.
11664
11665         * events.h:
11666         Update long comment for button modifiers, timestamps.
11667
11668         * events.h (struct event_stream):
11669         New current_event_timestamp method.
11670
11671         * extents.c:
11672         * extents.c (extent_in_region_p):
11673         * extents.c (decode_extent):
11674         * extents.c (Fset_extent_parent):
11675         * extents.c (decode_map_extents_flags):
11676         Fix gcc warnings.
11677         [9].
11678
11679         * extents.c (struct extent_at_arg):
11680         * extents.c (decode_extent_at_flag):
11681         * extents.c (extent_at_mapper):
11682         * extents.c (extent_at_bytind):
11683         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11684         * extents.c (Fextents_at): New primitive. [9].
11685         * extents.c (symbol_to_glyph_layout): [9].
11686         Support new primitive `extents-at'.
11687
11688
11689         * extents.c (get_text_property_bytind):
11690         extent_at_bytind has another arg.
11691         [9].
11692
11693         * extents.c (syms_of_extents): New primitive.
11694
11695         * file-coding.c (Fmake_coding_system): [1].
11696         * file-coding.c (subsidiary_coding_system): fix gcc warning
11697         * file-coding.c (syms_of_file_coding): [2].
11698
11699         * fileio.c (Fexpand_file_name):
11700         * fileio.c (Fsysnetunam):
11701         * fileio.c (Ffile_exists_p):
11702         * fileio.c (Ffile_executable_p):
11703         * fileio.c (Fverify_visited_file_modtime):
11704         Clean up GCPROing.
11705
11706         * fileio.c (syms_of_fileio): [2].
11707
11708         * filelock.c (lock_file_1):
11709         * filelock.c (current_lock_owner):
11710         * filelock.c (lock_if_free):
11711         * filelock.c (lock_file):
11712         * filelock.c (unlock_file):
11713         Clean up GCPROing.
11714
11715         * fns.c (concat): Fix gcc warning.
11716
11717         * fns.c (Fmember):
11718         * fns.c (Fold_member):
11719         * fns.c (Fmemq):
11720         * fns.c (Fold_memq):
11721         * fns.c (memq_no_quit):
11722         * fns.c (Fassoc):
11723         * fns.c (Fold_assoc):
11724         * fns.c (Fassq):
11725         * fns.c (Fold_assq):
11726         * fns.c (assq_no_quit):
11727         * fns.c (Frassoc):
11728         * fns.c (Fold_rassoc):
11729         * fns.c (Frassq):
11730         * fns.c (Fold_rassq):
11731         * fns.c (rassq_no_quit):
11732         * fns.c (Fdelete):
11733         * fns.c (Fold_delete):
11734         * fns.c (Fdelq):
11735         * fns.c (Fold_delq):
11736         * fns.c (delq_no_quit):
11737         * fns.c (Fremassoc):
11738         * fns.c (Fremassq):
11739         * fns.c (remassq_no_quit):
11740         * fns.c (Fremrassoc):
11741         * fns.c (Fremrassq):
11742         * fns.c (remrassq_no_quit):
11743         * fns.c (Freverse):
11744         * fns.c (mapcar1):
11745         [1].
11746
11747         * frame-msw.c (mswindows_init_frame_1):
11748         * frame-msw.c (mswindows_delete_frame):
11749         Register popups with dialog code so keyboard traversing works.
11750
11751         * frame-tty.c (tty_raise_frame_no_select): [1].
11752
11753         * frame-x.c:
11754         * frame-x.c (x_set_frame_text_value):
11755         * frame-x.c (x_set_frame_properties):
11756         * frame-x.c (x_create_widgets):
11757         [7].
11758
11759         * frame.c:
11760         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11761
11762         * frame.h (wrap_frame): New.
11763         Macro like wrap_device.
11764
11765         * general.c:
11766         * general.c (SYMBOL):
11767         * general.c (syms_of_general):
11768         Major reorg.  This is now just a wrapper and symbols themselves
11769         are listed in general-slots.h.
11770
11771         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11772         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11773
11774         * glyphs-msw.c (mswindows_native_layout_instantiate):
11775         Add DS_CONTROL so keyboard traversal will work.
11776
11777         * glyphs-widget.c:
11778         * glyphs-widget.c (syms_of_glyphs_widget):
11779         Move some symbols to general-slots.h.
11780
11781         * glyphs-x.c:
11782         * glyphs-x.c (xbm_instantiate_1):
11783         * glyphs-x.c (x_xbm_instantiate):
11784         * glyphs-x.c (x_xface_instantiate):
11785         * glyphs-x.c (autodetect_instantiate):
11786         * glyphs-x.c (cursor_font_instantiate):
11787         * glyphs-x.c (x_update_widget):
11788         * glyphs-x.c (x_widget_instantiate):
11789         * glyphs.c (bitmap_to_lisp_data):
11790         * glyphs.c (pixmap_to_lisp_data):
11791         [7].
11792
11793         * glyphs.c (syms_of_glyphs):
11794         [2].
11795
11796         * gui-x.c:
11797         * gui-x.c (print_widget_value):
11798         * gui-x.c (menu_separator_style_and_to_external):
11799         * gui-x.c (add_accel_and_to_external):
11800         * gui-x.c (button_item_to_widget_value):
11801         * gui-x.c (gui_items_to_widget_values_1):
11802         * gui-x.c (gui_items_to_widget_values):
11803         * gui-x.c (syms_of_gui_x):
11804         * gui-x.c (vars_of_gui_x):
11805         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11806         [9].
11807
11808         * gui-x.h:
11809         Muleize, prototype changes matching gui-x.c.
11810
11811         * gui.c:
11812         * gui.c (separator_string_p):
11813         * gui.c (gui_item_add_keyval_pair):
11814         * gui.c (make_gui_item_from_keywords_internal):
11815         * gui.c (signal_too_long_error):
11816         * gui.c (parse_gui_item_tree_item):
11817         * gui.c (syms_of_gui):
11818         * gui.c (vars_of_gui):
11819         * gui.h:
11820         menu-no-selection-hook moved here (used by MSWin).
11821         Move some symbols to general-slots.h.
11822         [6].
11823         [9].
11824
11825         * insdel.c (get_buffer_pos_char):
11826         * insdel.c (get_buffer_range_char):
11827         Add GC comments.
11828
11829         * keymap.c (keymap_lookup_directly):
11830         * keymap.c (keymap_store):
11831         * keymap.c (ensure_meta_prefix_char_keymapp):
11832         * keymap.c (describe_map):
11833         * keymap.h:
11834         Support new button modifiers.
11835
11836         * lisp-disunion.h (wrap_object):
11837         * lisp-disunion.h (XSETOBJ):
11838         Rename make_obj to wrap_object.
11839
11840         * lisp-union.h:
11841         * lisp-union.h (make_int):
11842         * lisp-union.h (make_char):
11843         Support wrap_object.
11844
11845         * lisp.h:
11846         * lisp.h (LIST_LOOP):
11847         * lisp.h (EXTERNAL_LIST_LOOP):
11848         * lisp.h (LIST_LOOP_2):
11849         * lisp.h (EXTERNAL_LIST_LOOP_1):
11850         * lisp.h (EXTERNAL_LIST_LOOP_2):
11851         * lisp.h (EXTERNAL_LIST_LOOP_3):
11852         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11853         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11854         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11855         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11856         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11857         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11858         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11859         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11860         * lisp.h (struct Lisp_Symbol):
11861         * lisp.h (maybe_continuable_error_with_frob):
11862         Fix up section comments.
11863         Add new types for char to indicate usage.
11864         Delete symbols auto-generated from general-slots.h.
11865         Add prototypes for structured error functions.
11866         Add long comments describing looping macros and change interface
11867         so that lvalues are automatically declared.
11868         Add NO_DECLARE macro in case callers want to declare lvalues
11869         themselves.
11870
11871         * lread.c (read_syntax_error):
11872         * lread.c (continuable_read_syntax_error):
11873         * lread.c (read_structure):
11874         * lread.c (sequence_reader):
11875         * lread.c (read_list_conser):
11876         * lread.c (read_compiled_function):
11877         Rename syntax_error and continuable_syntax_error to avoid clash
11878         with same-named structured error functions.
11879
11880         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11881         * menubar-msw.c (populate_menu_add_item):
11882         * menubar-msw.c (populate_or_checksum_helper):
11883         [5].
11884         [9].
11885
11886         * menubar-x.c:
11887         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11888         Mule-ize whole file.
11889
11890         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11891
11892         * mule-charset.c (Fmake_charset):
11893         * mule-wnnfns.c (Fwnn_set_param):
11894         [1].
11895
11896         * ntproc.c (create_child):
11897         * ntproc.c (Fwin32_set_current_locale):
11898         Add comments portending doom.
11899
11900         * objects-msw.c:
11901         * objects-msw.c (old_font_enum_callback_2):
11902         * objects-msw.c (font_enum_callback_1):
11903         * objects-msw.c (mswindows_enumerate_fonts):
11904         [5].
11905
11906         * objects-x.c:
11907         * objects-x.c (allocate_nearest_color):
11908         * objects-x.c (x_parse_nearest_color):
11909         * objects-x.c (x_initialize_color_instance):
11910         * objects-x.c (x_print_color_instance):
11911         * objects-x.c (x_finalize_color_instance):
11912         * objects-x.c (x_valid_color_name_p):
11913         * objects-x.c (x_initialize_font_instance):
11914         * objects-x.c (x_print_font_instance):
11915         * objects-x.c (valid_x_font_name_p):
11916         * objects-x.c (truename_via_FONT_prop):
11917         * objects-x.c (truename_via_random_props):
11918         * objects-x.c (truename_via_XListFonts):
11919         * objects-x.c (x_font_truename):
11920         * objects-x.c (x_font_instance_truename):
11921         * objects-x.c (x_font_instance_properties):
11922         * objects-x.c (x_list_fonts):
11923         * objects-x.c (x_find_charset_font):
11924         Mule-ize entire file.
11925         [7].
11926
11927         * objects-x.h:
11928         Mule-verify.
11929
11930         * print.c:
11931         * print.c (std_handle_out_external):
11932         * print.c (debug_print_no_newline):
11933         * print.c (syms_of_print):
11934         Output to all debugger kinds in debug-print.
11935         Fix console-output code under MSWin to actually work.
11936
11937         * process-nt.c (send_signal):
11938         * process-nt.c (nt_create_process):
11939         Use newer Unicode macros.
11940
11941         * process-unix.c (unix_create_process):
11942         * process-unix.c (unix_canonicalize_host_name):
11943         * process-unix.c (unix_open_network_stream):
11944         [7].
11945
11946         * scrollbar-x.c:
11947         Mule-verify.
11948
11949         * search.c (syms_of_search):
11950         [2].
11951
11952         * select-msw.c (mswindows_destroy_selection):
11953         Use LIST_LOOP_2.
11954
11955         * select-x.c (symbol_to_x_atom):
11956         [7].
11957
11958         * select.c (syms_of_select):
11959         [2].
11960
11961         * sound.c (Fplay_sound_file):
11962         [7].
11963
11964         * specifier.c:
11965         * specifier.c (decode_specifier_type):
11966         * specifier.c (Fvalid_specifier_locale_type_p):
11967         * specifier.c (check_valid_locale_or_locale_type):
11968         * specifier.c (decode_locale):
11969         * specifier.c (decode_locale_type):
11970         * specifier.c (decode_locale_list):
11971         * specifier.c (check_valid_domain):
11972         * specifier.c (decode_specifier_tag_set):
11973         * specifier.c (Fcanonicalize_tag_set):
11974         * specifier.c (Fdefine_specifier_tag):
11975         * specifier.c (Fspecifier_tag_predicate):
11976         * specifier.c (check_valid_inst_list):
11977         * specifier.c (check_valid_spec_list):
11978         * specifier.c (decode_how_to_add_specification):
11979         * specifier.c (check_modifiable_specifier):
11980         * specifier.c (specifier_add_spec):
11981         * specifier.c (boolean_validate):
11982         * specifier.c (display_table_validate):
11983         [9].
11984
11985         * specifier.c (syms_of_specifier):
11986         Move some symbols to general-slots.h.
11987         [2].
11988
11989         * symbols.c:
11990         * symbols.c (Fmapatoms):
11991         * symbols.c (Fapropos_internal):
11992         Add GCPROs.
11993
11994         * symbols.c (set_default_buffer_slot_variable):
11995         * symbols.c (set_default_console_slot_variable):
11996         [1].
11997
11998         * symbols.c (defsymbol_massage_name_1):
11999         * symbols.c (defkeyword_massage_name):
12000         * symbols.c (deferror_1):
12001         * symbols.c (deferror):
12002         * symbols.c (deferror_massage_name_and_message):
12003         * symeval.h:
12004         * symeval.h (DEFSYMBOL):
12005         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12006
12007         * symbols.c (syms_of_symbols):
12008         [2].
12009
12010         * symsinit.h:
12011         * symsinit.h (init_win32): New.
12012         Also new is syms_of_dialog_mswindows.
12013
12014         * syswindows.h:
12015         Add new Unicode macros, missing Cygwin wide-char functions,
12016         convenience conversion macros for Qmswindows_tstr, macros for
12017         encapsulating required MSWin <-> Cygwin filename conversions,
12018         prototype for dynamically-extracted (not in NT 3.51) functions.
12019
12020         * toolbar-x.c:
12021         Mule-verify.
12022
12023         * tooltalk.c (Fadd_tooltalk_message_arg):
12024         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12025         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12026         [7].
12027
12028         * tooltalk.c (syms_of_tooltalk):
12029         [2].
12030
12031         * unexnt.c:
12032         * unexnt.c (unexec):
12033         Fix up headers, declaration of unexec() to be more standard.
12034
12035 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12036
12037         * offix.h: Revert change to guard macros - they're used in offix.c!
12038
12039 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12040
12041         * lisp.h: Defsubred Fdelete.
12042
12043         * console-msw.h:  (msprinter_default_printer): Added.
12044
12045         * console-msw.c (msprinter_canonicalize_console_connection):
12046         (msprinter_canonicalize_device_connection): Added.
12047
12048         * device-msw.c (msprinter_default_printer):
12049         (Fmswingows_get_default_printer):
12050         (signal_enum_priner_error):
12051         (Fmswingows_printer_list): Added.
12052
12053 2000-07-19  Martin Buchholz <martin@xemacs.org>
12054
12055         * XEmacs 21.2.35 is released.
12056
12057 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12058
12059         * select-x.c (x_handle_selection_request):
12060         Text selected in xemacs and pasted into xterm failed to appear.
12061         Spelling fixes and cosmetic changes.
12062
12063 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12064
12065         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12066         XEmacs frame (fix for doubling chars in dialog boxes).
12067
12068 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12069
12070         * select.c (select_convert_in, select_convert_out):
12071         Don't call intern() every time.
12072
12073         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12074         * select.c (vars_of_select): Initialise them.
12075
12076 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12077
12078         * select.c (selection-coercible-types): New.
12079
12080         * select.c (own-selection-internal):
12081         * select.c (get-selection-internal):
12082         MULE bug fix - these should default to COMPOUND_TEXT and not
12083         STRING for MULE. I think.
12084
12085         * select.c (select_convert_out): Use selection-coercible-types
12086         to find types that we can attempt to perform coercions on.
12087
12088 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12089
12090         * mule-wnnfns.c:
12091         * mule-canna.c:
12092         Add coding: cookie to identify encoding.
12093
12094         * mule-canna.c (CANNA_mode_keys): make static.
12095         Use proper prototypes, even for functions of no arguments.
12096         Remove external prototype for Fding().
12097
12098         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12099
12100         * select.c (syms_of_select): Add missing DEFSUBR.
12101
12102 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12103
12104         * select.c (get_selection_internal, own_selection_internal):
12105         Make the type default to STRING, rather than placing a nil type
12106         into Vselection_alist.
12107
12108 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12109
12110         * gpmevent.c (tty_selection_exists_p):
12111         * gpmevent.c (tty_own_selection):
12112         Updated parameter lists.
12113
12114 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12115
12116         * select.h (selection-alist): Removed declaration.
12117
12118         * select.h (get_local_selection):
12119         * select.c (get_local_selection):
12120         Made static.
12121
12122         * select.h (convert_selection): Removed declaration.
12123         * select.c (convert_selection): Removed.
12124         This function belongs in Lisp.
12125
12126         * select.h (select_convert_in): Declare.
12127         * select.h (select_convert_out): Declare.
12128         * select.c (select_convert_in): New.
12129         * select.c (select_convert_out): New.
12130         New conversion functions for other files to call.
12131
12132         * select.h (select_notify_buffer_kill): Declare.
12133         * select.c (select_notify_buffer_kill): New.
12134         New functions that get called from kill-buffer.
12135
12136         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12137         X-specific lisp code.
12138
12139         * select.h: Declare some of the lisp-visible functions for
12140         external use.
12141
12142         * select.c (clean_local_selection_data): Removed. This was
12143         a disgusting function, and previously should have been in
12144         select-x.c in any case. The functionality is now provided
12145         in select-convert-from-integer (select.el).
12146
12147         * select.c (available-selection-types): Fixed stupidity where
12148         INTEGER and ATOM got added twice. Also add STRING when we see an
12149         extent.
12150
12151         * select.c (get-selection-internal): Removed symbol stripping. No
12152         longer causes conversion when data comes from the internal cache.
12153
12154         * select.c (syms_of_select): Added new functions.
12155
12156         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12157         error checking - previously this called abort!
12158
12159         * select-x.c (x_own_selection): Changed comment.
12160
12161         * select-x.c (x_handle_selection_request): Use select_convert_out.
12162         Don't mess with selection-alist; it's an internal variable of select.c.
12163
12164         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12165
12166         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12167         rather than messing with selection-alist.
12168
12169         * select-msw.c (mswindows_get_foreign_selection):
12170         Use TO_INTERNAL_FORMAT rather than hacking.
12171
12172 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12173
12174         * process-unix.c (unix_open_multicast_group):
12175         (unix_open_multicast_group): Remove useless casts.
12176
12177 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12178
12179         * sound.c (Fplay_sound): Fix `unused variable' warning.
12180
12181         * emacs.c (main): Use correct type for _environ on SCO5.
12182
12183 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12184
12185         * console.h (own_selection_method):
12186         * console.h (selection_exists_p_method):
12187         * console.h (available_selection_types_method): New.
12188         * console.h (register_selection_data_type_method): New.
12189         * console.h (selection_data_type_name): New.
12190
12191         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12192         function & alist to track GlobalAlloc()'d handles that need
12193         releasing when the clipboard data gets replaced or emptied.
12194
12195         * event-msw.c (mswindows_wnd_proc): Call it.
12196
12197         * lisp.h, general.c (Qappend): New symbol representing a
12198         `how-to-add' mode.
12199
12200         * select.c (own-selection-internal):
12201         * select.c (selection-exists-p):
12202         * select.c (available-selection-types): New.
12203         * select.c (register-selection-data-type): New.
12204         * select.c (selection-data-type-name): New.  New functions to deal
12205         with device-specific selection data formats.
12206         * select.c (selection-converter-out-alist): Renamed.
12207         * select.c (selection-converter-in-alist): New.
12208         * select.c (selection-appender-alist): New.  Added new alists.
12209         * select.c (syms_of_select, vars_of_select): Added new symbols &
12210         variables.
12211         * select.c (get_local_selection): Split.
12212         * select.c: Removed spurious type checking - selections may now be
12213         of any type, not just strings.
12214         * select.c (own-selection-internal):
12215
12216         * select.h, select.c (convert_selection): New. Created
12217         convert_selection() function based on get_local_selection().
12218         * select.h, select.c (QCF_*): New symbols representing mswindows
12219         clipboard formats.
12220         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12221         symbols representing `how-to-add' modes.
12222
12223         * select-msw.c (x_sym_p): New.
12224         * select-msw.c (symbol_to_ms_cf): New.
12225         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12226         symbols & clipboard formats. Can also handle string names.
12227         * select-msw.c (mswindows_own_selection):
12228         * select-msw.c (mswindows_selection_exists_p):
12229         Added `data-type' parameter. Use it.
12230         * select-msw.c (mswindows_available_selection_types): New.
12231         * select-msw.c (mswindows_register_selection_data_type): New.
12232         * select-msw.c (mswindows_selection_data_type_name): New.
12233         * select-msw.c (mswindows_own_selection):
12234         * select-msw.c (mswindows_get_foreign_selection):
12235         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12236         * select-msw.c (console_create_select_mswindows): Added new methods.
12237         * select-msw.c (mswindows_destroy_selection): New.
12238         * select-msw.c (Vhandle_alist): New list.
12239         * select-msw.c (mswindows_own_selection):
12240
12241         * select-x.c (x_own_selection):
12242         * select-x.c (x_selection_exists_p):
12243         * select-x.c: Added some comments about maybe using new
12244         functionality.
12245         * select-x.c (x_own_selection):
12246
12247         * specifier.c: Remove definition of Qappend (now in general.c)
12248         * specifier.c (syms_of_specifier): Remove Qappend.
12249
12250 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12251
12252         * config.h.in: Add socklen_t.
12253
12254         * s/decosf4-0.h: No special compiler flags needed or desired.
12255         In particular, undefine _BSD for DEC OSF 4.0.
12256
12257 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12258
12259         * redisplay-msw.c (msprinter_frame_output_end): Added.
12260         (console_type_create_redisplay_mswindows): Referred the above.
12261
12262         * frame.c (setup_frame_without_minibuffer): Do not create a
12263         default minibuffer frame on a printer device.
12264
12265         * frame-msw.c (apply_dc_geometry): Added.
12266         (msprinter_start_page):
12267         (msprinter_init_frame_3):
12268         (msprinter_eject_page): Use it.
12269
12270         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12271         and removed residual duplex and orientation properties.
12272
12273 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12274
12275         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12276
12277         * unexalpha.c: Remove system prototypes from C sources!
12278
12279 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12280
12281         * eval.c: Remove references to M-x edit-options in DEFUNs for
12282         `defvar' and `defconst'.
12283
12284 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12285
12286         * config.h.in: Remove SMART_INCLUDE hackery.
12287
12288         PostgreSQL hacking:
12289         * config.h.in: Don't use SMART_INCLUDE.
12290
12291         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12292         * inline.c: Simply #include "postgresql.h"
12293         * postgresql.c:
12294         - Don't use SMART_INCLUDE
12295         - Use simply "const".
12296         - Use standard doc string conventions.
12297         - Use correct type for result of PQstatus.
12298
12299 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12300
12301         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12302
12303         C++ compilation changes.
12304         * config.h.in (EXTERN_C): Define.
12305         * config.h.in (not): This is also a C++ keyword.
12306         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12307         * cm.c: Use EXTERN_C.
12308         * redisplay-tty.c: Use EXTERN_C.
12309         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12310
12311 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12312
12313         * general.c: Remove duplicate definition for Qfunction.
12314
12315 2000-07-08  Ben Wing  <ben@xemacs.org>
12316
12317         * device-msw.c (msprinter_init_device):
12318         * device-msw.c (sync_printer_with_devmode):
12319         * device-msw.c (handle_devmode_changes):
12320         * device-msw.c (print_dialog_worker):
12321         * device-msw.c (Fmsprinter_apply_settings):
12322         * device-msw.c (hash_devmode):
12323         * device-msw.c (Fmsprinter_settings_despecialize):
12324         use Qmswindows_tstr, not Qctext.
12325
12326         * vm-limit.c (check_memory_limits):
12327         avoid infinite loop printing warning messages.
12328
12329 2000-07-05  Craig Lanning  <lanning@scra.org>
12330
12331         * Makefile.in.in: Add support for including the Windows resources
12332         when building with the cygwin and mingw targets.
12333
12334         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12335         not set or not correct.
12336         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12337         (init_initial_directory): Don't try to use $PWD on the
12338         WIN32_NATIVE target.
12339
12340         * s\cygwin32.h:
12341         [[Add -mwindows to eliminate console window.]] not required --ben
12342         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12343         (MAIL_USE_POP): removed; now handled by configure.
12344
12345         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12346         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12347         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12348         (MAIL_USE_POP): removed; now handled by configure.
12349         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12350         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12351         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12352         constant string.
12353         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12354         up from <winsock.h> via systime.h.
12355         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12356         (getpagesize): from Dan Holmsand, added.
12357         Added #endif which was left dangling by Ben's mega patch; added
12358         comment to help prevent this in the future.
12359
12360         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12361
12362 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12363
12364         * console-msw.h (struct mswindows_device): Removed unnecessary
12365         cached device geometry values.
12366         Added update_tick and an accessor macro.
12367         (Lisp_Devmode): Added lrecord declaration.
12368         (struct msprinter_device): Contain devmode as a Lisp object.
12369         Added mswindows_get_selected_frame_hwnd();
12370
12371         * console.h (struct console_methods): Indentation nitpicking.
12372
12373         * device-msw.c (mswindows_init_device): Do not initialize geometry
12374         cache. Initialize update tick.
12375         (mswindows_device_system_metrics): Ask the device for its geometry.
12376         (global_free_2_maybe):
12377         (devmode_to_hglobal):
12378         (handle_printer_changes):
12379         (ensure_not_printing):
12380         (print_dialog_worker):
12381         (Fmsprinter_print_setup_dialog):
12382         (Fmsprinter_print_dialog):
12383         (plist_get_margin):
12384         (plist_set_margin):
12385         (Fmsprinter_page_setup_dialog): Added functions.
12386         (sync_printer_with_devmode):
12387         (handle_devmode_changes):
12388         (Fmsprinter_get_settings):
12389         (Fmsprinter_select_settings):
12390         (Fmsprinter_apply_settings):
12391         (allocate_devmode):
12392         (Fmsprinter_settings_copy):
12393         (Fmsprinter_settings_despecialize):
12394         (print_devmode):
12395         (finalize_devmode):
12396         (equal_devmode):
12397         (hash_devmode): Added functions
12398         (syms_of_device_mswindows): Init devmode lrecord class.
12399
12400         * device.h: Added an exfun for find-device.
12401
12402         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12403         geometry; although, recreate the device compatible DC.
12404
12405         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12406         (msprinter_init_frame_3):
12407         (msprinter_frame_property):
12408         (msprinter_internal_frame_property_p):
12409         (msprinter_frame_properties):
12410         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12411         print job properties (will move to device settings).
12412
12413         * lisp.h: Added symbols.
12414
12415         * general.c (syms_of_general): Declared them.
12416
12417         * hash.c (string_hash): Added.
12418
12419         * lrecord.h (lrecord_type): Added devmode lrecord type.
12420
12421 2000-07-02  Mike Sperber <mike@xemacs.org>
12422
12423         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12424         FreeBSD 4.0.
12425
12426 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12427
12428         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12429         integer.
12430
12431 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12432
12433         * data.c (Fstring_to_number): Don't recognize floating point if
12434         base is not 10.
12435
12436 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12437
12438         * glyphs-widget.c (tab_control_query_geometry):
12439         (widget_query_geometry):
12440         (button_query_geometry):
12441         * glyphs.c (text_query_geometry):
12442         Enforce type correctness.
12443
12444 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12445
12446         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12447         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12448
12449 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12450
12451         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12452         conflicts with gcc's fixincluded version of FOO.h.
12453
12454         * glyphs.h (image_instance_geometry): Remove trailing `,'
12455
12456 2000-06-08  Mike Alexander  <mta@arbortext.com>
12457
12458         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12459         (shove_thread): Don't write the same output twice
12460         (make_ntpipe_output_stream): Increase priority of shove thread
12461         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12462         chance to run
12463         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12464         it.
12465
12466 2000-06-12  Ben Wing  <ben@xemacs.org>
12467
12468         * s\mingw32.h (sigset):
12469         * s\windowsnt.h (sigset):
12470         rename msw_ to mswindows_ for consistency with general convention.
12471
12472 2000-06-12  Ben Wing  <ben@xemacs.org>
12473
12474         * console-msw.c:
12475         * console-msw.c (mswindows_get_console_hwnd):
12476         * console-msw.c (mswindows_ensure_console_allocated):
12477         * console-msw.c (mswindows_hide_console):
12478         * console-msw.c (mswindows_show_console):
12479         * console-msw.c (mswindows_ensure_console_buffered):
12480         * console-msw.c (mswindows_output_console_string):
12481         * console-msw.c (mswindows_windows9x_p):
12482         * console-msw.h:
12483         * device-msw.c (mswindows_get_workspace_coords):
12484         * device-msw.c (mswindows_device_system_metrics):
12485         * dialog-msw.c (mswindows_popup_dialog_box):
12486         * event-msw.c (mswindows_wnd_proc):
12487         * frame-msw.c (mswindows_size_frame_internal):
12488         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12489         * menubar-msw.c (displayable_menu_item):
12490         * menubar-msw.c (mswindows_char_is_accelerator):
12491         * nt.c:
12492         * nt.c (mswindows_sigset):
12493         * nt.c (mswindows_sigrelse):
12494         * nt.c (mswindows_sigpause):
12495         * nt.c (mswindows_raise):
12496         * nt.c (timer_proc):
12497         * ntproc.c:
12498         * ntproc.c (find_child_console):
12499         * ntproc.c (sys_kill):
12500         * print.c:
12501         * print.c (std_handle_out_external):
12502         * process-nt.c (find_child_console):
12503         * process-nt.c (send_signal_the_95_way):
12504         * process-nt.c (ensure_console_window_exists):
12505         * process-nt.c (nt_create_process):
12506         * syssignal.h:
12507         rename msw_ to mswindows_ for consistency with general convention.
12508
12509         * emacs.c:
12510         * dumper.c:
12511         include nt.h, not syswindows.h.
12512
12513         * nt.c (mswindows_fstat):
12514         * nt.c (mswindows_stat):
12515         prefix mswindows_ instead of attempting to directly override the
12516         library functions.  fix declarations.
12517
12518         * nt.h:
12519         include syswindows.h.  move some sysdep.h stuff here.
12520
12521         * ntheap.h:
12522         include syswindows.h, not <windows.h>.
12523
12524         * ntplay.c:
12525         clean up headers.
12526
12527         * sysdep.c:
12528         clean up headers.
12529
12530         * sysdep.c (sys_fstat):
12531         * sysdep.c (sys_stat):
12532         call mswindows versions when appropriate.
12533
12534         * sysdep.h:
12535         move mswin decls to nt.h.
12536
12537         * syswindows.h:
12538         add long comment describing appropriate use of the various windows
12539         headers.
12540
12541 2000-06-11  Ben Wing  <ben@xemacs.org>
12542
12543         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12544
12545 2000-06-10  Ben Wing  <ben@xemacs.org>
12546
12547         * Makefile.in.in (release):
12548         Correction to make sure xemacs.exe always dumped when correct.
12549
12550         * alloca.c:
12551         * balloon_help.c:
12552         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12553
12554         * buffer.c (set_buffer_internal):
12555         [[[[2]]]]: Remove HAVE_FEP code.
12556
12557         * buffer.c (init_initial_directory):
12558         [3].
12559
12560         * bytecode.c:
12561         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12562         individual files.
12563
12564         * callproc.c:
12565         * callproc.c (call_process_cleanup):
12566         * callproc.c (Fold_call_process_internal):
12567         * callproc.c (child_setup):
12568         * callproc.c (getenv_internal):
12569         * callproc.c (init_callproc):
12570         * callproc.c (vars_of_callproc):
12571         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12572         __CYGWIN32__ -> CYGWIN.
12573         DOS_NT -> WIN32_NATIVE.
12574         Remove MSDOS support/references, converting to WIN32_NATIVE
12575           where correct.
12576         __MINGW32__ -> MINGW.
12577         Fix windows.h includes.
12578         Remove bogus HAVE_NTGUI.
12579
12580         * config.h.in:
12581         [2].
12582
12583         * console-msw.c:
12584         mswindows_message_outputted added for use in allowing startup
12585         errors on the console to be seen.
12586
12587         * console-msw.c (msw_ensure_console_allocated):
12588         * console-msw.c (msw_output_console_string):
12589         * console-msw.c (DHEADER):
12590         * console-msw.c (DOPAQUE_DATA):
12591         * console-msw.c (DEVENT):
12592         * console-msw.c (DCONS):
12593         * console-msw.c (DCONSCDR):
12594         * console-msw.c (DSTRING):
12595         * console-msw.c (DVECTOR):
12596         * console-msw.c (DSYMBOL):
12597         * console-msw.c (DSYMNAME):
12598         Fix warnings.
12599
12600         * console-stream.c (stream_init_console):
12601         Fix text/binary problems.
12602
12603         * device-msw.c:
12604         * device-msw.c (mswindows_finish_init_device):
12605         * device-msw.c (mswindows_delete_device):
12606         [1].
12607
12608         * device.c (handle_asynch_device_change):
12609         [3].
12610
12611         * dgif_lib.c:
12612         * dgif_lib.c (DGifOpenFileName):
12613         * dgif_lib.c (DGifOpenFileHandle):
12614         * dgif_lib.c (DGifGetLine):
12615         * dgif_lib.c (DGifGetPixel):
12616         Added config.h/lisp.h, fix up includes.
12617         [1].
12618
12619         * dired-msw.c:
12620         [4].
12621
12622         * dired.c:
12623         * dired.c (file_name_completion):
12624         * dired.c (Ffile_attributes):
12625         * dired.c (syms_of_dired):
12626         [1].
12627
12628         * dumper.c:
12629         * dumper.c (pdump_file_unmap):
12630         * dumper.c (pdump_load):
12631         [1].
12632
12633         * editfns.c:
12634         * editfns.c (Ftemp_directory):
12635         * editfns.c (user_login_name):
12636         * editfns.c (Fuser_real_login_name):
12637         * editfns.c (get_home_directory):
12638         [1].
12639
12640         * elhash.c (finish_marking_weak_hash_tables):
12641         [[[[5]]]]: Fix GCC warnings.
12642
12643         * emacs.c:
12644         * emacs.c (mswindows_handle_hardware_exceptions):
12645         * emacs.c (make_arg_list_1):
12646         * emacs.c (main_1):
12647         * emacs.c (Fkill_emacs):
12648         * emacs.c (Fdump_emacs):
12649         [1].
12650         Fix problems with nested crashes, add long comment.
12651
12652         * event-Xt.c (init_event_Xt_late):
12653         [1].
12654
12655         * event-msw.c:
12656         * event-msw.c (mswindows_dde_callback):
12657         * event-msw.c (mswindows_handle_sticky_modifiers):
12658         * event-msw.c (mswindows_wnd_proc):
12659         [1].
12660         [5].
12661
12662         * events.c (character_to_event):
12663         [1].
12664
12665         * fileio.c:
12666         * fileio.c (Ffile_name_directory):
12667         * fileio.c (Ffile_name_nondirectory):
12668         * fileio.c (directory_file_name):
12669         * fileio.c (Fexpand_file_name):
12670         * fileio.c (Fsubstitute_in_file_name):
12671         * fileio.c (Ffile_name_absolute_p):
12672         * fileio.c (check_executable):
12673         * fileio.c (Ffile_readable_p):
12674         * fileio.c (Ffile_accessible_directory_p):
12675         * fileio.c (Ffile_modes):
12676         * fileio.c (Funix_sync):
12677         * fileio.c (vars_of_fileio):
12678         [1]. [4].
12679
12680         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12681
12682         Expand getdefdir defn.
12683         Fix bogus rename() comment.
12684
12685         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12686         to use standard XEmacs include files, e.g. sysfile.h, rather
12687         than system-specific includes.
12688
12689         * fns.c:
12690         * fns.c (Fsubseq):
12691         [5]. [6].
12692
12693         * frame.c (vars_of_frame):
12694         [1].
12695
12696         * getloadavg.c:
12697         * getloadavg.c (getloadavg):
12698         [1]. [6].
12699         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12700         (We don't use it elsewhere in the code; just add a comment.)
12701
12702         * gif_io.c:
12703         [6].
12704         Add config.h.
12705
12706         * glyphs-msw.c:
12707         * glyphs-msw.c (mswindows_resource_instantiate):
12708         [1].
12709
12710         * glyphs-x.c (x_native_layout_instantiate):
12711         [5].
12712
12713         * gui-msw.c (Fmswindows_shell_execute):
12714         [1].
12715
12716         * insdel.c:
12717         [4].
12718
12719         * lisp.h:
12720         [4]. [5].
12721
12722         * lread.c (locate_file_in_directory_mapper):
12723         [1].
12724
12725         * lstream.c:
12726         [4].
12727
12728         * mem-limits.h:
12729         * mem-limits.h (get_lim_data):
12730         [1].
12731
12732         * menubar-msw.c:
12733         [4].
12734
12735         * ndir.h:
12736         [1].
12737
12738         * nt.c:
12739         * nt.c (getwd):
12740         * nt.c (closedir):
12741         * nt.c (rva_to_section):
12742         * nt.c (mswindows_executable_type):
12743         [1]. [6].
12744         Fix closedir() defn.
12745
12746         * nt.h:
12747         [[[[8]]]]: *_OK defs moved to sysfile.h.
12748
12749         * ntproc.c:
12750         [6]. [7].
12751
12752         * objects-x.c:
12753         [4].
12754
12755         * print.c:
12756         * print.c (std_handle_out_external):
12757         [1]. [4].
12758
12759         * process-nt.c:
12760         * process-nt.c (nt_create_process):
12761         [6].
12762         try to fix process quoting somewhat.
12763
12764         * process-unix.c (unix_create_process):
12765         [1].
12766
12767         * process.c:
12768         * process.c (vars_of_process):
12769         Add Vnull_device.
12770
12771         * process.h:
12772         [1].
12773
12774         * realpath.c:
12775         * realpath.c (xrealpath):
12776         [1].
12777
12778         * redisplay-tty.c (init_tty_for_redisplay):
12779         [3].
12780
12781         * redisplay.c:
12782         [4]. [6].
12783
12784         * scrollbar-msw.c:
12785         [4].
12786
12787         * sheap.c:
12788         * sheap.c (more_static_core):
12789         * sheap.c (report_sheap_usage):
12790         [5]. [6].
12791
12792         * signal.c:
12793         * signal.c (alarm_signal):
12794         [1]. [6].
12795
12796         * sound.c:
12797         [6].
12798
12799         * strftime.c:
12800         * strftime.c (zone_name):
12801         [1]. [5].
12802
12803         * symsinit.h (init_sunpro):
12804         [1].
12805
12806         * syscommctrl.h:
12807         commctrl.h not in Cygwin b20.1.
12808
12809         * sysdep.c:
12810         * sysdep.c (endif):
12811         * sysdep.c (sys_subshell):
12812         * sysdep.c (init_baud_rate):
12813         * sysdep.c (emacs_get_tty):
12814         * sysdep.c (emacs_set_tty):
12815         * sysdep.c (tty_init_sys_modes_on_device):
12816         * sysdep.c (init_system_name):
12817         * sysdep.c (sys_open):
12818         * sysdep.c (interruptible_open):
12819         * sysdep.c (sys_fopen):
12820         * sysdep.c (sys_mkdir):
12821         * sysdep.c (sys_rename):
12822         * sysdep.c (get_process_times_1):
12823         [1]. [6].
12824
12825         * sysdep.h:
12826         [1].
12827
12828         * sysdir.h:
12829         * sysdir.h (DIRENTRY_NONEMPTY):
12830         [1]. [6].
12831
12832         * sysdll.c (dll_init):
12833         * sysdll.h:
12834         [1].
12835
12836         * sysfile.h:
12837         [1]. [6]. [8].
12838         added text/binary defs.
12839
12840         * sysfloat.h:
12841         [1].
12842
12843         * sysproc.h:
12844         * sysproc.h (EDESTADDRREQ):
12845         * sysproc.h (poll_fds_for_input):
12846         [1]. [6].
12847
12848         * syspwd.h:
12849         [6].
12850
12851         * syssignal.h:
12852         [1].
12853
12854         * systime.h:
12855         [1]. [6].
12856
12857         * systty.h:
12858         [1].
12859
12860         * syswindows.h:
12861         [1].
12862         Always define WIN32_LEAN_AND_MEAN.
12863
12864         * unexcw.c (unexec):
12865         [5].
12866
12867         * unexec.c:
12868         * unexec.c (copy_text_and_data):
12869         * unexec.c (adjust_lnnoptrs):
12870         [1].
12871
12872         * unexnt.c:
12873         * unexnt.c (_start):
12874         [1].
12875
12876 2000-06-07  Ben Wing  <ben@xemacs.org>
12877
12878         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12879         was used only as a model.  We've long since extracted any useful
12880         logic or code out of this. (I just did an exhaustive search.)
12881
12882         * s\msdos.h: Removed.
12883
12884         * s\windows95.h: Removed.
12885
12886 2000-06-10  Ben Wing  <ben@xemacs.org>
12887
12888         * s\cygwin32.h:
12889         [1]. [5].
12890         Don't use extern with fun defs.
12891
12892         * s\mingw32.h:
12893         [1]. [7].
12894         Remove nt\inc include.
12895         Remove getdisk, getdefdir. (The former is unused, the latter
12896         expanded in fileio.h.)
12897
12898         * s\windowsnt.h:
12899         * s\windowsnt.h (WIN32_NATIVE):
12900         * s\windowsnt.h (HAVE_STRCASECMP):
12901         [1]. [7].
12902         Add long comment about preprocessor changes.
12903         Remove getdisk, getdefdir. (The former is unused, the latter
12904         expanded in fileio.h.)
12905
12906 2000-06-10  Ben Wing  <ben@xemacs.org>
12907
12908         * m\arm.h:
12909         * m\delta.h:
12910         * m\intel386.h:
12911         * m\sequent.h:
12912         * m\template.h:
12913         * m\windowsnt.h:
12914         [1].
12915         Remove bogus/unused NO_SOCK_SIGIO.
12916
12917 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12918
12919         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12920         not an Emchar.
12921
12922 2000-06-04  Mike Sperber <mike@xemacs.org>
12923
12924         * casetab.c (set_case_table): For `set-standard-case-table',
12925         actually deposit the new case tables where the rest of XEmacs can
12926         see them.
12927
12928 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12929
12930         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12931
12932 2000-06-05  Ben Wing  <ben@xemacs.org>
12933
12934         * callproc.c (child_setup): Don't do close_load_descs() under
12935         MS Windows.  Put in a comment explaining why.
12936
12937 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12938
12939         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12940         Toolkit shell" which breaks `kill-compilation' on Windows NT
12941         native, retaining STDERR handling improvements.
12942
12943 2000-06-01  Andreas Jaeger  <aj@suse.de>
12944
12945         * s/s390.h: Support for S390, based on a patch by Martin
12946         Schwidefsky <schwidefsky@de.ibm.com>.
12947
12948 2000-05-30  Andy Piper  <andy@xemacs.org>
12949
12950         * window.c (allocate_window):
12951         (make_dummy_parent):
12952         (Fset_window_configuration): use new hashtable type.
12953
12954         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12955         (struct image_instantiator_methods):
12956         (struct Lisp_Image_Instance): make instance geometry signed.
12957
12958         * glyphs.c (instantiate_image_instantiator):
12959         (image_instance_query_geometry):
12960         (image_instance_layout):
12961         (image_instance_layout):
12962         (query_string_geometry):
12963         (text_query_geometry):
12964         (image_instantiate):
12965         (image_instantiate):
12966         (cache_subwindow_instance_in_frame_maybe):
12967         (subwindow_query_geometry): make instance geometry signed.
12968
12969         * glyphs-widget.c (widget_query_geometry):
12970         (widget_layout):
12971         (button_query_geometry):
12972         (tree_view_query_geometry):
12973         (tab_control_query_geometry):
12974         (layout_query_geometry):
12975         (layout_layout):
12976         (native_layout_layout): make instance geometry signed.
12977
12978 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12979
12980         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12981         constant.
12982
12983         * general.c (syms_of_general): Add Qfull_assoc symbol.
12984
12985         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12986         correctly.
12987         (decode_weak_list_type): Decode full-assoc type.
12988         (encode_weak_list_type): Encode full-assoc type.
12989         (Fmake_weak_list): Update doc string.
12990
12991 2000-05-30  Andy Piper  <andy@xemacs.org>
12992
12993         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12994
12995         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12996         (decode_hash_table_weakness): ditto.
12997         (Fhash_table_weakness): ditto.
12998         (Fhash_table_type): ditto.
12999         (finish_marking_weak_hash_tables): ditto.
13000         (hash_table_weakness_validate): ditto.
13001         (syms_of_elhash): ditto.
13002
13003 2000-05-28  Martin Buchholz <martin@xemacs.org>
13004
13005         * XEmacs 21.2.34 is released.
13006
13007 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13008
13009         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13010         start cache.
13011         (updating_line_start_cache): Gone.
13012         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13013         generic code to force a minimum of 1 line laid out in the
13014         CMOTION_DISP case.
13015
13016 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13017
13018         * glyphs.c (instantiate_image_instantiator): Check for initialized
13019         height & width no longer special cases IMAGE_NOTHING.
13020         (nothing_instantiate): Set height and width of instance.
13021
13022 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13023
13024         * unexelf.c (unexec): Search for ".data" section.
13025         Initialize new_data2_offset from old_data_index.
13026         Remove redundant check for ElfW.
13027
13028 2000-05-23  Andy Piper  <andy@xemacs.org>
13029
13030         * glyphs.c (get_image_instantiator_governing_domain): allow more
13031         specific domains as the governing domain rather than expecting an
13032         exact match. This fixes problems with layouts.
13033
13034 2000-05-22  Andy Piper  <andy@xemacs.org>
13035
13036         * redisplay-output.c (compare_runes): check for non-images
13037
13038         * glyphs.c (set_glyph_dirty_p): ditto.
13039         (update_glyph_cachel_data): ditto.
13040
13041         * glyphs-widget.c (layout_post_instantiate): ditto.
13042         (layout_post_instantiate): ditto.
13043
13044         * event-msw.c (mswindows_wnd_proc): warning removal.
13045
13046 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13047
13048         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13049
13050         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13051
13052         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13053
13054         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13055         (mswindows_executable_type): mingw32 now has enough headers for
13056         this to work.
13057
13058 2000-05-20  Andy Piper  <andy@xemacs.org>
13059
13060         * console-msw.c (mswindows_output_last_error): ; -> ,
13061
13062 2000-05-12  Andy Piper  <andy@xemacs.org>
13063
13064         * console-msw.c (FROB): compare ints with ints.
13065
13066 2000-05-11  Andy Piper  <andy@xemacs.org>
13067
13068         * glyphs-x.c (x_finalize_image_instance): make minimal build
13069         happy.
13070
13071 2000-05-20  Ben Wing  <ben@xemacs.org>
13072
13073         * event-Xt.c:
13074         * event-Xt.c (vars_of_event_Xt):
13075         move modifier-keys-are-sticky to event-stream.c.
13076
13077         * event-msw.c:
13078         * event-msw.c (mswindows_enqueue_mouse_button_event):
13079         * event-msw.c (key_needs_default_processing_p):
13080         * event-msw.c (XEMSW_LCONTROL):
13081         * event-msw.c (mswindows_handle_sticky_modifiers):
13082         * event-msw.c (FROB):
13083         * event-msw.c (clear_sticky_modifiers):
13084         * event-msw.c (output_modifier_keyboard_state):
13085         * event-msw.c (output_alt_keyboard_state):
13086         * event-msw.c (mswindows_wnd_proc):
13087         * event-msw.c (mswindows_modifier_state):
13088         * event-msw.c (emacs_mswindows_handle_magic_event):
13089         implement sticky modifiers.
13090
13091         * event-stream.c:
13092         * event-stream.c (vars_of_event_stream):
13093         move modifier-keys-are-sticky here.
13094
13095         * lisp.h:
13096         add CHECK_FUNCTION.
13097
13098         * rangetab.c:
13099         implement map-range-table.
13100
13101
13102 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13103
13104         * redisplay-tty.c (reset_tty_modes):
13105         (tty_redisplay_shutdown): Adjust argument type to
13106         tty_frame_output_end.
13107
13108 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13109
13110         * eval.c (Fbacktrace): Don't output a line with only right
13111         parenthesis.
13112
13113 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13114
13115         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13116         (Fpq_reset_poll): Ditto.
13117
13118 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13119
13120         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13121
13122 2000-05-16  Ben Wing  <ben@xemacs.org>
13123
13124         * buffer.c:
13125         * buffer.c (dfc_convert_to/from_internal_format):
13126         * buffer.c (reinit_vars_of_buffer):
13127         Fix conversion functions to allow reentrancy.
13128
13129         * console-msw.c:
13130         * console-msw.c (mswindows_output_last_error):
13131         New fun, generally useful -- output a human-readable
13132         version of GetLastError() on the console.
13133
13134         * console-msw.h:
13135         * console-msw.h (struct mswindows_frame):
13136         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13137
13138         * console-stream.c (stream_output_begin):
13139         * console-stream.c (stream_output_end):
13140         * console-stream.c (stream_output_vertical_divider):
13141         * console-stream.c (stream_clear_region):
13142         * console-stream.c (stream_flash):
13143         * console-stream.c (console_type_create_stream):
13144         Delete blank stream methods, not needed.
13145
13146         * console.h (struct console_methods):
13147         Split begin/end methods into window and frame.
13148
13149         * event-msw.c:
13150         * event-msw.c (mswindows_handle_paint):
13151         * event-msw.c (output_alt_keyboard_state):
13152         * event-msw.c (mswindows_wnd_proc):
13153         * event-msw.c (vars_of_event_mswindows):
13154         Comment about problems with ignored-expose.
13155         Define mswindows-debug-events; not really implemented.
13156
13157         * frame-msw.c (mswindows_init_frame_1):
13158         random cleanups.
13159
13160         * glyphs-msw.c:
13161         * glyphs-msw.c (begin_defer_window_pos):
13162         * glyphs-msw.c (mswindows_unmap_subwindow):
13163         * glyphs-msw.c (mswindows_map_subwindow):
13164         * glyphs-msw.c (mswindows_resize_subwindow):
13165         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13166
13167         * glyphs.c (make_image_instance_1):
13168         Fix crash.
13169
13170         * gutter.c (Fredisplay_gutter_area):
13171         Use new begin/end methods.
13172
13173         * lisp.h (Dynarr_new2):
13174         New creation fun.
13175
13176         * redisplay-msw.c:
13177         * redisplay-msw.c (mswindows_frame_output_begin):
13178         * redisplay-msw.c (mswindows_frame_output_end):
13179         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13180         New begin/end methods -- handle DeferWindowPos.
13181
13182         * redisplay-output.c (redisplay_move_cursor):
13183         * redisplay-output.c (redraw_cursor_in_window):
13184         * redisplay-output.c (redisplay_update_line):
13185         * redisplay-output.c (redisplay_output_window):
13186         New begin/end methods.
13187
13188         * redisplay-tty.c:
13189         * redisplay-tty.c (tty_frame_output_begin):
13190         * redisplay-tty.c (tty_frame_output_end):
13191         * redisplay-tty.c (console_type_create_redisplay_tty):
13192         New begin/end methods.
13193
13194         * redisplay-x.c:
13195         * redisplay-x.c (x_window_output_begin):
13196         * redisplay-x.c (x_window_output_end):
13197         * redisplay-x.c (console_type_create_redisplay_x):
13198         New begin/end methods.
13199
13200         * redisplay.c (redisplay_frame):
13201         * redisplay.c (Fredisplay_echo_area):
13202         New begin/end methods.
13203         use MAYBE_DEVMETH for clear_frame; it may not exist.
13204
13205         * window.h (WINDOW_XFRAME):
13206         WINDOW_XFOO macros -- get locale and decode struct pointer.
13207
13208
13209 2000-05-12  Ben Wing  <ben@xemacs.org>
13210
13211         * emacs.c:
13212         * emacs.c (ensure_no_quitting_from_now_on):
13213         * emacs.c (fatal_error_signal):
13214         * emacs.c (mswindows_handle_hardware_exceptions):
13215         * emacs.c (main):
13216         * emacs.c (Fkill_emacs):
13217         * emacs.c (shut_down_emacs):
13218         * emacs.c (assert_failed):
13219         various improvements in fatal error handling.
13220
13221         * eval.c:
13222         move preparing_for_armageddon to emacs.c.
13223
13224         * lisp.h:
13225         declare fatal_error_in_progress.
13226
13227         * print.c:
13228         * print.c (std_handle_out_external):
13229         * print.c (std_handle_out_va):
13230         * print.c (stderr_out):
13231         * print.c (stdout_out):
13232         use console under mswin when no standard output.
13233         don't do code conversion during fatal error.
13234
13235         * scrollbar.c (Fscrollbar_page_up):
13236         * scrollbar.c (Fscrollbar_page_down):
13237         fix missing else.  reindent.
13238
13239 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13240
13241         Emergency fix.
13242
13243         * glyphs.h (GLYPH_CACHEL_DESCENT):
13244         (GLYPH_CACHEL_DESCENT):
13245         (GLYPH_CACHEL_DESCENT):
13246         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13247         used in case these are inline functions.
13248         Use more absurd values to error check.
13249
13250         include window.h for error check functions.
13251
13252 2000-05-11  Ben Wing  <ben@xemacs.org>
13253
13254         * cmdloop.c (Freally_early_error_handler):
13255         Display message box under windows; otherwise, message will disappear
13256         before it can be viewed.
13257
13258         * console-msw.c:
13259         * console-msw.c (Fmswindows_message_box):
13260         * console-msw.c (FROB):
13261         * console-msw.c (syms_of_console_mswindows):
13262         Define new fun `mswindows-message-box'.
13263         #### I will merge this into `popup-dialog-box'; just give me
13264         a bit of time.
13265
13266         * general.c:
13267         * general.c (syms_of_general):
13268         Some new symbols used in `mswindows-message-box'.
13269
13270         * glyphs.c:
13271         * glyphs.c (Fset_image_instance_property):
13272         put warning in this fun.
13273
13274         * glyphs.h:
13275         * glyphs.h (GLYPH_CACHEL_WIDTH):
13276         * glyphs.h (GLYPH_CACHEL_ASCENT):
13277         * glyphs.h (GLYPH_CACHEL):
13278         * glyphs.h (GLYPH_CACHEL_GLYPH):
13279         define error-checking versions to try to catch a bug i've seen --
13280         redisplay gets in an infinite loop because the glyph width of the
13281         continuation glyph is 65535.
13282
13283         * lisp.h:
13284         Extern message-box stuff.
13285
13286         * window.c (allocate_window):
13287         * window.c (make_dummy_parent):
13288         * window.c (Fset_window_configuration):
13289         Use EQUAL not EQ for subwindow caches to make them work a bit
13290         better. (Something is still very broken.)
13291
13292
13293 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13294
13295         * glyphs.c (image_instantiate): Suppress gcc warnings.
13296         (Fmake_image_instance): Fix doc string.
13297         * specifier.c (Fmake_specifier): Ditto.
13298
13299 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13300
13301         * paths.h.in (PATH_LOCK): Removed.
13302         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13303         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13304
13305 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13306
13307         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13308         Document (featurep '(and xemacs 21.02)).
13309
13310 2000-05-09  Ben Wing  <ben@xemacs.org>
13311
13312         * buffer.c (complex_vars_of_buffer):
13313         update modeline-format doc.
13314
13315         * device.h:
13316         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13317
13318         * emacs.c:
13319         timeline of all released versions of Emacs, for use in creating
13320         authorship comments and in synching up.
13321
13322         * glyphs-widget.c (image_instantiator_buttons):
13323         * glyphs-widget.c (image_instantiator_edit_fields):
13324         * glyphs-widget.c (image_instantiator_combo_box):
13325         * glyphs-widget.c (image_instantiator_scrollbar):
13326         * glyphs-widget.c (image_instantiator_progress_guage):
13327         * glyphs-widget.c (image_instantiator_tree_view):
13328         * glyphs-widget.c (image_instantiator_tab_control):
13329         * glyphs-widget.c (image_instantiator_labels):
13330         * glyphs-widget.c (image_instantiator_layout):
13331         * glyphs-widget.c (image_instantiator_native_layout):
13332         rename decode_domain method to governing_domain.
13333
13334         * glyphs.c:
13335         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13336         * glyphs.c (add_entry_to_device_ii_format_list):
13337         make sure we don't put an entry more than once into the list.
13338         * glyphs.c (check_instance_cache_mapper):
13339         *************************************************************
13340         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13341         HAVE BEEN GETTING.
13342         *************************************************************
13343         * glyphs.c (get_image_instantiator_governing_domain):
13344         clean up, expand on new concept of governing domain.
13345         * glyphs.c (instantiate_image_instantiator):
13346         * glyphs.c (allocate_image_instance):
13347         use governing_domain instead of cache_domain in naming.
13348         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13349         * glyphs.c (make_image_instance_1):
13350         * glyphs.c (Fmake_image_instance):
13351         allow for any domain (not just device), and process the
13352         governing domain correctly.  very big doc fix.
13353         * glyphs.c (Fimage_instance_domain):
13354         new primitive, to retrieve the governing domain of an image instance.
13355         * glyphs.c (image_instantiate):
13356         use new governing_domain stuff.  this fixes a crash you could get
13357         by instantiating certain widget glyphs in frame locales. (should
13358         signal an error instead of crashing.)
13359         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13360         * glyphs.c (Fglyphp): clean up doc.
13361         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13362         * glyphs.c (syms_of_glyphs):
13363         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13364         * glyphs.c (image_instantiator_format_create): add some comments about
13365         bogus code.
13366         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13367         for current-display-table. (Apparently Hrjove implemented in 1998 a
13368         design I wrote up in 1996, but didn't update the doc string.)
13369
13370         * glyphs.h: clean up a doc string.
13371         * glyphs.h (governing_domain):
13372         * glyphs.h (struct image_instantiator_methods):
13373         changes for governing_domain stuff.
13374
13375         * gutter.c:
13376         * gutter.c (Fgutter_specifier_p):
13377         * gutter.c (Fgutter_size_specifier_p):
13378         * gutter.c (Fgutter_visible_specifier_p):
13379         * objects.c:
13380         * objects.c (Fcolor_specifier_p):
13381         * objects.c (Ffont_specifier_p):
13382         * objects.c (Fface_boolean_specifier_p):
13383         doc strings moved to make-*-specifier.
13384
13385         * redisplay.c (add_disp_table_entry_runes_1):
13386         * redisplay.c (generate_fstring_runes):
13387         * redisplay.c (screen):
13388         add random comments and doc strings.
13389
13390         * specifier.c:
13391         * specifier.c (Fmake_specifier):
13392         major overhaul of this doc string.
13393
13394         * specifier.c (Fvalid_specifier_domain_p):
13395         comment about the bogosity of image instances being domains.
13396         * specifier.c (decode_domain):
13397         now non-static, used in glyphs.c.
13398         * specifier.c (specifier_instance):
13399         comment about the bogosity of image instances being domains.
13400         * specifier.c (Fgeneric_specifier_p):
13401         move doc string to make-generic-specifier.
13402         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13403         rebackslashify.
13404
13405         * specifier.h:
13406         * specifier.h (DOMAIN_FRAME):
13407         * specifier.h (DOMAIN_LIVE_P):
13408         * specifier.h (DOMAIN_XDEVICE):
13409         rebackslashify.
13410         add comments about problems with these macros.
13411         prototype for decode_domain.
13412
13413         * toolbar.c:
13414         * toolbar.c (Ftoolbar_specifier_p):
13415         move doc string to `make-toolbar-specifier'.
13416
13417         * window.c (window_unmap_subwindows_cache_mapper):
13418         *************************************************************
13419         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13420         HAVE BEEN GETTING.
13421         *************************************************************
13422
13423 2000-05-09  Andy Piper  <andy@xemacs.org>
13424
13425         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13426
13427         * window.c (Fset_window_configuration): reset the frame subwindow
13428         cache and re-initialize the window subwindow caches.
13429
13430         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13431
13432 2000-05-09  Ben Wing  <ben@xemacs.org>
13433
13434         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13435         DWORD.
13436
13437 2000-04-26  Mike Woolley  <mike@bulsara.com>
13438
13439         * ntheap.c: Changed recreate_heap to limit the amount reserved
13440         for the heap to that which is actually available. Also now
13441         displays a message box (with some dignostics) in the event that
13442         it still can't start.
13443
13444 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13445
13446         * callproc.c (Fold_call_process_internal): GCPRO path
13447
13448 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13449
13450         Patch by Bill Perry.
13451
13452         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13453         back data instead of #ifdef.
13454         (Fscrollbar_page_down): ditto.
13455
13456 2000-05-07  Ben Wing  <ben@xemacs.org>
13457
13458         * buffer.h:
13459         Kludge for defining Qmswindows_tstr.
13460
13461         * nt.c:
13462         * nt.c (open_input_file):
13463         * nt.c (open_output_file):
13464         * nt.c (rva_to_section):
13465         * nt.c (mswindows_executable_type):
13466         Move all memory-mapped-file routines here (some were in unexnt.c,
13467         which is bad because they are used by process-nt.c, and unexnt
13468         won't be around when portable dumping).  Synched the above routines
13469         with FSF 20.6.
13470
13471         * nt.h:
13472         Removed ifdef'd out bogus code.
13473         Fixed some prototypes.
13474
13475         * nt.h (file_data):
13476         * nt.h (OFFSET_TO_RVA):
13477         * nt.h (RVA_TO_OFFSET):
13478         * nt.h (RVA_TO_PTR):
13479         Moved the memory-mapped-file structures, macros and prototypes
13480         here, to parallel nt.c.  ntheap.h should really be removed
13481         entirely, and it's a non-portable-dumper specific file.
13482
13483         * ntheap.h (round_to_next):
13484         Moved the memory-mapped-file structures, macros and prototypes
13485         to nt.h.
13486
13487         * ntproc.c (compare_env):
13488         Moved rva_to_section and mswindows_executable_type to nt.c.
13489         Moved compare_env to process-nt.c.
13490         ntproc.c will die, one day.
13491
13492         * ntproc.c (sys_spawnve):
13493         Account for win32_ -> mswindows_.
13494
13495         * process-nt.c:
13496         * process-nt.c (struct nt_process_data):
13497         * process-nt.c (ensure_console_window_exists):
13498         * process-nt.c (compare_env):
13499         * process-nt.c (nt_create_process):
13500         * process-nt.c (nt_kill_process_by_pid):
13501         * process-nt.c (syms_of_process_nt):
13502         * process-nt.c (vars_of_process_nt):
13503         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13504         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13505         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13506         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13507         Move compare_env here from ntproc.c.
13508
13509         * process.c (Fprocess_send_region):
13510         Takes an optional fourth argument, BUFFER, which should fix some
13511         problems with call-process.
13512
13513         * syscommctrl.h:
13514         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13515
13516         * syswindows.h:
13517         Move ICC_BAR_CLASSES to syscommctrl.h.
13518         Add preliminary macros for MSWindows/Mule.  More to come.
13519
13520         * unexnt.c:
13521         * unexnt.c (unexec):
13522         open_output_file moved to nt.c.
13523
13524
13525 2000-05-05  Andy Piper  <andy@xemacs.org>
13526
13527         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13528         instance from the frame cache also since GC may catch up too late
13529         to make frame deletion sane.
13530
13531 2000-05-04  Andy Piper  <andy@xemacs.org>
13532
13533         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13534         (x_finalize_image_instance): ungcpro on deletion.
13535
13536         * glyphs.c (image_instantiator_format_create): give pointers a
13537         query geometry method so that the geometry is at least set.
13538
13539         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13540         initialize layouts if using widgets.
13541
13542 2000-05-03  Andy Piper  <andy@xemacs.org>
13543
13544         * nt.c: remove bogus reference to sysmmsystem.h
13545
13546         * gui-x.c (popup_selection_callback): fix no selection abort.
13547
13548 2000-05-02  Andy Piper  <andy@xemacs.org>
13549
13550         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13551         (mswindows_widget_instantiate): ditto.
13552
13553         * glyphs-widget.c (initialize_widget_image_instance): initialize
13554         children correctly.
13555         (widget_instantiate): cope with children and items in the same
13556         instance.
13557
13558         * glyphs.c (mark_image_instance): cope with children as a first
13559         class member.
13560         (image_instance_equal): ditto.
13561         (image_instance_hash): ditto.
13562         (image_instance_changed): ditto.
13563
13564 2000-04-30  Andy Piper  <andy@xemacs.org>
13565
13566         * glyphs.c (subwindow_query_geometry): new function. Return some
13567         defaults.
13568         (subwindow_instantiate): don't assign dimensions if none have been
13569         given.
13570         (image_instantiator_format_create): add subwindow_query_geometry.
13571         (print_image_instance): cope with layouts as widgets.
13572
13573 2000-04-29  Andy Piper  <andy@xemacs.org>
13574
13575         * frame.c (delete_frame_internal): call
13576         free_frame_subwindow_instance_cache so that all subwindows are
13577         finalized before their parent.
13578         (mark_frame): remove subwindow_cachels.
13579         (Fmake_frame): remove subwindow_cachel manipulation.
13580         (allocate_frame_core): subwindow_instance_cache is a weak list.
13581         (delete_frame_internal): set subwindow_instance_cache to nil.
13582
13583         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13584         finalization safe.
13585         (mswindows_finalize_image_instance): use the device
13586         not the domain as the domain may have died already.
13587
13588         * glyphs-x.c (x_finalize_image_instance): ditto.
13589         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13590         HEIGHT.
13591
13592         * redisplay-output.c (redisplay_unmap_subwindows): update for
13593         subwindow instance cache as a weak list.
13594         (redisplay_unmap_subwindows_maybe): ditto.
13595         (redisplay_unmap_subwindows_except_us): ditto.
13596
13597         * glyphs.c (unmap_subwindow): error checking will check the domain
13598         so don't deal with it here. Don't use cachels anymore.
13599         (map_subwindow): ditto.
13600         (update_subwindow_cachel_data): remove old accessor names.
13601         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13602         (Fresize_subwindow): don't update cachel.
13603         (mark_subwindow_cachels):
13604         (update_subwindow_cachel_data):
13605         (add_subwindow_cachel):
13606         (get_subwindow_cachel_index):
13607         (update_subwindow_cachel):
13608         (reset_subwindow_cachels):
13609         (mark_subwindow_cachels_as_not_updated): deleted.
13610         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13611         subwindow instance to the frame cache.
13612         (find_matching_subwindow): update for subwindow instance cache as
13613         a weak list.
13614         (update_widget_instances): ditto.
13615         (image_instance_type_to_mask):inlined.
13616         (free_frame_subwindow_instance_cache): new function. finalize all
13617         subwindows that are instantiated.
13618
13619         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13620         of cachel information.
13621         (IMAGE_INSTANCE_DISPLAY_X):
13622         (IMAGE_INSTANCE_DISPLAY_Y):
13623         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13624         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13625         (XIMAGE_INSTANCE_DISPLAY_X):
13626         (XIMAGE_INSTANCE_DISPLAY_Y):
13627         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13628         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13629         remove subwindow_cachel structure and function references.
13630         (image_instance_type_to_mask): inline from glyphs.c
13631
13632         * redisplay.c (redisplay_frame): remove subwindow_cachel
13633         references.
13634
13635         * frame.h (struct frame): remove subwindow_cachels.
13636         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13637
13638         * frameslots.h: add subwindow_instance_cache.
13639
13640         * window.c (replace_window): check subwindow cache of replacement.
13641         (window_unmap_subwindows_cache_mapper):
13642         (window_unmap_subwindows): new functions. Unmap all subwindows
13643         cached on this window.
13644         (mark_window_as_deleted): unmap all subwindows.
13645
13646 2000-04-27  Andy Piper  <andy@xemacs.org>
13647
13648         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13649
13650         * glyphs-widget.c (widget_layout): return something.
13651         (layout_layout): return something. Fail if not initialized.
13652         (layout_query_geometry): ditto.
13653         (image_instantiator_native_layout): new function. Initialized the
13654         native layout type.
13655         (widget_instantiate): don't do layout stuff here.
13656
13657         * glyphs.c (instantiate_image_instantiator): reorded calling or
13658         instantiate and post_instantiate with layout in between.
13659         (image_instance_layout): be more selective about deciding whether
13660         the layout has been done or not.
13661
13662         * glyphs.h (struct image_instantiator_methods): return a value
13663         from layout_method.
13664
13665 2000-04-26  Andy Piper  <andy@xemacs.org>
13666
13667         * glyphs.c (allocate_image_instance): make initial width and
13668         height unspecified. Set initialized to 0.
13669
13670         * syscommctrl.h new file. Encapsulates commctrl.h.
13671
13672         * syswindows.h new file. Encapsulates windows.h.
13673
13674         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13675         * nt.c: ditto.
13676         * console-msw.h: ditto.
13677
13678         * redisplay-tty.c (tty_output_display_block): remove layout references.
13679
13680         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13681         window handle rather than just the frame.
13682
13683         * glyphs.c (mark_image_instance): remove layout references.
13684         (print_image_instance): ditto.
13685         (image_instance_equal): ditto.
13686         (image_instance_hash): ditto.
13687         (decode_image_instance_type): ditto.
13688         (encode_image_instance_type): ditto.
13689         (image_instantiate): ditto.
13690         (allocate_glyph): ditto.
13691         (Fimage_instance_height): ditto.
13692         (Fimage_instance_width): ditto.
13693         (update_subwindow): ditto.
13694
13695         * redisplay-x.c (x_output_display_block): recode for layouts as
13696         widgets.
13697
13698         * redisplay-output.c (redisplay_output_layout): recode for layouts
13699         as widgets.
13700         (compare_runes): remove layout references.
13701
13702         * redisplay-msw.c (mswindows_output_display_block): recode for
13703         layouts as widgets.
13704
13705         * glyphs-widget.c (image_instantiator_layout): remove
13706         layout_possible_dest_types.
13707         (layout_possible_dest_types): deleted.
13708
13709         * glyphs.h (image_instance_type): remove layout references.
13710         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13711         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13712         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13713
13714 2000-04-25  Andy Piper  <andy@xemacs.org>
13715
13716         * glyphs-widget.c (image_instantiator_buttons):
13717         (image_instantiator_edit_fields):
13718         (image_instantiator_combo_box):
13719         (image_instantiator_scrollbar):
13720         (image_instantiator_progress_guage):
13721         (image_instantiator_tree_view):
13722         (image_instantiator_tab_control):
13723         (image_instantiator_labels):
13724         (image_instantiator_layout): call default post_instantiate method.
13725         (widget_post_instantiate): new function. Simply lays out the
13726         widgets.
13727
13728         * glyphs.h (struct image_instantiator_methods): add
13729         post_instantiate method.
13730
13731         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13732         method calls.
13733
13734 2000-04-23  Andy Piper  <andy@xemacs.org>
13735
13736         * glyphs.h (struct image_instantiator_methods): add
13737         decode_domain_method.
13738         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13739         derived from the domain.
13740         (IMAGE_INSTANCE_FRAME): new accessor.
13741         (XIMAGE_INSTANCE_FRAME): ditto.
13742
13743         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13744         instead of _SUBWINDOW_FRAME.
13745         (finalize_image_instance): ditto.
13746         (Fimage_instance_foreground): ditto.
13747         (Fimage_instance_background): ditto.
13748         (image_instantiate): ditto.
13749         (update_subwindow_cachel): ditto.
13750         (update_subwindow): ditto.
13751         (unmap_subwindow): ditto.
13752         (map_subwindow): ditto
13753         (subwindow_instantiate): ditto.
13754         * glyphs-msw.c (mswindows_update_widget): ditto.
13755         (mswindows_progress_gauge_instantiate): ditto.
13756         (mswindows_tab_control_update): ditto.
13757         * glyphs-x.c (x_update_widget): ditto.
13758         (x_widget_instantiate): ditto.
13759         (x_tab_control_instantiate): ditto.
13760         (x_tab_control_update): ditto.
13761         * event-msw.c (mswindows_wnd_proc): ditto
13762
13763         * glyphs-widget.c (image_instantiator_layout): use
13764         subwindow_decode_domain.
13765         (image_instantiator_buttons): ditto.
13766         (image_instantiator_edit_fields): ditto.
13767         (image_instantiator_combo_box): ditto.
13768         (image_instantiator_scrollbar): ditto.
13769         (image_instantiator_progress_guage): ditto.
13770         (image_instantiator_tree_view): ditto.
13771         (image_instantiator_tab_control): ditto.
13772         (image_instantiator_labels): ditto.
13773         (image_instantiator_layout): ditto.
13774
13775         * glyphs.c: add instance error checking to many functions.
13776         (instantiate_image_instantiator): decode device from cache_domain.
13777         (image_instantiate): partially rewrite by using
13778         decode_image_instantiator_domain to determine what domain the
13779         instance needs to be cached in.
13780         (decode_image_instantiator_domain): new function. Determine what
13781         domain the image needs to be cached in.
13782         (check_window_subwindow_cache): new error checking function.
13783         (check_instance_cache_mapper): ditto.
13784         (check_image_instance_structure): ditto.
13785         (subwindow_decode_domain): new function. Encodes a window as a
13786         subwindow's cache domain.
13787         (image_instantiator_format_create): use it for text and
13788         subwindows.
13789
13790 2000-04-21  Andy Piper  <andy@xemacs.org>
13791
13792         * glyphs.c (image_instance_device): new function.
13793         (image_instance_frame): new function.
13794         (image_instance_window): new function.
13795         (image_instance_live_p): new function.
13796
13797         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13798         cache to nil.
13799
13800         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13801         (IMAGE_INSTANCE_DOMAIN): new accessor.
13802         (XIMAGE_INSTANCE_DOMAIN): ditto.
13803
13804         * glyphs-x.c (x_finalize_image_instance): device->domain.
13805
13806         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13807         (mswindows_finalize_image_instance): ditto.
13808
13809         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13810         (gif_instantiate): ditto.
13811         (png_instantiate): ditto.
13812         (tiff_instantiate): ditto.
13813
13814         * glyphs.c (instantiate_image_instantiator): use domain rather
13815         than device.
13816         (mark_image_instance): device -> domain.
13817         (print_image_instance): ditto.
13818         (finalize_image_instance): ditto.
13819         (image_instance_equal): ditto.
13820         (allocate_image_instance): ditto.
13821         (Fcolorize_image_instance): ditto.
13822         (query_string_geometry): ditto.
13823         (image_instantiate): ditto
13824         (query_string_font): ditto.
13825         (image_instantiate): ditto.
13826         (update_subwindow): ditto.
13827         (unmap_subwindow): ditto.
13828         (map_subwindow): ditto.
13829         (subwindow_instantiate): ditto.
13830
13831         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13832         (DOMAIN_FRAME): ditto.
13833         (DOMAIN_WINDOW): ditto.
13834         (DOMAIN_LIVE_P): ditto.
13835         (XDOMAIN_DEVICE): ditto.
13836         (XDOMAIN_FRAME): ditto.
13837         (XDOMAIN_WINDOW): ditto.
13838
13839         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13840         a valid specifier domain.
13841
13842 2000-04-19  Andy Piper  <andy@xemacs.org>
13843
13844         * glyphs-widget.c (syms_of_glyphs_widget): remove
13845         widget-callback-current-channel.
13846         (vars_of_glyphs_widget): ditto.
13847         * glyphs.h: ditto
13848
13849         * gui.c (get_gui_callback): revert to previous behaviour.
13850
13851 2000-04-18  Andy Piper  <andy@xemacs.org>
13852
13853         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13854         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13855         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13856
13857         * glyphs.c (image_instance_equal): add margin_width.
13858         (image_instance_hash): ditto.
13859
13860         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13861         (layout_query_geometry): ditto.
13862         (layout_layout): ditto.
13863         (syms_of_glyphs_widget): add margin-width.
13864         (image_instantiator_layout): allow margin-width.
13865
13866         * glyphs.c (update_widget_instances): make a normal function.
13867         (syms_of_glyphs): remove Qupdate_widget_instances.
13868         * glyphs.h: ditto.
13869
13870         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13871         so that we don't corrupt ideas about the last event or
13872         command. Remove widget-callback-current-channel fiddling.
13873         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13874
13875 2000-05-01  Martin Buchholz <martin@xemacs.org>
13876
13877         * XEmacs 21.2.33 is released.
13878
13879 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13880
13881         * make-src-depend: Allow dots in header file name.
13882
13883 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13884
13885         * mule-charset.h (struct charset_lookup): Add
13886         next_allocated_1_byte_leading_byte and
13887         next_allocated_2_byte_leading_byte.
13888         * mule-charset.c: Move above two variables so that those values
13889         will be dumped.
13890
13891 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13892
13893         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13894         when string length is zero.
13895         (find_charsets_in_emchar_string): Ditto.
13896
13897 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13898
13899         * lisp.h: extern Qdialog and Qmenubar.
13900
13901         * gui-x.c: added events.h.
13902                 also fixed typo which made the file uncompilable.
13903
13904         * general.c: Added Qmenubar and Qdialog
13905
13906 2000-04-28  Ben Wing  <ben@xemacs.org>
13907
13908         * frame-msw.c (mswindows_init_frame_1):
13909         * frame-msw.c (mswindows_mark_frame):
13910         * event-msw.c (mswindows_enqueue_dispatch_event):
13911         * console-msw.h:
13912         * console-msw.h (struct mswindows_frame):
13913         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13914         there are now three hash tables for callbacks.
13915         mswindows_enqueue_dispatch_event is no longer static.
13916
13917         * dialog-x.c (maybe_run_dbox_text_callback):
13918         * dialog-x.c (dbox_descriptor_to_widget_value):
13919         switch to new cons3 form for callbacks.
13920
13921         * glyphs-msw.c (mswindows_register_gui_item):
13922         * glyphs-msw.c (mswindows_widget_instantiate):
13923         * glyphs-msw.c (add_tree_item):
13924         * glyphs-msw.c (add_tab_item):
13925         new image instance parameter, so it can be passed to callback-ex.
13926         respect :callback-ex as well as :callback.
13927
13928         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13929         add :callback-ex.
13930
13931         * glyphs.c (print_image_instance):
13932         prettify, e.g. now prints widget type.
13933
13934         * gui-x.h:
13935         certain funs have new image instance parameter.
13936
13937         * gui.c:
13938         * gui.c (get_gui_callback):
13939         * gui.c (gui_item_add_keyval_pair):
13940         * gui.c (gui_item_init):
13941         * gui.c (gui_add_item_keywords_to_plist):
13942         * gui.c (mark_gui_item):
13943         * gui.c (gui_item_hash):
13944         * gui.c (gui_item_equal):
13945         * gui.c (copy_gui_item):
13946         * gui.c (syms_of_gui):
13947         recognize callback-ex in a number of places.
13948         also, fix the annoying "can't get out of yes-no dialog" bug.
13949
13950         * gui.h:
13951         * gui.h (struct Lisp_Gui_Item):
13952         recognize callback-ex in a number of places.
13953
13954         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13955         new parameter in button_item_to_widget_value.
13956
13957         * glyphs-x.c (x_update_widget):
13958         * glyphs-x.c (x_button_instantiate):
13959         * glyphs-x.c (x_button_update):
13960         * glyphs-x.c (x_progress_gauge_instantiate):
13961         * glyphs-x.c (x_edit_field_instantiate):
13962         * glyphs-x.c (x_combo_box_instantiate):
13963         * glyphs-x.c (x_tab_control_instantiate):
13964         * glyphs-x.c (x_label_instantiate):
13965         new image instance parameter in various places.
13966
13967         * event-Xt.c:
13968         * event-Xt.c (enqueue_Xt_dispatch_event):
13969         this fun gets exported.
13970
13971         * gui-msw.c:
13972         * gui-msw.c (mswindows_handle_gui_wm_command):
13973         handle both :callback and :callback-ex, and generate our own
13974         event because it's one of the callback-ex arguments.
13975
13976         * gui-x.c:
13977         * gui-x.c (popup_selection_callback):
13978         handle both :callback and :callback-ex, and generate our own
13979         event because it's one of the callback-ex arguments.
13980         * gui-x.c (button_item_to_widget_value):
13981         * gui-x.c (gui_items_to_widget_values_1):
13982         * gui-x.c (gui_item_children_to_widget_values):
13983         * gui-x.c (gui_items_to_widget_values):
13984         new image instance parameter in various places.
13985
13986         * fns.c (Freplace_list):
13987         fix small typo in doc string.
13988
13989         * lisp.h:
13990         declare enqueue_Xt_dispatch_event.
13991
13992 2000-04-28  Ben Wing  <ben@xemacs.org>
13993
13994         * buffer.c:
13995         * buffer.c (Frecord_buffer):
13996         * buffer.c (syms_of_buffer):
13997         delete record-buffer-hook.
13998
13999         * fns.c:
14000         * fns.c (Freplace_list):
14001         * fns.c (syms_of_fns):
14002         new primitive replace-list.
14003
14004         * frameslots.h:
14005         slot for old buffer-alist.
14006
14007         * lisp.h:
14008         exfun replace-list.
14009
14010         * redisplay.c:
14011         * redisplay.c (redisplay_frame):
14012         * redisplay.c (syms_of_redisplay):
14013         * redisplay.c (vars_of_redisplay):
14014         new hook buffer-list-changed-hook.
14015         call it.
14016
14017 2000-04-27  Ben Wing  <ben@xemacs.org>
14018
14019         * extents.h: extern in_modeline_generation.
14020
14021         * redisplay.c (generate_formatted_string_db): set
14022         in_modeline_generation.
14023
14024         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14025         flags if in modeline generation.  otherwise frame-modified-tick
14026         is ticked far too often.
14027         Declare in_modeline_generation.
14028
14029 2000-04-26  Ben Wing  <ben@xemacs.org>
14030
14031         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14032         option.
14033         (vars_of_emacs): add quick-build as an error-checking option.
14034         A bit kludgy, but there doesn't seem much point in creating
14035         a real var for this.
14036
14037         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14038
14039 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14040
14041         * redisplay.h (struct display_line): Add a new variable,
14042         line_continuation.
14043
14044         * redisplay.c (create_text_block): Set dl->line_continuation if
14045         the line continues.
14046         (create_string_text_block): Ditto.
14047         (regenerate_window_incrementally): Use line_continuation instead
14048         of searching continuation glyph.
14049         (add_margin_runes): Call add_glyph_rune.
14050         (add_glyph_rune): Handle margin glyph.
14051
14052 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14053
14054         * filelock.c (fill_in_lock_file_name):
14055         ANSIfy.
14056         Check for IS_ANY_SEP instead of '/'.
14057         (lock_file_1):
14058         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14059         Never check errno without first seeing that system call failed.
14060         (unlock_file): Add GCPRO.
14061         (Flock_buffer): Fix docstring.
14062         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14063
14064 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14065
14066         * sysdep.c (get_pty_max_bytes):
14067         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14068         strings longer than 252 bytes.
14069
14070         * md5.c: Unconditionally include ANSI header <limits.h>
14071
14072         * glyphs-x.c (convert_EImage_to_XImage):
14073         * lisp-union.h (union Lisp_Object):
14074         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14075
14076 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14077
14078         * filelock.c (current_lock_owner): Remove unused variable o, p.
14079
14080 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14081
14082         * callint.c: Remove multiply defined symbol Qlet
14083         (syms_of_callint): ditto.
14084
14085 2000-04-14  Andy Piper  <andy@xemacs.org>
14086
14087         * general.c (syms_of_general): add last-command, this-command, let
14088         and funcall.
14089
14090         * lisp.h: declare various symbols.
14091
14092         * glyphs.h: declare Qwidget_callback_current_channel;
14093
14094         * glyphs-widget.c (syms_of_glyphs_widget): add
14095         Qgui_callback_current_channel.
14096         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14097
14098         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14099         widget-callback-current-channel when invoking the interactive
14100         arg. Also bind last-command and next-command when invoking the
14101         widget updates.
14102         * gui-x.c (popup_selection_callback): ditto.
14103
14104         * gui.c (get_gui_callback): massage args so that we are always
14105         calling eval. This allows us to add our own variable bindings
14106         outside.
14107
14108         * glyphs-x.c (x_button_instantiate): use
14109         gui_items_to_widget_values since this is GC safe.
14110         (x_progress_gauge_instantiate): ditto.
14111         (x_edit_field_instantiate): ditto.
14112         (x_label_instantiate): ditto.
14113
14114         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14115         (emacs_Xt_event_widget_focus_out): new function
14116         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14117         focus.
14118         (emacs_Xt_event_add_widget_actions): new function. add focus
14119         functions as actions.
14120         (init_event_Xt_late): use it.
14121
14122 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14123
14124         * event-stream.c (Fdispatch_event): Doc fix.
14125
14126 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14127
14128         * postgresql.c: Remove all references to PQsetenv*.
14129
14130         * postgresql.h: Remove references to PGsetenvHandler object.
14131         * lrecord.h (lrecord_type): Ditto.
14132
14133 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14134
14135         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14136         real_heigh and real_width members, and accessor macros for these.
14137
14138         * glyphs-msw.c (init_image_instance_geometry): New function.
14139         (init_image_instance_from_dibitmap): Use it.
14140         (mswindows_resource_instantiate): Use it.
14141         (init_image_instance_from_xbm_inline): Use it.
14142         (mswindows_initialize_image_instance_mask): Use real bitmap
14143         geometry.
14144         (mswindows_create_resized_bitmap): Ditto.
14145         (mswindows_create_resized_mask): Ditto.
14146
14147         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14148         and bitmap to their surface size.
14149
14150 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14151
14152         * process-unix.c (unix_send_process): Guard against process MIA
14153         after Faccept_process_output.
14154
14155 2000-04-11  Ben Wing  <ben@xemacs.org>
14156
14157         * eval.c (unbind_to_hairy): fix brokenness introduced by
14158         nanosecond speed improvements.
14159
14160 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14161
14162         * sunplay.c (init_device): To play sounds correctly, the device
14163         apparently needs to be initialized at least once by XEmacs.  Make
14164         it so.
14165
14166 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14167
14168         * redisplay.c (add_margin_runes): Add text image glyph
14169           handling.
14170
14171 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14172
14173         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14174         gcc is newer than 2.5.
14175
14176 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14177
14178         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14179
14180         * fns.c (size_bit_vector):
14181         * alloc.c (size_vector):
14182         (make_vector_internal):
14183         (make_bit_vector_internal):
14184         (sweep_bit_vectors_1):
14185         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14186
14187 2000-04-06  Andy Piper  <andy@xemacs.org>
14188
14189         * gmalloc.c (malloc): undo previous change.
14190         (malloc): ditto.
14191         (free): ditto.
14192         (realloc): ditto.
14193
14194 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14195
14196         * line-number.c (buffer_line_number): Revert to former version.
14197
14198 2000-04-06  Andy Piper  <andy@xemacs.org>
14199
14200         * gmalloc.c (malloc): add error checking.
14201         (malloc): ditto.
14202         (free): ditto.
14203         (realloc): ditto.
14204
14205         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14206         button_item_to_widget_value arg.
14207
14208         * glyphs-x.c (x_button_instantiate): add extra
14209         button_item_to_widget_value arg.
14210         (x_progress_gauge_instantiate): ditto.
14211         (x_edit_field_instantiate): ditto.
14212         (x_label_instantiate): ditto.
14213
14214         * gui-x.c (gui_items_to_widget_values_1): add extra
14215         button_item_to_widget_value arg.
14216         (button_item_to_widget_value): add extra menu_item_p arg.
14217
14218         * gui-x.h: change signature of button_item_to_widget_value.
14219
14220         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14221         button_item_to_widget_value arg.
14222
14223 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14224
14225         * buffer.h (struct buffer): auto_save_modified should be long.
14226
14227 2000-04-05  Andy Piper  <andy@xemacs.org>
14228
14229         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14230         type.
14231         (button_query_geometry): give a little more room so that athena
14232         buttons fit.
14233
14234 2000-04-05  Andy Piper  <andy@xemacs.org>
14235
14236         * faces.c (complex_vars_of_faces): The widget face should inherit
14237         the font of the gui-element face.
14238
14239 2000-04-04  Andy Piper  <andy@xemacs.org>
14240
14241         * glyphs-x.c (x_button_update): new function. unconditionally
14242         update a button's state when the instance is dirty.
14243         (image_instantiator_format_create_glyphs_x): add x_button_update.
14244         (x_widget_instantiate): remove old resize cruft.
14245
14246 2000-04-02  Andy Piper  <andy@xemacs.org>
14247
14248         * frame.c (change_frame_size_1): The introduction of gutters means
14249         that we need to allow 0 as a potential frame dimension.
14250
14251 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14252
14253         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14254         image glyph if allow_cursor.
14255         (add_hscroll_rune): Don't allow cursor to border glyph.
14256         (create_text_block): Ditto.
14257
14258         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14259         text not in buffer.
14260         (redisplay_output_layout): Call ensure_face_cachel_complete for
14261         text image glyph.
14262
14263
14264 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14265
14266         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14267
14268         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14269         not in buffer
14270
14271         * redisplay-tty.c (tty_output_display_block): Delete the routine
14272         for text image glyph
14273         * redisplay-x.c (x_output_display_block): ditto
14274         * redisplay-msw.c (mswindows_output_display_block): ditto
14275
14276 2000-02-02  Mike Alexander  <mta@arbortext.com>
14277
14278         Note: Some of these were committed by accident as part of other
14279         patches.
14280
14281         * regex.c (regex_compile): Avoid compiler warnings.
14282
14283         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14284
14285         * nt.h: Declare term_ntproc correctly.
14286
14287         * nt.c: Remove incorrect declaration of get_home_directory which
14288         is declared correctly in lisp.h.
14289
14290         * keymap.c (get_keyelt): Avoid compiler warnings.
14291         (raw_lookup_key_mapper): Avoid compiler warnings.
14292
14293         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14294
14295         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14296
14297         * filemode.c (mode_string): Avoid compiler warnings.
14298
14299         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14300         avoid warning.
14301
14302         * events-mod.h: Undef some things that winuser.h defines differently.
14303
14304         * data.c (Faset): Avoid compiler warnings.
14305
14306         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14307
14308 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14309
14310         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14311         Fall through to simple beep on error.
14312         Replace "extern" by real header file.
14313
14314         * linuxplay.c: Use nativesound.h
14315         (play_sound_data): Return error code. Be less verbose on error.
14316
14317         * sunplay.c: Use nativesound.h
14318         (play_sound_data): Return error code. Be less verbose on error.
14319
14320         * ntplay.c: Use nativesound.h
14321         (play_sound_data): Return fake error code
14322
14323         * sgiplay.c: Use nativesound.h
14324         (play_sound_data): Return error code
14325
14326         * hpplay.c: Use nativesound.h, partially implement
14327         new error code. Break compilation until finished.
14328         (play_sound_data): error code.
14329
14330         * nativesound.h (play_sound_file):
14331           (play_sound_data): Prototype in new header.
14332
14333 2000-03-31  Andy Piper  <andy@xemacs.org>
14334
14335         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14336         for toggle and radio buttons.
14337         (image_instantiator_buttons): use it.
14338
14339 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14340
14341         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14342         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14343         found. Scrollbar event probably belonged to some old config.
14344
14345 2000-03-31  Andy Piper  <andy@xemacs.org>
14346
14347         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14348         than 1.
14349         (initialize_widget_image_instance): default layout to
14350         LAYOUT_HORIZONTAL rather than 0.
14351         (widget_instantiate): reverse the item list at the end rather than
14352         every iteration.
14353         (layout_layout): re-code for the border text at the front of the
14354         item list rather than at the end.
14355         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14356         provided by the user.
14357         (widget_query_geometry): comment.
14358
14359 2000-03-30  Andy Piper  <andy@xemacs.org>
14360
14361         * glyphs-widget.c (image_instantiator_layout): allow standard
14362         widget keywords in layouts.
14363
14364         * gutter.c (output_gutter): cope with nil gutter contents.
14365
14366         * frame.c (Fset_frame_properties): add gutter docs.
14367
14368 2000-03-29  Andy Piper  <andy@xemacs.org>
14369
14370         * toolbar-msw.c (TBSTYLE_FLAT): add.
14371         (mswindows_output_toolbar): minor fiddling.
14372
14373 2000-03-29  Andy Piper  <andy@xemacs.org>
14374
14375         * gutter.c (output_gutter): force gutter size recalculation if
14376         what we are trying to display won't fit.
14377         (update_gutter_geometry): new function. A per-gutter version of
14378         update_frame_gutter_geometry.
14379         (update_frame_gutter_geometry): use it.
14380         (redraw_exposed_gutter): add extra debugging output.
14381
14382 2000-03-28  Mike Alexander  <mta@arbortext.com>
14383
14384         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14385         (pdump_file_unmap): Implement it on Windows
14386         (pdump_file_get): Save alocated handles for pdump_file_unmap
14387
14388 2000-03-28  Andy Piper  <andy@xemacs.org>
14389
14390         * gui.c (get_gui_callback): treat Quit specially.
14391
14392 2000-03-27  Andy Piper  <andy@xemacs.org>
14393
14394         * glyphs.c (image_instantiate): be careful to check in the same
14395         way we assigned.
14396
14397 2000-03-27  Didier Verna  <didier@xemacs.org>
14398
14399         * config.h.in: define the proper SMART_INCLUDE macro.
14400         handle renaming of `foo_h_path' to `foo_h_file'.
14401
14402         * database.c: ditto.
14403
14404         * emacs.c: ditto.
14405
14406         * linuxplay.c: ditto.
14407
14408         * terminfo.c: ditto.
14409
14410         * tooltalk.h: ditto.
14411
14412 2000-03-27  Andy Piper  <andy@xemacs.org>
14413
14414         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14415         gets updated whenever the face might have changed.
14416
14417 2000-03-26  Mike Alexander  <mta@arbortext.com>
14418
14419         * dumper.c (pdump_resource_free): Fix the comment.
14420
14421 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14422
14423         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14424
14425 2000-03-22  Mike Alexander  <mta@arbortext.com>
14426
14427         * dumper.c: Include Windows headers on Windows
14428         (pdump_resource_free): Add a body to the function
14429         (pdump_load): exe_name -> exe_path and add some comments.
14430
14431 2000-03-25  Mike Alexander  <mta@arbortext.com>
14432
14433         * gui.c (copy_gui_item_tree): Return a value in all cases
14434
14435 2000-03-21  Didier Verna  <didier@xemacs.org>
14436
14437         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14438         lwlib/config.h.in.
14439         (SMART_INCLUDE): new macro.
14440         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14441         the proper location.
14442
14443         * postgresql.c: use it.
14444
14445         * inline.c: ditto.
14446
14447 2000-03-24  Andy Piper  <andy@xemacs.org>
14448
14449         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14450         do this.
14451
14452 2000-03-24  Andy Piper  <andy@xemacs.org>
14453
14454         * redisplay-output.c (compare_runes): use image_instance_changed
14455         to detect changes. Do not depend on glyphs_changed, only depend on
14456         dirtiness.
14457          (redisplay_output_layout): add debug messages.
14458         (compare_runes): ditto.
14459
14460         * glyphs.h: declare new functions.
14461         (struct Lisp_Image_Instance): remove percent and associated
14462         accessors.
14463
14464         * gui.h: declare new copying functions.
14465
14466         * gui.c (copy_gui_item_tree): new function.
14467         (copy_gui_item): new function.
14468         (gui_item_id_hash): revert to standard hash.
14469         (gui_item_hash): ditto.
14470         (gui_item_hash_internal): deleted.
14471         (mark_gui_item): mark value.
14472         (gui_item_add_keyval_pair): add value.
14473         (gui_item_init): ditto.
14474         (gui_add_item_keywords_to_plist): ditto.
14475         (gui_item_equal): ditto.
14476         (syms_of_gui): add Q_value.
14477
14478         * glyphs-x.c (x_progress_gauge_update): use pending items and
14479         value for setting the state.
14480         (x_update_widget): don't set items from pending here.
14481
14482         * glyphs-widget.c (update_widget): update items here.
14483         (progress_gauge_set_property): use items for storing value. Put
14484         new value in pending items.
14485
14486         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14487         items for new value. Convert percent -> value.
14488         (mswindows_tab_control_update): don't update items here.
14489
14490         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14491         (update_subwindow): ditto.
14492         (image_instance_changed): new function. Compare hash values and
14493         past and present widget items.
14494         (image_instantiate): We more careful about where we instantiate
14495         things.
14496         (image_instantiate): add error checking.
14497
14498         * gutter.c (syms_of_gutter): use -hook.
14499
14500 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14501
14502         * console-tty.c (Fset_console_tty_input_coding_system): Use
14503         Qkeyboard.
14504         (Fset_console_tty_output_coding_system): Use Qterminal.
14505         (tty_init_console): Use Qkeyboard and Qterminal.
14506
14507 2000-03-21  Ben Wing  <ben@xemacs.org>
14508
14509         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14510         From Mike Alexander <mta@arbortext.com>.
14511
14512 2000-03-21  Ben Wing  <ben@xemacs.org>
14513
14514         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14515         process brokenness.  Proper implementation to come.
14516         * callproc.c:
14517         Rename call-process-internal to old-call-process-internal.
14518         New impl. in process.el.
14519
14520 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14521
14522         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14523
14524 2000-03-20  Andy Piper  <andy@xemacs.org>
14525
14526         * glyphs.c (full_list_hash): make hashes of the same elements in
14527         different orders return different values.
14528
14529 2000-03-20  Martin Buchholz <martin@xemacs.org>
14530
14531         * XEmacs 21.2.32 is released.
14532
14533 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14534
14535         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14536         (DFC_MALLOC_USE_CONVERTED_DATA):
14537         Add aliasing-safe casts to allow use with char* or unsigned char*
14538         lvalues.
14539
14540         * eldap.c (Fldap_open):
14541         (Fldap_search_basic):
14542         (Fldap_add):
14543         (Fldap_modify):
14544         Make C++-compilable.
14545         Make sure GCPRO'ed variables are initialized.
14546         Use temp variables to avoid repeated calls to Flength.
14547
14548 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14549
14550         * sysfile.h:
14551         Make sure PATH_MAX is always defined.
14552         Include limits.h for PATH_MAX.
14553         Deprecate use of MAXPATHLEN.
14554
14555 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14556
14557         * emacs.c: Add reinit_vars_of_fileio.
14558         * symsinit.h: Add reinit_vars_of_fileio.
14559         * fileio.c (reinit_vars_of_fileio): New.
14560         * fileio.c (Fmake_temp_name):
14561         Initialize temp_name random number from microseconds to make
14562         collisions even less likely.  Initialize always at process startup
14563         time.  (make-temp-name) used to return the same file name twice in
14564         a row when PDUMP.
14565         Random stylistic fiddling.
14566         Comment fixes.
14567
14568 2000-03-20  Andy Piper  <andy@xemacs.org>
14569
14570         * glyphs.c (image_instantiate): allow text glyphs to be
14571         instantiated in the minibuffer window.
14572
14573 2000-03-19  Andy Piper  <andy@xemacs.org>
14574
14575         * glyphs.c (image_instance_hash): be careful about which items we
14576         hash on.
14577
14578         * glyphs-widget.c (tab_control_set_property): record into pending
14579         items rather than the actual items.
14580
14581         * glyphs-x.c (x_update_widget): use pending items to update with.
14582
14583         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14584         to update with.
14585
14586         * glyphs.c (mark_image_instance): mark pending items.
14587
14588         * window.c (Fset_window_configuration): record the buffer.
14589         (Fselect_window): totally revert previous change which breaks many
14590         things.
14591
14592 2000-03-18  Andy Piper  <andy@xemacs.org>
14593
14594         * glyphs-msw.c (mswindows_tab_control_update): force selected
14595         item.
14596
14597         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14598         window domain cache, otherwise we get inconsistencies at
14599         startup. There is something fishy at startup which can lead to the
14600         minibuffer being the selected window when the gutter content is
14601         instantiated.
14602
14603         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14604         gcpros.
14605         (parse_gui_item_tree_children): ditto.
14606         (parse_gui_item_tree_item): ditto.
14607
14608         * glyphs.c (Fupdate_widget_instances): return something.
14609
14610 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14611
14612         * window.c (Fselect_window): Undo 2000-03-17 change.
14613
14614 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14615
14616         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14617         against v7.0 libraries.  Insta-coredump city until the postgres
14618         folks fix it.
14619
14620 2000-03-17  Andy Piper  <andy@xemacs.org>
14621
14622         * faces.c (complex_vars_of_faces): don't give the widget face an
14623         inherited background pixmap.
14624
14625         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14626         selected item.
14627
14628         * event-stream.c (Fdispatch_non_command_events): return something.
14629
14630         * gutter.c (output_gutter): use widget face.
14631         (clear_gutter): ditto.
14632
14633         * NEWS: adjust again.
14634
14635         * window.c (Fselect_window): make sure this runs to completion to
14636         avoid oddities with Fset_window_configuration.
14637         (Fcurrent_window_configuration): in general do not save the
14638         minibuffer as the selected window.
14639
14640         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14641
14642 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14643
14644         * emacs.c (Frunning_temacs_p): Revert previous patch.
14645         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14646
14647 2000-03-16  Andy Piper  <andy@xemacs.org>
14648
14649         * glyphs-x.c (x_tab_control_update): if no widget values then
14650         return.
14651
14652         * NEWS: update for new features.
14653
14654         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14655         synthetic event to the native system.
14656         (reinit_vars_of_event_Xt): set force_event_pending to
14657         emacs_Xt_force_event_pending.
14658
14659         * events.h (struct event_stream): add force_event_pending.
14660
14661         * specifier.c (recompute_one_cached_specifier_in_window): add
14662         comment.
14663
14664         * redisplay.c (redisplay_frame): don't call
14665         update_frame_subwindows. Reset subwindow cachels when
14666         subwindows_changed, removing this was an optimization too far.
14667
14668         * redisplay-output.c (compare_runes): reorganize so that we catch
14669         glyph changes when we want them. Set optimize_output when this
14670         would help layouts.
14671         (redisplay_output_layout): remove frame_really_changed, use
14672         optimize_output instead.
14673
14674         * redisplay-msw.c (mswindows_output_display_block): reset
14675         optimize_output after outputting a glyph.
14676         * redisplay-x.c (x_output_display_block): ditto.
14677         * redisplay-tty.c (tty_output_display_block): ditto.
14678
14679         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14680         functions.
14681         (gutter_specs_changed): do specific gutter positions.
14682         (top_gutter_specs_changed): new function. Only update the
14683         specified gutter specs.
14684         (bottom_gutter_specs_changed): ditto.
14685         (left_gutter_specs_changed): ditto.
14686         (right_gutter_specs_changed): ditto.
14687
14688         * gui.c (gui_item_hash_internal): new function, does a real hash.
14689         (gui_item_id_hash): use it.
14690         (gui_item_hash): hash the eval'ed gui_item.
14691
14692         * gui-x.c (popup_selection_callback): send an eval event to call
14693         Fupdate_widget_instances.
14694
14695         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14696         to call Fupdate_widget_instances.
14697
14698         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14699         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14700
14701         * glyphs.c: (update_frame_subwindows): deleted.
14702         (Fupdate_widget_instances): new function for updating the dirty
14703         state of widgets that might have changed.
14704         (syms_of_glyphs): add Qupdate_widget_instances.
14705         (full_list_hash): hash a list completely.
14706         (image_instance_hash): use it for items and properties.
14707
14708         * frame-msw.c (mswindows_size_frame_internal): remove unused
14709         variable.
14710
14711         * faces.h (struct face_cachel): fix comment.
14712
14713         * event-stream.c (Fdispatch_non_command_events): new
14714         function. Process non-command events, forcing an event cycle
14715         beforehand.
14716         (syms_of_event_stream): declare.
14717         (event_stream_force_event_pending): new function. Force an event
14718         on the native event queue so that an event cycle will occur next
14719         time we check.
14720
14721         * event-msw.c:
14722         (struct ntpipe_shove_stream):
14723         (mswindows_enqueue_dispatch_event):
14724         (mswindows_dequeue_dispatch_event):
14725         (mswindows_cancel_dispatch_event):
14726         (mswindows_pump_outstanding_events):
14727         (mswindows_drain_windows_queue):
14728         (mswindows_handle_paint):
14729         (mswindows_wnd_proc):
14730         (mswindows_key_to_emacs_keysym):
14731         (get_process_input_waitable):
14732         (emacs_mswindows_delete_stream_pair): re-indent file.
14733         (mswindows_need_event): do not process further fds if the windows
14734         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14735         fixes the 100% cpu problem.
14736         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14737
14738 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14739
14740         * alloc.h: New.
14741         * dumper.h: New.
14742         * dumper.c: New.
14743
14744         * emacs.c: Moved dump file searching to dumper.c.
14745         (Frunning_temacs_p): Fixed.
14746
14747         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14748         last_lrecord_type_index_assigned.
14749
14750 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14751
14752         * symsinit.h: Added reinit parameter to init_console_stream
14753         declaration.
14754
14755         * lisp.h: Added file parameter to pdump_load declaration.
14756
14757         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14758         support.  Added dump file searching.
14759
14760         * config.h.in: Added EMACS_PROGNAME.
14761
14762         * console-stream.c (init_console_stream): Fix reinitialisation
14763         when running from temacs.
14764
14765         * alloc.c (pdump): Add id support.
14766         (pdump_load): Add file parameter and signature/id support.
14767
14768         * Makefile.in.in: Add full pdump support.
14769
14770 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14771
14772         * postgresql.c: Update documentation to reflect latest code
14773         status.
14774         (print_result): Show tuple counts in printed representation when
14775         appropriate.
14776         (Fpq_put_nbytes): MULE-ize.
14777         (Fpq_get_line_async): Ditto.
14778
14779 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14780
14781         * postgresql.c (Fpq_lo_import): Fix return value.
14782         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14783
14784 2000-03-13  Ben Wing  <ben@xemacs.org>
14785
14786         * alloc.c (pdump_load):
14787         Fix compile warning under mswin.
14788
14789 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14790
14791         * postgresql.c: Mule-ization, bug fixes.
14792         Use PG_CODING to encapsulate coding system name changes.
14793         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14794         (pg-coding-system): Create.
14795
14796         (Fpq_conn_defaults): Mule-ize.
14797         (Fpq_connectdb): Mule-ize & bug fix.
14798         (Fpq_connect_start): Mule-ize.
14799         (Fpq_set_client_encoding): Mule-ize.
14800         (Fpq_finish): Document `DEAD' connection status.
14801         (Fpq_clear): Ditto.
14802         (Fpq_pgconn): Mule-ize.
14803         (Fpq_exec): Mule-ize & bug fix.
14804         (Fpq_send_query): Ditto.
14805         (Fpq_get_result): Ditto.
14806         (Fpq_res_status): Mule-ize.
14807         (Fpq_result_error_message): Mule-ize.
14808         (Fpq_ntuples): fix comments.
14809         (Fpq_fname): Mule-ize.
14810         (Fpq_fnumber): Mule-ize.
14811         (Fpq_ftype): fix comments.
14812         (Fpq_get_value): Mule-ize.
14813         (Fpq_cmd_status): Ditto.
14814         (Fpq_cmd_tuples): Ditto.
14815         (Fpq_oid_value): Ditto.
14816         (Fpq_notifies): Ditto.
14817         (Fpq_lo_import): Ditto.
14818         (Fpq_lo_export): Ditto.
14819         (Fpq_get_line): Ditto.
14820         (Fpq_put_line): Mule-ize and bug fix.
14821         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14822
14823 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14824
14825         * postgresql.c (vars_of_postgresql): Mule-ize.
14826         (Fpq_conn_defaults): Ditto.
14827
14828 2000-03-12  Ben Wing  <ben@xemacs.org>
14829
14830         * alloc.c (Fmake_byte_code):
14831         * alloc.c (debug_string_purity_print):
14832         * alloc.c (pdump_backtrace):
14833         * alloc.c (pdump_get_indirect_count):
14834         * alloc.c (pdump_register_sub):
14835         * alloc.c (pdump_register_object):
14836         * alloc.c (pdump_register_struct):
14837         * alloc.c (pdump_dump_data):
14838         * alloc.c (pdump_reloc_one):
14839         Minor cleanups.
14840
14841         * console-msw.c:
14842         * console-msw.c (GetConsoleHwnd):
14843         * console-msw.c (msw_hide_console):
14844         * console-msw.c (msw_show_console):
14845         * console-msw.c (msw_ensure_console_buffered):
14846         * console-msw.c (msw_output_console_string):
14847         * console-msw.c (console_type_create_mswindows):
14848
14849         a) Added functions to manipulate the console window for use with
14850         shell support.
14851
14852         b) Added support for writing text to the console, which is now
14853         used under Windows when xemacs is not being run non-interactively,
14854         to write text that would otherwise be destined for stdout because
14855         under these circumstances, text written to stdout tends to
14856         disappear and not be seen.
14857
14858         * console-msw.h:
14859         * event-Xt.c:
14860         * event-Xt.c (x_event_to_emacs_event):
14861         * event-Xt.c (describe_event_window):
14862         * events-mod.h (XEMACS_MOD_CONTROL):
14863         * events.c:
14864         * events.c (Fmake_event):
14865         * events.c (character_to_event):
14866         * events.c (event_to_character):
14867         * events.c (format_event_object):
14868         * events.c (Fevent_modifiers):
14869         * events.h:
14870         * events.h (struct key_data):
14871         * events.h (struct button_data):
14872         * events.h (struct misc_user_data):
14873         * frame-x.c (Fcde_start_drag_internal):
14874         * frame-x.c (Foffix_start_drag_internal):
14875         * gpmevent.c (Freceive_gpm_event):
14876         * keymap.c:
14877         * keymap.c (bucky_sym_to_bucky_bit):
14878         * keymap.c (control_meta_superify):
14879         * keymap.c (make_key_description):
14880         * keymap.c (keymap_lookup_directly):
14881         * keymap.c (create_bucky_submap):
14882         * keymap.c (keymap_store):
14883         * keymap.c (define_key_check_and_coerce_keysym):
14884         * keymap.c (define_key_parser):
14885         * keymap.c (define_key_alternate_name):
14886         * keymap.c (Fdefine_key):
14887         * keymap.c (raw_lookup_key_mapper):
14888         * keymap.c (struct map_keymap_unsorted_closure):
14889         * keymap.c (map_keymap_unsorted_mapper):
14890         * keymap.c (map_keymap_sort_predicate):
14891         * keymap.c (map_keymap_sorted):
14892         * keymap.c (accessible_keymaps_mapper_1):
14893         * keymap.c (where_is_recursive_mapper):
14894         * keymap.c (describe_map_mapper):
14895         * keymap.c (describe_map_sort_predicate):
14896         * keymap.c (describe_map):
14897         * keymap.c (complex_vars_of_keymap):
14898         And a number of other files, the key modifier preprocessor
14899         constants that xemacs uses have names that conflict with constants
14900         defined under MS Windows for other purposes, so they were renamed
14901         to begin with the prefix XEMACS_. The variables that hold such
14902         modifiers were changed to consistently be of type int to fix
14903         various compile warnings.
14904
14905         * console.c (complex_vars_of_console):
14906         * device.c:
14907         * device-msw.c:
14908         * device-msw.c (mswindows_finish_init_device):
14909         * device-msw.c (msw_get_workspace_coords):
14910         * device-msw.c (mswindows_device_system_metrics):
14911         and various other files, added support for a new
14912         device property called offset-workspace which returns the position
14913         of the upper left corner of the workspace area and goes along with
14914         the existing size-workspace property.
14915
14916         * dialog-msw.c:
14917         * dialog-msw.c (push_bufbyte_string_as_unicode):
14918         * dialog-msw.c (mswindows_popup_dialog_box):
14919         Added support for XEmacs-style accelerator specifications in
14920         button text.  Note: I didn't add support for this under X Windows,
14921         and somebody needs to do this.
14922
14923         * dialog.c:
14924         * dialog.c (Fpopup_dialog_box):
14925         Documented the support for accelerators that was just mentioned.
14926
14927         editfns.c (get_home_directory): Changed behavior under Windows
14928         when HOME not defined; former behavior was irretrievably broken.
14929
14930         * emacs.c:
14931         * emacs.c (main_1):
14932         * emacs.c (main):
14933         * minibuf.c (clear_echo_area_internal):
14934         * minibuf.c (echo_area_append):
14935         * print.c:
14936         * print.c (std_handle_out_external):
14937         * print.c (std_handle_out_va):
14938         * print.c (fatal):
14939         * print.c (write_string_to_stdio_stream):
14940         * print.c (output_string):
14941         * print.c (debug_print):
14942         * print.c (debug_backtrace):
14943         * print.c (debug_short_backtrace):
14944         Cleaned up the code that prints text to stdout so that this can be
14945         changed to output into a console window instead under MS Windows,
14946         as described above.
14947
14948         * eval.c:
14949         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14950         * eval.c (internal_catch):
14951         * eval.c (unwind_to_catch):
14952         * eval.c (throw_or_bomb_out):
14953         * eval.c (condition_case_1):
14954         * eval.c (signal_1):
14955         * eval.c (check_error_state_sanity):
14956         * eval.c (call_with_suspended_errors_1):
14957         * eval.c (call_with_suspended_errors):
14958         * eval.c (reinit_vars_of_eval):
14959         Added code to catch throw loops and check for a pesky bug that may
14960         be gone now.
14961
14962         * event-msw.c:
14963         * event-msw.c (key_needs_default_processing_p):
14964         * event-msw.c (mswindows_wnd_proc):
14965         * event-msw.c (mswindows_modifier_state):
14966         * event-msw.c (emacs_mswindows_quit_p):
14967         * event-msw.c (vars_of_event_mswindows):
14968         a) Added support for using the alt key to select menu items as is
14969         standard under MS Windows.  This is controlled using the variable
14970         menu-accelerator-enabled, just like under X Windows.  There is an
14971         option on the options menu to turn this support on.  I really
14972         think that it should be on by default under Windows, but I'm not
14973         going to make this change yet.
14974
14975         b)  Added support for dynamic display size changes under Windows.
14976
14977         * event-stream.c:
14978         * event-stream.c (maybe_echo_keys):
14979         * event-stream.c (Fnext_event):
14980         * event-stream.c (command_builder_find_leaf):
14981         * event-stream.c (lookup_command_event):
14982         * event-stream.c (execute_command_event):
14983         * event-stream.c (pre_command_hook):
14984         * event-stream.c (post_command_hook):
14985         * event-stream.c (syms_of_event_stream):
14986         * event-stream.c (vars_of_event_stream):
14987         * event-stream.c (complex_vars_of_event_stream):
14988         * events.h (struct command_builder):
14989
14990         a) Tried to clean up a little bit the horribly written x-specific
14991         accelerator code that crept into this file.  I moved this code
14992         into menubar-x.c where it belongs. I also needed to move the
14993         command builder structure into the file events.h because it is
14994         accessed directly by this accelerator code.  What I didn't do, but
14995         which should be done at some point, is to properly abstract this
14996         code using device methods instead of the kludgy way that it
14997         currently hooks into the event code.
14998
14999         b) Added the lisp variables this-command-properties and
15000         last-command- properties, which should be used to synchronize two
15001         adjacent commands in preference to playing games with the variable
15002         this-command, which is typically what happens.
15003
15004         c) Added some slightly nasty code to hook into the lisp support
15005         for shifted- motion-key selection.  This is actually necessary for
15006         somewhat complicated reasons, which are described in
15007         simple.el. (NB: I think the proper thing would be to have the code
15008         that calls the pre and post command hooks also call out to generic
15009         lisp functions in simple.el, where all built-in stuff could be
15010         added.  I will think about this more.)
15011
15012         * event-unixoid.c (poll_fds_for_input):
15013         * lread.c (readchar):
15014         * redisplay-tty.c (tty_clear_frame):
15015         * redisplay-x.c (x_get_gc):
15016         * signal.c (interrupt_signal):
15017         And a whole bunch of other files: fixed up places that printed
15018         directly to stderr to instead call the function stderr_out so that
15019         the changes I made under Windows work correctly.
15020
15021         * filemode.c (mode_string):
15022         Warning fixes.
15023
15024         * frame-msw.c:
15025         * frame-msw.c (mswindows_size_frame_internal):
15026         Fixed the computation of frame size and position to keep the frame
15027         within the workspace area, rather than within the physical
15028         dimensions of the screen, so that the frame doesn't overlap window
15029         manager decorations, such as the start menu and toolbar, typically
15030         at the bottom of the screen.
15031
15032         * frame.c (vars_of_frame):
15033         Changed the default frame title format under MS Windows to consist
15034         of buffername-XEmacs, which is standard under MS Windows.  I think
15035         it might be a good idea to change this everywhere because I think
15036         it is superior to the current frame title format, but this is the
15037         kind of change that is likely to cause some people to get annoyed,
15038         so I'm not making it.
15039
15040         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15041
15042         * gui-msw.c (mswindows_handle_gui_wm_command):
15043         Fixed compile warnings.
15044
15045         * gui-x.c:
15046         * gui-x.c (strdup_and_add_accel):
15047         * gui-x.c (button_item_to_widget_value):
15048         * gui-x.h:
15049         Added code to automatically put an accelerator onto the beginning
15050         of menu items that don't have one as is now the standard, and is
15051         described more later.  Also fixed things so that the menu item
15052         name can be an evaluated expression, again a new standard.
15053
15054         * gui.c:
15055         * gui.c (gui_item_add_keyval_pair):
15056         * gui.c (make_gui_item_from_keywords_internal):
15057         * gui.c (gui_add_item_keywords_to_plist):
15058         * gui.c (gui_item_accelerator):
15059         * gui.c (gui_name_accelerator):
15060         * gui.c (gui_item_included_p):
15061         * gui.c (gui_item_display_flush_left):
15062         * gui.c (gui_item_display_flush_right):
15063         * gui.c (parse_gui_item_tree_item):
15064         * gui.c (parse_gui_item_tree_children):
15065         * gui.c (parse_gui_item_tree_list):
15066         Mule-ized.  Cleanup.  GCPRO addition.
15067
15068         * line-number.c (buffer_line_number):
15069         * lisp.h:
15070         * lisp.h (EMACS_INT_MAX):
15071         Added the manifest constant EMACS_INT_MIN corresponding to the
15072         existing constant EMACS_INT_MAX.  This is partially to fix compile
15073         warnings under Windows, and partly for cleanliness.
15074
15075         * menubar-msw.c:
15076         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15077         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15078         * menubar-msw.c (displayable_menu_item):
15079         * menubar-msw.c (populate_menu_add_item):
15080         * menubar-msw.c (populate_or_checksum_helper):
15081         * menubar-msw.c (populate_menu):
15082         * menubar-msw.c (update_frame_menubar_maybe):
15083         * menubar-msw.c (prune_menubar):
15084         * menubar-msw.c (msw_char_is_accelerator):
15085         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15086         * menubar-msw.c (mswindows_handle_wm_command):
15087         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15088         * menubar-msw.c (mswindows_handle_wm_initmenu):
15089         * menubar-msw.c (mswindows_update_frame_menubars):
15090         * menubar-msw.c (mswindows_free_frame_menubars):
15091         * menubar-msw.c (mswindows_popup_menu):
15092         Fixed a bug in handling accelerators where an extra character
15093         would be displayed in the menu item.  Also generalized the
15094         function displayable_menu_item because it is now used by the
15095         dialog box code as well.  And finally, added code in the functions
15096         that create the menubar to extract a list of accelerators for the
15097         top level menubar, which is used in the event code to determine
15098         whether a particular alt-key combination should be used to invoke
15099         a menu item, or should be passed through to access the standard
15100         XEmacs keymap binding for this key combination.
15101
15102         Much needed GCPROing.
15103
15104         * menubar-x.c:
15105         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15106         * menubar-x.c (menu_item_descriptor_to_widget_value):
15107         * menubar-x.c (restore_in_menu_callback):
15108         * menubar-x.c (x_popup_menu):
15109         * menubar-x.c (menu_move_up):
15110         * menubar-x.c (menu_move_down):
15111         * menubar-x.c (menu_move_left):
15112         * menubar-x.c (menu_move_right):
15113         * menubar-x.c (menu_select_item):
15114         * menubar-x.c (command_builder_operate_menu_accelerator):
15115         * menubar-x.c (menu_accelerator_junk_on_error):
15116         * menubar-x.c (command_builder_find_menu_accelerator):
15117         * menubar-x.c (Faccelerate_menu):
15118         * menubar.h:
15119         Moved a whole bunch of code here that was previously in
15120         event-stream.c as described above.  There is also code connected
15121         to the new standard of adding an accelerator to the beginning of
15122         menu items that don't have one as described above and below.
15123
15124         * menubar.c:
15125         * menubar.c (menu_parse_submenu_keywords):
15126         * menubar.c (Fmenu_find_real_submenu):
15127         * menubar.c (Fnormalize_menu_item_name):
15128         * menubar.c (syms_of_menubar):
15129         * menubar.c (vars_of_menubar):
15130         * menubar.c (complex_vars_of_menubar):
15131
15132         a) Cleaned up a bunch of documentation and improved it.
15133
15134         b) XEmacs now automatically adds an accelerator onto the beginning
15135         of any menu items that don't have one.  I did this because there
15136         will inevitably be some menu items on the main menubar that don't
15137         have accelerators on them because the package that adds that
15138         particular menu item hasn't yet been fixed up to have accelerators
15139         in them and it looked rather strange to have some items with and
15140         some items without accelerators, especially since even in items
15141         without accelerators, you can, at least under windows, still
15142         access the item through an accelerator corresponding to the first
15143         character in the item's name.  If people don't like this behavior,
15144         I can add a variable to turn it off optionally, but I'm not sure
15145         this is a good idea because we really do need to have accelerators
15146         on all of the menu items, and if a package doesn't like the
15147         accelerators being put on the first character, then it should put
15148         the accelerators where they belong.
15149
15150         c) I made a behavior change, which is that the descriptor that
15151         specifies the text of the menu item, which formerly was just a
15152         string, can now also be an evaluated expression.  This makes this
15153         descriptor parallel with all of the others, which could also be
15154         evaluated expressions.  This also obviates the need for the
15155         keyword :label, which was previously listed in the documentation
15156         as unimplemented, and which was for the same purpose.
15157
15158         d) GCPROing.
15159
15160         * ntproc.c:
15161         * ntproc.c (new_child):
15162         * ntproc.c (sys_spawnve):
15163         * ntproc.c (find_child_console):
15164         * ntproc.c (sys_kill):
15165         Fixed compile warnings.  By the way, this file should really go
15166         away entirely, and this will happen as soon as Kirill makes his
15167         final round of process cleanups, which affect the function
15168         call-process.
15169
15170         * process-nt.c:
15171         * process-nt.c (struct nt_process_data):
15172         * process-nt.c (find_process_from_pid):
15173         * process-nt.c (send_signal_the_nt_way):
15174         * process-nt.c (enable_child_signals):
15175         * process-nt.c (find_child_console):
15176         * process-nt.c (send_signal_the_95_way):
15177         * process-nt.c (nt_finalize_process_data):
15178         * process-nt.c (ensure_console_window_exists):
15179         * process-nt.c (nt_create_process):
15180         * process-nt.c (nt_kill_child_process):
15181         * process-nt.c (nt_kill_process_by_pid):
15182         * process-nt.c (nt_open_network_stream):
15183         * process-nt.c (vars_of_process_nt):
15184         Copied over code from Emacs 20.5 to correctly send signals to sub-
15185         processes under Windows 95.  Also added code to automatically
15186         create and hide console window when a sub-process is created under
15187         Windows 95, which obviates the need for the separate runemacs.exe
15188         executable, and finally implemented some variables that were
15189         implemented in Emacs 20.5, but previously not in XEmacs.  These
15190         include mswindows- start-process-share-console and
15191         mswindows-start-process-inherit-error-mode. (Both of these only
15192         apply to Windows 95.)
15193
15194         * regex.c (regex_compile): Fixed a compile warning.
15195
15196         * select-msw.c:
15197         * select-msw.c (mswindows_own_selection):
15198         * select-msw.c (mswindows_get_foreign_selection):
15199         * select-msw.c (mswindows_disown_selection):
15200         * select-msw.c (console_type_create_select_mswindows):
15201         * select-msw.c (syms_of_select_mswindows):
15202         Cleaned up the file and implemented the device method
15203         selection_exists_p, which had accidentally been left out.  Also
15204         removed four lisp functions that were remnants from before the
15205         time when the selection code was properly device abstracted.
15206         These functions are no longer needed because there are generic
15207         equivalents, and because they were added recently and don't exist
15208         in FSF Emacs, I don't think there's any problem with just deleting
15209         them.
15210
15211         * sysdep.c:
15212         * sysdep.c (sys_subshell):
15213         Fixed a compile warning, although in this case there's probably
15214         something wrong with this code, and it ought to be looked into
15215         more thoroughly by somebody who understands it.
15216
15217         * window.c:
15218         * window.c (Fwindow_text_area_height):
15219         * window.c (Fwindow_width):
15220         * window.c (Fwindow_full_width):
15221         * window.c (Fwindow_pixel_width):
15222         * window.c (debug_print_window):
15223         * window.c (syms_of_window):
15224         Added functions window-text-area-height and window-full-width,
15225         which are functions for returning various width and height
15226         characteristics of a window. (One of these functions is necessary
15227         for making the file dialog box work correctly, and the other one
15228         was added for completeness.)  Also added a table to the
15229         documentation for window-height which describes the entire scheme
15230         for accessing width and height characteristics of a window.
15231
15232 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15233
15234         * nt.c (fstat): Added a comment for another problem with
15235         non-encapsulated [f]stat(), reported by Adrian Aichner
15236         <aichner@ecf.teradyne.com>.
15237
15238 2000-03-11  Andy Piper  <andy@xemacs.org>
15239
15240         * window.c (make_dummy_parent): initialize subwindow instance
15241         cache.
15242         (Fset_window_configuration): zero extent_modiff.
15243
15244 2000-03-10  Andy Piper  <andy@xemacs.org>
15245
15246         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15247         more changes can be triggered.
15248         (Fredisplay_frame): ditto.
15249         (Fredraw_device): ditto.
15250         (Fredisplay_device): ditto.
15251         (redisplay_frame): make non-static.
15252         (redisplay_frame): call update_frame_gutter_geometry outside of
15253         display proper.
15254
15255         * gutter.h: declare update_frame_gutter_geometry.
15256
15257         * redisplay.h: declare redisplay_frame.
15258
15259         * gutter.c (update_frame_gutter_geometry): move geometry changes
15260         in update_frame_gutters here. Geometry changes can only occur
15261         outside of redisplay.
15262         (update_frame_gutters): remove geometry change code.
15263         (Fredisplay_gutter_area): make sure that we are in display when we
15264         update and that we have flushed any size changes.
15265
15266 2000-03-11  Andy Piper  <andy@xemacs.org>
15267
15268         * alloc.c (pdump_dump_data): remove i & count shadows.
15269
15270 2000-02-27  Mike Alexander  <mta@arbortext.com>
15271
15272         * sysdep.h: Declare pdump_read_file
15273
15274         * sysdep.c (pdump_read_file): New function
15275
15276         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15277         dump data
15278
15279 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15280
15281         * lrecord.h: add `lrecord_type_pgsetenv'.
15282
15283 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15284
15285         * symsinit.h: declare (vars|syms)_of* functions.
15286         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15287
15288 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15289
15290         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15291
15292         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15293         GCCs.
15294
15295         * emacs.c (main_1): Call postgres initialization code.
15296
15297         * postgresql.h: New file.  PostgreSQL RDBMS support.
15298         * postgresql.c: New file.
15299
15300 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15301
15302         * redisplay-output.c (redisplay_output_display_block): Disable
15303         redundant code.
15304
15305 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15306
15307         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15308         (Fcanna_henkan_next): Ditto.
15309         (Fcanna_bunsetu_henkou): Ditto.
15310         (Fcanna_henkan_kakutei): Ditto.
15311         (Fcanna_henkan_end): Ditto.
15312         (Fcanna_henkan_quit): Ditto.
15313         (Fcanna_henkan_next): Set retun value correctly.
15314         (c2mu): Use unsigned char instead of signed char.
15315
15316 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15317
15318         * emacs.c (main_1): Always call syms_of_gui.
15319         * inline.c: include gui.h
15320
15321 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15322
15323         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15324         converted to Lisp_Object.
15325         (Qtop_bottom): New variable.
15326         (syms_of_redisplay): Initialize it.
15327         * redisplay.h (Vvisible_bell): Ditto.
15328         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15329         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15330         only flash top and bottom.
15331
15332 2000-03-08  Andy Piper  <andy@xemacs.org>
15333
15334         * buffer.c (Frename_buffer): record new buffer name the right way.
15335
15336 2000-03-08  Andy Piper  <andy@xemacs.org>
15337
15338         * glyphs.c (update_subwindow): increase hash depth so that widget
15339         items get picked up properly.
15340
15341         * redisplay-output.c (compare_runes): increase hash depth so that
15342         widget items get picked up properly.
15343
15344 2000-03-08  Andy Piper  <andy@xemacs.org>
15345
15346         * gutter.c (output_gutter): add some debug.
15347
15348         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15349         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15350         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15351
15352         * redisplay-output.c (compare_runes): use display_hash to
15353         determine if glyphs really are not the same.
15354
15355         * glyphs.c (update_subwindow): check display_hash to see if
15356         anything really needs to be updated. If not then do
15357         nothing. Record the display_hash after updating.
15358         (image_instance_equal): compare the image_instance face also.
15359
15360 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15361
15362         * redisplay.h: Fix comment style.
15363
15364 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15365
15366         * consle-msw.h (struct mswindows_frame):
15367         Added new member paint_pending to indicate whether a WM_PAINT
15368         magic event has been queued for this frame.
15369
15370         * event-msw.c (mswindows_drain_windows_queue):
15371         Don't queue a WM_PAINT magic event if one is already queued.
15372         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15373
15374         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15375
15376 2000-03-07  Didier Verna  <didier@xemacs.org>
15377
15378         * dired.c: #include `regex.h' after `sysfile.h'.
15379
15380 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15381
15382         * sound.c (init_nas_sound): Fix compiler warning.
15383
15384         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15385         (FREE_STRUCT_P):
15386         (MARK_STRUCT_AS_FREE):
15387         (MARK_STRUCT_AS_NOT_FREE):
15388         Make `gcc -fstrict-aliasing' work properly.
15389
15390 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15391
15392         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15393         (mswindows_delete_device): Call CoUnnitialize().
15394
15395         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15396
15397 2000-02-25    <CraigL@DyCon.com>
15398
15399         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15400         <errno.h>.
15401
15402         * sysdep.c: This extern declaration for environ prevents MinGW
15403         from finding the variable in CRTDLL.DLL.
15404
15405         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15406         windows headers.
15407         (SHGFI_EXETYPE): ..
15408         (WM_MOUSEWHEEL): ..
15409         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15410         definitions.
15411         (MMRESULT): Removed, now defined in cygwin's windows headers.
15412         (TIMECAPS): ..
15413         (uid_t,gid_t,pid_t,ssize_t): ..
15414         (_timeb): Removed, MinGW defines both _timeb and timeb.
15415         (HAVE_H_ERRNO): Added.
15416         (HAVE_TZNAME): Added, configure is not detecting this.
15417
15418 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15419
15420         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15421         * syntax.c (syntax_match): Use it.
15422
15423         * cmds.c: Import auto-fill-chars from FSF Emacs.
15424         (Vauto_fill_chars): New variables.
15425         (internal_self_insert): Check Vauto_fill_chars.
15426         (vars_of_cmds):
15427         Declare auto-fill-chars as a Lisp variable and initialize it.
15428
15429 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15430
15431         * fileio.c (Fmake_symbolic_link):
15432         (Ffile_symlink_p):
15433         Run handlers even if local machine doesn't have symlinks.
15434
15435 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15436
15437         * event-msw.c (mswindows_drain_windows_queue):
15438         Don't generate paint magic events for non-XEmacs frames.
15439
15440 2000-03-05  Andy Piper  <andy@xemacs.org>
15441
15442         * redisplay.c (redisplay_frame): generate_displayable_area and
15443         friends assumes that we are not in GC, we therefore have to make
15444         sure that this doesn't happen.
15445
15446         * gutter.c (calculate_gutter_size): generate_displayable_area
15447         assumes that we are not in GC, we therefore have to make sure that
15448         this doesn't happen.
15449
15450 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15451
15452         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15453
15454 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15455
15456         * redisplay.c (regenerate_window): Make sure we set a sane value
15457         for end_pos even if we jump out of the loop.
15458         (regenerate_window): Answer Ben's question :-).
15459         (start_end_of_last_line): Add may_error argument.
15460         (start_of_last_line):
15461         (end_of_last_line): Pass may_error = 0.
15462         (end_of_last_line_may_error): New function.
15463         (pixel_to_glyph_translation): Use it, so we don't crash in
15464         event_to_glyph.
15465
15466 2000-03-04  Andy Piper  <andy@xemacs.org>
15467
15468         * window.h (struct window): add gutter_extent_modiff.
15469
15470         * window.c (allocate_window): zero out gutter_extent_modiff.
15471
15472         * redisplay.h: declare sync_display_line_structs.
15473
15474         * redisplay.c (add_glyph_rune): add a better comment.
15475
15476         * redisplay-output.c (sync_display_line_structs): made non-static.
15477         (compare_runes): remove unneccesary glyph cachel access.
15478
15479         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15480
15481         * gutter.c (output_gutter): don't output the gutter if extent
15482         changes only involve extents in buffers. use 4 sets of display
15483         lines.
15484         (gutter_extent_signal_changed_region_maybe): new function. Mark
15485         extents in gutters as changed.
15486         (update_frame_gutters): use 4 sets of display lines.
15487         (reset_gutter_display_lines): ditto.
15488         (free_frame_gutters): ditto.
15489         (redraw_exposed_gutter): force output of gutters.
15490
15491         * frame.h (struct frame): add 4 sets of gutter display lines.
15492
15493         * extents.c: (extent_changed_for_redisplay): signal changes to
15494         extents in strings in the gutter as well as extents in buffers.
15495
15496 2000-03-02  Andy Piper  <andy@xemacs.org>
15497
15498         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15499
15500         * frame.c (Fmake_frame): make sure the gutters get initialized
15501         after the frame is visible.
15502         (set_frame_selected_window): re-arrange compilation macros a
15503         little.
15504         (change_frame_size_1): mark gutters changed.
15505
15506         * device.c (Fset_device_class): mark gutters changed.
15507
15508 2000-03-01  Andy Piper  <andy@xemacs.org>
15509
15510         * window.c (window_top_frame_gutter_height): deleted.
15511         (window_bottom_frame_gutter_height): ditto.
15512         (window_left_frame_gutter_height): ditto.
15513         (window_right_frame_gutter_height): ditto.
15514         (window_top_gutter_height): don't use them.
15515         (window_bottom_gutter_height): ditto.
15516         (window_left_gutter_width): ditto.
15517         (window_right_gutter_width): ditto.
15518         (Fsplit_window): ditto.
15519         (Fwindow_pixel_edges): don't use border dimensions here.
15520
15521         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15522         (update_scrollbar_instance): ditto.
15523
15524         * redisplay.c (generate_modeline): don't take gutters into account.
15525         (generate_modeline): ditto.
15526         (redisplay_frame): small gutter display optimization.
15527
15528         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15529
15530         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15531         gutters into account.
15532
15533         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15534         for window position and type.
15535
15536         * gutter.c (get_gutter_coords): fix for frame gutters.
15537         (update_frame_gutters): update frame geometry if the gutters have
15538         changed.
15539         (init_frame_gutters): record current gutter geometries.
15540
15541         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15542         var.
15543         (mswindows_widget_instantiate): ditto.
15544
15545         * frame.h (struct frame): add current_gutter_bounds.
15546
15547         * frame.c (change_frame_size_1): position window and minibuffer
15548         appropriately taking into account the frame gutters.
15549
15550         * frame-x.c: (x_initialize_frame_size): take into account the
15551         frame gutters.
15552
15553 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15554
15555         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15556
15557 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15558
15559         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15560
15561 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15562
15563         * file-coding.c (reset_decoding_stream): Clear previous
15564         detection state when autodetect.
15565
15566 2000-02-29  Didier Verna  <didier@xemacs.org>
15567
15568         * extents.c (set_extent_glyph_1): don't require extents to be
15569         attached.
15570
15571 2000-02-27  Andy Piper  <andy@xemacs.org>
15572
15573         * gutter.c (Fset_default_gutter_position): don't default left and
15574         right gutter visibility to t.
15575         (Fset_default_gutter_position): run
15576         default-gutter-position-changed-hook.
15577         (syms_of_gutter): add default-gutter-position-changed-hook.
15578
15579 2000-02-26  Andy Piper  <andy@xemacs.org>
15580
15581         * specifier.c (Fmake_specifier): add gutter references.
15582
15583         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15584
15585         * lisp.h: declare Fvalid_plist_p.
15586
15587         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15588         as changed.
15589         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15590         well as its visibility so that it gets reconstructed.
15591         (construct_window_gutter_spec): new function. Construct a string
15592         to be displayed in the gutter from a plist of strings. Take care
15593         to only use elements that are declared as visible.
15594         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15595         WINDOW_GUTTER.
15596         (gutter_validate): allow plists of strings in the specifier.
15597         (gutter_specs_changed): construct the real_gutter from the gutter
15598         specs using construct_window_gutter_spec.
15599         (gutter_visible_validate): gutter-visible is a new specifier type.
15600         (Fgutter_visible_specifier_p): new function for the new specifier.
15601         (syms_of_gutter): declare gutter-visible and
15602         Fgutter_visible_specifier_p.
15603         (specifier_type_create_gutter): intitalize new gutter-visible
15604         specifier.
15605         (reinit_specifier_type_create_gutter): ditto.
15606         (specifier_vars_of_gutter): use new specifier type for gutter
15607         visibility.
15608         (init_frame_gutters): construct real_gutter correctly.
15609         (Fgutter_specifier_p): beef up documentation.
15610         (Fgutter_size_specifier_p): ditto.
15611
15612         * winslots.h: add real_gutter slots.
15613
15614 2000-02-25  Andy Piper  <andy@xemacs.org>
15615
15616         * device-msw.c: Be kind to older cygwin versions. From Raymond
15617         Toy <toy@rtp.ericsson.se>.
15618
15619         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15620         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15621
15622 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15623
15624         * elhash.c (MARK_OBJ): Practice macro hygiene.
15625
15626 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15627
15628         * miscplay.c: s/__inline__/inline/g;
15629         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15630         (get_device_compdc): INLINE ==> static inline
15631         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15632         find -name '*.h' | \
15633         xargs global-replace \
15634         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15635
15636 2000-02-25  Andy Piper  <andy@xemacs.org>
15637
15638         * window.c (window_top_frame_gutter_height): new function.
15639         (window_top_window_gutter_height): ditto.
15640         (window_top_gutter_height): use them.
15641         (window_bottom_frame_gutter_height): new function.
15642         (window_bottom_window_gutter_height): ditto.
15643         (window_bottom_gutter_height): use them.
15644         (window_left_window_gutter_width): new function.
15645         (window_left_frame_gutter_width): ditto.
15646         (window_left_gutter_width): use them.
15647         (window_right_window_gutter_width): new function.
15648         (window_right_frame_gutter_width): ditto.
15649         (window_right_gutter_width): use them.
15650         (window_pixel_height): new function. calulate window pixel height
15651         with frame gutter involvement.
15652         (Fsplit_window): calculate new sizes taking frame gutters into
15653         account.
15654         (window_char_height_to_pixel_height): don't include frame gutters.
15655         (window_char_height): use window_pixel_height.
15656         (window_pixheight): rename from window_pixel_height.
15657         (change_window_height): use it.
15658         (window_pixel_height_to_char_height): don't include frame gutters.
15659         (window_char_width_to_pixel_width): ditto.
15660
15661 2000-02-25  Andy Piper  <andy@xemacs.org>
15662
15663         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15664         if it is.
15665
15666 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15667
15668         * alloc.c (staticpro):
15669         (staticpro_nodump):
15670         (dumpstruct):
15671         (dumpopaque):
15672         (pdump_wire):
15673         (pdump_wire_list):
15674         (compact_string_chars):
15675         (pdump_dump_wired):
15676         Convert:  if (foo) abort();  ==>  assert (! foo);
15677
15678         * eldap.c (Fldap_search_basic):
15679         (Fldap_add):
15680         (Fldap_modify):
15681         (Fldap_delete):
15682         Fix compiler warnings, and possible crashes if (random) return
15683         value were to be used.
15684
15685 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15686
15687         * device-msw.c: Workaround ResetDC failure.
15688
15689         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15690         applying a devmode.
15691
15692         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15693         (mswindows_text_width): Do not start printer page.
15694
15695         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15696
15697         * glyphs-msw.c: Added image methods to msprinter console and
15698         msprinter-specific image instantiation.
15699
15700 2000-02-20  Mike Alexander  <mta@arbortext.com>
15701
15702         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15703         to avoid crashes when selection-sets-clipboard is on
15704         (mswindows_own_selection): ditto
15705
15706 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15707
15708         * glyphs-msw.c:
15709         * redisplay-msw.c (get_frame_dc):
15710         (get_frame_compdc):
15711         * console-msw.h:
15712         * device-msw.c (mswindows_init_device):
15713         (mswindows_delete_device):
15714         (msprinter_init_device):
15715         (msprinter_delete_device):
15716         * frame-msw.c (mswindows_init_frame_1):
15717         (mswindows_delete_frame):
15718         (msprinter_init_frame_3):
15719         (msprinter_delete_frame): Move compatible DC to device object from
15720         frame object, for both mswindows and msprinter. Only one at a time
15721         is needed, it is a real waste to have one per frame!
15722
15723 2000-02-23  Andy Piper  <andy@xemacs.org>
15724
15725         * glyphs.c: add dynamic width and height elements.
15726         (image_instance_equal): ditto.
15727
15728         * glyphs-widget.c (widget_query_geometry): calculate width and
15729         height dynamically if required.
15730         (initialize_widget_image_instance): initialize dynamic dimensions.
15731         (widget_instantiate): pick-up dynamic dimensions.
15732
15733         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15734         dynamic determination. Add appropriate macros.
15735
15736         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15737         dimensions safe.
15738         (WINDOW_GUTTER_SIZE): ditto.
15739         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15740
15741         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15742         inline.
15743         (get_frame_dc): ditto.
15744
15745         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15746         here.
15747
15748 2000-02-23  Martin Buchholz <martin@xemacs.org>
15749
15750         * XEmacs 21.2.31 is released.
15751
15752 2000-02-22  Ben Wing <ben@xemacs.org>
15753
15754         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15755
15756 2000-02-22  Andy Piper  <andy@xemacs.org>
15757
15758         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15759
15760 2000-02-21  Mike Sperber <mike@xemacs.org>
15761
15762         * .dbxrc:
15763         * .gdbinit:
15764         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15765         variables.
15766
15767 2000-02-21  Mike Sperber <mike@xemacs.org>
15768
15769         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15770
15771 2000-02-21  Martin Buchholz <martin@xemacs.org>
15772
15773         * XEmacs 21.2.30 is released.
15774
15775 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15776
15777         Performance hacking.
15778         * *.c (syms_of_*):
15779         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15780         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15781         * emacs.c (main_1):
15782         * lisp.h (DEFUN):
15783         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15784         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15785         * symeval.h (DEFVAR_SYMVAL_FWD):
15786         * symbols.c (guts_of_unbound_marker):
15787         Make all c_readonly objects also lisp_readonly and marked for life.
15788         * lrecord.h (struct lrecord_implementation):
15789         Document flags better.
15790         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15791         * lrecord.h (DECLARE_LRECORD):
15792         * lrecord.h (XSETRECORD):
15793         * lrecord.h (RECORDP):
15794         * lrecord.h (RECORD_TYPEP):
15795         * lrecord.h (RECORD_MARKER): New.
15796         * lrecord.h (error_check_*):
15797         * lrecord.h (CONCHECK_NONRECORD):
15798         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15799         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15800         * lrecord.h (set_lheader_implementation):
15801         * lrecord.h (enum lrecord_type): New.
15802         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15803         * alloc.c (disksave_object_finalization_1):
15804         * alloc.c (mark_object):
15805         * alloc.c (lrecord_type_index):
15806         * alloc.c (tick_lcrecord_stats):
15807         * alloc.c (Fgarbage_collect):
15808         * alloc.c (init_alloc_once_early):
15809         * alloc.c (pdump_load):
15810         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15811         * alloc.c (lrecord_type_index): Delete.
15812         Make lisp object type indexes be constant.
15813           Makes (byte-compile) 5% faster.
15814         Put all marker functions into their own array.
15815           Makes (garbage-collect) 5% faster.
15816         Optimize SYMBOL_VALUE_MAGIC_P.
15817           Makes (byte-compile) 2-3% faster.
15818         * config.h.in (gc_checking_assert): New.
15819         * alloc.c: Use gc_checking_assert().
15820         * .dbxrc: Make compatible with new object type implementation.
15821         * .gdbinit: Make compatible with new object type implementation.
15822         * alloc.c: Delete all symbols defined only for debugging, such as
15823         Lisp_Type_Vector and lrecord_charset.
15824
15825 2000-02-21  Andy Piper  <andy@xemacs.org>
15826
15827         * gui-msw.c (Fmswindows_shell_execute): fix file location
15828         problems.
15829
15830         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15831         unshowing so that set_window_buffer doesn't undo
15832         kill_buffer_hook's hard work.
15833
15834         * glyphs-widget.c (tab_control_query_geometry): don't count the
15835         first item when calculating geometry.
15836
15837         * glyphs.c (map_subwindow): remove redundant code.
15838         (update_frame_subwindows): be more circumspect about when to
15839         update subwindows.
15840
15841         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15842         when items haven't changed. Update faces if faces have changed as
15843         well as just the widget face.
15844         (x_tab_control_update): Update faces if faces have changed as well
15845         as just the widget face.
15846
15847 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15848
15849         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15850         registration.
15851         (build_syscolor_string): Use mswindows_color_to_string to try to
15852         get a named color.
15853         (mswindows_device_system_metrics): Reverse the foreground and
15854         background colors so that they match the documentation.
15855
15856         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15857         they match the default Windows palette.
15858         (mswindows_color_to_string): New function.
15859
15860 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15861
15862         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15863
15864 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15865
15866         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15867         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15868
15869         * symbols.c (init_symbols_once_early): Removed obsolete
15870         DATA_SEG_BITS related kludge.
15871         (defvar_magic): Ditto.
15872
15873         * malloc.c: Removed obsolete DATA_SEG_BITS
15874         * ralloc.c: Ditto.
15875         * mem-limits.h: Ditto.
15876
15877         * Makefile.in.in: Removed obsolete HAVE_SHM
15878         * emacs.c: Ditto.
15879
15880 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15881
15882         *  device-msw.c (mswindows_delete_device): Free DDE string
15883         handles.
15884
15885 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15886
15887         * keymap.c (get_keyelt):
15888         * unexnt.c (unexec):
15889         * vm-limit.c (memory_warnings):
15890         * ntheap.c (recreate_heap):
15891         * ntheap.h (UNINIT_PTR):
15892         * select-msw.c (Fmswindows_get_clipboard):
15893         (Fmswindows_set_clipboard):
15894         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15895         * objects-msw.c:
15896         * menubar-msw.c (displayable_menu_item):
15897         * glyphs-msw.c:
15898         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15899         * sysdep.c (sys_subshell):
15900         * process-nt.c (nt_create_process):
15901         * nt.c (normalize_filename):
15902         (dostounix_filename):
15903         (unixtodos_filename):
15904         * ntproc.c (win32_executable_type):
15905         * ntplay.c (play_sound_data_1):
15906         (play_sound_file):
15907         * editfns.c (get_home_directory):
15908         * event-msw.c (struct winsock_stream):
15909         (mswindows_dde_callback):
15910         * device-msw.c (msprinter_init_device):
15911         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15912
15913         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15914         mswindows_clear_toolbar were swapped!
15915
15916         * objects-msw.c:(colormap_t):
15917         (fontmap_t):
15918         * emacs.c (struct standard_args): Fixed const jumble.
15919
15920         * glyphs-widget.c (update_widget): Fixed comparison notation.
15921
15922         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15923
15924         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15925         __declspec(noreturn) syntax.
15926
15927 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15928
15929         * eldap.c (Fldap_open):
15930         (Fldap_search_basic):
15931         (Fldap_add):
15932         (Fldap_modify):
15933         Use new coding system conversion macros.
15934
15935 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15936
15937         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15938
15939 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15940
15941         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15942         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15943
15944         * eldap.c (Qadd, Qreplace): New constant symbols
15945         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15946         interruptions by XEmacs signals
15947         Remove unnecessary calls to slow_down_interrupts and
15948         speed_up_interrupts
15949         (Fldap_search_basic): Renamed from Fldap_search_internal
15950         Added new optional parameter VERBOSE that triggers the
15951         display of progress messages
15952         Remove unnecessary calls to slow_down_interrupts and
15953         speed_up_interrupts
15954         LDAP result code analysis rewritten
15955         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15956         (syms_of_eldap): Define the new symbols and functions
15957
15958
15959 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15960
15961         * realpath.c: Determine PATH_MAX maximally portably.
15962
15963         * insdel.c (bytecount_to_charcount): Optimize.
15964         The function used to be optimized for entirely ASCII sequences.
15965         Now it is optimized for successive characters from the same
15966         charset.  This also wins big for _mostly_ ASCII sequences.
15967
15968         * fileio.c (Ffile_truename): convert return from realpath() using
15969         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15970         - Rewrite GCPROing slightly.
15971
15972         * sysdep.c (sys_open): Do filename conversion, like all other
15973         sys_* functions.  Fixes bug:
15974         (let ((file-name-coding-system 'iso-8859-2))
15975            (write-region x y latin2-name))
15976         ==> writes filename using internal encoding.
15977
15978 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15979
15980         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15981         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15982         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15983         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15984         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15985         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15986         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15987         (CONST_IF_NOT_DEBUG): Delete.
15988         * alloc.c (this_one_is_unmarkable): Delete.
15989         (mark_object): Don't check for this_one_is_unmarkable. Use the
15990         c_readonly flag instead.
15991         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15992
15993 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15994
15995         * event-msw.c (mswindows_drain_windows_queue):
15996         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15997         away redundant repaint events.
15998
15999 2000-02-17  Andy Piper  <andy@xemacs.org>
16000
16001         * redisplay.h: declare mark_redisplay_structs.
16002
16003         * redisplay.c (redisplay_window):
16004         (redisplay_frame): don't check subwindows_state_changed.
16005         (mark_redisplay): mark gutters here.
16006
16007         * glyphs.c: (instantiate_image_instantiator): always layout if we
16008         haven't done so already.
16009         (allocate_image_instance): don't mark as dirty.
16010         (update_subwindow): bind inhibit_quit.
16011
16012         * gutter.c (mark_gutters): new function.
16013
16014         * glyphs-x.c (x_update_widget): Always resize to get round a
16015         widget bug.
16016
16017         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16018         breaking absolutely everything.
16019
16020         * gutter.h: declare mark_gutters.
16021
16022 2000-02-16  Martin Buchholz <martin@xemacs.org>
16023
16024         * XEmacs 21.2.29 is released.
16025
16026 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16027
16028         * fns.c (size_bit_vector): Fix computation of the size.
16029
16030 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16031
16032         * *.[ch]: Change CONST to const globally.
16033         find -name '*.[ch]' | \
16034         xargs global-replace \
16035         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16036         - Remove vestigial references to CONST_IS_LOSING
16037
16038 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16039
16040         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16041         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16042         events instead of dispatching them directly.
16043         (mswindows_handle_paint): New function to do repainting.
16044         (mswindows_wnd_proc):
16045         (emacs_mswindows_handle_magic_event): Call above function.
16046
16047 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16048
16049         * objects-msw.c (mswindows_create_font_variant): Return the new
16050         font handle.
16051         (initialize_font_instance): Get font metrics from the underlined
16052         variant of the font to cope with the case where the underlined
16053         font has a bigger descent.
16054
16055 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16056
16057         * gui.c (gui_item_accelerator): Return the first underlined
16058         character in item name.
16059
16060 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16061
16062         * lisp.h: Added Qprinter.
16063
16064         * general.c (syms_of_general): Initialized it.
16065
16066         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16067         (get_frame_dc):
16068         (get_frame_compdc): Made inline.
16069
16070         * console.h (struct console_methods): Added eject_page method.
16071
16072         * frame.h: Added FRAME_DISPLAY_P and friends.
16073         Aligned backslahes in many macros in more readable fashion.
16074         Added page_number to struct frame, and an accessor macro
16075         for it.
16076
16077         * defice.h: Added DEVICE_DISPLAY_P and friends.
16078
16079         * device.c (Fdevice_printer_p): Used these.
16080
16081         * frame.c (allocate_frame_core): Initialize page number.
16082         (Fprint_job_page_number):
16083         (Fprint_job_eject_page): Implemented.
16084
16085         * frame-msw.c (msprinter_eject_page): Added method.
16086         (msprinter_start_page): Added.
16087
16088         * window.c (Fwindow_truncated_p): Fixed docstring.
16089         (Fwindow_last_line_visible_height): Implemented.
16090
16091 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16092
16093         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16094
16095 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16096
16097         * syntax.c (scan_words): Always advance at least one character.
16098
16099 2000-02-13  Andy Piper  <andy@xemacs.org>
16100
16101         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16102         to make sure the glyph is in the cachels.
16103
16104         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16105         global image instance flag.
16106         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16107         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16108
16109         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16110         (Fset_image_instance_property): mark layout as changed.
16111         (invalidate_glyph_geometry_maybe): mark layout as changed.
16112         (glyph_width): use new NEEDS_LAYOUT macro.
16113         (glyph_ascent): ditto.
16114         (glyph_descent): ditto.
16115         (glyph_height): ditto.
16116         (image_instance_layout): mark layout as clean after laying out.
16117         (update_subwindow): don't mark layout as clean here.
16118
16119         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16120         should no longer be needed.
16121
16122         * glyphs-x.c (x_update_widget): sanitize asserts.
16123         (x_finalize_image_instance): sanitize assignment to widgets.
16124
16125         * glyphs-widget.c (widget_instantiate): don't need to clear the
16126         layout flag here.
16127
16128 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16129
16130         * sysdep.c (getcwd): Use standard prototype.
16131         * sysdep.h (getcwd): Use standard prototype.
16132
16133         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16134         (sequence, start, end).
16135         Remove redundant type checking.
16136         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16137         view of `caller-protects') to avoid a crash where the real fix was
16138         found elsewhere.
16139
16140 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16141
16142         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16143
16144         * s/sol2.h: Remove feature macro initialization.
16145
16146         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16147         (vector_hash): New.  Code from internal_hash.
16148         * lrecord.h:
16149         Fix up allocation subsystem comments.
16150
16151         * config.h.in: Add __EXTENSIONS__ for Solaris.
16152
16153         * systime.h (EMACS_GETTIMEOFDAY): New.
16154         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16155         Remove Solaris-specific code.
16156         Use void* for the (ignored) second arg for gettimeofday().
16157
16158         * elhash.c (hash_table_hash): Implement it, finally.
16159         * elhash.c:  Use hashcode_t.
16160
16161         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16162         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16163
16164         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16165         * fns.c (size_bit_vector):
16166         * alloc.c (size_vector):
16167         (make_vector_internal):
16168         (make_bit_vector_internal):
16169         (sweep_bit_vectors_1):
16170         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16171
16172 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16173
16174         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16175         Include strings.h to avoid warnings for bzero and strcasecmp.
16176
16177 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16178
16179         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16180         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16181
16182         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16183         sequence.
16184
16185 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16186
16187         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16188         use a value field instead.
16189         (symbol_value_forward_forward): Use value field.
16190         (DEFVAR_SYMVAL_FWD): Use value field.
16191         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16192         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16193         (DEFVAR_CONST_INT): Ditto.
16194         (DEFVAR_BOOL): Ditto.
16195         (DEFVAR_CONST_BOOL): Ditto.
16196         (DEFVAR_INT_MAGIC): Ditto.
16197         (DEFVAR_BOOL_MAGIC): Ditto.
16198
16199         * symbols.c (guts_of_unbound_marker): Use value field.
16200         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16201         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16202
16203         * lisp.h: Declare dumpopaque and noninteractive1.
16204
16205         * alloc.c (dumpopaque): Added.
16206         (pdump_dump_opaquevec): Added.
16207         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16208         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16209         noninteractive.
16210
16211 2000-02-10  Andy Piper  <andy@xemacs.org>
16212
16213         * glyphs.c (image_instance_layout): if the size changes, mark it
16214         as such.
16215
16216         * redisplay-output.c (redisplay_output_layout): Update the
16217         subwindow here.
16218         (redisplay_output_subwindow): ditto.
16219
16220         * glyphs.c (update_subwindow): make sure we reset flags for
16221         layouts as well as everything else.
16222
16223         * glyphs-widget.c (layout_layout): don't need to set the instances
16224         dimensions here.
16225
16226 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16227
16228         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16229         not HAVE_DLOPEN, which is a lower-level thing.
16230
16231         * .cvsignore: Ignore gmon.out
16232
16233 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16234
16235         * .cvsignore: Ignore portable dumper xemacs.dmp file
16236
16237 2000-02-09  Andy Piper  <andy@xemacs.org>
16238
16239         * redisplay-output.c (redisplay_output_layout): be more clever
16240         about when we output based on the changed flags.
16241
16242         * glyphs.h (struct image_instantiator_methods): add update_method.
16243         (struct Lisp_Image_Instance): add changed flags. Declare new
16244         macros for manipulating them.
16245
16246         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16247         (image_instance_parent_glyph): find an image_instance's parent
16248         glyph or image_instance.
16249         (image_instance_layout): mark the size as changed.
16250         (set_image_instance_dirty_p): new function. mark an image
16251         instance, plus all of its parents, as dirty.
16252         (Fset_image_instance_property): use it.
16253         (Fglyph_animated_timeout_handler): use it.
16254         (update_subwindow): call update_widget and device methods for
16255         update_subwindow. Mark all changed flags as clean.
16256         (Fresize_subwindow): mark size as changed.
16257
16258         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16259         failures.
16260         (x_update_subwindow): only resize subwindows here.
16261         (x_update_widget): new function. Update all changed properties of
16262         a widget.
16263         (x_resize_subwindow): deleted.
16264         (x_widget_set_property): deleted.
16265         (x_progress_gauge_set_property): deleted.
16266         (x_progress_gauge_update): new function. Implement recorded
16267         changes.
16268         (x_tab_control_update): ditto.
16269         (x_tab_control_set_property): deleted.
16270         (console_type_create_glyphs_x): declare new functions.
16271         (image_instantiator_format_create_glyphs_x): ditto.
16272
16273         * glyphs-widget.c (widget_set_property): mark text changed.
16274         (update_widget): new function. Update properties of a widget.
16275         (widget_instantiate): for layouts make sure we set their
16276         children's parent correctly.
16277         (tab_control_set_property): new function. Record changes that will
16278         take place under redisplay's control.
16279         (progress_gauge_set_property): ditto.
16280         (image_instantiator_progress_guage): declare new functions.
16281         (image_instantiator_tab_control): ditto.
16282
16283         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16284         now.
16285         (mswindows_update_widget): new function. Update all properties on
16286         a widget that have changed.
16287         (mswindows_button_update): new function. Update a button's set
16288         state.
16289         (mswindows_tab_control_update): new function. Update the items in
16290         a tab.
16291         (mswindows_tab_control_set_property): deleted.
16292         (mswindows_progress_gauge_update): new function. Update the
16293         progress gauge's progress.
16294         (mswindows_widget_set_property): deleted. This is all done
16295         asynchronously now.
16296         (mswindows_progress_gauge_set_property): ditto.
16297         (console_type_create_glyphs_mswindows): declare new methods.
16298         (image_instantiator_format_create_glyphs_mswindows): ditto.
16299
16300         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16301         (msprinter_set_frame_properties): ditto.
16302
16303         * console.h (struct console_methods): Add update_widget_method.
16304
16305 2000-02-09  Andy Piper  <andy@xemacs.org>
16306
16307         * gui-msw.c (Fmswindows_shell_execute): Make
16308         mswindows-shell-execute industrial strength.
16309
16310 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16311
16312         * lrecord.h: Make macro argument `props' match member function `plist'.
16313         * fns.c (Fget):
16314         * fns.c (Fput):
16315         * fns.c (Fremprop):
16316         * fns.c (Fobject_plist):
16317         * alloc.c:
16318         * symbols.c:
16319         Object property list frobbing cleanup.
16320         - Allow any lisp object (compared with `eq'), not just symbols, as
16321           keys in object plists.
16322         - Move symbol plist frobbing into symbols.c, where it belongs.
16323         - Move string plist frobbing into alloc.c, where it belongs.
16324         - Everything's an lrecord now, so no need to test for symbolp, etc.
16325         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16326
16327         * extents.c: Reorder code to remove declarations.
16328
16329         * frame.h (store_in_alist): Remove useless declaration.
16330
16331 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16332
16333         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16334         * config.h.in: Add HAVE_XCONVERTCASE.
16335
16336 2000-02-07  Andy Piper  <andy@xemacs.org>
16337
16338         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16339         it breaks many things.
16340
16341 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16342
16343         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16344         actually can start a common comment type.
16345         * src/syntax.h (SYNTAX_END_P): ditto for end.
16346
16347 2000-02-07  Martin Buchholz <martin@xemacs.org>
16348
16349         * XEmacs 21.2.28 is released.
16350
16351 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16352
16353         * event-Xt.c (x_keysym_to_character): New.
16354         (maybe_define_x_key_as_self_inserting_character): New.
16355         (x_has_keysym): New.
16356         Auto-define all keys on the keyboard as self-insert-key.
16357
16358 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16359
16360         * menubar.c (vars_of_menubar): A small code simplification.
16361
16362         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16363
16364         * ExternalShell.c:
16365         * ExternalClient.c:
16366         * EmacsShell-sub.c:
16367         * EmacsManager.c:
16368         * EmacsFrame.c:
16369         Use consistent style for specifying X resources.
16370
16371         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16372         This makes (dontusethis-set-symbol-value-handler) actually usable.
16373
16374         * lrecord.h (lrecord_decription_type):
16375         * alloc.c (pdump_register_sub):
16376         (pdump_dump_data):
16377         (pdump_reloc_one):
16378         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16379         Comply with XEmacs coding style.
16380         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16381         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16382
16383         * keymap.c (Faccessible_keymaps):
16384         Make (accessible-keymaps map "\C-h") do the Right Thing.
16385         Make (accessible-keymaps map []) do the Right Thing.
16386         Make (accessible-keymaps map "") do the Right Thing.
16387         (check_keymap_definition_loop): New function.
16388         (keymap_store_internal): Keep luser from shooting self in foot,
16389           via (define-key ctl-x-4-map "p" global-map).
16390         Remove fullness slot from struct Lisp_Keymap, since hash tables
16391         are now reliable.
16392         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16393
16394 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16395
16396         * redisplay.c (init_redisplay): Fix small memory leak.
16397         * elhash.h:
16398         * elhash.c (pdump_reorganize_hash_table):
16399         Rename from reorganize_hash_table. Change prototype.
16400         Reuse the original memory for hentries.  Save 100k.
16401         * alloc.c (PDUMP_READ): new macro.
16402         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16403         * alloc.c: No need to #ifndef before #undef.
16404
16405         * print.c: Allow debug_print() to print readably by modifying
16406         debug_print_readably.  Use consistent variable names.
16407
16408         * .dbxrc: Try to get things to work even if stopped in a function
16409         without source available by explicitly specifying source files.
16410 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16411
16412         * unexnt.c (_start): Removed bogus code which caused loading heap
16413         from differrent executable file.
16414         Removed bogus assignment to _fmode, which caused inconsistencies.
16415
16416 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16417
16418         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16419         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16420         Do not preliminary `#define signal sigset'.
16421
16422         * systime.h: Do not prototype environ on windows nt and cygwin,
16423         this conflicts with system header.
16424
16425         * syssignal.h: Use correct define for WINDOWSNT
16426
16427         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16428         with system header.
16429
16430         * sysdep.c (near start of file): Fixed commentary and rearranged
16431         ifdefs in readable order.
16432         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16433         (start_of_text):
16434         (end_of_text):
16435         (end_of_data): Do not compile in if using PDUMP.
16436
16437         * symsinit.h: Prototyped vars_of_nt().
16438
16439         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16440         (find_child_console): Use it.
16441         (sys_kill): Use it.
16442
16443         * ntheap.h: Do not extern os_subtype.
16444
16445         * ntheap.c (cache_system_info): Do not cache unneeded:
16446         nt_major_version, nt_minor_version and os_subtype.
16447         (recreate_heap): Do not compile in when PDUMPing.
16448
16449         * nt.c (geteuid and friends): Use the new varibale
16450         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16451         (init_user_info): Removed the above mentioned hackery.
16452         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16453         stat has been fixed in the C runtime.
16454         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16455
16456         * file-coding.c (struct file_coding_dump): Do not define
16457         ucs_to_mule_table in the struct if not MULE.
16458         (struct struct lrecord_description fcd_description_1): Do not dump
16459         the above.
16460
16461         * emacs.c (main_1): Call vars_of_nt().
16462         (right before Fdump_emacs_data): Don't need lastfile if using both
16463         portabe dumper and system malloc.
16464
16465         * alloc.c (Fmemory_limit): Conditionalized out.
16466         (pdump): Use OPEN_BINARY for the portable dump file.
16467         (pdump_load): Ditto.
16468
16469 2000-02-02  Mike Alexander  <mta@arbortext.com>
16470
16471         * nt.c (convert_time): Set tm_isdst before calling mktime and
16472         avoid calling it at all if the compiler supports 64 bit integers.
16473         Also initialize utc_base_ft before using it.
16474
16475 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16476
16477         * frame.c (change_frame_size_1): Take f->internal_border_width
16478         into consideration when calculating the width of the frame.
16479
16480 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16481
16482         * window.c (frame_min_height):
16483         (frame_size_valid_p):
16484         (frame_pixsize_valid_p): Added.
16485         (check_frame_size): Generalized.
16486
16487         * window.h: Prototyped the above.
16488
16489         * lisp.h:
16490         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16491         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16492         Deleted Vwin32_* and Vbinary_process_* unused variables.
16493
16494         * device-msw.c (msprinter_init_device): Do not get printer font
16495         list; Added DEVMODE functions.
16496
16497         * frame-msw.c: Added lots of printer code.
16498
16499         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16500         general.c.
16501
16502         * console-msw.h: Added more msprinter device private slots.
16503
16504 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16505
16506         * event-msw.c (key_needs_default_processing_p): Added.
16507         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16508
16509 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16510
16511         * glyphs.c (image_instance_layout): Mark image instance as clean
16512         after layout.
16513         (glyph_dirty_p): Removed redundant function.
16514         (invalidate_glyph_geometry_maybe): Added.
16515         (update_glyph_cachel_data): Call it.
16516
16517         * glyphs.h: Prototyped it.
16518
16519         * redisplay.c (add_glyph_rune): Call it.
16520         (redisplay_window): Reset glyphs cachels when frame faces have
16521         changed, thus forcing recomputation of built-in border glyphs.
16522
16523 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16524
16525         * Makefile.in.in: Make portable dumper and purify play well together.
16526         Add imperfect, but better than nothing, support for pdump.
16527         Remove xemacs.dmp when temacs is re-generated.
16528         Don't ignore errors when dumping xemacs.
16529
16530         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16531
16532 2000-01-28  Andy Piper  <andy@xemacs.org>
16533
16534         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16535         (setup_normal_frame): ditto.
16536         (setup_frame_without_minibuffer): ditto.
16537         (setup_minibuffer_frame): ditto.
16538         (delete_frame_internal): ditto.
16539         (Fmake_frame_invisible): ditto.
16540         (Ficonify_frame): ditto.
16541
16542         * window.h: change Fset_window_buffer signature.
16543
16544         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16545         (Fset_window_buffer): allow recording of buffer if the window is
16546         the selected window.
16547         (window_loop): Use new Fset_window signature.
16548
16549 2000-01-23  Daniel Pittman  <daniel@danann.net>
16550
16551         * config.h.in: Added template for `HAVE_ATHENA_3D'
16552
16553 2000-01-29  Andy Piper  <andy@xemacs.org>
16554
16555         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16556
16557         * gutter.c (output_gutter): Don't output if the window isn't live.
16558
16559 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16560
16561         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16562         of 01/12/00: Moved SetFocus back here where it belongs.
16563
16564 2000-01-23  Andy Piper  <andy@xemacs.org>
16565
16566         * s/cygwin32.h: declare printer things.
16567
16568 2000-01-26  Andy Piper  <andy@xemacs.org>
16569
16570         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16571         Alexander.
16572
16573 2000-01-24  Andy Piper  <andy@xemacs.org>
16574
16575         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16576         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16577
16578         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16579
16580         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16581
16582         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16583
16584         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16585         (mswindows_output_display_block): Avoid local shadows.
16586
16587         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16588         (mswindows_enqueue_mouse_button_event): ditto.
16589         (mswindows_handle_gui_wm_command): remove declaration.
16590
16591         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16592         warnings.
16593
16594         * console-msw.h: Avoid shadows.
16595         (mswindows_get_toolbar_button_text):
16596         (emacs_mswindows_create_stream_pair):
16597         (emacs_mswindows_delete_stream_pair):
16598         (mswindows_handle_toolbar_wm_command): declare.
16599
16600         * device-msw.c (build_syscolor_string): Avoid shadows.
16601
16602 2000-01-23  Andy Piper  <andy@xemacs.org>
16603
16604         * glyphs-widget.c (widget_instantiate): reverse the items for
16605         layouts so that children are in the expected order.
16606
16607 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16608
16609         * ralloc.c: safe_bcopy ==> memmove
16610         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16611         * s/msdos.h: Remove BCOPY macros.
16612         * insdel.c (gap_right): Remove BCOPY conditional code.
16613         * insdel.c (gap_left): Remove BCOPY conditional code.
16614         XEmacs demands a working ANSI C compiler - hence memmove.
16615
16616         * regex.c (regex_compile): Remove accidental use of trigraphs.
16617
16618 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16619
16620         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16621         event timestamp.
16622
16623 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16624
16625         * event-msw.c (mswindows_drain_windows_queue): Added the
16626         parameter.
16627         (mswindows_need_event): Commented the call to
16628         mswindows_drain_windows_queue().
16629         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16630         only.
16631
16632         * console-msw.h: Moved a few function prototypes here from
16633         event-msw.c.
16634
16635         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16636         parameter from unsigned short to unsigned long.
16637         (Fmswindows_shell_execute): Added return value.
16638
16639 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16640
16641         * sysdep.c (init_system_name):
16642           process-unix.c (unix_canonicalized_host_name):
16643         Don't call freeaddrinfo() if getaddrinfo() fails.
16644
16645         * process-unix.c (unix_open_unix_network_stream):
16646         Moved the code to get a port # into address loop.
16647
16648 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16649
16650         * buffer.c (reinit_vars_of_buffer):
16651         The right place to initialize conversion_in_dynarr and
16652         conversion_out_dynarr.
16653
16654         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16655
16656         * process-unix.c (unix_canonicalize_host_name): Muleize.
16657         (unix_open_network_stream): Muleize.
16658
16659         * buffer.h: Fix up prototypes for ralloc.c functions.
16660
16661 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16662         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16663         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16664                 instead of gethostbyname()
16665         * process-unix.c: In unix_canonicalize_host_name() and
16666                 unix_open_network_stream(), add code to use getaddrinfo()
16667                 instead of gethostbyname().
16668
16669 2000-01-27  Daniel Pittman <daniel@danann.net>
16670
16671         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16672         libs when built with flat Athena.
16673
16674 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16675
16676         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16677         Use coding standards for function prototypes.
16678
16679 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16680
16681         * dialog-msw.c (push_lisp_string_as_unicode):
16682         * doc.c (unparesseuxify_doc_string):
16683         * dired.c (Fuser_name_completion_1):
16684         * dired.c (Fuser_name_all_completions):
16685         * dired.c (free_user_cache):
16686         * dired.c (user_name_completion):
16687         * console-x.c (get_display_arg_connection):
16688         * minibuf.c (clear_echo_area_internal):
16689         * minibuf.c (echo_area_append):
16690         * eldap.c (Fldap_open):
16691         * eldap.c (Fldap_search_internal):
16692         * frame-x.c (x_set_frame_text_value):
16693         * frame-x.c (x_set_frame_properties):
16694         * frame-x.c (x_create_widgets):
16695         * redisplay-tty.c (term_get_fkeys_1):
16696         * objects-x.c (x_parse_nearest_color):
16697         * objects-x.c (x_valid_color_name_p):
16698         * objects-x.c (x_initialize_font_instance):
16699         * objects-x.c (x_list_fonts):
16700         * objects-x.c (x_find_charset_font):
16701         * tooltalk.c (Fadd_tooltalk_message_arg):
16702         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16703         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16704         * process-unix.c (unix_create_process):
16705         * ntproc.c (sys_spawnve):
16706         * sound.c (Fplay_sound_file):
16707         * sound.c (Fplay_sound):
16708         * buffer.c (init_initial_directory):
16709         * buffer.c (init_buffer):
16710         * editfns.c (init_editfns):
16711         * editfns.c (Ftemp_directory):
16712         * editfns.c (Fuser_full_name):
16713         * editfns.c (uncache_home_directory):
16714         * editfns.c (get_home_directory):
16715         * editfns.c (Fuser_home_directory):
16716         * editfns.c (Fformat_time_string):
16717         * editfns.c (Fcurrent_time_string):
16718         * gui-x.c (button_item_to_widget_value):
16719         * database.c (Fopen_database):
16720         * event-Xt.c (x_to_emacs_keysym):
16721         * event-Xt.c (x_event_to_emacs_event):
16722         * event-Xt.c (describe_event_window):
16723         * event-msw.c (mswindows_wnd_proc):
16724         * glyphs-eimage.c (jpeg_instantiate):
16725         * glyphs-eimage.c (gif_instantiate):
16726         * glyphs-eimage.c (png_instantiate):
16727         * glyphs-eimage.c (tiff_instantiate):
16728         * glyphs-x.c (xbm_instantiate_1):
16729         * glyphs-x.c (x_xbm_instantiate):
16730         * glyphs-x.c (x_xface_instantiate):
16731         * glyphs-x.c (autodetect_instantiate):
16732         * glyphs-x.c (cursor_font_instantiate):
16733         * glyphs-x.c (x_widget_instantiate):
16734         * glyphs-x.c (x_widget_set_property):
16735         * glyphs-x.c (x_widget_property):
16736         * glyphs-x.c (BUILD_GLYPH_INST):
16737         * print.c (write_string_to_stdio_stream):
16738         * print.c (output_string):
16739         * print.c (Falternate_debugging_output):
16740         * print.c (Fexternal_debugging_output):
16741         * glyphs-msw.c (extract_xpm_color_names):
16742         * glyphs-msw.c (mswindows_xpm_instantiate):
16743         * glyphs-msw.c (bmp_instantiate):
16744         * glyphs-msw.c (resource_name_to_resource):
16745         * glyphs-msw.c (mswindows_resource_instantiate):
16746         * glyphs-msw.c (xbm_instantiate_1):
16747         * glyphs-msw.c (mswindows_xbm_instantiate):
16748         * glyphs-msw.c (mswindows_xface_instantiate):
16749         * glyphs-msw.c (mswindows_widget_instantiate):
16750         * glyphs-msw.c (add_tree_item):
16751         * glyphs-msw.c (add_tab_item):
16752         * glyphs-msw.c (mswindows_combo_box_instantiate):
16753         * glyphs-msw.c (mswindows_widget_property):
16754         * glyphs-msw.c (mswindows_combo_box_property):
16755         * glyphs-msw.c (mswindows_widget_set_property):
16756         * console.c (stuff_buffered_input):
16757         * objects-msw.c (mswindows_initialize_color_instance):
16758         * objects-msw.c (mswindows_valid_color_name_p):
16759         * objects-msw.c (mswindows_list_fonts):
16760         * objects-msw.c (mswindows_font_instance_truename):
16761         * bytecode.c (optimize_compiled_function):
16762         * select-x.c (symbol_to_x_atom):
16763         * select-x.c (x_atom_to_symbol):
16764         * select-x.c (hack_motif_clipboard_selection):
16765         * select-x.c (selection_data_to_lisp_data):
16766         * select-x.c (lisp_data_to_selection_data):
16767         * select-x.c (Fx_get_cutbuffer_internal):
16768         * select-x.c (Fx_store_cutbuffer_internal):
16769         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16770         * buffer.h (TO_INTERNAL_FORMAT): New function.
16771         * emacs.c (make_arg_list_1):
16772         * emacs.c (make_argc_argv):
16773         * emacs.c (main_1):
16774         * emacs.c (Fdump_emacs):
16775         * emacs.c (split_string_by_emchar_1):
16776         * file-coding.h:
16777         * lisp.h:
16778         * lstream.h:
16779         * symsinit.h:
16780         * device-x.c (x_init_device):
16781         * device-x.c (Fx_valid_keysym_name_p):
16782         * device-x.c (Fx_get_font_path):
16783         * device-x.c (Fx_set_font_path):
16784         * glyphs.c (bitmap_to_lisp_data):
16785         * glyphs.c (pixmap_to_lisp_data):
16786         * alloc.c (make_ext_string): Use coding system arguments.  Update
16787         all callers.
16788         * alloc.c (build_string):
16789         * callproc.c (child_setup):
16790         * callproc.c (init_callproc):
16791         * fileio.c (lisp_strerror):
16792         * fileio.c (directory_file_name):
16793         * fileio.c (Fexpand_file_name):
16794         * fileio.c (Ffile_truename):
16795         * fileio.c (Fsysnetunam):
16796         * fileio.c (Fdo_auto_save):
16797         * sysdep.c (sys_readdir):
16798         * tests.c: New file.  Allow adding C tests.
16799         Replace GET_* macros with a more comprehensible and flexible
16800         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16801         Modify all calls.
16802         Any coding system can be used to do format conversion.
16803         Eliminate enum external_data_format.
16804         Eliminate convert_to_external_format.
16805         Eliminate convert_to_internal_format.
16806         Make sure file-name, keyboard, terminal, and ctext are always
16807         defined as coding systems or aliases.  Make
16808         file-name-coding-system, terminal-coding-system, and
16809         keyboard-coding-system magical variables that are equivalent to
16810         defining the corresponding coding system aliases.
16811
16812         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16813         * file-coding.c (Fcoding_system_alias_p): New function.
16814         * file-coding.c (Fcoding_system_aliasee): New function.
16815         * file-coding.c (append_suffix_to_symbol): New function.
16816         * file-coding.c (dangling_coding_system_alias_p): New function.
16817         * file-coding.c (Ffind_coding_system):
16818         * file-coding.c (Fcopy_coding_system):
16819         * file-coding.c (encode_coding_no_conversion):
16820         * file-coding.c (syms_of_file_coding):
16821         * file-coding.c (vars_of_file_coding):
16822         Rewrite coding system alias code.
16823         Allow nested aliases, like symbolic links.
16824         Allow redefinition of coding system aliases.
16825         Prevent existence of dangling coding system aliases.
16826
16827         * dired.c (Fuser_name_completion_1):
16828         * dired.c (Fuser_name_all_completions):
16829         A crash would happen if user did QUIT in the middle of building
16830         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16831
16832         * lisp.h:
16833         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16834
16835         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16836         an unsigned char *.  Update all callers.
16837
16838 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16839
16840         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16841
16842 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16843
16844         * elhash.c (hentry_description): Use more portable definition.
16845         (resize_hash_table): Initialize new hentries using
16846         xnew_array_and_zero, thereby simplifying the code.
16847
16848         * mule-charset.c (make_charset): Make sure entire object is
16849         initialized, to avoid Purify warnings.
16850
16851         * alloc.c (resize_string): Fix unlikely crash with big strings.
16852
16853 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16854
16855         * realpath.c (xrealpath):
16856         Don't call getwd().
16857
16858 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16859
16860         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16861
16862 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16863
16864         * unexelfsgi.c (unexec): Change the way we decide which segment
16865         should be extended.
16866
16867         Assumption that .bss section should be outside the PT_LOADable
16868         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16869         it's present) is inside the 'data' segment. This would fail the
16870         test which was used to find a segment to grow and cover new
16871         heap. Instead of this assumption, I created another one - on IRIX
16872         the segment to grow should start below .bss and it's address
16873         should extent above the end of .bss. Once this segment is
16874         identified, it's grown to accommodate the new heap and new
16875         zero-length .bss section is added at the end of .data2.
16876
16877 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16878
16879         * eval.c (Feval): Wrong number of arguments should use original
16880         function, not the indirect_function version of it.
16881
16882 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16883
16884         * glyphs-x.c (x_button_instantiate): Don't add image if
16885         it is not a pixmap.
16886         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16887         is relative.
16888
16889 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16890
16891         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16892         declaration.
16893         (DEFVAR_INT_MAGIC): Ditto.
16894         (DEFVAR_BOOL_MAGIC): Ditto.
16895         * glyphs.h: Reindent backslash.
16896
16897 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16898
16899         * glyphs-widget.c (layout_query_geometry):
16900         (layout_layout): Use correct types for gheight, gwidth.
16901
16902 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16903
16904         * EmacsManager.c (QueryGeometry): Purified.
16905
16906 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16907
16908         * alloc.c (make_float): Make sure entire object is initialized, to
16909         avoid Purify warnings.
16910         (pdump_register_sub): Remove useless assignment.
16911         (pdump): Use xmalloc, not malloc.
16912         (pdump_load): Use xmalloc, not malloc.
16913
16914 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16915
16916         * callproc.c:
16917         * dired-msw.c:
16918         * fileio.c:
16919         * process-nt.c:
16920         * redisplay-msw.c:
16921         * sysdep.c: Removed redundant #include <windows.h>
16922
16923 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16924
16925         * frame.c (delete_frame_internal): Do not delete device when its
16926         implementation so declares.
16927         (delete_frame_internal): Set device selected frame to nil when
16928         last frame goes away.
16929
16930         * device-msw.c (msprinter_device_system_metrics): Implemented.
16931         (mswindows_device_system_metrics): Added 'device-dpi property.
16932
16933         * device.c: (Fdevice_printer_p): Added.
16934         Added 'offset-workspace device metric.
16935
16936         * console.h (device_metrics): Declared DM_offset_workspace.
16937
16938 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16939
16940         * fileio.c (Ffile_truename): Remove pointless and confusing
16941         initialization of elen.
16942
16943         * glyphs-widget.c: Compiler warning fixes.
16944
16945 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16946
16947         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16948         instead of a Lisp_Object as argument to make it consistent with
16949         the other LIVE_P macros.
16950         (CHECK_LIVE_PROCESS): New macro.
16951
16952         * process.c: Declare Qprocess_live_p.
16953         (Fprocess_live_p): New function.
16954         (create_process): Use PROCESS_LIVE_P.
16955         (read_process_output): Ditto.
16956         (set_process_filter): Ditto.
16957         (Fdelete_process): Ditto.
16958         (kill_buffer_processes): Ditto
16959         (process_send_signal): Use CHECK_LIVE_PROCESS.
16960         (Fprocess_input_coding_system): Check whether process is still
16961         alive (fix PR#1061).
16962         (Fprocess_output_coding_system): Ditto.
16963         (Fprocess_coding_system): Ditto.
16964         (Fset_process_input_coding_system): Ditto.
16965         (Fset_process_output_coding_system): Ditto.
16966
16967 2000-01-23  Andy Piper  <andy@xemacs.org>
16968
16969         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16970         layout and widget.
16971
16972         * glyphs.c (mark_image_instance): take into account changed
16973         image_instance format.
16974         (image_instance_equal): ditto.
16975         (image_instance_hash): ditto.
16976
16977         * glyphs-widget.c (widget_instantiate): Incorporate layout
16978         instantiation here. Delay layout of the layout until later.
16979         (layout_instantiate): deleted.
16980         (layout_query_geometry): new function. get the geometry of a
16981         layout.
16982         (layout_layout): layout a layout dynamically.
16983         (image_instantiator_widget): New function - splitting up
16984         image_instantiator_format_create_glyphs_widget for netwinder
16985         compilation.
16986         (image_instantiator_buttons):
16987         (image_instantiator_edit_fields):
16988         (image_instantiator_combo_box):
16989         (image_instantiator_scrollbar):
16990         (image_instantiator_progress_guage):
16991         (image_instantiator_tree_view):
16992         (image_instantiator_tab_control):
16993         (image_instantiator_labels):
16994         (image_instantiator_layout): ditto.
16995         (image_instantiator_format_create_glyphs_widget): Call preceding
16996         functions.
16997
16998 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16999
17000         * process.c (Fset_process_coding_system):
17001         * device-x.c (Fx_keysym_hash_table):
17002         Docstring fixes.
17003
17004         * lstream.c (Lstream_write): Return documented value, not 0.
17005
17006         * fileio.c (directory_file_name):
17007         (Fsubstitute_in_file_name):
17008         (Fsubstitute_insert_file_contents_internal):
17009         (Fwrite_region_internal):
17010         * emacs.c:
17011         * sysdep.c:
17012         * getloadavg.c:
17013         * systty.h:
17014         Remove vestigial APOLLO-conditional code.
17015
17016 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17017
17018         * getpagesize.h: Add guard macros.
17019         * libsst.h: Add guard macros.
17020         * libst.h: Add guard macros.
17021         * line-number.h: Add guard macros.
17022         * ndir.h: Add guard macros.
17023         * sysfloat.h: Add guard macros.
17024         * sysfile.h: Add guard macros.
17025         * sysproc.h: Add guard macros.
17026         * syswait.h: Add guard macros.
17027         * xintrinsic.h: Add guard macros.
17028         * xintrinsicp.h: Add guard macros.
17029         * xmmanager.h: Add guard macros.
17030         * xmmanagerp.h: Add guard macros.
17031         * xmprimitive.h: Add guard macros.
17032         * xmu.h: Add guard macros.
17033         * gpmevent.h: Add copyright statement. Add guard macros.
17034         * miscplay.h: Add guard macros.
17035         * *.h: Use consistent C-standards-approved guard macro names.
17036
17037         * opaque.c (make_opaque): Switch parameter order.
17038         * opaque.h (make_opaque): Switch parameter order.
17039         Update all callers.
17040         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17041
17042         * config.h.in (type_checking_assert): Added.
17043         (bufpos_checking_assert): Added.
17044
17045 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17046
17047         * alloc.c: Harmless pdump changes.
17048         - Use countof().
17049         - spell alignment correctly.
17050         * sysdep.c: Use countof()
17051
17052 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17053
17054         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17055         initially_selected_for_input() console method, default to 0.
17056         (semi_canonicalize_console_connection): Try to delegate to
17057         canonicalize_console_connection if no such console method.
17058         (canonicalize_console_connection): Vice versa.
17059         (print_console): Do not print nil connection.
17060
17061         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17062         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17063         (XDEVIMPF_FRAMELESS_OK): Added.
17064         (CONSOLE_INHERITS_METHOD): Added.
17065
17066         * console-msw.c (mswindows_canonicalize_console_connection):
17067         Added.
17068         (mswindows_canonicalize_device_connection): Added.
17069
17070         * console-msw.h (struct msprinter_device): Added this struct and
17071         accessor macros.
17072         (mswindows_device): Made fontlist a lisp object.
17073
17074         * device.c (semi_canonicalize_device_connection):  Try to delegate
17075         to canonicalize_device_connection if no such console method.
17076         (canonicalize_device_connection): Vice versa.
17077         (print_device): Do not print nil connection.
17078
17079         * device-msw.c (mswindows_init_device): Call InitCommonControls
17080         when have widgets.
17081         (mswindows_delete_device): Removed fontlist deallocation.
17082         (mswindows_mark_device): Added.
17083
17084         * events.c (event_equal): Added abort() at unreached code.
17085         (event_hash): Ditto.
17086
17087         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17088         fallback tags of Windows devices.
17089
17090         * general.c (syms_of_general): Initialized Qmsprinter.
17091
17092         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17093         of fallback tags of Windows devices.
17094
17095         * lisp.h: Declared Qmsprinter.
17096
17097         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17098         of strings.
17099         (mswindows_list_fonts): Ditto.
17100         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17101         that it can be used by both mswindows and msprinter devices.
17102         (initialize_font_instance): Added.
17103         (mswindows_initialize_font_instance): Use it.
17104         (msprinter_initialize_font_instance): Added.
17105
17106         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17107         and implementation flags check.
17108         (redisplay_without_hooks): Changed the call to the above.
17109         (Fredraw_device): Ditto.
17110         (Fredisplay_device): Ditto.
17111
17112         * redisplay-msw.c (get_frame_dc): Implemented.
17113         (get_frame_compdc): Implemented.
17114         (many functions): Use the two functions above to get device
17115         contexts, ether for a window or a printer.
17116
17117 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17118
17119         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17120         initialization here.
17121         (init_symbols_once_early): Call it.
17122         * emacs.c (main_1): Call it.
17123         * symsinit.h: Declare it.
17124
17125 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17126
17127         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17128         Lisp_Object.
17129         (pdump_backtrace): Ditto.
17130         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17131         (pdump_get_entry): Abort if trying to register a null pointer.
17132         (pdump_dump_data): Cleanup types when relocating.
17133         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17134         (pdump_dump_rtables): Remove bad casts.
17135         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17136         Lisp_Object instead of a EMACS_INT for the hashtable
17137         reorganization.
17138
17139 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17140
17141         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17142
17143         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17144
17145         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17146
17147         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17148
17149 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17150
17151         * faces.h (FACE_STRIKETHRU_P): Added.
17152
17153         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17154         of font variants.
17155
17156         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17157         (mswindows_set_dc_font): New function, aware of font variants,
17158         separated from mswindows_update_dc.
17159
17160         * objects-msw.h (struct mswindows_font_instance_data): Added
17161         definition.
17162
17163         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17164         cached fonts and the data structure.
17165         (mswindows_initialize_font_instance): Added creation of font data
17166         structure.
17167         (mswindows_print_font_instance): Print at least something.
17168         (mswindows_create_font_variant): Implemented.
17169         (mswindows_get_hfont): Implemented.
17170
17171 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17172
17173         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17174         prototyping problem with msvc.
17175
17176         * emacs.c (main_1): added syms_of_gui_mswindows() call
17177
17178         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17179         syms_of_gui_mswindows() function
17180
17181         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17182
17183 2000-01-18  Martin Buchholz <martin@xemacs.org>
17184
17185         * XEmacs 21.2.27 is released.
17186
17187 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17188
17189         * glyphs-eimage.c (struct tiff_error_struct):
17190         (tiff_error_func):
17191         (tiff_warning_func):
17192         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17193
17194         * unexmips.c:
17195         * unexhp9k3.c:
17196         * unexfreebsd.c:
17197         * unexec.c: Remove vestigial Lucid C code.
17198         * unexalpha.c:
17199         * unexaix.c:
17200         * termcap.c:
17201         * libsst.c: Ansify.
17202         Remove declarations of errno and strerror().
17203
17204         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17205
17206         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17207
17208 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17209
17210         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17211         Optimize.
17212
17213 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17214
17215         * md5.c:
17216         * file-coding.c:
17217         * file-coding.h:
17218         Change enum eol_type to eol_type_t.
17219
17220 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17221
17222         * gui.c (get_gui_callback): Check cons before accessing car.
17223
17224 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17225
17226         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17227         (XSETSPECIFIER_TYPE): Ditto.
17228
17229 2000-01-17  Didier Verna  <didier@xemacs.org>
17230
17231         * redisplay.c (generate_fstring_runes): compute string size in
17232         characters, not bytes.
17233
17234 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17235
17236         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17237
17238 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17239
17240         * print.c (print_error_message): Call print_prepare().
17241
17242 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17243
17244         * .dbxrc: Renamed from dbxrc.
17245
17246         * events.c (event_to_character):
17247         Use `assert (foo)' instead of `if (!foo) abort()'
17248
17249         * .gdbinit (xtype): Add documentation.
17250         * .gdbinit (check-temacs): New function.
17251         * .gdbinit (check-xemacs): New function.
17252         * dbxrc (check-xemacs): New function.
17253         * dbxrc (check-xemacs): New function.
17254
17255 2000-01-14  Andy Piper  <andy@xemacs.org>
17256
17257         * glyphs-widget.c (widget_query_geometry): Make sure that we
17258         calculate default dimensions correctly.
17259
17260 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17261
17262         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17263
17264         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17265         pdump_wire'd variable.
17266
17267         * emacs.c: (main_1): Conditionalized calls to
17268         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17269
17270 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17271
17272         * window.c (Fset_window_configuration):
17273         * sysdep.c (_start):
17274         * input-method-motif.c (res):
17275         * event-Xt.c (Xt_process_to_emacs_event):
17276         Simple compiler warning fixes.
17277
17278         * bytecode.c (funcall_compiled_function): Use the original
17279         function symbol on the backtrace list in preference to the
17280         compiled_function object in error messages.
17281
17282 2000-01-13  Andy Piper  <andy@xemacs.org>
17283
17284         * glyphs-x.c (update_widget_face): Make sure we update the widget
17285         background as well as foreground.
17286
17287 2000-01-13  Andy Piper  <andy@xemacs.org>
17288
17289         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17290         fields to subwindow.
17291         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17292         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17293         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17294         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17295
17296         * glyphs-widget.c (check_valid_tab_orientation): new function.
17297         (initialize_widget_image_instance): zero orientation and
17298         justification.
17299         (widget_instantiate): pick up orientation.
17300         (tab_control_query_geometry): return appropriate values for
17301         vertical tabs.
17302
17303         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17304         appropriate creation flags for left, right and bottom tabs.
17305
17306         * s/cygwin32.h: add tab definitions.
17307
17308 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17309
17310         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17311         frame upon hiding a subwindow.
17312         (mswindows_button_instantiate): Changed the push button style to
17313         BS_PUSHBUTTON.
17314         (mswindows_button_instantiate): Removed button BS_NOTIFY
17315         style.
17316         (mswindows_button_instantiate): Removed redundant check for
17317         a disabled gui item.
17318         (mswindows_button_instantiate): Made use of WS_TABSTOP
17319         consistent: "operable" controls (edit, button, tree, scroll) have
17320         this style, "display-only" ones (static, progress gauge) do
17321         not. This style is currently ignored by XEmacs though. Also,
17322         removed the WS_EX_CONTROLPARENT style - it is not for children,
17323         it is for their parents!
17324         (mswindows_edit_field_instantiate): Ditto.
17325         (mswindows_progress_gauge_instantiate): Ditto.
17326         (mswindows_tree_view_instantiate): Ditto.
17327         (mswindows_tab_control_instantiate): Ditto.
17328         (mswindows_scrollbar_instantiate): Ditto.
17329         (mswindows_combo_box_instantiate): Ditto.
17330         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17331         style to the "clip" window.
17332         (mswindows_button_instantiate): Removed compilation warning by
17333         equally typing terms of the ?: operator.
17334
17335 2000-01-12  Didier Verna  <didier@xemacs.org>
17336
17337         * redisplay.c (generate_fstring_runes): new parameter holding the
17338         last modeline-format extent.
17339         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17340         extent, fill the glyph block with it.
17341         (generate_fstring_runes): handle these parameters.
17342         (generate_formatted_string_db): ditto.
17343
17344         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17345         glyphs'extents in the modeline.
17346
17347 1999-01-11  Mike Woolley  <mike@bulsara.com>
17348
17349         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17350         256Mb, as a workaround for the non-starting problem many people
17351         have experienced.
17352
17353 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17354
17355         * console-tty.c (Fset_console_tty_output_coding_system):
17356         Force redrawing tty frame.
17357
17358 2000-01-10  Didier Verna  <didier@xemacs.org>
17359
17360         * redisplay.c (generate_fstring_runes): fix size computation bug.
17361
17362 2000-01-09  William M. Perry <wmperry@aventail.com>
17363
17364         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17365
17366 2000-01-09  Andy Piper  <andy@xemacs.org>
17367
17368         * glyphs-msw.c: index -> i to avoid shadows.
17369         (xbm_create_bitmap_from_data): make static.
17370         (check_valid_string_or_int): deleted.
17371         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17372
17373         * glyphs-x.c (x_update_subwindow): remove unused args.
17374
17375         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17376         back pointer - this is done in allocate_image_instance.
17377         (query_string_font): return Qnil to make the compiler happy.
17378         (unmap_subwindow): set to ~0 to make the compiler happy.
17379         (glyph_query_geometry): comment out until used.
17380         (glyph_layout): ditto.
17381
17382 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17383
17384         * insdel.c (signal_after_change): Remove extraneous unbind_to().