Fix typo.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
4         (Kizu).
5
6 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * text-coding.c (Qccs_priority_list): New variable in XEmacs
9         CHISE.
10         (Fmake_coding_system): Support new property `ccs-priority-list' in
11         XEmacs CHISE.
12         (Fcoding_system_property): Likewise.
13         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
14         Vdefault_coded_charset_priority_list in XEmacs CHISE.
15         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
16         XEmacs CHISE.
17         (complex_vars_of_file_coding): Define new coding-system-property
18         `ccs-priority-list' in XEmacs CHISE.
19
20         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
21
22 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
25         changed to normal function.
26         (encode_char_2): Likewise.
27
28         * mule-charset.c (decoding_table_put_char): Copied from
29         char-ucs.h; changed to normal function.
30         (encode_char_2): Likewise.
31
32 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
35         New extern.
36         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
37         (encode_char_2_search_children): New inline function.
38         (encode_char_2): Refer
39         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
40         and use `encode_char_2_search_children'.
41
42 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * mule-charset.c
45         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
46         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
47         (vars_of_mule_charset): Add new variable
48         `display-coded-charset-priority-use-inheritance' and
49         `display-coded-charset-priority-use-hierarchy-order'.
50
51 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * char-ucs.h (Q_subsumptive): New extern.
54         (Q_denotational): Likewise.
55         (encode_char_2): Search children specified by `->subsumptive' and
56         `->denotational'.
57
58 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * mule-charset.c (complex_vars_of_mule_charset): Modify the
61         X-registry of `ucs-bmp'.
62
63 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
64
65         * chartab.c (char-variants): Refer `->subsumptive',
66         `->denotational' and `->identical' as same as `->ucs-unified'.
67
68 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * chartab.c (Fput_char_attribute): Convert char-specs in value of
71         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
72         links.
73
74 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * text-coding.c: Add EXFUN for `Fregexp_quote'.
77         (decode_add_er_char): Fix problem about infinite loop when a CCS
78         specified in `coded-charset-entity-reference-alist' is not
79         existed.
80
81 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * mule-charset.c (syms_of_mule_charset): Rename
84         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
85
86 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * fns.c (simplify_char_spec): Don't allocate new character-object
89         if specified char_spec does not have any CCS-features.
90
91         * chartab.h: Add EXFUN for Fdefine_char.
92
93         * chartab.c: Delete EXFUN for Fdefine_char.
94
95 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * fns.c (simplify_char_spec): Use Fdefine_char instead of
98         Ffind_char for char-spec.
99
100 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * lisp-disunion.h (XCHARVAL): Fix condition about
103         SIZEOF_EMACS_INT.
104
105 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
108         <int> for `code'.
109         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
110         point; use <Emchar> instead of <int> for character-id.
111
112 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
115         (make_char): Likewise.
116         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
117         environment.
118         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
119         instead of <int> as the type of return value; use <Lisp_Object>
120         instead of <Emchar> as the type of argument.
121         (XCHARVAL[macro version]): Cast the result into <Emchar>.
122
123         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
124         syntaxcode> instead of <int>.
125
126 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * chartab.c (put_char_composition): Use DECODE_CHAR to get
129         character corresponding with UCS code point.
130         (Fput_char_attribute): Likewise.
131
132         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
133         character in the UCS decoding-table if the char-id is not equal to
134         the UCS code point.
135
136 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
139         for aliases; write `description'; write
140         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
141         not 0.
142
143 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * chartab.c (Fsave_char_attribute_table): Don't use
146         `save_charset_properties'.
147
148         * mule-charset.c (Fsave_charset_properties): Renamed from
149         `save_charset_properties' and changed to Lisp function again;
150         write property `type' as `CCS'; write properties `final-byte' and
151         `mother' if they exists.
152         (syms_of_mule_charset): Revive builtin function
153         `save-charset-properties' when HAVE_LIBCHISE is defined.
154
155 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
158         instead of Vexec_directory.
159         (char_attribute_system_db_file): Likewise.
160
161 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * chartab.c (Fsave_char_attribute_table): Use
164         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
165         defined.
166
167         * mule-charset.c (save_charset_properties): Renamed from
168         `Fsave_charset_properties'; changed to non-Lisp function.
169         (syms_of_mule_charset): Abolish builtin function
170         `save-charset-properties'.
171
172 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * mule-charset.c (Fsave_charset_properties): New function when
175         HAVE_LIBCHISE is defined.
176         (syms_of_mule_charset): Add new builtin function
177         `save-charset-properties' when HAVE_LIBCHISE is defined.
178
179 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * chartab.c (Fput_char_attribute): Convert char-specs in value of
182         `{<-|->}ancient[^*]*' to characters and put reverse links.
183         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
184         for `{<-|->}ancient[^*]*'.
185
186 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * chartab.c (Fput_char_attribute): Convert char-specs in value of
189         `{<-|->}original[^*]*' to characters and put reverse links.
190         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
191         for `{<-|->}original[^*]*'.
192
193 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
196
197 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * mule-charset.c (Qsystem_char_id): New variable.
200
201         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
202         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
203
204 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (Fput_char_attribute): When processing a reference of
207         a character, put into the end of the reversed reference of each
208         target character.
209
210 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * chartab.c (Q_same): Deleted.
213         (Q_same_of): Deleted.
214         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
215         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
216         for `{<-|->}same'.
217         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
218
219 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * chartab.c (Q_vulgar): Deleted.
222         (Q_vulgar_of): Deleted.
223         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
224         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
225         for `{<-|->}vulgar'.
226         (syms_of_chartab): Don't define `{<-|->}vulgar'.
227
228 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * chartab.c (Fput_char_attribute): Convert char-specs in value of
231         `{<-|->}wrong[^*]*' to characters and put reverse links.
232         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
233         for `{<-|->}wrong[^*]*'.
234
235 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * chartab.c (Q_vulgar): New variable.
238         (Q_vulgar_of): New variable.
239         (Fput_char_attribute): Convert char-specs in value of
240         `{->|<-}vulgar' to characters and put reverse links.
241         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
242         for `{->|<-}vulgar'.
243         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
244
245 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * text-coding.c (decode_add_er_char): Must to quote prefix string
248         as regexp.
249
250 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (put_char_ccs_code_point): Store characters of
253         =ucs whose code_points >= 0xF0000.
254
255 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
258         CHISE.
259         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
260         CHISE.
261         (complex_vars_of_mule_charset): Add new coded-charset
262         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
263         builtin characters over 0xEFFFF.
264
265         * chartab.c (syms_of_chartab): Don't define symbol
266         `system-char-id' in every case.
267
268         * char-ucs.h (Qsystem_char_id): New extern variable.
269         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
270
271 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * text-coding.c (char_encode_utf8): Try to use entity-references
274         for U-000F0000 ...  U-0010FFFF.
275
276 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * text-coding.c (ER_BUF_SIZE): New macro.
279         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
280         `er_buf'.
281         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
282         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
283
284 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
285
286         * chartab.c (find_char_feature_in_family): New function.
287         (Fchar_feature): Use `find_char_feature_in_family' with
288         `->identical', `<-subsumptive' and `<-denotational'.
289
290 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
291
292         * text-coding.c (char_encode_as_entity_reference): Allow prefix
293         within 8 characters; fix infinite loop.
294
295 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * chartab.c (Q_same): New variable.
298         (Q_same_of): New variable.
299         (Fput_char_attribute): Convert char-specs in value of
300         `{->|<-}same' to characters and put reverse links.
301         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
302         for `{->|<-}same'.
303         (syms_of_chartab): Add new symbols `{->|<-}same'.
304
305 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * chartab.c (Q_component): New variable.
308         (Q_component_of): Likewise.
309         (Fput_char_attribute): Convert char-specs in value of
310         `{->|<-}ideographic-component-forms' to characters and put reverse
311         links.
312         (syms_of_chartab): Add new symbols
313         `{->|<-}ideographic-component-forms'.
314
315 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
316
317         * chartab.c (Q_identical): New variable.
318         (Q_identical_from): New variable.
319         (Fchar_feature): Regard `->identical' as a feature to find
320         ancestors.
321         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
322         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
323         for `{->|<-}identical'.
324         (syms_of_chartab): Add new symbols `{->|<-}identical'.
325
326 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * char-ucs.h (encode_char_2): New inline function.
329         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
330
331 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * chartab.c (Fput_char_attribute): Convert char-specs to
334         characters in value of `ideographic-structure'.
335         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
336         for `{<-|->}simplified(@...)'.
337         (Fdefine_char): Try to use predefined character's id.
338
339 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * fns.c (simplify_char_spec): Try to convert builtin chars to
342         defined chars.
343
344 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
345
346         * chartab.c (Fput_char_attribute): Convert char-specs in value of
347         `<-simplified[^*]*' to characters and put reverse links.
348
349 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * chartab.c (Q_subsumptive): Renamed from Q_unified.
352         (Q_subsumptive_from): Renamed from Q_unified_from.
353         (Fchar_feature): Use `Q_subsumptive_from' instead of
354         `Q_unified_from'.
355         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
356         `Q_unified'.
357         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
358         `<-unified' to `<-subsumptive'.
359
360 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
363         inheritance itself; fix typo; stop recursive search if cyclic
364         inheritance is found.
365
366 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * chartab.c (Q_denotational): New variable.
369         (Q_denotational_from): New variable.
370         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
371         (put_char_attribute): New function.
372         (Fput_char_attribute): Use `put_char_attribute'; regard
373         `->denotational' and `<-denotational' as same as `->unified' and
374         `<-unified'.
375         (syms_of_chartab): Add new symbols `->denotational' and
376         `<-denotational'.
377
378 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
381         `Fget_char_attribute'.
382         (Fchar_variants): Likewise.
383         (get_char_table): Likewise.
384         (Fchar_feature): New function.
385         (put_char_composition): Use `Fchar_feature' instead of
386         `Fget_char_attribute'.
387         (Fput_char_attribute): Likewise; don't put the target character
388         into its `->unified' value.
389         (syms_of_chartab): Add new builtin function `char-feature'.
390
391 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
394         `Fget_char_attribute'.
395         (char_encode_utf8): Likewise.
396
397         * chartab.h: Add an EXFUN for `Fchar_feature'.
398
399 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * chartab.c (Vnext_defined_char_id): New variable.
402         (Fput_char_attribute): Accept characters in `->unified'.
403         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
404         new characters which are not related with builtin char-id ranges.
405         (vars_of_chartab): Add new variable `next-defined-char-id'.
406
407 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
408
409         * chartab.c (Q_unified): New variable.
410         (Q_unified_from): New variable.
411         (Fput_char_attribute): Add code for `->unified'.
412         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
413         XEmacs CHISE.
414
415 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * mule-charset.c (decode_ccs_conversion): New function.
418         (decode_defined_char): Use `decode_ccs_conversion'.
419         (decode_builtin_char): Likewise.
420
421 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
422
423         * char-ucs.h: Change some charset-ids of private coded-charsets.
424
425 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
428         (char_encode_as_entity_reference): Likewise.
429         (decode_coding_big5): Modify for `decode_defined_char' and
430         `DECODE_CHAR'.
431         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
432         avoid compiler warning.
433         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
434
435         * mule-charset.c (decode_defined_char): Add new argument
436         `without_inheritance'.
437         (Fdecode_char): Add new optional argument `without_inheritance'.
438         (Fdecode_builtin_char): Modify for `Fdecode_char'.
439
440         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
441         (simplify_char_spec): Likewise.
442
443         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
444         setting.
445
446         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
447         (map_char_table): Likewise.
448         (Fdefine_char): Use `Fdecode_char' without inheritance.
449         (Ffind_char): Modify for `Fdecode_char'.
450
451         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
452
453         * char-ucs.h (decode_defined_char): Add new argument
454         `without_inheritance'.
455         (DECODE_CHAR): Likewise.
456         (MAKE_CHAR): Modify for `DECODE_CHAR'.
457
458 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * chartab.c (Vchise_system_db_directory): New variable.
461         (vars_of_chartab): Add new variable `chise-system-db-directory'.
462
463 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * chartab.c: EXFUN `Fmount_char_attribute_table'.
466         (print_chartab_range): Don't define when `UTF2000' is defined.
467         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
468         `CHISE_DS_open'.
469
470 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
473         and optional argument `rehash' is specified, call
474         `open_chise_data_source_maybe' before
475         `chise_ds_foreach_char_feature_name' is called.
476
477 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
478
479         * chartab.c (char_attribute_list_reset_map_func): New function
480         when HAVE_LIBCHISE is defined.
481         (Fchar_attribute_list): Add new optional argument `rehash' when
482         HAVE_LIBCHISE is defined.
483         (open_chise_data_source_maybe): Use "chise-db" instead of
484         "char-db".
485         (char_attribute_system_db_file): Likewise.
486         (Fload_char_attribute_table): Use
487         `chise_feature_foreach_char_with_value' instead of
488         `chise_char_feature_value_iterate'.
489
490 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * chartab.c (Vchise_db_directory): New variable.
493         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
494
495 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
498         instead of HAVE_CHISE to specify using with libchise.
499
500         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
501
502         * chartab.h: Don't use HAVE_CHISE_CLIENT.
503
504         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
505         defined or HAVE_LIBCHISE_LIBCHISE is defined.
506         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
507         is defined.
508         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
509         HAVE_CHISE to specify using with libchise.
510         (syms_of_chartab): Don't define symbol `system-char-id' when
511         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
512
513 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
516         specify CHISE DB support.
517         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
518         of `char_attribute_system_db_file' to check feature DB file.
519
520         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
521         HAVE_CHISE_CLIENT to specify CHISE DB support.
522
523         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
524         specify CHISE DB support.
525         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
526         not defined.
527         (Freset_char_attribute_table): Use `chise_feature_setup_db'
528         instead of `char_attribute_system_db_file' to check feature DB
529         file.
530
531 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
534         `HAVE_CHISE_CLIENT'.
535
536 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
539         (Fsave_charset_mapping_table): Don't use
540         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
541
542         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
543         (HAVE_LIBCHISE): New macro.
544
545         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
546
547         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
548         (Fsave_char_attribute_table): Don't use
549         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
550
551 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
554         defined.
555         (save_uint16_byte_table): Likewise.
556         (save_byte_table): Likewise.
557         (char_table_get_db): Use `chise_ds_load_char_feature_value'
558         instead of `chise_char_load_feature_value'.
559         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
560
561 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * chartab.h (struct Lisp_Char_Table): Delete member
564         `feature_table' if CHISE is defined.
565
566         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
567         (Fcopy_char_table): Likewise.
568         (char_table_open_db_maybe): Likewise.
569         (char_table_close_db_maybe): Likewise.
570         (char_table_get_db): Likewise.
571         (Fmount_char_attribute_table): Likewise.
572         (Fload_char_attribute_table): Likewise.
573
574 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * mule-charset.c (load_char_decoding_entry_maybe): Use
577         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
578         `chise_ccs_decode'.
579
580 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
583         instead of `chise_open_data_source'.
584         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
585         `chise_ds_close'.
586
587 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
590         instead of `chise_ds_open_feature_table'.
591         (char_table_close_db_maybe): Don't use `chise_ft_close'.
592
593 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * mule-charset.c (Fsave_charset_mapping_table): Use
596         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
597         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
598         `chise_ccs_sync' instead of `chise_ccst_close'.
599         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
600
601         * chartab.c (open_chise_data_source_maybe): Modify for
602         `chise_open_data_source'.
603         (char_table_open_db_maybe): Modify for
604         `chise_ds_open_feature_table'.
605
606 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
607
608         * mule-charset.c (load_char_decoding_entry_maybe): Use
609         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
610         `chise_ccst_close'.
611
612 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
613
614         * mule-charset.c (Fsave_charset_mapping_table): Use
615         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
616         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
617         `chise_dt_put_char' and `chise_dt_close'.
618         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
619         `chise_ccs_decode' and `chise_ccst_close' instead of
620         `chise_ds_open_decoding_table', `chise_dt_get_char' and
621         `chise_dt_close'.
622
623         * chartab.c (char_table_get_db): Use
624         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
625         (load_char_attribute_table_map_func): Modify for
626         `chise_char_feature_value_iterate'.
627         (Fload_char_attribute_table): Use
628         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
629
630 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
633
634 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
635
636         * chartab.c (put_char_table): Modify for inherited coded-charsets
637         in XEmacs CHISE.
638
639 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
640
641         * chartab.c (Fput_char_table_map_function): Fixed.
642         (word_boundary_p): Don't check charset in XEmacs CHISE.
643
644 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
645
646         * mule-charset.c (Fsave_charset_mapping_table): Use
647         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
648         instead of `chise_open_decoding_table'; refer
649         `default_chise_data_source'; use `chise_dt_close' instead of
650         `chise_close_decoding_table'.
651         (load_char_decoding_entry_maybe): Likewise.
652
653         * chartab.c (default_chise_data_source): New variable when `CHISE'
654         is defined.
655         (Fcopy_char_table): `ct->ds' is deleted.
656         (open_chise_data_source_maybe): New function.
657         (Fclose_char_data_source): New function.
658         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
659         use `chise_ds_open_feature_table' instead of
660         `chise_open_feature_table'.
661         (char_table_close_db_maybe): Use `chise_ft_close' instead of
662         `chise_close_feature_table'; `cit->ds' is deleted.
663         (syms_of_chartab): Add new builtin function
664         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
665
666         * chartab.h (default_chise_data_source): New extern variable.
667         (open_chise_data_source_maybe): New prototype.
668         (struct Lisp_Char_Table): Delete `ds'.
669
670 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
671
672         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
673         `CHISE' is defined.
674
675 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
676
677         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
678         not defined; add code for non-libchise setting.
679         (char_table_close_db_maybe): Likewise.
680         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
681         defined.
682         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
683         even if `CHISE' is not defined.
684         (Freset_char_attribute_table): Likewise.
685         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
686         `char_table_close_db_maybe' even if `CHISE' is not defined; use
687         `char_table_get_db'.
688         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
689         `char_table_close_db_maybe' even if `CHISE' is not defined.
690
691 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
692
693         * chartab.c (char_table_open_db_maybe): New function.
694         (char_table_close_db_maybe): New function.
695         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
696         (Freset_char_attribute_table): Likewise.
697         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
698         `char_table_close_db_maybe'.
699         (Fload_char_attribute_table): Likewise.
700
701 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
702
703         * chartab.c: Don't include <chise.h> because it is included in
704         chartab.h.
705         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
706         defined.
707         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
708         `CHISE' is defined.
709         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
710         `CHISE' is defined.
711         (Fclose_char_attribute_table): Close `ct->feature_table' and
712         `ct->ds' when `CHISE' is defined.
713         (Freset_char_attribute_table): Likewise.
714         (load_char_attribute_maybe): Use `cit->ds' and
715         `cit->feature_table' when `CHISE' is defined.
716         (Fload_char_attribute_table): Likewise.
717
718         * chartab.h: Include <chise.h> when `CHISE' is defined.
719         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
720         when `CHISE' is defined.
721
722 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
723
724         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
725         is defined.
726         (char_table_description): Likewise.
727         (Fmake_char_table): Likewise.
728         (Fcopy_char_table): Likewise.
729         (Fmount_char_attribute_table): Likewise.
730         (Fclose_char_attribute_table): Likewise.
731         (Freset_char_attribute_table): Likewise.
732         (load_char_attribute_maybe): Likewise.
733         (Fload_char_attribute_table): Likewise.
734
735         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
736         defined.
737
738 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
739
740         * chartab.c (load_char_attribute_table_map_func): New function
741         when CHISE is defined.
742         (Qload_char_attribute_table_map_function): Don't define when CHISE
743         is defined.
744         (Fload_char_attribute_table_map_function): Likewise.
745         (Fload_char_attribute_table): Use libchise when `CHISE' is
746         defined.
747         (syms_of_chartab): Don't define
748         `load-char-attribute-table-map-function' when CHISE is defined.
749
750 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
751
752         * chartab.c: Include <chise.h> when `CHISE' is defined.
753         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
754
755 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * mule-charset.c (charset_code_point): Fix problem when searching
758         in mother CCS fails with `defined_only' mode.
759
760 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
761
762         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
763         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
764         (put_char_composition): Likewise.
765         (Fput_char_attribute): Likewise.
766         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
767
768 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
769
770         * chartab.c (Q_ucs): Deleted.
771         (Fput_char_attribute): Don't refer `->ucs'.
772         (Fdefine_char): Likewise.
773         (Ffind_char): Likewise.
774         (syms_of_chartab): Delete `->ucs'.
775
776 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
777
778         * mule-charset.c (Qmap_cns11643_2): Renamed from
779         `Qchinese_cns11643_2'.
780         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
781         `chinese-cns11643-2'.
782         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
783         `=cns11643-2'.
784
785 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * mule-charset.c (Qmap_cns11643_1): Renamed from
788         `Qchinese_cns11643_1'.
789         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
790         `chinese-cns11643-1'.
791         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
792         `=cns11643-1'.
793
794 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
795
796         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
797         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
798         `chinese-gb12345'.
799         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
800         `=gb12345'.
801
802 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
805         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
806         `chinese-gb2312'.
807         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
808         `=gb2312'.
809
810 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
811
812         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
813         (syms_of_mule_charset): Add new symbol `=big5' instead of
814         `chinese-big5'.
815         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
816
817 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
818
819         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
820         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
821         `korean-ksc5601'.
822         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
823         `=ks-x1001'.
824
825 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
826
827         * mule-charset.c (Qmap_jis_x0212): Renamed from
828         `Qjapanese_jisx0212'.
829         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
830         `japanese-jisx0212'.
831         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
832         `=jis-x0212'.
833
834 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
835
836         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
837         `Qjapanese_jisx0208'.
838         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
839         of `japanese-jisx0208'.
840         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
841         `=jis-x0208-1983'.
842
843 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
846         `Qjapanese_jisx0208_1978'.
847         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
848         of `japanese-jisx0208-1978'.
849         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
850         `=jis-x0208-1978'.
851
852 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
853
854         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
855         only for XEmacs CHISE.
856
857 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
858
859         * char-ucs.h: Compact non-ISO-IR charset-ids.
860         (LEADING_BYTE_UCS): Changed to -177.
861         (LEADING_BYTE_CONTROL_1): Changed to -77.
862         (LEADING_BYTE_UCS_BMP): Changed to -176.
863         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
864
865 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * mule-charset.c (Qiso_ir): New variable.
868         (Fmake_charset): Recognise new property `iso-ir'.
869         (syms_of_mule_charset): Add new symbol `iso-ir'.
870
871 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
872
873         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
874         n to -n; charset-id of non ISO-IR sets are changed to positive
875         numbers.
876
877 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
878
879         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
880         for &MCS-XXXXXXXX; values.
881
882 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
883
884         * mule.c (Vxemacs_chise_version): Renamed from
885         `Vutf_2000_version'.
886         (vars_of_mule): Add new variable `xemacs-chise-version'; define
887         `utf-2000-version' as an alias for `xemacs-chise-version'.
888
889 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
890
891         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
892         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
893         defined.
894
895         * config.h.in (CHISE): New macro.
896
897 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
898
899         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
900         of `ucs'.
901         (Qmap_ucs): New variable.
902         (syms_of_mule_charset): Add new symbol `=ucs'.
903         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
904
905         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
906         (simplify_char_spec): Likewise.
907
908         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
909
910         * char-ucs.h (Qmap_ucs): New extern variable.
911
912 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
915         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
916         don't define it when UTF2000 is not defined.
917         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
918         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
919         when UTF2000 is not defined.
920         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
921         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
922
923 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
926
927         * mule-charset.c (Vcharset_ucs_gb): Deleted.
928         (Qucs_gb): Deleted.
929         (syms_of_mule_charset): Delete `ucs-gb'.
930         (complex_vars_of_mule_charset): Likewise.
931
932 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
933
934         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
935
936         * mule-charset.c (Vcharset_ucs_cns): Deleted.
937         (Qucs_cns): Deleted.
938         (syms_of_mule_charset): Delete `ucs-cns'.
939         (complex_vars_of_mule_charset): Likewise.
940
941 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
942
943         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
944
945         * mule-charset.c (Vcharset_ucs_jis): Deleted.
946         (Qucs_jis): Deleted.
947         (syms_of_mule_charset): Delete `ucs-jis'.
948         (complex_vars_of_mule_charset): Likewise.
949
950 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
951
952         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
953
954         * mule-charset.c (Vcharset_ucs_ks): Deleted.
955         (Qucs_ks): Deleted.
956         (syms_of_mule_charset): Delete `ucs-ks'.
957         (complex_vars_of_mule_charset): Likewise.
958
959 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
960
961         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
962         (Qideograph_daikanwa_2): Deleted.
963         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
964         (complex_vars_of_mule_charset): Likewise.
965
966         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
967         (LEADING_BYTE_DAIKANWA_1): Deleted.
968         (LEADING_BYTE_DAIKANWA_2): Deleted.
969         (MIN_CHAR_DAIKANWA): Deleted.
970         (MAX_CHAR_DAIKANWA): Deleted.
971
972 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
973
974         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
975         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
976         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
977
978         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
979         (Vcharset_ideograph_daikanwa): Deleted.
980         (Qideograph_hanziku_{1..12}): Deleted.
981         (Qideograph_daikanwa): Deleted.
982         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
983         Vcharset_ideograph_daikanwa.
984         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
985         `ideograph-hanziku-{1..12}'.
986         (complex_vars_of_mule_charset): Likewise.
987
988 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
989
990         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
991
992         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
993         (Qideograph_gt_pj_{1..11}): Deleted.
994         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
995         (complex_vars_of_mule_charset): Likewise.
996
997 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1000         (Vcharset_ideograph_gt): Deleted.
1001         (Qucs_big5): Deleted.
1002         (Qideograph_gt): Deleted.
1003         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1004         `ideograph-gt'.
1005         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1006         and `ideograph-gt'.
1007
1008         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1009         (LEADING_BYTE_GT): Deleted.
1010         (MIN_CHAR_GT): Deleted.
1011         (MAX_CHAR_GT): Deleted.
1012
1013 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1014
1015         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1016
1017 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1020         (save_uint16_byte_table): Likewise.
1021         (save_byte_table): Likewise; convert values by it.
1022         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1023         for `ideographic-structure'.
1024         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1025         as the filter for `ideographic-structure'.
1026
1027 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1028
1029         * chartab.c (put_char_composition): New function.
1030         (Fput_char_attribute): Use `put_char_composition'; use
1031         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1032
1033         * fns.c (simplify_char_spec): New function.
1034         (char_ref_simplify_spec): New function.
1035         (Fchar_refs_simplify_char_specs): New function.
1036         (syms_of_fns): Add new builtin function
1037         `char-refs-simplify-char-specs'.
1038
1039 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1040
1041         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1042         (Qideograph_cbeta): Deleted.
1043         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1044         (complex_vars_of_mule_charset): Likewise.
1045
1046         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1047         (MIN_CHAR_CBETA): Comment out.
1048         (MAX_CHAR_CBETA): Likewise.
1049
1050 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1051
1052         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1053         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1054         CHISE client feature.
1055
1056 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1057
1058         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1059
1060 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1061
1062         * mule-charset.c (charset_lookup_description_1): Use
1063         `NUM_LEADING_BYTES' in UTF-2000.
1064
1065 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1066
1067         * char-ucs.h (GC_CHARSETP): Deleted.
1068
1069 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * char-ucs.h (MAX_CHAR_GT): Updated.
1072
1073 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1074
1075         * text-coding.c: Sync with XEmacs 21.4.10.
1076
1077 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * mule-charset.c (Vcharset_china3_jef): Deleted.
1080         (Qchina3_jef): Deleted.
1081         (syms_of_mule_charset): Don't define `china3-jef'.
1082         (complex_vars_of_mule_charset): Likewise.
1083
1084         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1085         (MIN_CHAR_CHINA3_JEF): Comment out.
1086         (MAX_CHAR_CHINA3_JEF): Comment out.
1087
1088 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * mule-charset.c (Vcharset_ucs_gb): New variable.
1091         (Qucs_gb): New variable.
1092         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1093         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1094
1095         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1096
1097 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * mule-charset.c (charset_code_point): if a coded-charset has a
1100         final-byte, don't inherit the builtin range of the mother CCS.
1101
1102 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * mule-charset.c (charset_code_point): Fix problem about
1105         inheritance.
1106
1107 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1108
1109         * mule-charset.c (decode_builtin_char): Reorganized.
1110
1111 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * text-coding.c (char_encode_as_entity_reference): Modify for
1114         `charset_code_point'.
1115         (char_encode_shift_jis): Likewise.
1116         (char_encode_big5): Likewise.
1117         (char_encode_utf8): Likewise.
1118         (char_encode_iso2022): Likewise.
1119
1120         * mule-charset.c (charset_code_point): Add new argument
1121         `defined_only'.
1122         (Fencode_char): Add new optional argument `defined_only'.
1123
1124         * chartab.c (put_char_table): Modify for `charset_code_point'.
1125
1126         * char-ucs.h (charset_code_point): Add new argument
1127         `defined_only'.
1128         (encode_char_1): Modify for `charset_code_point'.
1129
1130 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1133         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1134
1135 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1138         (Qjis_x0208): Likewise.
1139         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1140         XCHARSET_FINAL(charset).
1141         (charset_code_point): Modify condition for final-byte based
1142         builtin-chars.
1143         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1144         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1145         in UTF-2000; specify `=jis-x0208' as the mother of
1146         `japanese-jisx0208-1978', `japanese-jisx0208' and
1147         `japanese-jisx0208-1990' in UTF-2000.
1148
1149 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1150
1151         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1152
1153 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * text-coding.c (decode_coding_utf16): Support UTF-16.
1156         (char_encode_utf16): Fixed.
1157
1158 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1159
1160         * text-coding.c (Qutf16): New variable in MULE.
1161         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1162         (Fcoding_system_type): Add `utf-16' in MULE.
1163         (struct detection_state): Add a structure for utf16 in MULE.
1164         (detect_coding_type): Setup st->utf16.mask in MULE.
1165         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1166         MULE.
1167         (reset_encoding_stream): Use `char_encode_utf16' and
1168         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1169         (detect_coding_utf16): New function [incomplete].
1170         (decode_coding_utf16): New function [support only UCS-2].
1171         (char_encode_utf16): New function.
1172         (char_finish_utf16): New function.
1173         (syms_of_file_coding): Add new symbol `utf-16'; setup
1174         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1175
1176         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1177         UTF-2000.
1178         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1179         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1180
1181 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * chartab.c (put_char_table): When a charset is specified as a
1184         range in UTF-2000, don't support builtin characters.
1185
1186 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1187
1188         * mule-charset.c (decode_defined_char): Don't refer external
1189         database if Qunbound or Qnil are found.
1190         (Fsave_charset_mapping_table): Don't define it if
1191         HAVE_CHISE_CLIENT is not defined.
1192         (Freset_charset_mapping_table): New function.
1193         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1194         found in external database.
1195         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1196         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1197         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1198
1199 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1202         not.
1203
1204 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1205
1206         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1207         Q_lowercase, Q_uppercase in UTF-2000.
1208
1209         * chartab.c (get_char_table): Add special code for the standard
1210         case table to use character attribute `->downcase' and
1211         `->uppercase' for case operations in UTF-2000.
1212
1213         * casetab.c (Qflippedcase): New variable in UTF-2000.
1214         (Q_lowercase): Likewise.
1215         (Q_uppercase): Likewise.
1216         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1217         and `->uppercase' in UTF-2000.
1218         (complex_vars_of_casetab): Assign attribute name `downcase' to
1219         downcase and CANON table of Vstandard_case_table in UTF-2000;
1220         assign attribute name `flippedcase' to upcase and EQV table of
1221         Vstandard_case_table in UTF-2000.
1222
1223 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * text-coding.c (decode_add_er_char): Support isolated-chars.
1226         (char_encode_as_entity_reference): Likewise.
1227
1228 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1229
1230         * emacs.c (Vutf_2000_lisp_directory): New variable.
1231         (Vconfigure_utf_2000_lisp_directory): Likewise.
1232         (complex_vars_of_emacs): Add new variable
1233         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1234
1235 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * char-ucs.h (DECODE_CHAR): Delete special code for
1238         `chinese-big5-1' and `chinese-big5-2'.
1239
1240         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1241         (Qbig5_2): Likewise.
1242         (decode_defined_char): Support CONVERSION_BIG5_1 and
1243         CONVERSION_BIG5_2.
1244         (decode_builtin_char): Likewise.
1245         (charset_code_point): Likewise.
1246         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1247         'conversion in UTF-2000.
1248         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1249         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1250         `chinese-big5-2' as children of `chinese-big5'.
1251
1252         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1253         (CONVERSION_BIG5_2): New macro.
1254
1255 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1256
1257         * text-coding.c (char_encode_big5): Support entity-reference.
1258
1259 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * text-coding.c (char_encode_as_entity_reference): New function.
1262         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1263
1264 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1265
1266         * text-coding.c (decode_coding_big5): Support entity-reference
1267         decoding feature.
1268
1269 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1270
1271         * text-coding.c (allocate_coding_system): Initialize initial
1272         charsets for CODESYS_UTF8.
1273         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1274         charset-g2 for CODESYS_UTF8.
1275         (decode_coding_utf8): Use charset-g0.
1276         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1277         to force variants to map to UCS.
1278
1279 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * text-coding.c (Qutf_8_mcs): New variable.
1282         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1283         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1284         instead of `utf-8' in UTF-2000.
1285
1286 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1287
1288         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1289         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1290         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1291         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1292         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1293         CONVERSION_96x96x96x96 are introduced.
1294         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1295         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1296         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1297
1298         * char-ucs.h (CONVERSION_94): New macro.
1299         (CONVERSION_96): New macro.
1300         (CONVERSION_94x94): New macro.
1301         (CONVERSION_96x96): New macro.
1302         (CONVERSION_94x94x94): New macro.
1303         (CONVERSION_96x96x96): New macro.
1304         (CONVERSION_94x94x94x60): New macro.
1305         (CONVERSION_94x94x94x94): New macro.
1306         (CONVERSION_96x96x96x96): New macro.
1307
1308 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1309
1310         * chartab.c (Vcharacter_variant_table): Deleted.
1311         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1312         of `Vcharacter_variant_table'.
1313         (Fput_char_attribute): Likewise.
1314         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1315         (complex_vars_of_chartab): Likewise.
1316
1317 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1318
1319         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1320
1321         * fns.c (Qideographic_structure): New variable.
1322         (Qkeyword_char): New variable.
1323         (ids_format_unit): New function.
1324         (Fideographic_structure_to_ids): New function.
1325         (syms_of_fns): Add new symbols `ideographic-structure' and
1326         `:char'; add new builtin function `ideographic-structure-to-ids'.
1327
1328         * data.c (Fchar_ref_p): New function.
1329         (syms_of_data): Add new builtin function `char-ref-p'.
1330
1331         * chartab.h: Add an EXFUN for `Ffind_char'.
1332
1333 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1334
1335         * text-coding.c (Vcharacter_composition_table): Deleted.
1336         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1337         in every UTF-2000.
1338
1339         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1340         UTF-2000.
1341         (Vcharacter_composition_table): Deleted.
1342         (Fget_composite_char): Use the implementation for external-DB
1343         support in every UTF-2000.
1344         (Fput_char_attribute): Likewise.
1345         (char_attribute_system_db_file): Don't define if external-DB
1346         feature is not available.
1347         (Fsave_char_attribute_table): Likewise.
1348         (Fmount_char_attribute_table): Likewise.
1349         (Fclose_char_attribute_table): Likewise.
1350         (Freset_char_attribute_table): Likewise.
1351         (Fload_char_attribute_table): Likewise.
1352         (syms_of_chartab): Don't define `save-char-attribute-table',
1353         `mount-char-attribute-table', `reset-char-attribute-table',
1354         `close-char-attribute-table' and `load-char-attribute-table' if
1355         external-DB feature is not available.
1356         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1357
1358 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1359
1360         * text-coding.c (Qcomposition): Add extern if external-DB feature
1361         is supported.
1362         (Vcharacter_composition_table): Don't add extern if external-DB
1363         feature is supported.
1364         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1365         character composition rule if external-DB feature is supported.
1366
1367         * chartab.c (Vcharacter_composition_table): Don't define if
1368         external-DB feature is supported.
1369         (Qcomposition): New variable.
1370         (Fget_composite_char): New implementation for external-DB support.
1371         (Fput_char_attribute): Use `composition' property of each
1372         character instead of `Vcharacter_composition_table' to store
1373         character-composition rules if external-DB feature is supported.
1374         (syms_of_chartab): Add new symbol `composition'.
1375         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1376         external-DB feature is supported.
1377
1378 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1379
1380         * chartab.c (Vchar_db_stingy_mode): New variable.
1381         (load_char_attribute_maybe): Close database if
1382         Vchar_db_stingy_mode is not NIL.
1383         (Fload_char_attribute_table_map_function): Use
1384         `get_char_id_table_0' instead of `get_char_id_table'.
1385         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1386
1387         * chartab.h (get_char_id_table_0): New inline function.
1388         (get_char_id_table): Use `get_char_id_table_0'.
1389
1390 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1391
1392         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1393         and `COMPOSE_ADD_CHAR'.
1394         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1395
1396 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1397
1398         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1399         instead of `DECODE_ADD_UCS_CHAR'.
1400         (COMPOSE_ADD_CHAR): Likewise.
1401
1402 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1403
1404         * text-coding.c (decode_flush_er_chars): New inline function.
1405         (decode_add_er_char): New function.
1406         (decode_coding_utf8): Use `decode_flush_er_chars' and
1407         `decode_add_er_char'.
1408
1409 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1410
1411         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1412         done before `decode_output_utf8_partial_char'.
1413
1414         * mule-charset.c (complex_vars_of_mule_charset): Specify
1415         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1416         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1417
1418 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1419
1420         * mule-charset.c (decode_defined_char): New function; search
1421         mother.
1422         (decode_builtin_char): Don't search mother if
1423         XCHARSET_MAX_CODE(charset) == 0.
1424         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1425         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1426         (Fdecode_char): Use `decode_defined_char' instead of
1427         `DECODE_DEFINED_CHAR'.
1428         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1429         mother of `Vcharset_ucs_jis'.
1430
1431         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1432         instead of `DECODE_DEFINED_CHAR'.
1433
1434         * char-ucs.h (decode_defined_char): Renamed from
1435         `DECODE_DEFINED_CHAR'; changed to normal function.
1436         (DECODE_CHAR): Use `decode_defined_char' instead of
1437         `DECODE_DEFINED_CHAR'.
1438
1439         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1440
1441 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1442
1443         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1444
1445         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1446         variable.
1447         (Quse_entity_reference): New variable.
1448         (Qd): New variable.
1449         (Qx): New variable.
1450         (QX): New variable.
1451         (coding_system_description): Add description for
1452         `ccs_priority_list'.
1453         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1454         (allocate_coding_system): Initialize `ccs_priority_list' in
1455         UTF-2000.
1456         (Fmake_coding_system): Add description about
1457         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1458         (codesys).
1459         (Fcoding_system_property): Accept `disable-composition' and
1460         `use-entity-reference' in UTF-2000.
1461         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1462         in UTF-2000.
1463         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1464         (decode_coding_utf8): Decode entity-reference if
1465         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1466         (char_encode_utf8): Encode non-Unicode characters as
1467         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1468         (str->codesys).
1469         (syms_of_file_coding): Add new symbols `use-entity-reference',
1470         `d', `x', `X'.
1471         (vars_of_file_coding): Add new variable
1472         `coded-charset-entity-reference-alist'.
1473         (complex_vars_of_file_coding): Declare `disable-composition' and
1474         `use-entity-reference' to be coding-system-properties in UTF-2000.
1475
1476         * file-coding.h (struct Lisp_Coding_System): Add new member
1477         `use_entity_reference' and `ccs_priority_list'.
1478         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1479         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1480         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1481
1482 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1483
1484         * chartab.c (save_uint8_byte_table): Don't clear the table.
1485         (save_uint16_byte_table): Likewise.
1486         (save_byte_table): Likewise.
1487         (Fmount_char_attribute_table): New function.
1488         (syms_of_chartab): Add new builtin function
1489         `mount-char-attribute-table'.
1490
1491 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1492
1493         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1494         "w+" mode.
1495         (load_char_decoding_entry_maybe): Open database as read-only mode.
1496
1497         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1498         open database as "w+" mode.
1499         (load_char_attribute_maybe): Open database as read-only mode.
1500         (Fload_char_attribute_table): Likewise.
1501
1502 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1503
1504         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1505         (char_table_description): Delete member `db_file'.
1506         (Fmake_char_table): Don't refer `ct->db_file'.
1507         (Fcopy_char_table): Likewise.
1508         (Fsave_char_attribute_table): Likewise.
1509         (Fclose_char_attribute_table): Likewise.
1510         (Freset_char_attribute_table): Likewise.
1511         (load_char_attribute_maybe): Likewise.
1512         (Fload_char_attribute_table): Likewise.
1513
1514         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1515
1516 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1517
1518         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1519         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1520         `ct->db' is living.
1521         (load_char_attribute_maybe): Likewise.
1522         (Fload_char_attribute_table): Likewise.
1523
1524 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1527         `ct->db_file' unconditionally.
1528
1529 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1530
1531         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1532         UTF-2000.
1533         (char_table_description): Add description for `db_file' and `db'
1534         in UTF-2000.
1535         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1536         UTF-2000.
1537         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1538         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1539         (Fclose_char_attribute_table): New function.
1540         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1541         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1542         and `cit->db'.
1543         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1544         (syms_of_chartab): Add new builtin function
1545         `Fclose_char_attribute_table'.
1546
1547 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1548
1549         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1550         `db' in UTF-2000.
1551         (load_char_attribute_maybe): Change interface.
1552         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1553
1554 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1555
1556         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1557
1558 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1559
1560         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1561         instead of `DECODE_CHAR' for mother; don't use special code for
1562         chinese-big5 to use code space of chinese-big5-1 and
1563         chinese-big5-2.
1564         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1565         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1566
1567         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1568         (MAX_CHAR_BIG5_CDP): Revival.
1569
1570 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1571
1572         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1573         the XLFD registry-encoding name of `chinese-big5'.
1574
1575 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1576
1577         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1578         (Qchinese_big5_cdp): Deleted.
1579         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1580         (complex_vars_of_mule_charset): Delete coded-charset
1581         `chinese-big5-cdp'.
1582
1583         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1584         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1585         `CHARSET_ID_OFFSET - n' for private CCS.
1586         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1587         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1588         of `MIN_LEADING_BYTE'.
1589         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1590         `(CHARSET_ID_OFFSET - 97)'.
1591         (MIN_CHAR_BIG5_CDP): Deleted.
1592         (MAX_CHAR_BIG5_CDP): Deleted.
1593
1594 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1597
1598 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1601         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1602         chartab.c].
1603
1604         * chartab.c (Vutf_2000_version): Moved to mule.c.
1605         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1606
1607 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1608
1609         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1610         when HAVE_CHISE_CLIENT is not defined.
1611
1612         * mule.c (vars_of_mule): Provide feature `chise' when
1613         HAVE_CHISE_CLIENT is defined.
1614
1615 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * config.h.in (UTF2000): Add comment.
1618         (HAVE_CHISE_CLIENT): New macro.
1619
1620 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1621
1622         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1623         CONSP.
1624         (Fput_char_attribute): Likewise.
1625         (char_attribute_system_db_file): Encode file-name of attribute.
1626         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1627         the initial value.
1628
1629 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1630
1631         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1632         (Fsave_charset_mapping_table): Use
1633         `char_attribute_system_db_file'.
1634         (load_char_decoding_entry_maybe): Likewise.
1635
1636         * chartab.h (Qsystem_char_id): New external variable.
1637         (char_attribute_system_db_file): New prototype.
1638
1639         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1640         (char_attribute_system_db_file): New function.
1641         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1642         (Freset_char_attribute_table): Likewise.
1643         (load_char_attribute_maybe): Likewise.
1644         (Fload_char_attribute_table): Likewise.
1645         (syms_of_chartab): Add new symbol `system-char-id'.
1646
1647 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1648
1649         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1650         `XCHARSET_GRAPHIC(ccs)'.
1651
1652 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1653
1654         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1655
1656 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1657
1658         * chartab.c (Q_ucs_variants): New variable.
1659         (syms_of_chartab): Add new symbol `->ucs-variants'.
1660         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1661         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1662         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1663
1664         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1665
1666         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1667         `HAVE_DATABASE' is defined.
1668         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1669         `HAVE_DATABASE' is defined.
1670
1671 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1672
1673         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1674         attribute-table.
1675         (Freset_char_attribute_table): New function.
1676         (syms_of_chartab): Add new builtin function
1677         `reset-char-attribute-table'.
1678
1679 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1680
1681         * chartab.c (load_char_attribute_maybe): Don't make directories.
1682
1683 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1684
1685         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1686
1687         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1688         for decoding-table.
1689
1690 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1691
1692         * mule-charset.c (Fsave_charset_mapping_table): Use
1693         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1694
1695         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1696         instead of `XCHARSET_CHARS'.
1697
1698 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1699
1700         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1701         (XCHARSET_BYTE_SIZE): Likewise.
1702
1703         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1704         mule-charset.c].
1705         (XCHARSET_BYTE_SIZE): Likewise.
1706
1707 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1708
1709         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1710         data-directory to store database.
1711         (Fsave_char_attribute_table): Likewise.
1712         (load_char_attribute_maybe): Likewise.
1713         (Fload_char_attribute_table): Likewise.
1714
1715 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1716
1717         * mule-charset.c (Fsave_charset_mapping_table): New function.
1718         (syms_of_mule_charset): Add new builtin function
1719         `save-charset-mapping-table'.
1720
1721 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1724         (get_ccs_octet_table): New inline function.
1725         (put_ccs_octet_table): Likewise.
1726         (decoding_table_put_char): Use `get_ccs_octet_table' and
1727         `put_ccs_octet_table'.
1728         (decoding_table_remove_char): Use `decoding_table_put_char'.
1729         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1730
1731         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1732         into encoding_table.
1733         (make_charset): Use Qunbound instead Qnil as initial value of
1734         decoding_table.
1735
1736 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1737
1738         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1739         element is Qunloaded.
1740         (map_over_uint16_byte_table): Likewise.
1741         (map_over_byte_table): Likewise.
1742         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1743         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1744         database support, load encoding-table of the specified
1745         coded-charset if it is not loaded yet.
1746         (save_uint8_byte_table): New function of UTF-2000 with external
1747         database support.
1748         (save_uint16_byte_table): Likewise.
1749         (save_byte_table): Likewise.
1750         (Fput_char_attribute): Don't store value into external database
1751         even if the external database feature is supported in UTF-2000;
1752         set `attribute' as name of char-table if the external database
1753         feature is supported.
1754         (Fsave_char_attribute_table): New function in UTF-2000.
1755         (syms_of_chartab): Add new builtin function
1756         `save-char-attribute-table' in UTF-2000.
1757
1758 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1759
1760         * chartab.c (char_attribute_table_to_put): New variable in
1761         UTF-2000.
1762         (Qput_char_table_map_function): Likewise.
1763         (value_to_put): Likewise.
1764         (Fput_char_table_map_function): New function in UTF-2000.
1765         (put_char_table): Use `Fmap_char_attribute' for
1766         CHARTAB_RANGE_CHARSET in UTF-2000.
1767         (Fput_char_attribute): Store symbol instead of string in
1768         `XCHAR_TABLE_NAME (table)'.
1769         (load_char_attribute_maybe): Likewise.
1770         (syms_of_chartab): Add new symbol/function
1771         `put-char-table-map-function'.
1772
1773 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1774
1775         * database.h: Add new EXFUN for `Fmap_database'.
1776
1777         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1778         (syms_of_database): Likewise.
1779
1780         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1781         UTF-2000.
1782         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1783         (XCHAR_TABLE_UNLOADED): Likewise.
1784
1785         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1786         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1787         HAVE_DATABASE is defined.
1788         (char_attribute_table_to_load): New variable of UTF-2000 with
1789         external database support.
1790         (Qload_char_attribute_table_map_function): Likewise.
1791         (Fload_char_attribute_table_map_function): New function of
1792         UTF-2000 with external database support.
1793         (Fload_char_attribute_table): New function of UTF-2000.
1794         (Fmap_char_attribute): Call Fload_char_attribute_table if
1795         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1796         (syms_of_chartab): Add new symbol and function
1797         `load-char-attribute-table-map-function' in UTF-2000 with external
1798         database support; add new function `load-char-attribute-table' in
1799         UTF-2000.
1800
1801 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * chartab.h (load_char_attribute_maybe): New prototype for
1804         UTF-2000 with DATABASE support.
1805         (get_char_id_table): Use `load_char_attribute_maybe' if
1806         HAVE_DATABASE is defined.
1807
1808         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1809         with DATABASE support.
1810
1811 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * chartab.c (Fput_char_attribute): Use S-expression as key of
1814         external database.
1815
1816         * chartab.h (get_char_id_table): Use S-expression as key of
1817         external database.
1818
1819 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1822         if an element is not loaded, load the corresponding attributes
1823         from an external database.
1824         (map_over_uint16_byte_table): Likewise.
1825         (map_over_byte_table): Likewise.
1826         (map_char_table): Modify for `map_over_uint8_byte_table',
1827         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1828         element is not loaded, load the corresponding attributes from an
1829         external database.
1830         (Fput_char_attribute): Change initial values to Qunloaded.
1831
1832         * chartab.h (get_char_id_table): If a character attribute is not
1833         loaded and the attribute value is not found in an external
1834         database, store Qunbound as the attribute value.
1835
1836 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1837
1838         * chartab.c (BT_UINT8_unloaded): New macro.
1839         (UINT8_VALUE_P): Accept Qunloaded.
1840         (UINT8_ENCODE): Likewise.
1841         (UINT8_DECODE): Likewise.
1842         (BT_UINT16_unloaded): New macro.
1843         (UINT16_VALUE_P): Accept Qunloaded.
1844         (UINT16_ENCODE): Likewise.
1845         (UINT16_DECODE): Likewise.
1846         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1847         BT_UINT16_unloaded.
1848         (mark_char_table): Mark `ct->name' in UTF-2000.
1849         (char_table_description): Add `name' in UTF-2000.
1850         (Fmake_char_table): Initialize `ct->name'.
1851         (Fcopy_char_table): Copy `ct->name'.
1852         (Fput_char_attribute): Store value into an external database if
1853         HAVE_DATABASE is defined.
1854
1855         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1856         UTF-2000.
1857         (CHAR_TABLE_NAME): New macro in UTF-2000.
1858         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1859         (get_char_id_table): Try to read an external database if Qunloaded
1860         is stored in a table.
1861
1862         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1863         Qunloaded.
1864
1865 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1866
1867         * database.h: Add EXFUN definitions for Fopen_database,
1868         Fput_database, Fget_database and Fclose_database.
1869
1870         * data.c (Qunloaded): New variable in UTF-2000.
1871
1872         * lisp.h (Qunloaded): New variable in UTF-2000.
1873
1874 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (put_char_ccs_code_point): Modify for
1877         `decoding_table_remove_char' and `decoding_table_put_char'.
1878         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1879
1880         * char-ucs.h (decoding_table_remove_char): Change arguments to
1881         hide decoding_table vector.
1882         (decoding_table_put_char): Likewise.
1883
1884 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * mule-charset.c (decoding_table_remove_char): Moved to
1887         char-ucs.h.
1888         (decoding_table_put_char): Likewise.
1889
1890         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1891         from mule-charset.c].
1892         (decoding_table_remove_char): New inline function [moved from
1893         mule-charset.c].
1894         (decoding_table_put_char): Likewise.
1895
1896 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1897
1898         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1899         extension.
1900
1901 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1902
1903         * mule-charset.c (decode_builtin_char): Support mother charsets.
1904
1905 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1906
1907         * mule-charset.c (Q94x94x60): New variable.
1908         (charset_code_point): Support conversion `94x94x60'.
1909         (Fmake_charset): Likewise.
1910         (syms_of_mule_charset): Add new symbol `94x94x60'.
1911
1912         * char-ucs.h (CONVERSION_94x94x60): New macro.
1913
1914 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1915
1916         * mule-charset.c (charset_code_point): Unify code about
1917         `code-offset'.
1918
1919 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1920
1921         * mule-charset.c (charset_code_point): Merge code about builtin
1922         characters into code about mother charsets; don't use
1923         `range_charset_code_point'.
1924         (range_charset_code_point): Deleted.
1925
1926 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * mule-charset.c (Qcode_offset): New variable.
1929         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1930         `max-code'; accept new property `code-offset'.
1931         (syms_of_mule_charset): Add new symbol `code-offset'.
1932
1933 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1934
1935         * mule-charset.c (range_charset_code_point): Fixed.
1936
1937 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1938
1939         * mule-charset.c (decode_builtin_char): Change semantics of
1940         code-offset of coded-charset.
1941         (charset_code_point): Likewise.
1942         (range_charset_code_point): Likewise.
1943         (complex_vars_of_mule_charset): Modify for the change.
1944
1945 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1946
1947         * mule-charset.c (Fencode_char): Reverse arguments.
1948
1949         * mule-charset.c (charset_code_point): Fixed.
1950
1951 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * mule-charset.c (Vcharset_mojikyo): Deleted.
1954         (Vcharset_mojikyo_2022_1): Deleted.
1955         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1956         (Qmin_code): New variable in UTF-2000.
1957         (Qmax_code): Likewise.
1958         (Qmother): Likewise.
1959         (Qconversion): Likewise.
1960         (Q94x60): Likewise.
1961         (Qmojikyo): Deleted.
1962         (Qmojikyo_2022_1): Deleted.
1963         (Qmojikyo_pj_{1..22}): Deleted.
1964         (mark_charset): Mark `cs->mother'.
1965         (charset_description): Add description for `mother'.
1966         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1967         new arguments `mother' and `conversion'; use
1968         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1969         (charset_code_point): Moved from char-ucs.h; support `mother'
1970         charset feature.
1971         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1972         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1973         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1974         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1975         allow 2 as the value of `graphic' in UTF-2000; add new properties
1976         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1977         require `final' in UTF-2000; modify for `make_charset'.
1978         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1979         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1980         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1981         (Fencode_char): New function.
1982         (syms_of_mule_charset): Add new builtin function `encode-char' in
1983         UTF-2000; add new symbols `min-code', `max-code', `mother',
1984         `conversion' and `94x60'; delete symbols `mojikyo',
1985         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1986         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1987         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1988         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1989
1990         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1991         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1992
1993         * char-ucs.h (Vcharset_mojikyo): Deleted.
1994         (Vcharset_mojikyo_2022_1): Deleted.
1995         (LEADING_BYTE_MOJIKYO): Deleted.
1996         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1997         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1998         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1999         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2000         add new member `mother'; add new member `conversion'.
2001         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2002         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2003         (CHARSET_MOTHER): New macro.
2004         (CHARSET_CONVERSION): New macro.
2005         (CONVERSION_IDENTICAL): New macro.
2006         (CONVERSION_94x60): New macro.
2007         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2008         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2009         (XCHARSET_MOTHER): New macro.
2010         (XCHARSET_CONVERSION): New macro.
2011         (MIN_CHAR_MOJIKYO): Deleted.
2012         (MAX_CHAR_MOJIKYO): Deleted.
2013         (DECODE_MOJIKYO_2022): Deleted.
2014         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2015         (charset_code_point): Changed to non-inline function.
2016         (encode_char_1): Use `charset_code_point'.
2017         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2018
2019 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * lread.c (read_compiled_function): Fix prototype.
2022         (read_vector): Likewise.
2023
2024 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * lrecord.h (struct lrecord_header): Delete `older'.
2027         (set_lheader_implementation): Delete code for `older'.
2028         (set_lheader_older_implementation): Deleted.
2029         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2030         (OLDER_RECORD_P): Deleted.
2031         (OLDER_RECORD_HEADER_P): Deleted.
2032         (alloc_older_lcrecord): Deleted.
2033         (alloc_older_lcrecord_type): Deleted.
2034
2035         * alloc.c (all_older_lcrecords): Deleted.
2036         (alloc_older_lcrecord): Deleted.
2037         (disksave_object_finalization_1): Delete code for older objects.
2038         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2039         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2040
2041 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2042
2043         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2044         instead of `make_older_vector'.
2045         (put_char_ccs_code_point): Likewise.
2046         (mark_charset): Mark `cs->decoding_table'.
2047         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2048
2049         * lisp.h (make_older_vector): Deleted.
2050         (make_vector_newer): Deleted.
2051
2052         * config.h.in (HAVE_GGC): Deleted.
2053
2054         * alloc.c (make_older_vector): Deleted.
2055         (make_vector_newer_1): Deleted.
2056         (make_vector_newer): Deleted.
2057
2058 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2061         (Qideograph_daikanwa_2): New variable.
2062         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2063         (complex_vars_of_mule_charset): Add new coded-charset
2064         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2065         `LEADING_BYTE_DAIKANWA'.
2066
2067         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2068         (LEADING_BYTE_DAIKANWA_1): New macro.
2069         (LEADING_BYTE_DAIKANWA_2): New macro.
2070         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2071
2072 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2073
2074         * mule-charset.c (complex_vars_of_mule_charset): Change
2075         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2076         the second revised version.
2077
2078 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * mule-charset.c (Vcharset_ucs_smp): New variable.
2081         (Vcharset_ucs_sip): New variable.
2082         (Qucs_smp): New variable.
2083         (Qucs_sip): New variable.
2084         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2085         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2086         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2087         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2088         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2089         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2090
2091         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2092         (LEADING_BYTE_UCS_SIP): New macro.
2093         (MIN_CHAR_SMP): New macro.
2094         (MAX_CHAR_SMP): New macro.
2095         (MIN_CHAR_SIP): New macro.
2096         (MAX_CHAR_SIP): New macro.
2097
2098 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2099
2100         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2101         utf-2000.
2102
2103 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2104
2105         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2106         value; don't store value into `encoding_table' of `Lisp_Charset'.
2107         (mark_charset): `encoding_table' was deleted.
2108         (charset_description): Likewise.
2109         (make_charset): Likewise.
2110         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2111         `put_char_ccs_code_point'.
2112
2113         * chartab.h (Fput_char_attribute): New EXFUN.
2114
2115         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2116         is unified with normal symbol space.
2117         (Fget_char_attribute): Likewise.
2118         (Fput_char_attribute): Likewise; behavior of
2119         `put_char_ccs_code_point' is changed.
2120
2121         * char-ucs.h: Include "elhash.h".
2122         (Vchar_attribute_hash_table): New external variable.
2123         (struct Lisp_Charset): Delete `encoding_table'.
2124         (CHARSET_ENCODING_TABLE): New implementation; refer
2125         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2126         `Lisp_Charset'.
2127
2128 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2131         (cs) == 0.
2132
2133 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2134
2135         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2136         `chinese-big5'.
2137
2138 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2139
2140         * chartab.c (uint8_byte_table_description): New constant.
2141         (uint8-byte-table): Use `uint8_byte_table_description'.
2142         (uint16_byte_table_description): New constant.
2143         (uint16-byte-table): Use `uint16_byte_table_description'.
2144
2145 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2148         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2149
2150 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * mule-charset.c (Vcharset_ucs_ks): New variable.
2153         (Qucs_ks): New variable.
2154         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2155         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2156
2157         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2158
2159 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2160
2161         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2162         (Fdecode_char): Likewise.
2163
2164         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2165         chartab.h.
2166         (Fdefine_char): Modify for Fdecode_char.
2167         (Ffind_char): Likewise.
2168
2169         * mule-charset.c (Fdecode_char): Add new optional argument
2170         `defined-only'.
2171         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2172
2173 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2174
2175         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2176         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2177         (allocate_coding_system): Initialize initial-charsets of
2178         CODESYS_BIG5 in XEmacs UTF-2000.
2179         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2180         CODESYS_BIG5 in XEmacs UTF-2000.
2181         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2182         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2183
2184         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2185         variables.
2186         (Qideograph_hanziku_{1 .. 12}): Likewise.
2187         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2188         .. 12}'.
2189         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2190         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2191         `ideograph-hanziku-{1 .. 12}'.
2192
2193         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2194         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2195         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2196         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2197         (DECODE_DEFINED_CHAR): New inline function.
2198         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2199
2200 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * mule-charset.c (Vcharset_china3_jef): Renamed from
2203         `Vcharset_japanese_jef_china3'.
2204         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2205         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2206         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2207         (syms_of_mule_charset): Rename `china3-jef' from
2208         `japanese-jef-china3'.
2209         (complex_vars_of_mule_charset): Likewise; rename
2210         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2211
2212         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2213         `LEADING_BYTE_JEF_CHINA3'.
2214         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2215         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2216
2217 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2218
2219         * mule-charset.c (encode_builtin_char_1): Comment out special code
2220         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2221
2222         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2223         (MAX_CHAR_MOJIKYO_0): Comment out.
2224         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2225         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2226         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2227         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2228
2229 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2232         (Qideograph_cbeta): New variable.
2233         (encode_builtin_char_1): Comment out special code for
2234         coded-charset `mojikyo' and `japanese-jef-china3'.
2235         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2236         (complex_vars_of_mule_charset): Add new coded-charset
2237         `ideograph-cbeta'.
2238
2239         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2240         (MIN_CHAR_CBETA): New macro.
2241         (MAX_CHAR_CBETA): New macro.
2242
2243 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2244
2245         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2246         (LEADING_BYTE_JEF_CHINA3): New macro.
2247         (MIN_CHAR_JEF_CHINA3): New macro.
2248         (MAX_CHAR_JEF_CHINA3): Likewise.
2249         (DECODE_CHAR): Fixed.
2250
2251 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2252
2253         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2254         (Qjapanese_jef_china3): New variable.
2255         (encode_builtin_char_1): Support `japanese-jef-china3'.
2256         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2257         (complex_vars_of_mule_charset): Add new coded-charset
2258         `japanese-jef-china3'.
2259
2260 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2261
2262         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2263         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2264         94^4, 96^3, 96^4, 128^n and 256^n set.
2265         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2266         (map_char_table): Likewise.
2267
2268 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2269
2270         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2271         UTF-2000.
2272
2273 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2274
2275         * chartab.h (get_char_id_table): New inline function.
2276
2277         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2278         function.
2279
2280 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2281
2282         * chartab.h (decode_char_table_range): New prototype in XEmacs
2283         UTF-2000.
2284         (put_char_id_table): New inline function in XEmacs UTF-2000.
2285
2286         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2287         function.
2288         (decode_char_table_range): Delete static declaration in XEmacs
2289         UTF-2000.
2290
2291 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * chartab.c (put_char_id_table): Use `put_char_table'.
2294
2295 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2296
2297         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2298         (map_over_uint16_byte_table): Likewise.
2299         (map_over_byte_table): Likewise.
2300         (map_char_table): Modify for `map_over_uint8_byte_table',
2301         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2302         UTF-2000.
2303
2304 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * chartab.c (struct map_char_table_for_charset_arg): New
2307         structure.
2308         (map_char_table_for_charset_fun): New function.
2309         (map_char_table): Use `map_char_table' for encoding_table of
2310         `range->charset'.
2311
2312 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2313
2314         * chartab.c (map_char_table): Check a character is found in
2315         range->charset instead of non default value is defined in
2316         char-table when range is CHARTAB_RANGE_ROW.
2317
2318 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2319
2320         * chartab.c (map_char_id_table): Deleted.
2321         (Fmap_char_attribute): Use `map_char_table' instead of
2322         `map_char_id_table'.
2323
2324 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2327         UTF-2000.
2328         (update_syntax_table): Deleted in XEmacs UTF-2000.
2329
2330         * syntax.c (find_defun_start): Use `syntax_table' instead of
2331         `mirror_syntax_table' in XEmacs UTF-2000.
2332         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2333         UTF-2000.
2334         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2335         XEmacs UTF-2000.
2336         (Fmatching_paren): Likewise.
2337         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2338         in XEmacs UTF-2000.
2339         (find_start_of_comment): Likewise.
2340         (find_end_of_comment): Likewise.
2341         (Fforward_comment): Likewise.
2342         (scan_lists): Likewise.
2343         (char_quoted): Likewise.
2344         (Fbackward_prefix_chars): Likewise.
2345         (scan_sexps_forward): Likewise.
2346         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2347         (update_syntax_table): Likewise.
2348
2349         * search.c (skip_chars): Use `syntax_table' instead of
2350         `mirror_syntax_table' in XEmacs UTF-2000.
2351         (wordify): Likewise.
2352         (Freplace_match): Likewise.
2353
2354         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2355         `mirror_syntax_table' in XEmacs UTF-2000.
2356         (WORDCHAR_P_UNSAFE): Likewise.
2357         (re_match_2_internal): Likewise.
2358
2359         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2360         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2361
2362         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2363         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2364
2365         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2366         XEmacs UTF-2000.
2367
2368         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2369         UTF-2000.
2370         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2371         (char_table_description): Delete `mirror_table' in XEmacs
2372         UTF-2000.
2373         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2374         UTF-2000.
2375         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2376         (Fcopy_char_table): Likewise.
2377         (put_char_table): Don't call `update_syntax_table' in XEmacs
2378         UTF-2000.
2379
2380         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2381         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2382         (casify_region_internal): Likewise.
2383
2384         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2385
2386         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2387         `mirror_syntax_table' in XEmacs UTF-2000.
2388
2389         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2390         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2391         (Fexpand_abbrev): Likewise.
2392
2393 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2394
2395         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2396
2397 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2398
2399         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2400         (map_over_uint16_byte_table): Likewise.
2401         (map_over_byte_table): Likewise.
2402         (get_char_id_table): Refer `cit->default_value'.
2403         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2404         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2405         of character-id ranges.
2406         (mark_char_table): Mark `ct->default_value'.
2407         (char_table_description): Add `default_value'.
2408         (fill_char_table): Use `default_value'.
2409         (decode_char_table_range): Decode `nil' as
2410         `CHARTAB_RANGE_DEFAULT'.
2411         (get_char_id_table): Refer `cit->default_value'.
2412         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2413         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2414         temporary hack; check value of char-table is bound or not.
2415         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2416
2417         * chartab.h (struct Lisp_Char_Table): Add new member
2418         `default_value' in XEmacs UTF-2000.
2419         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2420         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2421         UTF-2000.
2422
2423 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * chartab.h (Lisp_Char_ID_Table): Deleted.
2426
2427         * chartab.c (char_table_description): Fix typo.
2428         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2429         `Lisp_Char_ID_Table'.
2430
2431 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2434         `CHAR_ID_TABLE_P'.
2435
2436         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2437         `CHAR_ID_TABLE_P'.
2438
2439         * chartab.h (XCHAR_ID_TABLE): Deleted.
2440         (XSETCHAR_ID_TABLE): Deleted.
2441         (CHAR_ID_TABLE_P): Deleted.
2442
2443         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2444         `CHAR_ID_TABLE_P'.
2445         (Fget_composite_char): Likewise.
2446         (put_char_table): Likewise.
2447         (add_char_attribute_alist_mapper): Fixed.
2448         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2449         `CHAR_ID_TABLE_P'.
2450         (Fget_char_attribute): Likewise.
2451         (Fget_char_attribute): Likewise.
2452         (Fmap_char_attribute): Likewise.
2453
2454         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2455         `CHAR_ID_TABLE_P'.
2456         (encode_char_1): Likewise.
2457
2458 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2461         `XCHAR_ID_TABLE'.
2462
2463         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2464         instead of `XCHAR_ID_TABLE'.
2465         (remove_char_ccs): Likewise.
2466
2467         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2468         `XCHAR_ID_TABLE'.
2469         (Fget_composite_char): Likewise.
2470         (Fchar_variants): Likewise.
2471         (put_char_table): Likewise.
2472         (add_char_attribute_alist_mapper): Likewise.
2473         (Fchar_attribute_alist): Likewise.
2474         (Fget_char_attribute): Likewise.
2475         (Fput_char_attribute): Likewise.
2476         (Fmap_char_attribute): Likewise.
2477         (Fmap_char_attribute): Likewise.
2478
2479         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2480         `XCHAR_ID_TABLE'.
2481         (encode_char_1): Likewise.
2482
2483 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2484
2485         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2486         `Lisp_Char_ID_Table'.
2487         (mark_char_id_table): Deleted.
2488         (print_char_id_table): Likewise.
2489         (char_id_table_equal): Likewise.
2490         (char_id_table_hash): Likewise.
2491         (char_id_table_description): Likewise.
2492         (char_id_table): Likewise.
2493         (make_char_id_table): Use `Fmake_char_table' and
2494         `fill_char_table'.
2495         (get_char_id_table): Use `Lisp_Char_Table' instead of
2496         `Lisp_Char_ID_Table'.
2497         (put_char_id_table): Likewise.
2498         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2499         `XCHAR_ID_TABLE'.
2500         (Fremove_char_attribute): Likewise.
2501         (syms_of_chartab): Don't define type `char-id-table'.
2502
2503         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2504         (char_id_table): Likewise.
2505         (GC_CHAR_ID_TABLE_P): Likewise.
2506         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2507         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2508         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2509         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2510         (get_char_id_table): Use `Lisp_Char_Table' instead of
2511         `Lisp_Char_ID_Table'.
2512         (put_char_id_table_0): Likewise.
2513         (put_char_id_table): Likewise.
2514
2515 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2516
2517         * chartab.h: Lisp_Byte_Table related codes are moved from
2518         chartab.h.
2519
2520         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2521
2522 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2523
2524         * chartab.h: Don't include "chartab.h".
2525         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2526         (Lisp_Char_ID_Table): Likewise.
2527         (char_id_table): Likewise.
2528         (XCHAR_ID_TABLE): Likewise.
2529         (XSETCHAR_ID_TABLE): Likewise.
2530         (CHAR_ID_TABLE_P): Likewise.
2531         (GC_CHAR_ID_TABLE_P): Likewise.
2532         (get_char_id_table): Likewise.
2533
2534         * char-ucs.h: Include "chartab.h".
2535         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2536         (Lisp_Char_ID_Table): Likewise.
2537         (char_id_table): Likewise.
2538         (XCHAR_ID_TABLE): Likewise.
2539         (XSETCHAR_ID_TABLE): Likewise.
2540         (CHAR_ID_TABLE_P): Likewise.
2541         (GC_CHAR_ID_TABLE_P): Likewise.
2542         (get_char_id_table): Likewise.
2543
2544 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2545
2546         * chartab.c (copy_uint8_byte_table): New function.
2547         (copy_uint16_byte_table): New function.
2548         (copy_byte_table): New function.
2549         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2550         characters to call.
2551         (map_over_uint16_byte_table): Likewise.
2552         (map_over_byte_table): Likewise.
2553         (get_byte_table): Move prototype to chartab.h.
2554         (put_byte_table): Likewise.
2555         (put_char_id_table_0): Moved to chartab.h.
2556         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2557         (char_table_entry_equal): Likewise.
2558         (char_table_entry_hash): Likewise.
2559         (char_table_entry_description): Likewise.
2560         (char_table_entry): Likewise.
2561         (make_char_table_entry): Likewise.
2562         (copy_char_table_entry): Likewise.
2563         (get_non_ascii_char_table_value): Likewise.
2564         (map_over_charset_ascii): Likewise.
2565         (map_over_charset_control_1): Likewise.
2566         (map_over_charset_row): Likewise.
2567         (map_over_other_charset): Likewise.
2568         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2569         (print_char_table): Likewise.
2570         (char_table_equal): Likewise.
2571         (char_table_hash): Likewise.
2572         (char_table_description): Likewise.
2573         (fill_char_table): Likewise.
2574         (Fcopy_char_table): Likewise.
2575         (get_char_table): Likewise.
2576         (Fget_range_char_table): Likewise.
2577         (put_char_table): Likewise.
2578         (map_char_table): Likewise.
2579         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2580         UTF-2000.
2581
2582 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2583
2584         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2585         `Vauto_fill_chars' in XEmacs UTF-2000.
2586
2587         * chartab.h (get_byte_table): New prototype [moved from
2588         chartab.c].
2589         (put_byte_table): Likewise [moved from chartab.c].
2590         (put_char_id_table_0): New inline function [moved from chartab.c].
2591         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2592         (Lisp_Char_Table_Entry): Likewise.
2593         (char_table_entry): Likewise.
2594         (XCHAR_TABLE_ENTRY): Likewise.
2595         (XSETCHAR_TABLE_ENTRY): Likewise.
2596         (CHAR_TABLE_ENTRYP): Likewise.
2597         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2598         (NUM_ASCII_CHARS): Likewise.
2599         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2600         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2601
2602 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2603
2604         * chartab.c (get_char_id_table): Change interface.
2605         (put_char_id_table_0): New function.
2606         (put_char_id_table): Change interface; new implementation.
2607         (Fget_composite_char): Modify for interface change of
2608         `get_char_id_table'.
2609         (Fchar_variants): Likewise.
2610         (add_char_attribute_alist_mapper): Likewise.
2611         (Fchar_attribute_alist): Likewise.
2612         (Fget_char_attribute): Likewise.
2613         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2614         as same as character as the first argument like `put-char-table';
2615         modify for interface change of `put_char_id_table'.
2616         (Fremove_char_attribute): Modify for interface change of
2617         `put_char_id_table'.
2618
2619 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2620
2621         * text-coding.c: Sync up with XEmacs 21.2.41.
2622         (COMPOSE_ADD_CHAR): Modify for interface change of
2623         `get_char_id_table'.
2624
2625         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2626         change of `put_char_id_table'.
2627         (remove_char_ccs): Likewise.
2628
2629         * chartab.h (put_char_id_table): Change interface.
2630
2631         * char-ucs.h (get_char_id_table): Change interface.
2632         (charset_code_point): Modify for interface change of
2633         `get_char_id_table'.
2634         (encode_char_1): Likewise.
2635
2636 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2639         argument `ccs'.
2640         (map_over_uint16_byte_table): Likewise.
2641         (map_over_byte_table): Likewise.
2642         (map_char_id_table): Add new argument `range' like
2643         `map_char_table'.
2644         (Fmap_char_attribute): Add new argument `range' like
2645         `Fmap_char_table'.
2646
2647 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2648
2649         * chartab.c (map_over_uint8_byte_table): Change interface of
2650         mapping function to use struct chartab_range instead of Emchar.
2651         (map_over_uint16_byte_table): Likewise.
2652         (map_over_byte_table): Likewise.
2653         (map_char_id_table): Likewise.
2654         (struct slow_map_char_id_table_arg): Deleted.
2655         (slow_map_char_id_table_fun): Deleted.
2656         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2657         function `slow_map_char_table_fun' instead of struct
2658         `slow_map_char_id_table_arg' and function
2659         `slow_map_char_id_table_fun'.
2660
2661 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * mule-charset.c: Move char-it-table related codes to chartab.c.
2664         (Vutf_2000_version): Moved to chartab.c.
2665         (Fdefine_char): Likewise.
2666         (Ffind_char): Likewise.
2667         (syms_of_mule_charset): Move types `uint8-byte-table',
2668         `uint16-byte-table', `byte-table' and `char-id-table' to
2669         chartab.c; move functions `char_attribute_list,
2670         `find_char_attribute_table, `char_attribute_alist,
2671         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2672         `map_char_attribute, `define_char, `find_char, `char_variants and
2673         `get_composite_char to chartab.c; move symbols `=>ucs',
2674         `->decomposition', `compat', `isolated', `initial', `medial',
2675         `final', `vertical', `noBreak', `fraction', `super', `sub',
2676         `circle', `square', `wide', `narrow', `small' and `font' to
2677         chartab.c.
2678         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2679         setting codes for `Vcharacter_composition_table' and
2680         `Vcharacter_variant_table' to chartab.c.
2681         (complex_vars_of_mule_charset): Move setting code for
2682         `Vchar_attribute_hash_table' to chartab.c.
2683
2684         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2685         (make_char_id_table): New prototype.
2686         (put_char_id_table): Likewise.
2687         (Fget_char_attribute): Likewise.
2688
2689         * chartab.c: Move char-id-table related code from mule-charset.c.
2690         (Vutf_2000_version): Moved from mule-charset.c.
2691
2692         * char-ucs.h (Qucs): New external variable.
2693         (put_char_ccs_code_point): New prototype.
2694         (remove_char_ccs): Likewise.
2695
2696 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2697
2698         * mule-charset.c (Vcharset_ucs_jis): New variable.
2699         (Qucs_jis): Likewise.
2700         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2701         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2702
2703         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2704
2705 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2706
2707         * mule-charset.c (map_over_uint8_byte_table): New function.
2708         (map_over_uint16_byte_table): Likewise.
2709         (map_over_byte_table): Likewise.
2710         (map_char_id_table): Likewise.
2711         (slow_map_char_id_table_fun): Likewise.
2712         (Fmap_char_attribute): Likewise.
2713         (syms_of_mule_charset): Add new function `map-char-attribute'.
2714
2715 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2718         (syms_of_mule_charset): Add new function `find-char'.
2719
2720 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2721
2722         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2723         XEmacs UTF-2000.
2724         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2725         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2726         XEmacs UTF-2000.
2727         (complex_vars_of_mule_charset): Add new coded-charset
2728         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2729         `ideograph-gt-pj-*'.
2730
2731         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2732
2733 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2734
2735         * mule-charset.c (encode_builtin_char_1): Purge codes about
2736         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2737         {MIN|MAX}_CHAR_HEBREW.
2738         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2739         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2740
2741         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2742         (MAX_CHAR_GREEK): Purged.
2743         (MIN_CHAR_CYRILLIC): Purged.
2744         (MAX_CHAR_CYRILLIC): Purged.
2745         (MIN_CHAR_HEBREW): Commented out.
2746         (MAX_CHAR_HEBREW): Likewise.
2747
2748 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2749
2750         * mule-charset.c (Qto_ucs): New variable.
2751         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2752         (Fdefine_char): Likewise.
2753         (syms_of_mule_charset): Add new symbol `=>ucs'.
2754
2755 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (Fdecode_char): Fixed.
2758
2759 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2760
2761         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2762         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2763         "tcvn5712-1".
2764
2765 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2766
2767         * mule-charset.c (Vcharset_ucs_big5): New variable.
2768         (Qucs_big5): Likewise.
2769         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2770         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2771
2772         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2773
2774 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * mule-charset.c (decode_builtin_char): Check Big5 code range
2777         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2778
2779 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2780
2781         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2782         (Qchinese_gb12345): Likewise.
2783         (Fdecode_builtin_char): Fixed.
2784         (syms_of_mule_charset): Add `chinese-gb12345'.
2785         (complex_vars_of_mule_charset): Add coded-charset
2786         `chinese-gb12345'.
2787
2788         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2789         (LEADING_BYTE_CHINESE_GB12345): New macro.
2790
2791 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2792
2793         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2794         and `latin-viscii-upper' for `latin-viscii'.
2795
2796 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * mule-charset.c (Fdecode_builtin_char): Comment out
2799         regularization code for ISO-IR GR representation.
2800
2801 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * mule-charset.c (decode_builtin_char): New function; renamed from
2804         `make_builtin_char'; return -1 instead of signal.
2805         (Fdecode_builtin_char): Use `decode_builtin_char'.
2806
2807         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2808         `make_builtin_char'.
2809         (DECODE_CHAR): Use `decode_builtin_char' instead of
2810         `make_builtin_char'; use mapping table of `chinese-big5' for
2811         `chinese-big5-{1,2}'.
2812
2813 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * text-coding.c (char_encode_big5): New function.
2816         (char_finish_big5): Likewise.
2817         (reset_encoding_stream): Use `char_encode_big5' and
2818         `char_finish_big5' for CODESYS_BIG5.
2819         (mule_encode): Don't use `encode_coding_big5'.
2820         (encode_coding_big5): Deleted.
2821
2822 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2823
2824         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2825         0x81- in XEmacs UTF-2000.
2826         (detect_coding_big5): Likewise.
2827
2828 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2831         generate character-id if the CCS property does not have
2832         corresponding predefined character.
2833         (make_builtin_char): Return -1 if corresponding predefined
2834         character is not found.
2835         (Fdecode_char): Return nil if corresponding character is not
2836         found.
2837         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2838         don't map to builtin ucs space.
2839
2840 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2841
2842         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2843         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2844
2845 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2848         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2849         (Qideograph_gt): Likewise.
2850         (Qideograph_gt_pj_{1..11}): Likewise.
2851         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2852         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2853         `ideograph-gt-pj-11'.
2854         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2855         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2856         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2857
2858         * char-ucs.h (LEADING_BYTE_GT): New macro.
2859         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2860         (MIN_CHAR_GT): Likewise.
2861         (MAX_CHAR_GT): Likewise.
2862
2863 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2864
2865         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2866         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2867
2868         * doprnt.c (unsigned_int_converters): Add `c'.
2869         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2870
2871         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2872         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2873         `MIN_CHAR_MOJIKYO'.
2874         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2875         (MAX_CHAR_MOJIKYO_0): New macro.
2876         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2877
2878 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2879
2880         * mule-charset.c (Fdefine_char): Delete cemented out code.
2881         (encode_builtin_char_1): Modify for new allocation of builtin
2882         Mojikyo characters.
2883
2884         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2885
2886 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2887
2888         * mule-charset.c (Vcharset_ucs_cns): New variable.
2889         (Qucs_cns): New variable.
2890         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2891         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2892
2893 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2894
2895         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2896
2897 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2898
2899         * search.c (search_buffer): Make `charset_base_code' as
2900         character-id >> 6 to eliminate the corresponding last byte in
2901         UTF-8 representation [I'm not sure it is right thing].
2902         (boyer_moore): Likewise.
2903
2904 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2905
2906         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2907         representation in MULE.
2908
2909 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2910
2911         * text-coding.c (Fmake_coding_system): Use
2912         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2913         `EXTERNAL_PROPERTY_LIST_LOOP'.
2914
2915 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2916
2917         * text-coding.c (decode_output_utf8_partial_char): New function.
2918         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2919
2920 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2921
2922         * text-coding.c (decode_coding_utf8): Output original byte
2923         sequence if it is broken; change order of conditions.
2924
2925         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2926         of conditions.
2927
2928         * mb-multibyte.h (BYTE_ASCII_P):
2929         Use bit ops for char-signedness safety.
2930         (BYTE_C0_P): Use bit ops for char-signedness safety.
2931         (BYTE_C1_P): Use bit ops for char-signedness safety.
2932
2933         * character.h: (XCHAR_OR_CHAR_INT):
2934         Always use inline function.
2935         Remove redundant type checking assert() - XINT will abort quite
2936         nicely.
2937
2938 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * text-coding.c: (Fencode_shift_jis_char):
2941         (Fencode_big5_char):
2942         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2943         Replace 0 with '\0' when working with bytes.
2944         Replace initial "(" with "\(" in docstrings.
2945
2946         (Fmake_coding_system):
2947         When type is ccl and value is vector, register it with a proper
2948         symbol.  And checks whether the given ccl program is valid.
2949         (mule_decode): When calling ccl_driver, if src indicates
2950         NULL pointer, set an empty string instead.
2951         (mule_encode): Likewise.
2952
2953         (detect_eol_type):
2954         (detect_coding_sjis):
2955         (decode_coding_sjis):
2956         (detect_coding_big5):
2957         (decode_coding_big5):
2958         (detect_coding_ucs4):
2959         (decode_coding_ucs4):
2960         (detect_coding_utf8):
2961         (decode_coding_utf8):
2962         (detect_coding_iso2022):
2963         (decode_coding_iso2022):
2964         (decode_coding_no_conversion):
2965         (mule_decode):
2966         Make all detecting and decoding functions take an Extbyte * arg.
2967         (text_encode_generic):
2968         (encode_coding_big5):
2969         (encode_coding_no_conversion):
2970         (mule_encode):
2971         Make all encoding functions take a Bufbyte * arg.
2972         Use size_t instead of unsigned int for memory sizes.
2973         Only cast to unsigned char whenever dereferencing Extbyte *.
2974
2975         (struct lrecord_description fcd_description_1): Use countof.
2976         (complex_vars_of_file_coding):
2977         Use countof instead of sizeof.
2978         Use CHECK_NATNUM instead of CHECK_INT.
2979
2980 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2981
2982         * mule-charset.c (Fget_char_attribute): Add new optional argument
2983         `default-value'.
2984         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2985         (remove_char_ccs): Likewise.
2986
2987 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2988
2989         * text-coding.c (char_encode_shift_jis): New implementation in
2990         UTF-2000.
2991         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2992         ...)'.
2993
2994         * mule-charset.c (Vcharset_chinese_big5): New variable in
2995         UTF-2000.
2996         (Qchinese_big5): New variable in UTF-2000.
2997         (BIG5_SAME_ROW): New macro in UTF-2000.
2998         (make_builtin_char): Use builtin characters of
2999         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3000         characters of `Vcharset_chinese_big5'.
3001         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3002         (complex_vars_of_mule_charset): Add new coded-charset
3003         `chinese-big5' in UTF-2000.
3004
3005         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3006         (Vcharset_chinese_big5): New external variable declaration.
3007         (Vcharset_japanese_jisx0208_1990): Likewise.
3008
3009 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3010
3011         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3012         function.
3013         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3014
3015 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3016
3017         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3018         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3019         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3020         `mojikyo-pj-*'.
3021
3022 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3023
3024         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3025
3026 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3027
3028         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3029         to 0.17.
3030
3031 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3032
3033         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3034         for `CHARSET_BY_ATTRIBUTES'.
3035         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3036         `CHARSET_BY_ATTRIBUTES'.
3037
3038         * text-coding.c (struct decoding_stream): Rename member `CH' to
3039         `CPOS'.
3040         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3041         (decode_coding_sjis): Likewise.
3042         (decode_coding_big5): Likewise.
3043         (decode_coding_ucs4): Likewise.
3044         (decode_coding_utf8): Likewise.
3045         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3046         `CHARSET_BY_ATTRIBUTES'.
3047         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3048         `str->counter'; decode 3, 4 bytes sets.
3049         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3050         sets.
3051         (decode_coding_no_conversion): Use `str->cpos' instead of
3052         `str->ch'.
3053
3054         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3055         (Qmojikyo_2022_1): New variable.
3056         (make_charset): Don't use `CHARSET_TYPE_*'.
3057         (range_charset_code_point): Support coded-charset
3058         `mojikyo-2022-1'.
3059         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3060         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3061         `CHARSET_BY_ATTRIBUTES'.
3062         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3063         `CHARSET_BY_ATTRIBUTES'.
3064         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3065         (complex_vars_of_mule_charset): Add new coded-charset
3066         `mojikyo-2022-1'.
3067
3068         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3069         interface; changed to inline function.
3070
3071         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3072         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3073         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3074         (CHARSET_TYPE_94): Deleted.
3075         (CHARSET_TYPE_94X94): Deleted.
3076         (CHARSET_TYPE_96): Deleted.
3077         (CHARSET_TYPE_96X96): Deleted.
3078         (CHARSET_TYPE_128): Deleted.
3079         (CHARSET_TYPE_128X128): Deleted.
3080         (CHARSET_TYPE_256): Deleted.
3081         (CHARSET_TYPE_256X256): Deleted.
3082         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3083         to inline function.
3084         (DECODE_MOJIKYO_2022): New inline function.
3085         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3086         `Vcharset_mojikyo_2022_1'.
3087
3088 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3089
3090         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3091         instead of `EQ'.
3092         (put_byte_table): Likewise.
3093         (char_id_table_equal): Use `get_byte_table' [new implementation].
3094
3095 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3096
3097         * mule-charset.c: Include <limits.h> in UTF-2000.
3098         (BT_UINT8_MIN): New macro in UTF-2000.
3099         (BT_UINT8_MAX): New macro in UTF-2000.
3100         (BT_UINT8_t): New macro in UTF-2000.
3101         (BT_UINT8_nil): New macro in UTF-2000.
3102         (BT_UINT8_unbound): New macro in UTF-2000.
3103         (INT_UINT8_P): New inline function in UTF-2000.
3104         (UINT8_VALUE_P): New inline function in UTF-2000.
3105         (UINT8_ENCODE): New inline function in UTF-2000.
3106         (UINT8_DECODE): New inline function in UTF-2000.
3107         (mark_uint8_byte_table): New function in UTF-2000.
3108         (print_uint8_byte_table): New function in UTF-2000.
3109         (uint8_byte_table_equal): New function in UTF-2000.
3110         (uint8_byte_table_hash): New function in UTF-2000.
3111         (make_uint8_byte_table): New function in UTF-2000.
3112         (uint8_byte_table_same_value_p): New function in UTF-2000.
3113         (BT_UINT16_MIN): New macro in UTF-2000.
3114         (BT_UINT16_MAX): New macro in UTF-2000.
3115         (BT_UINT16_t): New macro in UTF-2000.
3116         (BT_UINT16_nil): New macro in UTF-2000.
3117         (BT_UINT16_unbound): New macro in UTF-2000.
3118         (INT_UINT16_P): New inline function in UTF-2000.
3119         (UINT16_VALUE_P): New inline function in UTF-2000.
3120         (UINT16_ENCODE): New inline function in UTF-2000.
3121         (UINT16_DECODE): New inline function in UTF-2000.
3122         (UINT8_TO_UINT16): New inline function in UTF-2000.
3123         (mark_uint16_byte_table): New function in UTF-2000.
3124         (print_uint16_byte_table): New function in UTF-2000.
3125         (uint16_byte_table_equal): New function in UTF-2000.
3126         (uint16_byte_table_hash): New function in UTF-2000.
3127         (make_uint16_byte_table): New function in UTF-2000.
3128         (uint16_byte_table_same_value_p): New function in UTF-2000.
3129         (print_byte_table): New function in UTF-2000.
3130         (byte-table): Use `print_byte_table' as printer.
3131         (make_byte_table): Delete second argument `older'.
3132         (byte_table_same_value_p): New function in UTF-2000.
3133         (copy_byte_table): Deleted.
3134         (get_byte_table): New function in UTF-2000.
3135         (put_byte_table): New function in UTF-2000.
3136         (print_char_id_table): New function in UTF-2000.
3137         (char-id-table): Use `print_char_id_table' as printer.
3138         (make_char_id_table): Delete second argument `older'.
3139         (get_char_id_table): Use `get_byte_table [new implementation].
3140         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3141         implementation].
3142         (Ffind_char_attribute_table): New function in UTF-2000.
3143         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3144         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3145         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3146         (syms_of_mule_charset): Add new function
3147         `find-char-attribute-table' in UTF-2000.
3148
3149         * lrecord.h (enum lrecord_type): Add
3150         `lrecord_type_uint16_byte_table' and
3151         `lrecord_type_uint8_byte_table'.
3152
3153         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3154         (Lisp_Uint8_Byte_Table): New type.
3155         (XUINT8_BYTE_TABLE): New macro.
3156         (XSETUINT8_BYTE_TABLE): New macro.
3157         (UINT8_BYTE_TABLE_P): New macro.
3158         (GC_UINT8_BYTE_TABLE_P): New macro.
3159         (struct Lisp_Uint16_Byte_Table): New structure.
3160         (Lisp_Uint16_Byte_Table): New type.
3161         (XUINT16_BYTE_TABLE): New macro.
3162         (XSETUINT16_BYTE_TABLE): New macro.
3163         (UINT16_BYTE_TABLE_P): New macro.
3164         (GC_UINT16_BYTE_TABLE_P): New macro.
3165
3166 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3167
3168         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3169         (Vcharacter_ideographic_strokes_table): Deleted.
3170         (Vcharacter_total_strokes_table): Deleted.
3171         (Vcharacter_morohashi_daikanwa_table): Deleted.
3172         (Vcharacter_decomposition_table): Deleted.
3173         (Qname): Deleted because it is duplicated.
3174         (Qideographic_radical): Deleted.
3175         (Qideographic_strokes): Deleted.
3176         (Qtotal_strokes): Deleted.
3177         (Qmorohashi_daikanwa): Deleted.
3178         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3179         `ideographic-radical', `ideographic-strokes', `total-strokes',
3180         `morohashi-daikanwa' and `->decomposition'.
3181         (Fget_char_attribute): Likewise.
3182         (Fput_char_attribute): Likewise; use `make-vector' instead of
3183         `make_older_vector' for `->decomposition' value.
3184         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3185         `ideograph-daikanwa'.
3186         (syms_of_mule_charset): Delete builtin symbols `name',
3187         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3188         `morohashi-daikanwa'.
3189         (vars_of_mule_charset): Don't setup
3190         `Vcharacter_ideographic_radical_table',
3191         `Vcharacter_ideographic_strokes_table',
3192         `Vcharacter_total_strokes_table',
3193         `Vcharacter_morohashi_daikanwa_table' and
3194         `Vcharacter_decomposition_table'.
3195
3196 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3197
3198         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3199         `make_older_vector', `make_vector_newer_1' and
3200         `make_vector_newer'.
3201
3202         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3203         `make_older_vector' and `make_vector_newer'.
3204
3205         * config.h.in (HAVE_GGC): New macro.
3206
3207 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3208
3209         * mule-charset.c (struct char_attribute_list_closure): New
3210         structure in UTF-2000.
3211         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3212         (Fchar_attribute_list): Likewise.
3213         (Fset_charset_mapping_table): Use `make_vector_newer'.
3214         (Fdecode_builtin_char): New function in UTF-2000.
3215         (syms_of_mule_charset): Add new function `char-attribute-list' and
3216         `decode-builtin-char' in UTF-2000.
3217
3218         * lisp.h (make_vector_newer): New prototype.
3219
3220         * alloc.c (make_vector_newer_1): New function.
3221         (make_vector_newer): New function.
3222
3223 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3226         50100)'.
3227
3228 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3229
3230         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3231         (Vcharacter_attribute_table): Deleted.
3232         (Vcharacter_name_table): Deleted.
3233         (put_char_attribute): Deleted.
3234         (remove_char_attribute): Deleted.
3235         (struct char_attribute_alist_closure): New structure.
3236         (add_char_attribute_alist_mapper): New function.
3237         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3238         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3239         (Fget_char_attribute): Likewise.
3240         (Fput_char_attribute): Likewise.
3241         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3242         of `remove_char_attribute'.
3243         (Fdefine_char): Return character.
3244         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3245         and `Vcharacter_name_table'.
3246         (complex_vars_of_mule_charset): Likewise
3247         `Vchar_attribute_hash_table'.
3248
3249 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3250
3251         * character.h (CHARC_CHARSET): New macro.
3252         (CHARC_CHARSET_ID): New macro.
3253         (CHARC_CODE_POINT): New macro.
3254         (CHARC_COLUMNS): New macro.
3255         (CHARC_TO_CHAR): New inline function.
3256         (CHARC_EQ): New inline function.
3257         (CHARC_ASCII_EQ): New inline function.
3258         (CHARC_IS_SPACE): New inline function.
3259         (ASCII_TO_CHARC): New inline function.
3260
3261         * char-ucs.h (encode_char_2): Deleted.
3262         (ENCODE_CHAR): Use `encode_char_1' again.
3263         (breakup_char_1): Likewise.
3264         (CHAR_TO_CHARC): New inline function.
3265
3266         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3267
3268 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3269
3270         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3271         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3272         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3273         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3274         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3275         `CHARC_IS_SPACE'.
3276         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3277
3278         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3279         `CHARC_CODE_POINT'.
3280         (x_output_display_block): Use `CHARC_CHARSET' and
3281         `CHARC_ASCII_EQ'.
3282
3283         * redisplay-tty.c (tty_output_display_block): Use
3284         `CHARC_ASCII_EQ'.
3285         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3286
3287         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3288
3289         * insdel.c (find_charsets_in_charc_string): Use
3290         `CHARC_CHARSET_ID'.
3291         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3292         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3293         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3294         (convert_charc_string_into_malloced_string): Likewise.
3295
3296 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3297
3298         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3299         instead of <Emchar_dynarr *> for buf; use
3300         `convert_bufbyte_string_into_charc_dynarr' instead of
3301         `convert_bufbyte_string_into_emchar_dynarr'; use
3302         `find_charsets_in_charc_string' instead of
3303         `find_charsets_in_emchar_string'.
3304
3305         * redisplay.h:
3306         - Include "character.h".
3307         (struct rune): New member `cglyph'; delete member `chr'.
3308
3309         * redisplay.c (redisplay_text_width_charc_string): New function;
3310         delete `redisplay_text_width_emchar_string'.
3311         (rtw_charc_dynarr): New variable; renamed from
3312         `rtw_emchar_dynarr'.
3313         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3314         `rtw_emchar_dynarr'; use
3315         `convert_bufbyte_string_into_charc_dynarr' instead of
3316         `convert_bufbyte_string_into_emchar_dynarr'; use
3317         `redisplay_text_width_charc_string' instead of
3318         `redisplay_text_width_emchar_string'.
3319         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3320         instead of `rtw_emchar_dynarr'; use
3321         `convert_bufbyte_string_into_charc_dynarr' instead of
3322         `convert_bufbyte_string_into_emchar_dynarr'.
3323         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3324         `redisplay_text_width_charc_string' instead of
3325         `redisplay_text_width_emchar_string'.
3326         (create_text_block): Modify for <struct rune> change.
3327         (generate_formatted_string_db): Likewise.
3328         (create_string_text_block): Likewise.
3329         (pixel_to_glyph_translation): Likewise.
3330
3331         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3332         instead of <const Emchar *>.
3333         (x_text_width): Likewise.
3334         (x_output_display_block): Use <Charc_dynarr *> instead
3335         <Emchar_dynarr *>; modify for <structure rune> change.
3336         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3337         *>.
3338
3339         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3340         <const Emchar *>; use `charc_string_displayed_columns' instead of
3341         `emchar_string_displayed_columns'.
3342         (tty_output_display_block): Use <Charc_dynarr *> instead of
3343         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3344         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3345         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3346         `tty_output_emchar_dynarr_dynarr'.
3347         (tty_output_charc_dynarr): New function; delete
3348         `tty_output_charc_dynarr'.
3349
3350         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3351         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3352         <Emchar_dynarr *> for buf; use
3353         `convert_bufbyte_string_into_charc_dynarr' instead of
3354         `convert_bufbyte_string_into_emchar_dynarr'.
3355
3356         * frame.c (title_string_charc_dynarr): New variable; renamed from
3357         `title_string_emchar_dynarr'.
3358         (generate_title_string): Use `title_string_charc_dynarr' instead
3359         of `title_string_emchar_dynarr'; use
3360         `convert_charc_string_into_malloced_string' instead of
3361         `convert_emchar_string_into_malloced_string'.
3362         (init_frame): Use `title_string_charc_dynarr' instead of
3363         `title_string_emchar_dynarr'.
3364
3365         * console.h:
3366         - Include "character.h".
3367         (struct console_methods): Use <const Charc *> instead of <const
3368         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3369         <Emchar_dynarr *> in output_string_method.
3370
3371         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3372         <Emchar_dynarr *>.
3373
3374         * console-stream.c (stream_text_width): Use <const Charc *>
3375         instead of <const Emchar *>.
3376
3377         * character.h (Charc_dynarr): New type.
3378
3379         * char-ucs.h (structure Charc): New structure; define new type
3380         `Charc'.
3381
3382         * char-lb.h (DECODE_CHAR): New inline function.
3383         (encode_char_1): New inline function.
3384         (ENCODE_CHAR): New macro.
3385         (structure Charc): New structure; define new type `Charc'.
3386
3387         * char-1byte.h (Vcharset_control_1): New macro.
3388         (Vcharset_latin_iso8859_1): New macro.
3389         (DECODE_CHAR): New inline function.
3390         (encode_char_1): New inline function.
3391         (ENCODE_CHAR): New macro.
3392         (structure Charc): New structure; define new type `Charc'.
3393
3394         * insdel.c (find_charsets_in_charc_string): New function; delete
3395         `find_charsets_in_emchar_string'.
3396         (charc_string_displayed_columns): New function; delete
3397         `emchar_string_displayed_columns'.
3398         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3399         `convert_bufbyte_string_into_emchar_dynarr'.
3400         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3401         `convert_charc_string_into_bufbyte_dynarr'.
3402         (convert_charc_string_into_malloced_string): New function; delete
3403         `convert_charc_string_into_malloced_string'.
3404
3405         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3406         `find_charsets_in_emchar_string'.
3407         (charc_string_displayed_columns): New prototype; delete
3408         `emchar_string_displayed_columns'.
3409         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3410         `convert_charc_string_into_bufbyte_dynarr'.
3411         (convert_charc_string_into_malloced_string): New prototype; delete
3412         `convert_charc_string_into_malloced_string'.
3413
3414 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3415
3416         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3417
3418 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3419
3420         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3421
3422         * char-ucs.h: Use <short> for <Charset_ID>.
3423
3424         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3425         <Charset_ID>.
3426
3427 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3428
3429         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3430         to 0.16.
3431
3432 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3433
3434         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3435         variable.
3436         (Qmorohashi_daikanwa): New variable.
3437         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3438         for `morohashi-daikanwa' attribute.
3439         (Fget_char_attribute): Likewise.
3440         (Fput_char_attribute): Likewise.
3441         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3442         has the same value of `ideograph-daikanwa'.
3443         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3444         (vars_of_mule_charset): Setup
3445         `Vcharacter_morohashi_daikanwa_table'.
3446
3447 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3450         attributes.
3451         (add_charset_to_list_mapper): Add `key' instead of
3452         `XCHARSET_NAME (value)' to return aliases.
3453
3454 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3455
3456         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3457         variable.
3458         (Vcharacter_ideographic_strokes_table): New variable.
3459         (Qideographic_radical): New variable.
3460         (Qideographic_strokes): New variable.
3461         (Fchar_attribute_alist): Use
3462         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3463         attribute; use `Vcharacter_ideographic_strokes_table' for
3464         `ideographic-strokes' attribute.
3465         (Fget_char_attribute): Likewise.
3466         (Fput_char_attribute): Likewise.
3467         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3468         `ideographic-strokes'.
3469         (vars_of_mule_charset): Setup
3470         `Vcharacter_ideographic_radical_table' and
3471         `Vcharacter_ideographic_strokes_table'.
3472
3473 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3474
3475         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3476         (Qtotal_strokes): New variable.
3477         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3478         `total-strokes' attribute.
3479         (Fget_char_attribute): Likewise.
3480         (Fput_char_attribute): Likewise.
3481         (syms_of_mule_charset): Add new symbol `total-strokes'.
3482         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3483
3484 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3485
3486         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3487         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3488         are found.
3489         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3490         `->decomposition' attribute.
3491         (Fput_char_attribute): Likewise.
3492         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3493
3494 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3495
3496         * mule-charset.c (decoding_table_check_elements): New function.
3497         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3498
3499 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3500
3501         * mule-charset.c (Fset_charset_mapping_table): Use
3502         `put_char_ccs_code_point'.
3503
3504 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3505
3506         * mule-charset.c (decoding_table_put_char): New inline function.
3507         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3508
3509 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3510
3511         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3512         (XCHARSET_BYTE_SIZE): New macro.
3513         (decoding_table_remove_char): New inline function.
3514         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3515         `decoding_table_remove_char'.
3516         (remove_char_ccs): Use `decoding_table_remove_char'.
3517         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3518
3519 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3520
3521         * mule-charset.c (Vcharacter_name_table): New variable.
3522         (Qname): New variable.
3523         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3524         attribute.
3525         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3526         `Vcharacter_name_table' for `name' attribute.
3527         (Fremove_char_attribute): Use function `remove_char_ccs'.
3528         (put_char_ccs_code_point): New function.
3529         (remove_char_ccs): New function.
3530         (syms_of_mule_charset): Add new symbol `name'.
3531         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3532
3533 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3534
3535         * mule-charset.c (make_byte_table): Add new argument `older'.
3536         (make_char_id_table): Likewise.
3537         (copy_char_id_table): Comment out because it is not used.
3538         (put_char_id_table): Modify for `make_byte_table'.
3539         (Fput_char_attribute): Make encoding_table as older object;
3540         inherit older bit of `Vcharacter_composition_table'.
3541         (mark_charset): Don't mark `cs->encoding_table'.
3542         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3543         normal object; make `Vcharacter_composition_table' as an older
3544         object; delete staticpro for `Vcharacter_composition_table'; make
3545         `Vcharacter_variant_table' as a normal object.
3546
3547         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3548         (mark_object): Don't check older object in UTF-2000.
3549
3550         * lrecord.h (struct lrecord_header): Add new member `older' in
3551         UTF-2000.
3552         (set_lheader_implementation): Setup `SLI_header->older' in
3553         UTF-2000.
3554         (set_lheader_older_implementation): New macro in UTF-2000.
3555         (OLDER_RECORD_P): New macro in UTF-2000.
3556         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3557         (alloc_older_lcrecord): New prototype in UTF-2000.
3558         (alloc_older_lcrecord_type): New macro in UTF-2000.
3559
3560 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3561
3562         * mule-charset.c (byte_table_description): Use
3563         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3564         (char_id_table_description): Delete bogus `, 1'.
3565         (Fget_char_attribute): Refer encoding_table of each coded-charset
3566         to get value of coded-charset attribute of a character.
3567         (Fput_char_attribute): Use `make_older_vector' instead of
3568         `make_vector'; use encoding_table of each coded-charset to store
3569         value of coded-charset attribute of a character.
3570         (Fremove_char_attribute): Use encoding_table of each coded-charset
3571         to store value of coded-charset attribute of a character.
3572         (mark_charset): Mark `cs->encoding_table'; don't mark
3573         `cs->decoding_table'.
3574         (charset_description): Add description of new member
3575         `encoding_table'.
3576         (make_charset): Initialize `encoding_table'.
3577
3578         * char-ucs.h (struct Lisp_Charset): Add new member
3579         `encoding_table'.
3580         (CHARSET_ENCODING_TABLE): New macro.
3581         (XCHARSET_ENCODING_TABLE): New macro.
3582         (charset_code_point): New implementation.
3583         (encode_char_1): Likewise.
3584
3585         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3586         (disksave_object_finalization_1): Call finalizers of
3587         `all_older_lcrecords' in UTF-2000.
3588         (make_older_vector): New function in UTF-2000.
3589         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3590         UTF-2000.
3591
3592         * lisp.h (make_older_vector): New prototype in UTF-2000.
3593
3594 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3595
3596         * lrecord.h (enum lrecord_type): Rename
3597         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3598
3599         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3600         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3601         `get_char_code_table'.
3602
3603         * mule-charset.c (mark_char_id_table): Renamed from
3604         `mark_char_code_table'.
3605         (char_id_table_equal): Renamed from `char_code_table_equal'.
3606         (char_id_table_hash): Renamed from `char_code_table_hash'.
3607         (make_char_id_table): Renamed from `make_char_code_table'.
3608         (copy_char_id_table): Renamed from `copy_char_code_table'.
3609         (get_char_id_table): Renamed from `get_char_code_table'.
3610         (put_char_id_table): Renamed from `put_char_code_table'.
3611         (to_char_id): Renamed from `to_char_code'.
3612
3613         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3614         `Lisp_Char_Code_Table'.
3615         (char_id_table): Renamed from `char_code_table'.
3616         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3617         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3618         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3619         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3620         (get_char_id_table): Renamed from `get_char_code_table'.
3621
3622 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3623
3624         * lrecord.h (enum lrecord_type): Rename
3625         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3626
3627         * mule-charset.c (mark_byte_table): Renamed from
3628         `mark_char_byte_table'.
3629         (byte_table_equal): Renamed from `char_byte_table_equal'.
3630         (byte_table_hash): Renamed from `byte_table_hash'.
3631         (make_byte_table): Renamed from `make_byte_table'.
3632         (copy_byte_table): Renamed from `copy_char_byte_table'.
3633
3634         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3635         `Lisp_Char_Byte_Table'.
3636         (byte_table): Renamed from `char_byte_table'.
3637         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3638         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3639         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3640         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3641
3642 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3643
3644         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3645         (dfc_convert_to_internal_format): Likewise.
3646         
3647         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3648         * text-coding.c (Fcoding_system_alias_p): New function.
3649         * text-coding.c (Fcoding_system_aliasee): New function.
3650         * text-coding.c (append_suffix_to_symbol): New function.
3651         * text-coding.c (dangling_coding_system_alias_p): New function.
3652         * text-coding.c (Ffind_coding_system):
3653         * text-coding.c (Fcopy_coding_system):
3654         * text-coding.c (encode_coding_no_conversion):
3655         * text-coding.c (syms_of_file_coding):
3656         * text-coding.c (vars_of_file_coding):
3657         Rewrite coding system alias code.
3658         Allow nested aliases, like symbolic links.
3659         Allow redefinition of coding system aliases.
3660         Prevent existence of dangling coding system aliases.
3661         Eliminate convert_to_external_format.
3662         Eliminate convert_to_internal_format.
3663         
3664         * text-coding.c: Change enum eol_type to eol_type_t.
3665
3666 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3667
3668         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3669         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3670
3671         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3672         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3673
3674 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3675
3676         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3677         `ideograph-daikanwa'.
3678
3679         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3680         (Vcharset_ucs_bmp): Likewise.
3681         (Vcharset_mojikyo): Add new extern variable definition.
3682         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3683         (Vcharset_latin_iso8859_3): Likewise.
3684         (Vcharset_latin_iso8859_4): Likewise.
3685         (Vcharset_latin_iso8859_9): Likewise.
3686         (Vcharset_latin_viscii_lower): Likewise.
3687         (Vcharset_latin_viscii_upper): Likewise.
3688         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3689         `mojikyo' code-point is used to decode.
3690         (encode_char_2): New function [to convert `mojikyo' code-point to
3691         Mojikyo font encoding].
3692         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3693         (breakup_char_1): Likewise.
3694         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3695
3696 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3697
3698         * text-coding.c (Fmake_coding_system): Add document about
3699         `disable-composition' property.
3700
3701 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3702
3703         * text-coding.c (Qdisable_composition): New variable; delete
3704         `Qcomposite'.
3705         (Fmake_coding_system): Add new property `disable-composite';
3706         delete property `composite'.
3707         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3708         instead of `!CODING_SYSTEM_COMPOSITE'.
3709         (syms_of_file_coding): Add new symbol `disable-composition';
3710         delete symbol `composite'.
3711
3712         * file-coding.h (struct Lisp_Coding_System): Add
3713         `disable_composition'; delete `enable_composition'.
3714         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3715         `CODING_SYSTEM_COMPOSITE'.
3716         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3717         `XCODING_SYSTEM_COMPOSITE'.
3718
3719 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3720
3721         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3722         to 0.15.
3723
3724 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3725
3726         * text-coding.c (Qcomposite): New variable.
3727         (Fmake_coding_system): Add new property `composite'.
3728         (struct decoding_stream): Add `combined_char_count',
3729         `combined_chars' and `combining_table' in UTF-2000.
3730         (COMPOSE_FLUSH_CHARS): New macro.
3731         (COMPOSE_ADD_CHAR): New macro.
3732         (reset_decoding_stream): Reset `str->combined_char_count' and
3733         `str->combining_table' in UTF-2000.
3734         (decode_coding_iso2022): Modify for character-decomposition.
3735         (syms_of_file_coding): Add new symbol `composite'.
3736
3737 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3738
3739         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3740         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3741         of `Vcharacter_composition_table' if `->decomposition' property
3742         has only 1 element.
3743         (Qlatin_tcvn5712): New variable.
3744         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3745         (complex_vars_of_mule_charset): Add new coded-charset
3746         `latin-tcvn5712'.
3747
3748         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3749
3750 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3751
3752         * file-coding.h (struct Lisp_Coding_System): Add
3753         `enable_composition'.
3754         (CODING_SYSTEM_COMPOSITE): New macro.
3755         (XCODING_SYSTEM_COMPOSITE): New macro.
3756
3757 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3758
3759         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3760
3761 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3762
3763         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3764         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3765
3766 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3767
3768         * mule-charset.c (Vcharset_mojikyo): New variable.
3769         (Fdefine_char): Don't use coded-charset which does not have
3770         non-builtin character range to allocate character-id.
3771         (Qmojikyo): New variable.
3772         (syms_of_mule_charset): Add new symbol `mojikyo'.
3773         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3774
3775         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3776         (LEADING_BYTE_MOJIKYO): New macro.
3777         (MIN_CHAR_MOJIKYO): New macro.
3778         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3779         (MAX_CHAR_MOJIKYO): New macro.
3780
3781 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3782
3783         * mule-charset.c (remove_char_attribute): Fixed.
3784
3785 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3786
3787         * mule-charset.c (remove_char_attribute): New function.
3788         (Fremove_char_attribute): New function.
3789         (encode_builtin_char_1): Comment out builtin-support for
3790         greek-iso8859-7 and cyrillic-iso8859-5.
3791         (Fdecode_char): Check `code' is an integer.
3792         (syms_of_mule_charset): Add `remove-char-attribute'.
3793         (MIN_CHAR_GREEK): Deleted.
3794         (MAX_CHAR_GREEK): Likewise.
3795         (MIN_CHAR_CYRILLIC): Likewise.
3796         (MAX_CHAR_CYRILLIC): Likewise.
3797         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3798         MAX_CHAR_GREEK for `greek-iso8859-7'.
3799
3800         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3801         (MAX_CHAR_GREEK): Likewise.
3802         (MIN_CHAR_CYRILLIC): Likewise.
3803         (MAX_CHAR_CYRILLIC): Likewise.
3804
3805 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3806
3807         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3808         format is used without `ucs' property.
3809         (Fdecode_char): Fix problem with GR representation.
3810         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3811         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3812
3813 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3814
3815         * mule-charset.c (make_builtin_char): New function.
3816         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3817         (Fset_charset_mapping_table): Modify for new representation of
3818         code-point.
3819         (Fdecode_char): New function.
3820         (syms_of_mule_charset): Add new builtin function `decode-char' in
3821         UTF-2000.
3822
3823         * char-ucs.h (make_builtin_char): New prototype.
3824         (DECODE_CHAR): New inline function.
3825         (MAKE_CHAR): Use `DECODE_CHAR'.
3826
3827 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3828
3829         * text-coding.c (parse_charset_conversion_specs): Use
3830         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3831         `XCHARSET_TYPE'.
3832         (iso2022_designate): Likewise.
3833
3834         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3835         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3836
3837         * mule-charset.c (Vcharset_ucs): New variable.
3838         (print_charset): Change design; use `CHARSET_CHARS' and
3839         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3840         (make_charset): Change signature to specify `chars' and
3841         `dimension' instead of `type'.
3842         (range_charset_code_point): Modify for 256^n-set.
3843         (encode_builtin_char_1): Encode as `ucs' in default.
3844         (Fmake_charset): Modify for `make_charset'.
3845         (Fmake_reverse_direction_charset): Likewise.
3846         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3847         UTF-2000.
3848         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3849         for `make_charset'.
3850
3851         * char-ucs.h (Vcharset_ucs): New variable.
3852         (LEADING_BYTE_UCS): New macro.
3853         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3854         and `chars' to `unsigned short' from `unsigned int'.
3855         (CHARSET_TYPE): Deleted.
3856         (XCHARSET_TYPE): Deleted.
3857
3858 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3859
3860         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3861
3862         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3863         (ENCODE_CHAR): New macro.
3864
3865 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3868         to 0.14 (Kawachi-Katakami).
3869
3870 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3871
3872         * text-coding.c (char_encode_shift_jis): Modify for
3873         `charset_code_point'.
3874         (char_encode_iso2022): Likewise.
3875
3876         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3877         (integer) instead of list of <Lisp_Object>s (integers) as the
3878         format of code-point of a coded-charset.
3879         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3880         (encode_builtin_char_1): New function; delete
3881         `split_builtin_char'.
3882         (charset_code_point): Return <int> instead of <Lisp_Object>.
3883         (Fsplit_char): Don't use `SPLIT_CHAR'.
3884
3885         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3886         prototype for `split_builtin_char'.
3887         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3888         (charset_code_point): Likewise.
3889         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3890         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3891
3892 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3893
3894         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3895         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3896
3897 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3898
3899         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3900
3901         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3902         (MAX_CHAR_OBS_94x94): Deleted.
3903
3904 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3905
3906         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3907
3908         * char-ucs.h (MAX_CHAR_BMP): New macro.
3909
3910 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3911
3912         * text-coding.c: Sync with r21-2-24.
3913
3914 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3915
3916         * file-coding.c: Modify for UTF-2000.
3917
3918 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3919
3920         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3921         to 0.13 (Takaida).
3922
3923 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3924
3925         * mule-charset.c (split_builtin_char): Delete builtin support for
3926         `katakana-jisx0201'.
3927         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3928         BMP area in builtin representation.
3929
3930         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3931         `Vcharset_katakana_jisx0201'.
3932
3933 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3934
3935         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3936         (Qisolated): New variable.
3937         (Qinitial): New variable.
3938         (Qmedial): New variable.
3939         (Qfinal): New variable.
3940         (Qvertical): New variable.
3941         (Qsmall): New variable.
3942         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3943         `Qvertical' and `Qsmall'.
3944         (Qmojikyo_pj_[1 .. 21]): New variable.
3945         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3946         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3947         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3948         .. 21]'.
3949
3950 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3951
3952         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3953         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3954         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3955
3956 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3957
3958         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3959         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3960         BMP.
3961         (Qjapanese_jisx0208_1990): New variable.
3962         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3963         (complex_vars_of_mule_charset): Add new coded-charset
3964         `japanese-jisx0208-1990'.
3965
3966         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3967         (MIN_CHAR_JIS_X0208_1990): New macro.
3968         (MAX_CHAR_JIS_X0208_1990): New macro.
3969
3970 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3971
3972         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3973         coded-charset is not found.
3974
3975 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3976
3977         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3978         (Fdefine_char): Use `Fmake_char'.
3979
3980 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3981
3982         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3983         (Vcharset_hiragana_jisx0208): Deleted.
3984         (Vcharset_katakana_jisx0208): Deleted.
3985         (Qideograph_daikanwa): New variable.
3986         (Qhiragana_jisx0208): Deleted.
3987         (Qkatakana_jisx0208): Deleted.
3988         (split_builtin_char): Split `ideograph-daikanwa'.
3989         (Fsplit_char): New implementation for UTF-2000.
3990         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3991         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3992         (complex_vars_of_mule_charset): Add new coded-charset
3993         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3994         `katakana-jisx0208'.
3995
3996         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3997         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3998         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3999         (MIN_CHAR_DAIKANWA): New macro.
4000         (MAX_CHAR_DAIKANWA): New macro.
4001
4002 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4003
4004         * data.c (Fstring_to_number): Don't recognize floating point if
4005         base is not 10.
4006
4007 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4008
4009         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4010
4011 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4012
4013         * mule-charset.c (Qsquare): New variable.
4014         (to_char_code): Add `Qsquare'.
4015         (syms_of_mule_charset): Add new symbol `square'.
4016
4017 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4018
4019         * mule-charset.c (Qcircle): New variable.
4020         (to_char_code): Add `Qcircle'.
4021         (syms_of_mule_charset): Add new symbol `circle'.
4022
4023 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4024
4025         * mule-charset.c (Qfont): New variable.
4026         (to_char_code): Add `Qfont'.
4027         (syms_of_mule_charset): Add new symbol `font'.
4028
4029 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4030
4031         * mule-charset.c (Qsub): New variable.
4032         (to_char_code): Add `Qsub'.
4033         (syms_of_mule_charset): Add new symbol `sub'.
4034
4035 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4036
4037         * mule-charset.c (Fput_char_attribute): Convert each element of
4038         VALUE to GL position if ATTRIBUTE is a GR-set,
4039
4040 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4041
4042         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4043         coded-charset is a GR-set.
4044
4045 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4046
4047         * mule-charset.c (Fput_char_attribute): Check each element of
4048         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4049
4050 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4051
4052         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4053         UTF-2000.
4054         (Qethiopic_ucs): New variable in UTF-2000.
4055         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4056         (complex_vars_of_mule_charset): Add new coded-charset
4057         `ethiopic-ucs' in UTF-2000.
4058
4059         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4060         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4061         9)'.
4062         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4063         10)'.
4064         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4065
4066 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4067
4068         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4069         `ascii'.
4070
4071 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4072
4073         * mule-charset.c (Vcharacter_variant_table): New variable.
4074         (Q_ucs): New variable.
4075         (Fchar_variants): New function.
4076         (Fput_char_attribute): Register `->ucs' value to
4077         `Vcharacter_variant_table'.
4078         (syms_of_mule_charset): Add new function `char-variants' and new
4079         symbol `->ucs'.
4080         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4081
4082 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4083
4084         * mule-charset.c (get_char_code_table): Allow negative character
4085         code.
4086         (put_char_code_table): Likewise.
4087         (Vcharacter_composition_table): New variable.
4088         (Q_decomposition): New variable.
4089         (Qwide): New variable.
4090         (Qnarrow): New variable.
4091         (Qcompat): New variable.
4092         (QnoBreak): New variable.
4093         (Qsuper): New variable.
4094         (Qfraction): New variable.
4095         (to_char_code): New function.
4096         (Fget_composite_char): New function.
4097         (Fput_char_attribute): Register `->decomposition' value to
4098         `Vcharacter_composition_table'.
4099         (syms_of_mule_charset): Add new function `get-composite-char', new
4100         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4101         `super' and `fraction'.
4102         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4103
4104 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4105
4106         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4107         character; copy the return value.
4108
4109 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4110
4111         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4112
4113         * mule-charset.c (range_charset_code_point): Must use make_int.
4114         (split_builtin_char): New function.
4115
4116 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4117
4118         * mule-charset.c (char_byte_table): Change name from
4119         "char-code-table" to "char-byte-table".
4120         (mark_char_code_table): New function.
4121         (char_code_table_equal): New function.
4122         (char_code_table_hash): New function.
4123         (char_code_table_description): New constant.
4124         (char_code_table): New type.
4125         (make_char_code_table): New function.
4126         (copy_char_code_table): New function.
4127         (get_char_code_table): Modify for `char_code_table' type.
4128         (put_char_code_table): Likewise.
4129         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4130         (Kashiwara).
4131
4132         * char-ucs.h (char_code_table): New type.
4133         (XCHAR_CODE_TABLE): New macro.
4134         (XSETCHAR_CODE_TABLE): New macro.
4135         (CHAR_CODE_TABLE_P): New macro.
4136         (GC_CHAR_CODE_TABLE_P): New macro.
4137         (struct Lisp_Char_Code_Table): New structure.
4138
4139 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4140
4141         * mule-charset.c (Fmake_charset): Setup byte_offset for
4142         {94|96}^n-set.
4143
4144 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4145
4146         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4147         character.
4148
4149 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4150
4151         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4152         is found.
4153
4154 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4155
4156         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4157         charset, it is regarded as a charset.
4158         (put_char_attribute): New function in UTF-2000.
4159         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4160         charset, mapping-table of the charset is modified.
4161         (Fdefine_char): New function in UTF-2000.
4162         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4163         `Fput_char_attribute'.
4164         (syms_of_mule_charset): Add new function `define-char' and new
4165         symbol `ucs' in UTF-2000.
4166         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4167
4168 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4171         non-UTF-2000 configuration.
4172
4173 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4174
4175         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4176         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4177
4178         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4179         deleted.
4180         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4181         (Fset_charset_mapping_table): Likewise.
4182
4183         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4184         (CHARSET_ENCODING_TABLE): Delete.
4185         (XCHARSET_ENCODING_TABLE): Delete.
4186         (charset_code_point): New interface.
4187
4188 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4189
4190         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4191         instead of `charset_get_byte1' and `charset_get_byte2'.
4192
4193         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4194         (charset_get_byte2): Deleted.
4195
4196 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4197
4198         * char-ucs.h (SPLIT_CHAR): New inline function.
4199         (breakup_char_1): Use `SPLIT_CHAR'.
4200
4201         * mule-charset.c (range_charset_code_point): New function.
4202         (charset_code_point): New function.
4203
4204         * char-ucs.h (range_charset_code_point): New interface.
4205         (breakup_char_1): Use `range_charset_code_point'.
4206
4207 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4208
4209         * mule-charset.c (Fmake_charset): Delete unused local variable
4210         `code_offset'.
4211
4212         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4213         (breakup_char_1): Find a charset and code-point in
4214         `Vcharacter_attribute_table'.
4215
4216 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4217
4218         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4219         to 0.10 (Yao).
4220
4221 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4222
4223         * mule-charset.c (Vcharacter_attribute_table): New variable.
4224         (Fchar_attribute_alist): New function.
4225         (Fget_char_attribute): New function.
4226         (Fput_char_attribute): New function.
4227         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4228         too.
4229         (syms_of_mule_charset): Add new function `char-attribute-alist',
4230         `get-char-attribute' and `put-char-attribute'.
4231         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4232
4233 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4234
4235         * mule-charset.c (Fmake_charset): Just use
4236         `get_unallocated_leading_byte'.
4237
4238         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4239         sets; don't use final-byte based number for private sets.
4240
4241 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4242
4243         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4244         integer.
4245
4246 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4247
4248         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4249         to 0.9.
4250
4251 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4252
4253         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4254         of `CHAR_LEADING_BYTE' in UTF-2000.
4255
4256         * insdel.c (find_charsets_in_bufbyte_string): Use
4257         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4258         (find_charsets_in_emchar_string): Likewise.
4259
4260         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4261         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4262
4263         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4264         (CHAR_CHARSET_ID): New macro.
4265
4266 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4267
4268         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4269         charset-id - MIN_LEADING_BYTE.
4270         (put_char_table): Likewise.
4271
4272 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4273
4274         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4275         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4276         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4277         (CHARSET_ID_OFFSET): New macro.
4278         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4279         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4280         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4281         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4282         4).
4283         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4284         5).
4285         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4286         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4287         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4288         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4289         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4290
4291 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4292
4293         * mule-charset.c (next_allocated_leading_byte): New variable in
4294         UTF-2000.
4295         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4296         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4297         (get_unallocated_leading_byte): Simply use
4298         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4299         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4300         UTF-2000.
4301
4302         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4303         (MAX_LEADING_BYTE_PRIVATE): New macro.
4304         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4305         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4306
4307 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4308
4309         * mule-charset.c (Fmake_charset): Allocate final-byte based
4310         charset-id for 94-set, 96-set and 94x94-set.
4311
4312 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4313
4314         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4315         ambiguous `else'.
4316         (Fmake_charset): Likewise.
4317         (complex_vars_of_mule_charset): Modify the font registry of
4318         `ucs-bmp' not to match `Ethiopic-Unicode'.
4319
4320 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * mule-charset.c (complex_vars_of_mule_charset): Add font
4323         registory of `ucs-bmp'.
4324
4325 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4326
4327         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4328         coded-charsets in `default-coded-charset-priority-list' when
4329         breaking up a character.
4330
4331         * mule-charset.c (Vcharset_latin_viscii): New variable.
4332         (Qlatin_viscii): New variable.
4333         (make_charset): Don't use `decoding_table'.
4334         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4335         byte_offset.
4336         (Fset_charset_mapping_table): New implementation.
4337         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4338         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4339         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4340         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4341         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4342         charset `latin_viscii'.
4343
4344         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4345         (CHARSET_TYPE_94X94): Change to 1 from 2.
4346         (CHARSET_TYPE_96): Change to 2 from 1.
4347         (CHARSET_TYPE_128): New macro.
4348         (CHARSET_TYPE_128X128): Change to 5 from 4.
4349         (CHARSET_TYPE_256): New macro.
4350         (CHARSET_TYPE_256X256): Change to 7 from 5.
4351         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4352
4353 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4354
4355         * text-coding.c (char_encode_shift_jis): Refer
4356         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4357         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4358
4359         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4360         (char_byte_table_equal): New function in UTF-2000.
4361         (char_byte_table_hash): New function in UTF-2000.
4362         (char_byte_table_description): New constant in UTF-2000.
4363         (char_byte_table): New type in UTF-2000.
4364         (make_char_byte_table): New function in UTF-2000.
4365         (copy_char_byte_table): New function in UTF-2000.
4366         (make_char_code_table): New macro in UTF-2000.
4367         (get_char_code_table): New function in UTF-2000.
4368         (put_char_code_table): New function in UTF-2000.
4369         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4370         (charset_description): Add setting in UTF-2000.
4371         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4372         `CHARSET_TO_BYTE1_TABLE(cs)'.
4373         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4374         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4375         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4376         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4377         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4378         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4379         `CHARSET_TO_BYTE2_TABLE(cs)'.
4380
4381         * char-ucs.h (char_byte_table): New type.
4382         (XCHAR_BYTE_TABLE): New macro.
4383         (XSETCHAR_BYTE_TABLE): New macro.
4384         (CHAR_BYTE_TABLE_P): New macro.
4385         (GC_CHAR_BYTE_TABLE_P): New macro.
4386         (struct Lisp_Char_Byte_Table): New structure.
4387         (get_char_code_table): New interface.
4388         (Emchar_to_byte_table): Deleted.
4389         (get_byte_from_character_table): Deleted.
4390         (struct Lisp_Charset): Add `encoding_table'; delete
4391         `to_byte1_table' and `to_byte2_table'.
4392         (CHARSET_ENCODING_TABLE): New macro.
4393         (CHARSET_TO_BYTE1_TABLE): Deleted.
4394         (CHARSET_TO_BYTE2_TABLE): Deleted.
4395         (XCHARSET_ENCODING_TABLE): New macro.
4396         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4397         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4398
4399 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4400
4401         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4402         `vietnamese-viscii-*'.
4403
4404 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4405
4406         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4407         (Qvietnamese_viscii_upper): New variable.
4408         (Fdefine_charset_alias): New function.
4409         (syms_of_mule_charset): Add new function `define-charset-alias'.
4410         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4411         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4412         `latin-viscii-*'.
4413
4414 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4415
4416         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4417         (MAX_CHAR_OBS_94x94): New macro.
4418         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4419         for 94x94 sets.
4420
4421         * mule-charset.c (put_byte_from_character_table): Change unit size
4422         from 128 to 256.
4423         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4424         not defined.
4425         (Fmake_reverse_direction_charset): Modify dummy argument of
4426         `make_charset' for non-UTF-2000 environment.
4427
4428 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4429
4430         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4431
4432         * mule-charset.c (destroy_byte_from_character_table): New macro.
4433         (latin_jisx0201_to_ucs): Deleted.
4434         (latin_iso8859_2_to_ucs): Deleted.
4435         (latin_iso8859_3_to_ucs): Deleted.
4436         (latin_iso8859_4_to_ucs): Deleted.
4437         (latin_iso8859_9_to_ucs): Deleted.
4438         (latin_viscii_lower_to_ucs): Deleted.
4439         (latin_viscii_upper_to_ucs): Deleted.
4440         (mark_charset): Mark `cs->decoding_table'.
4441         (Fcharset_mapping_table): Fix DOC-string.
4442         (Fset_charset_mapping_table): New function.
4443         (syms_of_mule_charset): Add nwe function
4444         `set-charset-mapping-table'.
4445         (complex_vars_of_mule_charset): Don't setup and use
4446         `latin_*_to_ucs'.
4447
4448 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4449
4450         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4451         charset.
4452
4453 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4454
4455         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4456         (Vcharset_katakana_jisx0208): New variable.
4457         (Qhiragana_jisx0208): New variable.
4458         (Qkatakana_jisx0208): New variable.
4459         (make_charset): Add new argument `byte_offset'.
4460         (charset_get_byte1): Modify for new coded-charset definition; use
4461         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4462         `XCHARSET_BYTE_OFFSET'.
4463         (Fmake_charset): Modify for `make_charset'.
4464         (Fmake_reverse_direction_charset): Likewise.
4465         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4466         `katakana-jisx0208'.
4467         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4468         `.'  in font registry of charset `katakana-jisx0201',
4469         `latin-jisx0201', `vietnamese-viscii-lower' and
4470         `vietnamese-viscii-upper'; modify DOC-string of charset
4471         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4472         registry of charset `japanese-jisx0208' not to use font for JIS
4473         X0208:1990; add new charset `hiragana-jisx0208' and
4474         `katakana-jisx0208'.
4475
4476         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4477         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4478         (struct Lisp_Charset): Add `byte_offset'.
4479         (CHARSET_BYTE_OFFSET): New macro.
4480         (XCHARSET_UCS_MIN): New macro.
4481         (XCHARSET_UCS_MAX): New macro.
4482         (XCHARSET_CODE_OFFSET): New macro.
4483         (XCHARSET_BYTE_OFFSET): New macro.
4484         (MIN_CHAR_HIRAGANA): New macro.
4485         (MAX_CHAR_HIRAGANA): New macro.
4486         (MIN_CHAR_KATAKANA): New macro.
4487         (MAX_CHAR_KATAKANA): New macro.
4488         (MAKE_CHAR): Modify for new coded-charset definition; use
4489         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4490         `XCHARSET_BYTE_OFFSET'.
4491
4492 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4493
4494         * mule-charset.c (CHAR96): Deleted.
4495         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4496         <Lisp_Object>.
4497         (latin_iso8859_2_to_ucs): Likewise.
4498         (latin_iso8859_3_to_ucs): Likewise.
4499         (latin_iso8859_4_to_ucs): Likewise.
4500         (latin_iso8859_9_to_ucs): Likewise.
4501         (latin_viscii_lower_to_ucs): Likewise.
4502         (latin_viscii_upper_to_ucs): Likewise.
4503         (latin_tcvn5712_to_ucs): Commented out.
4504         (make_charset): Change type of argument `decoding_table' from
4505         <Emchar*> to <Lisp_Object> [vector of characters].
4506         (Fmake_charset): Modify for `make_charset'.
4507         (Fmake_reverse_direction_charset): Likewise.
4508         (Fcharset_mapping_table): New function in UTF-2000.
4509         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4510         UTF-2000.
4511         (complex_vars_of_mule_charset): Modify for type change of
4512         `*_to_ucs'; modify for `make_charset'.
4513
4514         * char-ucs.h (struct Lisp_Charset): Change type of
4515         `decoding_table' from <Emchar*> to <Lisp_Object>.
4516         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4517
4518 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4519
4520         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4521         error with non-UTF-2000-Mule.
4522
4523 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4524
4525         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4526         in lisp again].
4527         (Vcharset_chinese_cns11643_4): Likewise.
4528         (Vcharset_chinese_cns11643_5): Likewise.
4529         (Vcharset_chinese_cns11643_6): Likewise.
4530         (Vcharset_chinese_cns11643_7): Likewise.
4531         (Qchinese_cns11643_3): Likewise.
4532         (Qchinese_cns11643_4): Likewise.
4533         (Qchinese_cns11643_5): Likewise.
4534         (Qchinese_cns11643_6): Likewise.
4535         (Qchinese_cns11643_7): Likewise.
4536         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4537         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4538         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4539         (complex_vars_of_mule_charset): Likewise.
4540
4541 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4542
4543         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4544         96-set.
4545         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4546         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4547
4548 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4549
4550         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4551         0xFF60.
4552         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4553         (breakup_char_1): Likewise.
4554
4555         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4556         one of them includes the specified character.
4557
4558 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4559
4560         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4561
4562 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4563
4564         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4565
4566 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4567
4568         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4569         definition for non-UTF-2000 Mule.
4570         (latin_iso8859_3_to_ucs): Likewise.
4571         (latin_iso8859_4_to_ucs): Likewise.
4572         (latin_iso8859_9_to_ucs): Likewise.
4573         (latin_jisx0201_to_ucs): Likewise.
4574         (MIN_CHAR_THAI): Likewise.
4575         (MAX_CHAR_THAI): Likewise.
4576         (MIN_CHAR_GREEK): Likewise.
4577         (MAX_CHAR_GREEK): Likewise.
4578         (MIN_CHAR_HEBREW): Likewise.
4579         (MAX_CHAR_HEBREW): Likewise.
4580         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4581         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4582         (MIN_CHAR_CYRILLIC): Likewise.
4583         (MAX_CHAR_CYRILLIC): Likewise.
4584
4585 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4586
4587         * char-ucs.h (breakup_char_1): Use
4588         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4589         thai-tis620 and katakana-jisx0201 area.
4590
4591 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4592
4593         * char-ucs.h (breakup_char_1): Use
4594         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4595         area.
4596
4597         * text-coding.c (reset_encoding_stream): Fixed.
4598         (char_encode_ucs4): Delete `& 255'.
4599
4600         * char-ucs.h (breakup_char_1): Use
4601         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4602
4603 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4604
4605         * file-coding.c (Fmake_coding_system): Don't set up
4606         `codesys->fixed.size'.
4607         (encode_coding_no_conversion): Don't refer
4608         `str->codesys->fixed.size'.
4609
4610 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4611
4612         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4613         (latin_a_char_to_byte1): Deleted.
4614         (latin_a_char_to_byte2): Deleted.
4615
4616 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4617
4618         * mule-charset.c (make_charset): Add new argument `ucs_min',
4619         `ucs_max' and `code_offset'.
4620         (charset_get_byte1): New implementation [delete specific charset
4621         depended implementations].
4622         (Fmake_charset): Modify for `make_charset'.
4623         (Fmake_reverse_direction_charset): Likewise.
4624         (complex_vars_of_mule_charset): Likewise.
4625
4626         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4627         `code_offset'.
4628         (CHARSET_UCS_MIN): New macro.
4629         (CHARSET_UCS_MAX): New macro.
4630         (CHARSET_CODE_OFFSET): New macro.
4631         (MAKE_CHAR): Delete charset depended definitions [except
4632         katakana-jisx0201].
4633
4634 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4635
4636         * char-ucs.h (breakup_char_1): Use
4637         `Vdefault_coded_charset_priority_list' for C0-Controls,
4638         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4639
4640 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4641
4642         * char-ucs.h (charset_get_byte1): New function.
4643         (XCHARSET_GET_BYTE1): Deleted.
4644         (charset_get_byte2): New function.
4645         (XCHARSET_GET_BYTE2): Deleted.
4646         (Vdefault_coded_charset_priority_list): New external variable.
4647         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4648         `Vdefault_preferred_coded_charset_list'.
4649
4650         * mule-charset.c (charset_get_byte1): New function.
4651         (charset_get_byte2): New function.
4652         (Vdefault_coded_charset_priority_list): New variable.
4653         (vars_of_mule_charset): Add new variable
4654         `default-coded-charset-priority-list'.
4655
4656 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4657
4658         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4659         (XCHARSET_GET_BYTE2): New inline function.
4660         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4661         `XCHARSET_GET_BYTE2'.
4662
4663 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4664
4665         * mule-charset.c (make_charset): Initialize
4666         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4667         NULL if table is not defined.
4668
4669 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4670
4671         * text-coding.c (char_encode_shift_jis): Use
4672         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4673         `ucs_to_latin_jisx0201'.
4674
4675         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4676         (ucs_to_latin_iso8859_2): Deleted.
4677         (ucs_to_latin_iso8859_3): Deleted.
4678         (ucs_to_latin_iso8859_4): Deleted.
4679         (ucs_to_latin_iso8859_9): Deleted.
4680         (ucs_to_latin_viscii_lower): Deleted.
4681         (ucs_to_latin_viscii_upper): Deleted.
4682         (ucs_to_latin_tcvn5712): Deleted.
4683         (make_charset): Add new argument `decoding_table'; set up
4684         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4685         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4686         `decoding_table' is defined in UTF-2000.
4687         (Fmake_charset): Modify for `make_charset'.
4688         (Fmake_reverse_direction_charset): Likewise.
4689         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4690         and `GENERATE_96_SET'.
4691
4692         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4693         (ucs_to_latin_jisx0201): Deleted.
4694         (latin_iso8859_2_to_ucs): Deleted.
4695         (ucs_to_latin_iso8859_2): Deleted.
4696         (latin_iso8859_3_to_ucs): Deleted.
4697         (ucs_to_latin_iso8859_3): Deleted.
4698         (latin_iso8859_4_to_ucs): Deleted.
4699         (ucs_to_latin_iso8859_4): Deleted.
4700         (latin_iso8859_9_to_ucs): Deleted.
4701         (ucs_to_latin_iso8859_9): Deleted.
4702         (latin_viscii_lower_to_ucs): Deleted.
4703         (ucs_to_latin_viscii_lower): Deleted.
4704         (latin_viscii_upper_to_ucs): Deleted.
4705         (ucs_to_latin_viscii_upper): Deleted.
4706         (struct Lisp_Charset): Renamed `encoding_table' to
4707         `to_byte1_table'; add `to_byte2_table'.
4708         (CHARSET_DECODING_TABLE): New macro.
4709         (CHARSET_TO_BYTE1_TABLE): New macro.
4710         (CHARSET_TO_BYTE2_TABLE): New macro.
4711         (XCHARSET_DECODING_TABLE): New macro.
4712         (XCHARSET_TO_BYTE1_TABLE): New macro.
4713         (XCHARSET_TO_BYTE2_TABLE): New macro.
4714         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4715         tables.
4716         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4717         don't use `ucs_to_*' tables.
4718
4719 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4720
4721         * text-coding.c (Fmake_coding_system): Don't set up
4722         `codesys->fixed.size'.
4723         (encode_coding_no_conversion): Use `if' instead of `switch'.
4724
4725         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4726
4727 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4728
4729         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4730         (Fmake_charset): Modify for `make_charset'.
4731         (Fmake_reverse_direction_charset): Likewise.
4732         (complex_vars_of_mule_charset): Likewise.
4733
4734 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4735
4736         * text-coding.c (char_encode_shift_jis): Use table
4737         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4738
4739 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4740
4741         * text-coding.c (text_encode_generic): Use `if' instead of
4742         `switch'.
4743         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4744         decode JIS-Latin.
4745
4746 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4747
4748         * text-coding.c (encode_coding_sjis): Deleted.
4749         (char_encode_shift_jis): New function.
4750         (char_finish_shift_jis): New function.
4751         (reset_encoding_stream): Set up `encode_char' and `finish' for
4752         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4753         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4754         (char_encode_utf8): Treat `eol_type'.
4755
4756 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * file-coding.c (decode_coding_iso2022): Use
4759         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4760
4761 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4762
4763         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4764         to 0.7 (Hirano).
4765
4766 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4767
4768         * char-lb.h (CHAR_COLUMNS): New macro.
4769
4770 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4771
4772         * text-coding.c (char_encode_ucs4): New function.
4773         (char_finish_ucs4): New function.
4774         (encode_coding_ucs4): Deleted.
4775         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4776         (text_encode_generic): Delete local variable `charset' and `half'.
4777         (ucs_to_mule_table): Deleted.
4778         (mule_to_ucs_table): Deleted.
4779         (Fset_ucs_char): Deleted.
4780         (ucs_to_char): Deleted.
4781         (Fucs_char): Deleted.
4782         (Fset_char_ucs): Deleted.
4783         (Fchar_ucs): Deleted.
4784         (decode_ucs4): Deleted.
4785         (mule_char_to_ucs4): Deleted.
4786         (encode_ucs4): Deleted.
4787         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4788         (decode_coding_utf8): Likewise.
4789         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4790         (char_encode_iso2022): Fixed.
4791         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4792         `Fset_char_ucs' and `Fchar_ucs'.
4793         (complex_vars_of_file_coding): Don't initialize
4794         `ucs_to_mule_table'.
4795
4796         * objects-tty.c (tty_initialize_font_instance): Don't use
4797         `XCHARSET_COLUMNS'.
4798
4799         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4800         UTF-2000.
4801
4802         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4803         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4804
4805         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4806         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4807         (emchar_string_displayed_columns): Likewise.
4808
4809         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4810         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4811         (string_column_at_point): Likewise.
4812         (Fmove_to_column): Likewise.
4813
4814         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4815         `encoding_table' and `decoding_table'.
4816         (CHARSET_REP_BYTES): Deleted.
4817         (XCHARSET_REP_BYTES): Deleted.
4818         (XCHARSET_COLUMNS): Deleted.
4819         (CHAR_COLUMNS): New macro.
4820         (lookup_composite_char): Deleted unconditionally.
4821         (composite_char_string): Likewise.
4822
4823 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4824
4825         * char-ucs.h (Emchar_to_byte_table): New type.
4826         (get_byte_from_character_table): New function interface.
4827         (Vcharset_latin_jisx0201): New variable.
4828         (latin_jisx0201_to_ucs): New variable.
4829         (ucs_to_latin_jisx0201): New variable.
4830         (Vcharset_latin_iso8859_2): New variable.
4831         (latin_iso8859_2_to_ucs): New variable.
4832         (ucs_to_latin_iso8859_2): New variable.
4833         (Vcharset_latin_iso8859_3): New variable.
4834         (latin_iso8859_3_to_ucs): New variable.
4835         (ucs_to_latin_iso8859_3): New variable.
4836         (Vcharset_latin_iso8859_4): New variable.
4837         (latin_iso8859_4_to_ucs): New variable.
4838         (ucs_to_latin_iso8859_4): New variable.
4839         (Vcharset_latin_iso8859_9): New variable.
4840         (latin_iso8859_9_to_ucs): New variable.
4841         (ucs_to_latin_iso8859_9): New variable.
4842         (Vcharset_latin_viscii_lower): New variable.
4843         (latin_viscii_lower_to_ucs): New variable.
4844         (ucs_to_latin_viscii_lower): New variable.
4845         (Vcharset_latin_viscii_upper): New variable.
4846         (latin_viscii_upper_to_ucs): New variable.
4847         (ucs_to_latin_viscii_upper): New variable.
4848         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4849         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4850         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4851         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4852         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4853         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4854         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4855         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4856         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4857         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4858
4859         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4860         (Vcharset_latin_viscii_upper): New variable.
4861         (make_byte_from_character_table): New function.
4862         (put_byte_from_character_table): New function.
4863         (get_byte_from_character_table): New function.
4864         (CHAR96): New macro.
4865         (ucs_to_latin_jisx0201): New variable.
4866         (latin_jisx0201_to_ucs): New variable.
4867         (ucs_to_latin_iso8859_2): New variable.
4868         (latin_iso8859_2_to_ucs): New variable.
4869         (ucs_to_latin_iso8859_3): New variable.
4870         (latin_iso8859_3_to_ucs): New variable.
4871         (ucs_to_latin_iso8859_4): New variable.
4872         (latin_iso8859_4_to_ucs): New variable.
4873         (ucs_to_latin_iso8859_9): New variable.
4874         (latin_iso8859_9_to_ucs): New variable.
4875         (ucs_to_latin_viscii_lower): New variable.
4876         (latin_viscii_lower_to_ucs): New variable.
4877         (ucs_to_latin_viscii_upper): New variable.
4878         (latin_viscii_upper_to_ucs): New variable.
4879         (ucs_to_latin_tcvn5712): New variable.
4880         (latin_tcvn5712_to_ucs): New variable.
4881         (Qlatin_viscii_lower): New variable.
4882         (Qlatin_viscii_upper): New variable.
4883         (syms_of_mule_charset): Set up new symbol
4884         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4885         (complex_vars_of_mule_charset): Set up new charset
4886         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4887         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4888         `ucs_to_<CHARSET>' tables.
4889
4890 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4891
4892         * text-coding.c: New file.
4893
4894 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4895
4896         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4897
4898         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4899         (MAKE_CHAR): Modify for `ucs-bmp'.
4900         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4901         non-MULE characters of BMP.
4902
4903 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4904
4905         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4906         to 0.6.
4907
4908 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4909
4910         * lstream.h:
4911         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4912         - Include character.h for `CHAR_ASCII_P'.
4913
4914         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4915
4916         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4917         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4918
4919         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4920         (BYTE_C0_P): Likewise.
4921         (BYTE_C1_P): Likewise.
4922         (Lstream_get_emchar_1): Likewise.
4923         (Lstream_fput_emchar): Likewise.
4924         (Lstream_funget_emchar): Likewise.
4925         (copy_internal_to_external): Likewise.
4926         (copy_external_to_internal): Likewise.
4927
4928         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4929         (BYTE_C0_P): Likewise.
4930         (BYTE_C1_P): Likewise.
4931         (Lstream_get_emchar_1): Likewise.
4932         (Lstream_fput_emchar): Likewise.
4933         (Lstream_funget_emchar): Likewise.
4934         (copy_internal_to_external): Likewise.
4935         (copy_external_to_internal): Likewise.
4936
4937         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4938         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4939
4940         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4941         (BYTE_ASCII_P): Moved to mb-1byte.h.
4942
4943 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4944
4945         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4946
4947         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4948         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4949         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4950         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4951         (VALIDATE_CHARPTR_FORWARD): Likewise.
4952         (simple_charptr_emchar): Moved to mb-multibyte.h.
4953         (simple_set_charptr_emchar): Likewise.
4954         (simple_charptr_copy_char): Likewise.
4955         (non_ascii_charptr_emchar): Likewise.
4956         (non_ascii_set_charptr_emchar): Likewise.
4957         (non_ascii_charptr_copy_char): Likewise.
4958         (charptr_emchar): Moved to mb-*byte.h.
4959         (set_charptr_emchar): Likewise.
4960         (charptr_copy_char): Likewise.
4961
4962         * mb-1byte.h, mb-multibyte.h: New files.
4963
4964 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4965
4966         * mb-utf-8.h (MULTIBYTE): New macro.
4967         (MAX_EMCHAR_LEN): Moved from buffer.h.
4968         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4969
4970         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4971
4972         * mb-lb.h, multibyte.h: New files.
4973
4974         * char-1byte.h (Charset_ID): Moved from buffer.h.
4975         (MIN_LEADING_BYTE): Likewise.
4976         (LEADING_BYTE_ASCII): Likewise.
4977         (NUM_LEADING_BYTES): Likewise.
4978         (CHARSETP): Likewise.
4979         (CHARSET_BY_LEADING_BYTE): Likewise.
4980         (XCHARSET_LEADING_BYTE): Likewise.
4981         (XCHARSET_GRAPHIC): Likewise.
4982         (XCHARSET_COLUMNS): Likewise.
4983         (XCHARSET_DIMENSION): Likewise.
4984         (CHAR_CHARSET): Likewise.
4985         (CHAR_LEADING_BYTE): Likewise.
4986         (BREAKUP_CHAR): Likewise.
4987         (Vcharset_ascii): Likewise.
4988
4989         * buffer.h: Include multibyte.h unconditionally.
4990         (VALID_CHARPTR_P): Moved to multibyte.h.
4991         (ASSERT_VALID_CHARPTR): Likewise.
4992         (REAL_INC_CHARPTR): Likewise.
4993         (REAL_INC_CHARBYTIND): Likewise.
4994         (REAL_DEC_CHARPTR): Likewise.
4995         (INC_CHARPTR): Likewise.
4996         (INC_CHARBYTIND): Likewise.
4997         (DEC_CHARPTR): Likewise.
4998         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4999         (VALIDATE_CHARPTR_FORWARD): Likewise.
5000         (charptr_n_addr): Likewise.
5001         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5002         (simple_charptr_emchar): Moved to multibyte.h.
5003         (simple_set_charptr_emchar): Likewise.
5004         (simple_charptr_copy_char): Likewise.
5005         (non_ascii_charptr_emchar): Likewise.
5006         (non_ascii_set_charptr_emchar): Likewise.
5007         (non_ascii_charptr_copy_char): Likewise.
5008         (charptr_emchar): Likewise.
5009         (set_charptr_emchar): Likewise.
5010         (charptr_copy_char): Likewise.
5011         (charptr_emchar_n): Likewise.
5012         (Charset_ID): Moved to char-1byte.h.
5013         (Vcharset_ascii): Likewise.
5014         (CHAR_CHARSET): Likewise.
5015         (CHAR_LEADING_BYTE): Likewise.
5016         (LEADING_BYTE_ASCII): Likewise.
5017         (NUM_LEADING_BYTES): Likewise.
5018         (MIN_LEADING_BYTE): Likewise.
5019         (CHARSETP): Likewise.
5020         (CHARSET_BY_LEADING_BYTE): Likewise.
5021         (XCHARSET_LEADING_BYTE): Likewise.
5022         (XCHARSET_GRAPHIC): Likewise.
5023         (XCHARSET_COLUMNS): Likewise.
5024         (XCHARSET_DIMENSION): Likewise.
5025         (BREAKUP_CHAR): Likewise.
5026
5027 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5028
5029         * character.h: Add document about interface for characters.
5030
5031         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5032         (MAKE_CHAR): Delete comment about
5033         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5034         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5035         (BREAKUP_CHAR): Modify name of arguments.
5036         (CHAR_CHARSET): Modify name of argument.
5037
5038         * buffer.h: Delete document about Emchar accessors.
5039
5040 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5041
5042         * character.h (CHAR_INTP): Moved from buffer.h
5043         (CHAR_OR_CHAR_INTP): Likewise.
5044         (XCHAR_OR_CHAR_INT): Likewise.
5045         (CHECK_CHAR_COERCE_INT): Likewise.
5046
5047         * buffer.h (CHAR_INTP): Moved to character.h
5048         (CHAR_OR_CHAR_INTP): Likewise.
5049         (XCHAR_OR_CHAR_INT): Likewise.
5050         (CHECK_CHAR_COERCE_INT): Likewise.
5051
5052 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5053
5054         * character.h:
5055         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5056         - Include char-1byte.h, char-lb.h or char-ucs.h.
5057
5058         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5059
5060         * buffer.h: Include character unconditionally.
5061         (valid_char_p): Moved to char-*.h.
5062         (non_ascii_valid_char_p): Moved to char-lb.h.
5063
5064         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5065
5066 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5067
5068         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5069         in UTF-2000 because it is not ported yet and not to use
5070         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5071         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5072         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5073
5074         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5075         (CHAR_ASCII_P): Moved from character.h.
5076
5077         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5078         (CHAR_ASCII_P): Likewise.
5079         (CHAR_FIELD1_MASK): Deleted.
5080         (CHAR_FIELD2_MASK): Deleted.
5081         (CHAR_FIELD3_MASK): Deleted.
5082         (MAX_CHAR_BASIC_LATIN): New macro.
5083         (CHAR_FIELD1): Deleted.
5084         (CHAR_FIELD2_INTERNAL): Deleted.
5085         (CHAR_FIELD3_INTERNAL): Deleted.
5086         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5087         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5088         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5089         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5090         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5091         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5092         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5093         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5094         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5095         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5096         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5097         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5098         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5099         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5100         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5101         (MIN_CHAR_COMPOSITION): Deleted.
5102         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5103         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5104
5105 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5106
5107         * buffer.h: Include mb-utf-8.h in UTF-2000.
5108
5109         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5110
5111         * mb-utf-8.h: New file.
5112
5113 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5114
5115         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5116         instead of `int'.
5117
5118         * mule-charset.h, buffer.h (Charset_ID): New type.
5119
5120 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5121
5122         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5123         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5124         instead of `MULE_CHAR_PRIVATE_OFFSET',
5125         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5126         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5127         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5128
5129         * character.h (Vcharset_japanese_jisx0212): New variable
5130         definition.
5131
5132 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5133
5134         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5135         (charset_by_attributes): Delete array about direction.
5136         (latin_a_char_to_charset): New variable in UTF-2000.
5137         (latin_a_char_to_byte1): New variable in UTF-2000.
5138         (latin_a_char_to_byte2): New variable in UTF-2000.
5139         (Qucs_bmp): New variable.
5140         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5141         `Bufbyte'.
5142         (next_allocated_2_byte_leading_byte): Likewise.
5143         (non_ascii_set_charptr_emchar): Likewise.
5144         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5145         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5146         `charset_by_attributes'.
5147         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5148         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5149         and `CHARSET_BY_LEADING_BYTE'.
5150         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5151         `utf-2000-version' to `vars_of_mule_charset'.
5152         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5153         define `leading-code-private-11' in UTF-2000; move setting of
5154         `utf-2000-version' from `syms_of_mule_charset'.
5155         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5156         UTF-2000.
5157
5158         * character.h (Charset_ID): New type.
5159         (LEADING_BYTE_UCS_BMP): New macro.
5160         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5161         (CHARSET_ID_OFFSET_94): New macro.
5162         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5163         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5164         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5165         final-byte.
5166         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5167         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5168         (CHARSET_ID_OFFSET_96): New macro.
5169         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5170         CHARSET_ID_OFFSET_96 and final-byte.
5171         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5172         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5173         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5174         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5175         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5176         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5177         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5178         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5179         (LEADING_BYTE_THAI_TIS620): Likewise.
5180         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5181         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5182         (CHARSET_ID_OFFSET_94x94): New macro.
5183         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5184         CHARSET_ID_OFFSET_94x94 and final-byte.
5185         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5186         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5187         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5188         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5189         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5190         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5191         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5192         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5193         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5194         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5195         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5196         (CHARSET_TYPE_128X128): New macro.
5197         (CHARSET_TYPE_256X256): New macro.
5198         (XCHARSET_PRIVATE_P): Delete unconditionally.
5199         (charset_by_attributes): Delete array about direction.
5200         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5201         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5202         (MIN_CHAR_94): New macro.
5203         (MAX_CHAR_94): New macro.
5204         (MIN_CHAR_96): New macro.
5205         (MAX_CHAR_96): New macro.
5206         (MIN_CHAR_94x94): New macro.
5207         (MAX_CHAR_94x94): New macro.
5208         (MIN_CHAR_96x96): New macro.
5209         (MAX_CHAR_96x96): New macro.
5210         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5211         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5212         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5213         - 32)'.
5214         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5215         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5216         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5217         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5218         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5219         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5220         `XCHARSET_LEADING_BYTE' to make code-point.
5221         (latin_a_char_to_charset): New variable.
5222         (latin_a_char_to_byte1): New variable.
5223         (latin_a_char_to_byte2): New variable.
5224         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5225         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5226         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5227
5228         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5229         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5230         (find_charsets_in_emchar_string): Likewise.
5231         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5232
5233         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5234         `int'.
5235         (decode_coding_iso2022): Likewise.
5236
5237         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5238         of `unsigned char'.
5239
5240         * redisplay.c (redisplay_text_width_emchar_string): Use
5241         `Charset_ID' instead of `unsigned char'.
5242         (redisplay_frame_text_width_string): Likewise.
5243
5244         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5245         `unsigned char'.
5246
5247         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5248         instead of `unsigned char'.
5249         (face_cachel_charset_font_metric_info): Likewise.
5250
5251         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5252         (get_non_ascii_char_table_value): Likewise.
5253         (get_char_table): Likewise.
5254         (put_char_table): Likewise.
5255         (map_over_other_charset): Likewise.
5256         (map_char_table): Likewise.
5257
5258         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5259         instead of `unsigned char'.
5260
5261 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5262
5263         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5264         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5265
5266         * mule-charset.c (leading_code_private_11): Don't define in
5267         UTF-2000.
5268
5269         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5270         in UTF-2000 because it is not ported yet and not to use
5271         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5272
5273 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5274
5275         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5276
5277 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5278
5279         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5280         in UTF-2000.
5281
5282         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5283         of unsigned char to store leading-byte.
5284
5285         * chartab.c (get_non_ascii_char_table_value): Don't use
5286         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5287
5288         * file-coding.c (encode_coding_big5): Delete bogus implementation
5289         in UTF2000.
5290
5291         * character.h (LEADING_BYTE_*): Delete definition for
5292         non-UTF-2000.
5293         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5294         (LEADING_BYTE_PREFIX_P): Deleted.
5295         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5296         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5297         (BUFBYTE_LEADING_BYTE_P): Deleted.
5298         (CHARSET_PRIVATE_P): Deleted unconditionally.
5299         (rep_bytes_by_first_byte): Deleted unconditionally.
5300         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5301         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5302         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5303         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5304         (CHAR_FIELD2): Deleted.
5305         (CHAR_FIELD3): Deleted.
5306         (MAKE_CHAR): Delete definition for non-UTF-2000.
5307         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5308         (breakup_char_1): New implementation.
5309         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5310         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5311
5312 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5313
5314         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5315         condition.
5316
5317 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5318
5319         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5320         (CHARSET_PRIVATE_P): Likewise.
5321         (XCHARSET_PRIVATE_P): Likewise.
5322         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5323
5324         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5325         UTF2000.
5326         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5327
5328 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5329
5330         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5331         (NUM_LEADING_BYTES): Changed from 128 to 256.
5332         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5333         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5334         UTF2000.
5335         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5336
5337         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5338         UTF2000.
5339         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5340         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5341         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5342         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5343         (Qchinese_cns11643_3): New variable in UTF2000.
5344         (Qchinese_cns11643_4): New variable in UTF2000.
5345         (Qchinese_cns11643_5): New variable in UTF2000.
5346         (Qchinese_cns11643_6): New variable in UTF2000.
5347         (Qchinese_cns11643_7): New variable in UTF2000.
5348         (syms_of_mule_charset): Define `chinese-cns11643-3',
5349         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5350         and `chinese-cns11643-7' in UTF2000.
5351         (vars_of_mule_charset): Initialize
5352         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5353         + 1 in UTF2000.
5354         (complex_vars_of_mule_charset): Setup charset
5355         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5356         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5357
5358 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5359
5360         * mule-charset.c: Move setting for `leading-code-private-11' from
5361         `syms_of_mule_charset' to `vars_of_mule_charset'.
5362
5363 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5364
5365         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5366         and `NUM_LEADING_BYTES' in assert.
5367
5368 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5369
5370         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5371         instead of 128.
5372         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5373         `NUM_LEADING_BYTES' instead of 128.
5374
5375 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5376
5377         * mule-charset.h (charset_by_leading_byte): Use
5378         `NUM_LEADING_BYTES' instead of 128.
5379         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5380
5381         * mule-charset.c (charset_by_leading_byte): Use
5382         `NUM_LEADING_BYTES' instead of 128.
5383         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5384
5385         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5386         128.
5387
5388 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5389
5390         * mule-charset.c (syms_of_mule_charset): Update to
5391         0.4 (Shin-Imamiya).
5392
5393 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5394
5395         * file-coding.c (encode_coding_sjis): New implementation for
5396         UTF2000.  (decode_coding_sjis): Ditto.
5397
5398 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5399
5400         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5401         Don't define in UTF2000.
5402
5403         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5404         defined.
5405
5406         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5407         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5408         MULE.
5409
5410 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5411
5412         * config.h.in (CHAR_IS_UCS4): New macro.
5413
5414         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5415         conventional MULE representation.
5416         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5417
5418         * mule-charset.h: Reverted to original.
5419
5420         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5421         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5422         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5423
5424         * character.h: New file.
5425
5426         * file-coding.c (Fmake_coding_system): Set 1 to
5427         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5428         defined.
5429         (encode_coding_no_conversion): New implementation for UTF2000.
5430
5431         * file-coding.h (struct Lisp_Coding_System): Add new member
5432         `fixed.size'.
5433
5434 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5435
5436         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5437         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5438         (encode_coding_iso2022): New implementation for UTF2000.
5439
5440 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5441
5442         * mule-canna.c (c2mu): New implementation for UTF2000.
5443         (m2c): Likewise.
5444
5445 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5446
5447         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5448
5449 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5450
5451         * file-coding.c (reset_encoding_stream): Set 0 to
5452         `str->iso2022.current_char_boundary' in UTF2000.
5453         (encode_utf8): Don't define in UTF2000.
5454         (encode_coding_utf8): New implementation for UTF-8 representation
5455         of UTF2000.
5456         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5457
5458 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5459
5460         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5461
5462         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5463         UTF2000.
5464         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5465
5466         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5467
5468         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5469         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5470         as UTF-8 in UTF2000.
5471         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5472         (non_ascii_valid_char_p): Don't define in UTF2000.
5473         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5474         (Lstream_get_emchar_1): Likewise.
5475         (utf-2000-version): New variable in UTF2000.
5476
5477         * lread.c (read_escape): Add new reader `u'.
5478
5479         * insdel.c (three_to_one_table): Don't define in UTF2000.
5480         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5481         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5482         UTF2000.
5483         (bytind_to_bufpos_func): Likewise.
5484         (buffer_mule_signal_inserted_region): Likewise.
5485         (vars_of_insdel): Don't initialize `three_to_one_table'.
5486         (init_buffer_text): Use `buf->text->mule_size' instead of
5487         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5488         UTF2000.
5489
5490         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5491         UTF-8 representation in UTF2000.
5492         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5493         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5494         (decode_coding_iso2022): Don't define local variable `lb' in
5495         UTF2000; don't use LEADING_BYTE in UTF2000; use
5496         `DECODE_ADD_UCS_CHAR' in UTF2000.
5497         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5498
5499         * config.h.in (UTF2000): New macro.
5500
5501         * buffer.h (struct buffer_text): Add new member `mule_size' and
5502         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5503         (valid_char_p): Return always 1 in UTF2000.
5504         (MAX_EMCHAR_LEN): 6 in UTF2000.
5505         (three_to_one_table): Don't define in UTF2000.
5506         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5507         UTF2000.
5508         (real_bytind_to_bufpos): Likewise.
5509
5510         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5511
5512 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5513
5514         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5515         representation change.
5516         (Vutf_2000_version): New variable.
5517         (leading_code_private_11): New variable.
5518         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5519         `leading-code-private-11'.
5520
5521         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5522         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5523         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5524         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5525         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5526         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5527         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5528         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5529         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5530         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5531         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5532         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5533         (MIN_CHAR_GREEK): New macro.
5534         (MAX_CHAR_GREEK): New macro.
5535         (MIN_CHAR_CYRILLIC): New macro.
5536         (MAX_CHAR_CYRILLIC): New macro.
5537         (MIN_CHAR_HEBREW): New macro.
5538         (MAX_CHAR_HEBREW): New macro.
5539         (MIN_CHAR_THAI): New macro.
5540         (MAX_CHAR_THAI): New macro.
5541         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5542         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5543         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5544         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5545         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5546         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5547         (CHAR_FIELD2): New inline function.
5548         (CHAR_FIELD3): New inline function.
5549         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5550         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5551         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5552         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5553         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5554         (MIN_CHAR_COMPOSITION): Likewise.
5555         (CHAR_LEADING_BYTE): Modified for character representation change.
5556         (MAKE_CHAR): Likewise.
5557
5558         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5559         (Vcharset_greek_iso8859_7): Likewise.
5560         (Vcharset_cyrillic_iso8859_5): Likewise.
5561         (Vcharset_hebrew_iso8859_8): Likewise.
5562         (Vcharset_thai_tis620): Likewise.
5563         (Vcharset_katakana_jisx0201): Likewise.
5564
5565 2004-02-02  Vin Shelton <acs@xemacs.org>
5566
5567         * XEmacs 21.4.15 is released
5568
5569 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5570
5571         * device-x.c (x_error_handler): Don't call stderr_out
5572
5573 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5574
5575         * buffer.c (other-buffer): Clarify documentation of order of
5576         arguments for FSF Emacs.
5577
5578 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5579
5580         * window.c (Fdelete_window): Dirty the mirror structure _before_
5581         marking the window deleted.
5582
5583 2003-09-15  Jerry James  <james@xemacs.org>
5584
5585         * event-msw.c (debug_mswin_messages): Conditionally compile
5586         messages missing from the Cygwin headers.
5587
5588 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5589
5590         * data.c (eq_with_ebola_notice): Fix typo in comment.
5591         (Ftrue_list_p): Improve docstring.
5592
5593 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5594
5595         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5596
5597 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5598
5599         * search.c (trivial_regexp_p): Regexps containing "\{" are
5600         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5601         Stefan Monnier for suggesting a diagnosis.
5602
5603 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5604
5605         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5606
5607 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5608
5609         * search.c (Fsearch_forward):
5610         (Fsearch_backward):
5611         Document negative count.
5612
5613 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5614
5615         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5616
5617 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5618
5619         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5620
5621 2003-09-15  Vin Shelton  <acs@xemacs.org>
5622
5623         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5624         21.5.
5625
5626 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5627
5628         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5629         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5630         (re_match_2_internal): Use TRANSLATE instead of
5631         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5632         non-ASCII char case conversion.
5633
5634 2003-09-08  Mike Sperber  <mike@xemacs.org>
5635
5636         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5637         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5638
5639 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5640
5641        * .gdbinit (pobj): fix printing of symbol name.
5642
5643 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5644
5645         * frame-x.c (x_layout_widgets): When resizing is about to cause
5646         frame size slip, mark it for redisplay.
5647
5648 2003-08-18  Jerry James  <james@xemacs.org>
5649
5650         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5651
5652 2003-09-03  Vin Shelton <acs@xemacs.org>
5653
5654         * XEmacs 21.4.14 is released
5655
5656 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5657
5658         * config.h.in (REGEX_MALLOC): Make it configure'able.
5659
5660 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5661
5662         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5663         linking.
5664         * sysdll.c (dll_init):
5665         * sysdll.c (dll_open):
5666         * sysdll.c (dll_close):
5667         * sysdll.c (dll_function):
5668         * sysdll.c (dll_variable):
5669         * sysdll.c (dll_error):
5670         Add support for loading bundles using Darwin/MacOSX
5671         native API.
5672
5673 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5674
5675         * process.c (start-process-internal): Document coding systems.
5676
5677 2003-07-30  Jerry James  <james@xemacs.org>
5678
5679         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5680
5681 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5682
5683         * event-msw.c (mswindows_enqueue_mouse_button_event):
5684         * event-msw.c (mswindows_wnd_proc):
5685           enqueue button event when scrollwheel event isn't handled by 
5686           mswindows_handle_mousewheel_event, such as when the scrollbars
5687           are not showing.
5688
5689 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5690
5691         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5692
5693 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5694
5695         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5696
5697 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5698
5699         * regex.c (re_match_2_internal): Fix matching degenerate word
5700         boundaries.
5701
5702 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5703
5704         * XEmacs 21.4.13 is released
5705
5706 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5707
5708         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5709         * lisp.h (<inttypes.h>):
5710         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5711         the definition.
5712
5713 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5714
5715         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5716         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5717         Result: "temacs can only be run in -batch mode."
5718         Fix: Check xemacs executable candidate for directory-ness.
5719
5720 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5721
5722         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5723           they conflict with <sys/types.h>.
5724
5725 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5726
5727         * database.c: Berkeley DB wants __STDC__ to be defined.
5728
5729 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5730
5731         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5732
5733 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5734
5735         * process-unix.c (unix_send_process): Fix C++ compile error.
5736
5737 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5738
5739         * Added .dylib as an acceptable shared library file extension
5740         * to support MacOSX.
5741
5742 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5743
5744         * EmacsFrameP.h (EmacsFramePart):
5745         Kludge to allow compiling with Motif1, but linking with Motif2.
5746
5747 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5748
5749         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5750
5751
5752 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5753
5754         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5755
5756 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5757
5758         * sysdll.c: Included lisp.h to define needed alloca_array.
5759
5760 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5761
5762         Make XEmacs redisplay 10 times faster.
5763         If, that is, you're using a slow X connection and MoveOpaque.
5764         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5765         Use compress_motion = TRUE.
5766         * EmacsFrame.c (emacsFrameClassRec): 
5767         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5768         * EmacsManager.c (emacsManagerClassRec):
5769         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5770
5771 2003-01-30  Vin Shelton  <acs@xemacs.org>
5772
5773         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5774
5775 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5776
5777         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5778         Patch by Martin Buchholz.
5779
5780 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5781
5782         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5783         Thanks to icc for warning and Martin Buchholz for reporting.
5784
5785 2003-01-29  Vin Shelton <acs@xemacs.org>
5786
5787         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5788
5789         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5790         remember to multiply by the element size.
5791
5792 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5793
5794         * XEmacs 21.4.12 "Portable Code" is released.
5795
5796 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5797
5798         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5799         * s/cygwin.sc: new linker file.
5800
5801 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5802
5803         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5804
5805         * redisplay-x.c (x_output_string): Use X11-specified types.
5806         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5807         * emacs.c (__free_hook): Use typeof with Intel compiler.
5808         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5809
5810 2003-01-08  Andy Piper  <andy@xemacs.org>
5811
5812         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5813         reserve size during unexec().
5814
5815 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5816
5817         * process-unix.c (unix_create_process): Don't let outchannel block.
5818
5819 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5820
5821         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5822         Needed for IsBadReadPtr().
5823
5824 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5825
5826         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5827
5828 2002-12-14  Ben Wing  <ben@xemacs.org>
5829
5830         * callint.c: Declaration error.
5831         * dumper.c (pdump):
5832         * dumper.c (pdump_load): Warning fix.
5833         * process.c: GCPRO error.
5834         * glyphs.c (unmap_subwindow):
5835         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5836         * event-stream.c (maybe_kbd_translate): Wrong argument to
5837         character_to_event().
5838
5839         * alloc.c (garbage_collect_1):
5840         * emacs.c:
5841         * emacs.c (debug_can_access_memory):
5842         * emacs.c (fatal_error_signal):
5843         * emacs.c (mswindows_handle_hardware_exceptions):
5844         * emacs.c (main_1):
5845         * emacs.c (main):
5846         * emacs.c (assert_failed):
5847         * emacs.c (syms_of_emacs):
5848         * lisp.h:
5849         * print.c:
5850         * print.c (std_handle_out_va):
5851         * print.c (write_string_to_stdio_stream):
5852         * print.c (write_fmt_string):
5853         * print.c (printing_badness):
5854         * print.c (printing_major_badness):
5855         * print.c (print_internal):
5856         * print.c (debug_print_no_newline):
5857         * print.c (debug_backtrace):
5858         Be more defensive in handling bad values when printing.  Add code
5859         from trunk involving inhibit_non_essential_printing_operations.
5860         When going down or in debug_print(), don't do external conversion
5861         and such and try really, really hard when printing to avoid core
5862         dumping.  Add force-debugging-signal, debug_break().
5863
5864 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5865
5866         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5867         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5868
5869 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5870
5871         * database.c: Fix open_database. Berkeley DB API has changed in
5872         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5873
5874 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5875
5876         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5877
5878 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5879
5880         * event-Xt.c (Xt_timeout):
5881         (Xt_timeout_callback):
5882         (emacs_Xt_add_timeout):
5883         (emacs_Xt_remove_timeout):
5884         (Xt_timeout_to_emacs_event):
5885         Turn completed_timeouts from a stack into a queue.  Fixes
5886         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5887
5888 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5889
5890         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5891         * emacs.c (main): Assert that mmap'd allocation is disabled.
5892
5893 2002-10-14  Andy Piper  <andy@xemacs.org>
5894
5895         * glyphs-widget.c (layout_query_geometry): add in fiddle
5896         factor. Include border text in width layout calculation.
5897         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5898
5899 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5900
5901         * XEmacs 21.4.10 "Military Intelligence" is released.
5902
5903 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5904
5905         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5906         using the NAS private array SoundFileInfo that no longer exists in
5907         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5908         and earlier.  This is broken for some versions between 1.5a and
5909         1.5f.
5910
5911 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5914
5915         * emacs.c (shut_down_emacs): Improve crash message.
5916
5917 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5918
5919         * file-coding.c (determine_real_coding_system): Check for coding
5920         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5921         shebangs and Python PEP 263.
5922
5923 2002-10-08  Andy Piper  <andy@xemacs.org>
5924
5925         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5926         if static sizes haven't been set.
5927
5928 2002-08-30  Mike Alexander  <mta@arbortext.com>
5929
5930         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5931         to close a socket.
5932
5933 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5934
5935         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5936
5937 2002-09-20  Mike Sperber <mike@xemacs.org>
5938
5939         (This partially gets back my patch from 2002-07-20 without the
5940         bug.)
5941         * callproc.c (child_setup): Remove Ben's comment noting confusion
5942         over the file descriptors >= 3: close_process_descs() doesn't
5943         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5944         * process-unix.c (unix_create_process): Call
5945         begin_dont_check_for_quit to inhibit unwanted interaction (and
5946         thus breaking of X event synchronicity) in the child.
5947
5948 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5949
5950         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5951         widget.
5952
5953 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5954
5955         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5956         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5957         the xemacs process did not exit, but looped infinitely here.  This
5958         fixes that problem.
5959
5960 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5961
5962         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5963         (find_context): Improve comments.
5964
5965         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5966         (re_match_2): An XCHAR_TABLE operation was missing.
5967
5968         Many of the following changes were inspired by Andy Piper's (now
5969         obsolete) patch to make syntax-table text property lookup optional.
5970
5971         [Documentation]
5972
5973         * syntax.h (top level): Document semantics of syntax flags.
5974         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5975         * syntax.c, syntax.h (top level): Document syntax cache better in
5976         comments.
5977
5978         [Instrument syntax caching (temporary change)]
5979
5980         * syntax.h (enum syntax_cache_statistics_functions, struct
5981         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5982         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5983         * syntax.c (scan_words, Fforward_comment, scan_lists,
5984         Fbackward_prefix_characters):
5985         * font-lock.c (find_context):
5986         Use them to instrument syntax caching. 
5987         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5988         syntax_cache_statistics_function_names): New type and variables.
5989         * syntax.c (update_syntax_cache): Update and report statistics.
5990
5991         [Major syntax cache optimizations]
5992
5993         syntax.c (lookup_syntax_properties): Default off.
5994
5995         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5996         * syntax.c (update_syntax_cache):
5997         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5998
5999         [Minor syntax cache optimizations and code clarifications]
6000
6001         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6002         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6003         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6004         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6005         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6006         (Code clarification.)
6007
6008         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6009         scan_lists): Compute code from syncode, use Boolean macros instead
6010         of redundant masking operations.  (Code clarification; any decent
6011         compiler can do this optimization.)
6012
6013         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6014         for clarity.
6015
6016         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6017         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6018         use F*_single_property_change instead of F*_extent_change.
6019         Currently F*_single_property_change is _much_ less efficient.
6020
6021         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6022         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6023         syntax_cache.object properly, don't leave Qt or Qnil.
6024         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6025         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6026         tests for Qt or Qnil.
6027
6028 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6029
6030         * redisplay.c (point_in_line_start_cache): 
6031         * extents.c (print_extent_1):
6032         Fix warnings.
6033
6034         * extents.c (Fset_extent_property): Document `syntax-table' property.
6035
6036         * extents.h (Fnext_single_property_change): EXFUN it.
6037
6038 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6039
6040         * search.c (clear_unused_search_regs): New static function.
6041         (search_buffer): 
6042         (simple_search): 
6043         (boyer_moore):
6044         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6045         Minor clarifications in comments.
6046
6047         * regex.c (re_match_2_internal): Ensure no stale submatches.
6048
6049 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6050
6051         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6052
6053 2002-08-29  Jerry James  <james@xemacs.org>
6054
6055         * lisp.h: structrures -> structures.
6056
6057 2002-06-03  Andy Piper  <andy@xemacs.org>
6058
6059         * frame.c (frame_conversion_internal): add conversion appropriate
6060         for setting frame dimensions in pixels.
6061
6062         * console.h (struct console_methods): add device-specific widget
6063         layout functions.
6064
6065         * emacs.c (main_1): initialize glyph vars.
6066
6067         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6068         (handle_focus_event_2): new function. Allow focus to
6069         be set to a particular window and widget.
6070         (enqueue_focus_event): new function. Create a
6071         synthetic focus event.
6072         (emacs_Xt_handle_magic_event): call
6073         handle_focus_event_2.
6074
6075         * frame.c (Fset_frame_pixel_height): new function. Allow
6076         pixel-based sizing. Does the right thing on character-oriented
6077         displays.
6078         (Fset_frame_pixel_width): ditto.
6079         (Fset_frame_pixel_size): ditto.
6080         (syms_of_frame): declare.
6081
6082         * general-slots.h: add :vertically-justify and
6083         :horizontally-justify.
6084
6085         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6086         (mswindows_widget_border_width): new function.
6087         (mswindows_combo_box_instantiate): set border widths.
6088         (console_type_create_glyphs_mswindows): declare.
6089
6090         * glyphs-widget.c:
6091         (check_valid_justification): allow vertical and horizontal
6092         justification.
6093         (widget_border_width): new function. Call device methods.
6094         (widget_instance_border_width): ditto.
6095         (logical_unit_height): new function. Determine the height of a
6096         logical-unit. Logical units are intended to provide grid-like
6097         layout for subcontrols in a layout. If the layout is
6098         :vertically-justify top then subcontrols will be positioned on
6099         logical-unit boundaries, thus allowing adjacent subcontrols to
6100         line up.
6101         (widget_logical_unit_height): ditto for widgets.
6102         (redisplay_widget): misc cleanup.
6103         (widget_spacing): new function. Call device specific
6104         methods. Intended to be the default gap between adjacent widgets.
6105         (widget_query_geometry): use new spacing functions to determine
6106         appropriate geometry.
6107         (initialize_widget_image_instance): initialize horizontal and
6108         vertical justification.
6109         (widget_instantiate): use logica-units where appropriate for
6110         sizing large widgets.
6111         (button_query_geometry): use widget_instance_border_width.
6112         (tree_view_query_geometry): ditto.
6113         (tab_control_query_geometry): ditto.
6114         (edit_field_query_geometry): new function.
6115         (layout_update): pick up :justify, :horizontally-justify and
6116         :vertically-justify none of which worked previously. :justify is
6117         used as a fallback for both horizontal and vertical justification.
6118         (layout_query_geometry): use logical units to size appropriately.
6119         (layout_layout): ditto.
6120         (Fwidget_logical_to_character_width): new function. Allow users to
6121         convert from logical units to characters so that frame sizes can
6122         be set appropriately.
6123         (Fwidget_logical_to_character_height): ditto.
6124         (syms_of_glyphs_widget): declare.
6125         (image_instantiator_edit_fields): add edit_field_query_geometry.
6126         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6127         :horizontally-justify.
6128         (specifier_vars_of_glyphs_widget): new function. Declare
6129         Vwidget_border_width which is not yet used.
6130
6131         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6132         (x_widget_border_width): new function.
6133         (x_widget_instantiate): create a sensible name for widgets.
6134         (console_type_create_glyphs_x): declare x_widget_border_width.
6135
6136         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6137         (struct Lisp_Image_Instance): add :vertically-justify and
6138         :horizontally-justify.
6139         (LAYOUT_JUSTIFY_TOP): new.
6140         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6141         (ROUND_UP): new macro. Round argument up to next integral
6142         interval.
6143
6144         * redisplay-output.c (redisplay_output_layout): misc formatting.
6145
6146         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6147
6148 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6149
6150         * XEmacs 21.4.9 "Informed Management" is released.
6151
6152 2002-08-19  Andy Piper  <andy@xemacs.org>
6153
6154         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6155         win32 format.
6156
6157         * realpath.c (xrealpath): normalize drive spec also so that dir
6158         sep chars are not mixed on cygwin.
6159
6160 2002-08-06  Jerry James  <james@xemacs.org>
6161
6162         * window.c (Fsplit_window): Count only half of the divider width
6163         against the left window when splitting horizontally. 
6164
6165 2002-06-24  Andy Piper  <andy@xemacs.org>
6166
6167         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6168         toolbar was cleared.
6169
6170         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6171         function. Split out from mswindows_output_frame_toolbars.
6172         (mswindows_output_frame_toolbars): move clear pieces to
6173         mswindows_output_frame_toolbars.
6174
6175         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6176         out from gtk_output_frame_toolbars.
6177         (gtk_output_frame_toolbars): move clear pieces to
6178         gtk_clear_frame_toolbars.
6179
6180         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6181         the frame is cleared. How this ever worked before is a mystery.
6182         (x_output_frame_toolbars): Only output toolbars.
6183         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6184
6185         * gutter.c (update_gutter_geometry):
6186         Mark frame layout changed.
6187         (update_frame_gutter_geometry, update_frame_gutters):
6188         Respect frame_layout_changed.
6189
6190         * console.h (struct console_methods): add
6191         clear_frame_toolbars_method.
6192
6193         * redisplay.c (redisplay_frame): call
6194         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6195
6196         * toolbar.h: declare update_frame_toolbars_geometry.
6197
6198         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6199         out from update_frame_toolbars.  Call clear_frame_toolbars.
6200         (update_frame_toolbars): only output, do not change geometry.
6201
6202         * redisplay.c: add frame_layout_changed.
6203
6204         * redisplay.h: add frame_layout_changed.
6205         (CLASS_RESET_CHANGED_FLAGS): set it.
6206         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6207         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6208         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6209
6210         * device.h (struct device): add frame_layout_changed.
6211         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6212
6213         * frame.h (struct frame): add frame_layout_changed.
6214         (MARK_FRAME_LAYOUT_CHANGED): new.
6215
6216 2002-06-30  Mike Alexander  <mta@arbortext.com>
6217
6218         * event-msw.c (mswindows_need_event): Don't wait for a new message
6219         if the queue is not empty.  Suggested by Paul Moore.
6220
6221 2002-06-12  Andy Piper  <andy@xemacs.org>
6222
6223         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6224         for printing on accurately.
6225
6226 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6227
6228         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6229         WM_ACTIVATE message. Make sure that the frame is visible if the
6230         window is visible. This seemss to fix the problem where XEmacs
6231         appears to freeze after switching desktops with certain virtual
6232         window managers.
6233         (debug_output_mswin_message): Added code to output message
6234         parameters for WM_WINDOWPOSCHANGED, 
6235         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6236
6237 2002-05-25  Andy Piper  <andy@xemacs.org>
6238
6239         * select-x.c (vars_of_select_x): Fix docstring of
6240         x-selection-strict-motif-ownership
6241
6242 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6243
6244         * keymap.c (get_keymap):
6245         Add comment about do_autoload GCPROs own args.
6246
6247 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6248
6249         * bytecode.c (execute_optimized_program): check_opcode ifdef
6250         ERROR_CHECK_BYTE_CODE.
6251
6252 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6253
6254         Thanks to Ben Wing and Michael Sperber.
6255
6256         * eval.c (Fcommand_execute):
6257         (Feval):
6258         (Ffuncall):
6259         (Fmacroexpand_internal):
6260         (function_argcount):
6261         callint.c (Fcall_interactively):
6262         Add comment about do_autoload GCPROs own args.
6263
6264         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6265
6266         * eval.c (Ffuncall): Extra braces to placate GCC.
6267
6268 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6269
6270         * backtrace.h (grow_specpdl):
6271         (SPECPDL_RESERVE):
6272         * EmacsFrame.c (EmacsFrameSetValues):
6273         * eval.c (grow_specpdl):
6274         * ExternalShell.c (hack_event_masks_1):
6275         * glyphs-x.c (convert_EImage_to_XImage): 
6276         (x_finalize_image_instance):
6277         * ralloc.c (page_size):
6278         (r_alloc_sbrk):
6279         * xgccache.c (gc_cache_hash):
6280         Fix unsigned comparison warnings.
6281
6282 2002-07-29  Jerry James  <james@xemacs.org>
6283
6284         * lread.c (locate_file): Any nonnegative return value indicates
6285         success if MODE is nonnegative.
6286
6287 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6288
6289         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6290         argument. 
6291
6292 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6293
6294         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6295
6296         * dumper.c (pdump_get_indirect_count):
6297         (pdump_scan_by_alignment):
6298         (pdump_dump_root_struct_ptrs):
6299         (pdump_dump_rtables):
6300         (pdump_dump_root_objects):
6301         (pdump):
6302         * nas.c (WaveOpenDataForReading):
6303         * fns.c (print_bit_vector):
6304         * font-lock.c (SINGLE_SYNTAX_STYLE):
6305         * glyphs.c (check_for_ignored_expose):
6306         (find_matching_subwindow):
6307         * glyphs-eimage.c:
6308         * imgproc.c (get_histogram):
6309         * redisplay.c (point_in_line_start_cache):
6310         * redisplay-output.c (redisplay_unmap_subwindows):
6311         * symbols.c (defsymbol_massage_name_1):
6312         (defkeyword_massage_name):
6313         (deferror_massage_name_and_message):
6314         * redisplay-x.c (x_output_string): 
6315         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6316         * frame.h (struct frame):
6317         * filelock.c (current_lock_owner):
6318         * doprnt.c (emacs_doprnt_1):
6319         * lisp.h (struct Lisp_Bit_Vector):
6320         (DO_REALLOC):
6321         Fix warnings.
6322
6323 2002-02-13  Ben Wing  <ben@xemacs.org>
6324
6325         * event-stream.c (reset_key_echo):
6326         * event-stream.c (reset_this_command_keys):
6327         * event-stream.c (execute_command_event):
6328         If console is dead as a result of C-x 5 0, then post-command stuff
6329         needs to be careful and do only non-console-specific stuff.
6330
6331 2002-07-01  Mike Sperber <mike@xemacs.org>
6332
6333         * process-unix.c (unix_send_process): Mark coding_outstream as
6334         non-open upon SIGPIPE.
6335
6336         * event-stream.c (Fnext_event): Reorder switch cases to something
6337         that makes sense.
6338
6339 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6340
6341         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6342         Don't bogusly reinitialize ascii_character property.
6343
6344 2002-07-08  Mike Sperber <mike@xemacs.org>
6345
6346         * process.c (Fstart_process_internal): Do error checking before we
6347         fork off the child, so the child can't muck with the state of the
6348         parent.
6349
6350 2002-07-08  Mike Sperber <mike@xemacs.org>
6351
6352         * ralloc.c (init_ralloc): Allocate properly for pdump.
6353
6354 2002-06-12  Andy Piper  <andy@xemacs.org>
6355
6356         * glyphs.c (query_string_geometry): check the string.
6357
6358         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6359         widget names.
6360
6361 2002-06-17  Jerry James  <james@xemacs.org>
6362
6363         * sysdll.c: Remove RTLD_GLOBAL initialization.
6364         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6365
6366 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6367
6368         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6369
6370 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6371
6372         * sysdep.c (sys_rename): Make sys_rename work for the case where
6373         Windows rename sets errno to EACCES if target file exists.
6374
6375 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6376
6377         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6378         Fix detection of metric units to work on Win95
6379
6380 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6381
6382         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6383
6384 2002-04-25  Andy Piper  <andy@xemacs.org>
6385
6386         * redisplay.c (create_text_block): Remove extra comment trailer.
6387
6388 2002-04-24  Andy Piper  <andy@xemacs.org>
6389
6390         * redisplay.c (create_text_block): Don't actually add propagation
6391         data if the line ends after we have added a glyph.
6392
6393 2002-04-22  Andy Piper  <andy@xemacs.org>
6394
6395         * extents.c (extent_fragment_update): check for glyphs we have
6396         previously displayed.
6397         * extents.c (print_extent_1): warning removal.
6398         * extents.h: change prototype.
6399         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6400         widths correctly for wide glyphs.
6401         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6402         * redisplay.c (prop_type): add PROP_GLYPH.
6403         * redisplay.c (struct prop_block): add glyph type
6404         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6405         to the propagation data.
6406         * redisplay.c (create_text_block): if there is a glyph in the
6407         propagation data use it to salt extent_fragment_update.
6408         * redisplay.c (create_string_text_block): ditto.
6409
6410 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6411
6412         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6413         * redisplay-output.c (compare_runes): Compare them.
6414         * redisplay.c: Update copyright date.
6415         * redisplay.c (pos_data): Add need_baseline_computation field.
6416         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6417         need_baseline_computation; zero yoffset. Set max_pixmap_height
6418         for all pixmaps, not just automatically positioned ones.
6419         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6420         * redisplay.c (calculate_baseline): New, compute textual baseline.
6421         * redisplay.c (add_glyph_rune): Call them.
6422         * redisplay.c (create_text_block): Likewise.
6423         * redisplay.c (create_overlay_glyph_block): Likewise.
6424         * redisplay.c (add_margin_runes): Likewise.
6425         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6426
6427         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6428         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6429         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6430         * redisplay-msw.c (mswindows_output_string): Likewise.
6431         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6432         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6433         * redisplay-x.c (x_output_display_block): Likewise.
6434
6435 2002-03-28  Ben Wing  <ben@xemacs.org>
6436
6437         * redisplay.c: Fixed bug in redisplay
6438         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6439         and down of the lines, since they're bigger than the line
6440         size. (It was seen most obviously when there's a horizontal scroll
6441         bar, e.g. do C-h a glyph or something like that.) The problem was
6442         that the glyph-contrib-p setting on glyphs was ignored even if it
6443         was set properly, which it wasn't until now.
6444
6445 2002-04-24  Andy Piper  <andy@xemacs.org>
6446
6447         * lisp.h (Dynarr_end): Fix definition.
6448
6449 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6450
6451         * redisplay.c (mark_redisplay): Remove call to
6452         update_frame_window_mirror.
6453
6454 2001-11-15  Andy Piper  <andy@xemacs.org>
6455
6456         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6457         cygwin (again).
6458
6459 2002-02-13  Andy Piper  <andy@xemacs.org>
6460
6461         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6462         we did in fact enqueue the XM_MAPFRAME event.
6463
6464 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6465
6466         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6467         to fix problem switching between virtual desktops under virtuawin
6468         virtual window manager.
6469
6470 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6471
6472         * event-msw.c: Typo fix.
6473         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6474         magic XM_MAPFRAME event has been sent.
6475
6476 2001-11-23  Andy Piper  <andy@xemacs.org>
6477
6478         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6479
6480 2001-11-21  Andy Piper  <andy@xemacs.org>
6481
6482         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6483         mouse events outside the frame.
6484
6485 2002-03-20  Andy Piper  <andy@xemacs.org>
6486
6487         * menubar-msw.c (mswindows_popup_menu): warning removal.
6488         * dialog-msw.c (dialog_popped_down): ditto.
6489
6490 2001-12-11  Andy Piper  <andy@xemacs.org>
6491
6492         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6493         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6494         popup_up_p.
6495         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6496         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6497         * menubar-msw.c (mswindows_popup_menu): ditto.
6498
6499 2001-10-29  Andy Piper  <andy@xemacs.org>
6500
6501         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6502         cancels.
6503
6504 2002-01-03  Andy Piper  <andy@xemacs.org>
6505
6506         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6507         letters.
6508         (xrealpath): ditto.
6509
6510 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6511
6512         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6513         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6514         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6515         Detect and handle case where machine is set up for metric units
6516
6517 2002-04-02  Andy Piper  <andy@xemacs.org>
6518
6519         * dired-msw.c (mswindows_get_files): 
6520         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6521         completely handled by XEmacs. Suggested by Thomas Vogler
6522         <mail@thomas-vogler.de>.
6523
6524 2001-11-14  Andy Piper  <andy@xemacs.org>
6525
6526         * nt.c (REG_ROOT): change registry key to XEmacs.
6527
6528 2002-04-27  Andy Piper  <andy@xemacs.org>
6529
6530         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6531
6532 2002-04-26  Andy Piper  <andy@xemacs.org>
6533
6534         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6535         behavior.
6536
6537 2002-03-14  Mike Alexander  <mta@arbortext.com>
6538
6539         * event-msw.c (mswindows_unwait_process): New, remove process from
6540         wait list
6541         * process-nt.c (nt_finalize_process_data): Call
6542         mswindows_unwait_process
6543         * console-msw.h: Declare mswindows_unwait_process
6544
6545 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6546
6547         * editfns.c (Fdecode_time):
6548         (Fformat_time_string):
6549         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6550         (make_time): Warning elimination (change arg name).
6551
6552 2001-11-24  Andy Piper  <andy@xemacs.org>
6553
6554         * window.c (Fsplit_window): Doc return type.
6555
6556 2002-04-01  Andy Piper  <andy@xemacs.org>
6557
6558         * emacs.c (Fkill_emacs): Only output message box in interactive
6559         mode.
6560
6561 2002-04-26  Andy Piper  <andy@xemacs.org>
6562  
6563         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6564         cygwin.
6565
6566 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6567
6568         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6569         bit platform.
6570
6571 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6572
6573         * XEmacs 21.4.8 "Honest Recruiter" is released.
6574
6575 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6576
6577         Supersedes 2002-04-17 patch.
6578
6579         * process.h (PROCESS_LIVE_P): Use the process status as
6580         evidence of health, not the state of the input stream.
6581         (PROCESS_READABLE_P): Say if the process is readable
6582         from. (It may be dead nonetheless.)
6583         (CHECK_READABLE_PROCESS): Test for that condition.
6584
6585         * process.c (create_process): Use PROCESS_READABLE_P.
6586         (read_process_output, set_process_filter): Likewise.
6587
6588         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6589         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6590
6591         This code is #if 0'd, this is not the time to add new functions:
6592
6593         * process.c (Fprocess_readable_p): Report readability status.
6594         * process.c (Qprocess_readable_p): New, associated symbol...
6595         * process.c (syms_of_process): ... initialize it.
6596
6597 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6598
6599         * XEmacs 21.4.7 "Economic Science" is released.
6600
6601 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6602
6603         * process.h (PROCESS_LIVE_P): Use the process status as
6604         evidence of health, not the state of the input stream.
6605
6606 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6607
6608         * sysdep.c (sys_siglist): change "signum" to "signal"
6609
6610 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6611
6612         * s/darwin.h: New file.
6613         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6614         
6615 2002-04-23  Andreas Jaeger  <aj@suse.de>
6616
6617         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6618         which use lib64 for 64-bit libs.
6619         (START_FILES): Likewise.
6620
6621 2002-02-11  Mike Sperber  <mike@xemacs.org>
6622
6623         * device-x.c: 
6624         (x_IO_error_handler):
6625         (x_init_device): Temporarily keep device in static variable
6626         `device_being_initialized' so we can recover gracefully from
6627         internal XOpenDevice failure.  (XOpenDevice is documented to
6628         return NULL on failure, but sometimes calls the IO error handler
6629         instead.)
6630
6631 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6632
6633         * dired.c (Ffile_name_all_completions): Change documentation --
6634         remove reference to completion-ignored-extensions.
6635         * dired.c (vars_of_dired): Change documentation for
6636         completion-ignored-extensions -- remove reference to
6637         file-name-all-completions.
6638
6639 2002-03-06  Jerry James  <james@xemacs.org>
6640
6641         * emodules.c (emodules_load): Fix multiple loading of same module.
6642
6643 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6644         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6645         RTLD_LAZY to avoid incorrect symbol binding when using nested
6646         shared libraries on Solaris.
6647
6648 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6649
6650         * fileio.c (Ffind_file_name_handler): Improve docstring.
6651
6652 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6653
6654         * fns.c (Fmapconcat): Improve docstring.
6655
6656 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6657
6658         * device-gtk.c: Add prototype for
6659         emacs_gtk_selection_clear_event_handle.
6660         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6661         selection.  Setup signal handler for "selection_clear_event"
6662         (emacs_gtk_selection_clear_event_handle).
6663
6664         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6665         other applications owning the clipboard (based on
6666         x_handle_selection_clear).
6667
6668 2001-12-23  William M. Perry  <wmperry@gnu.org>
6669
6670         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6671         
6672 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6673
6674         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6675
6676 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6677
6678         * XEmacs 21.4.6 "Common Lisp" is released.
6679
6680 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6681
6682         * search.c (Freplace_match): Add missing sub-expression functionality.
6683
6684         * buffer.c (decode_buffer): Add a check for pointer type to
6685         decode_buffer, before gcc's CSE optimization reorders a
6686         dereference in front of the allow_string test.
6687
6688 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6689
6690         * window.c (window_loop): Fix bug that sometimes prevented
6691         window_loop() from iterating across multiple devices.  Also, at
6692         Ben's request, changed infloop-detecting code to abort() instead
6693         of silently terminating window_loop().
6694
6695 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6696
6697         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6698         * editfns.c (make_time): New function.
6699         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6700         * lisp.h (make_time): Prototype and comment it.
6701         * dired.c (wasteful_word_to_lisp): Deprecate.
6702         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6703
6704 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6705
6706         * fileio.c (auto_save_1): Use current coding system, not
6707         escape-quoted.
6708
6709 2001-11-13  Ben Wing  <ben@xemacs.org>
6710
6711         * window.c:
6712         * window.c (window_truncation_on):
6713         * window.c (syms_of_window):
6714         truncate-partial-width-windows should respect the buffer being
6715         displayed, like other redisplay vars.
6716
6717 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6718
6719         * event-stream.c (Fread_key_sequence): save current buffer.
6720
6721 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6722
6723         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6724
6725 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6726
6727         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6728
6729 2001-10-26  Mike Alexander  <mta@arbortext.com>
6730
6731         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6732
6733 2001-10-25  Andy Piper  <andy@xemacs.org>
6734
6735         * ChangeLog:
6736         * dialog-msw.c (handle_directory_proc): new function.
6737          (handle_directory_dialog_box): new fucntion.
6738          (handle_file_dialog_box): use new directory dialog support.
6739          (mswindows_make_dialog_box_internal): ditto.
6740         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6741         handling.
6742         (mswindows_find_frame): make global.
6743         * fileio.c (Fexpand_file_name): build fix.
6744         * general-slots.h: add Qdirectory.
6745         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6746         handling.
6747         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6748         cygwin not leaving win32 paths unchanged.
6749         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6750         cygwin runtime to do path conversion.
6751         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6752         (syms_of_win32): add new function.
6753         * window.c (window_loop): build fix.
6754
6755 2001-10-15  Andy Piper  <andy@xemacs.org>
6756
6757         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6758
6759 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6760
6761         * XEmacs 21.4.5 "Civil Service" is released.
6762
6763 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6764
6765         * glyphs-x.c: Force buffer-tab highlight update when moving the
6766         buffer, avoiding an ugly black border, used for keyboard focus
6767         indication, on a widget that can never have keyboard focus, the
6768         buffer tab.
6769
6770 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6771
6772         * process-unix.c (unix_open_multicast_group): Remove too much
6773         conversion between host and network byte order.
6774
6775 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6776
6777         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6778         before replacing them.
6779
6780         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6781         operation.
6782
6783         * src/window.c (undedicate_windows): Use it.
6784         * src/window.h: Add prototype.
6785
6786 2001-09-17  Ben Wing  <ben@xemacs.org>
6787
6788         * fileio.c (normalize_filename):
6789         * fileio.c (Fexpand_file_name):
6790         Fix various C++ compile errors in Andy's recent code.
6791         
6792         * callint.c (Fcall_interactively):
6793         * editfns.c (Ftemp_directory):
6794         * editfns.c (Fuser_full_name):
6795         * emacs.c (argmatch):
6796         * lread.c (locate_file_map_suffixes):
6797         * redisplay-x.c (x_ring_bell):
6798         Fix sign-compare warnings.
6799         
6800 2001-09-08  Andy Piper  <andy@xemacs.org>
6801
6802         * fileio.c (normalize_filename): copied from nt.c
6803         * (Ffile_name_directory): enable win32 paths under cygwin.
6804         * (Ffile_name_nondirectory): ditto.
6805         * (directory_file_name): ditto.
6806         * (Fexpand_file_name): ditto.
6807         * (Ffile_truename): ditto.
6808         * (Fsubstitute_in_file_name): ditto.
6809         * (Ffile_name_absolute_p): ditto.
6810         * (Ffile_readable_p): ditto.
6811
6812 2001-09-08  Andy Piper  <andy@xemacs.org>
6813
6814         * device-msw.c (mswindows_finish_init_device): remove dde
6815         initialization.
6816         * device-msw.c (mswindows_init_dde): factor out from
6817         mswindows_finish_init_device()
6818         * device-msw.c (init_mswindows_very_early): new function
6819         initialize but don't enable dde.
6820         * emacs.c (main_1): call init_mswindows_very_early.
6821         * event-msw.c:
6822         * event-msw.c (mswindows_dde_callback): only execute when we are
6823         ready.
6824         * symsinit.h: declare init_mswindows_very_early.
6825
6826 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6827
6828         [sjt: This has been in 21.5 for months with no complaints.]
6829
6830         * console.h (struct console_methods): Added flags member.
6831         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6832         (CONMETH_IMPL_FLAG):
6833         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6834         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6835
6836         * device.c (window_system_pixelated_geometry): Use the above macros.
6837
6838         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6839         implememntation flag.
6840         * device.h (DEVICE_DISPLAY_P): Use it.
6841
6842         * frame.c (delete_frame_internal): Use the above macro.
6843
6844         * redisplay.c (redisplay_device): Use it.
6845         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6846         (redisplay_frame): Ditto.
6847
6848         * device-msw.c (mswindows_device_implementation_flags): Removed.
6849         (msprinter_device_implementation_flags): Removed.
6850         (console_type_create_device_mswindows): Removed references to
6851         implementation_flags methods, set implementation flags here.
6852         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6853
6854         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6855         (console_type_create_device_gtk): Removed method declaration.
6856         Added commented out statement which semantically matches the
6857         commented out statement in the above removed method.
6858
6859 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6860
6861         The attached patch fixes a few warnings. 
6862
6863         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6864         * src/frame-gtk.c: guard against GNOME calls in GTK only
6865         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6866         * src/select-gtk.c: prototype lisp_to_time
6867
6868 2001-06-08  Ben Wing  <ben@xemacs.org>
6869
6870         ------ gc-in-window-procedure fixes ------
6871         
6872         * alloc.c:
6873         * alloc.c (struct post_gc_action):
6874         * alloc.c (register_post_gc_action):
6875         * alloc.c (run_post_gc_actions):
6876         * alloc.c (garbage_collect_1):
6877         Create "post-gc actions", to avoid those dreaded "GC during window
6878         procedure" problems.
6879
6880         * event-msw.c:
6881         Abort, clean and simple, when GC in window procedure.  We want
6882         to flush these puppies out.
6883
6884         * glyphs-msw.c:
6885         * glyphs-msw.c (finalize_destroy_window):
6886         * glyphs-msw.c (mswindows_finalize_image_instance):
6887         Use a post-gc action when destroying subwindows.
6888
6889         * lisp.h:
6890         Declare register_post_gc_action().
6891
6892         * scrollbar-msw.c:
6893         * scrollbar-msw.c (unshow_that_mofo):
6894         Use a post-gc action when unshowing scrollbar windows, if in gc.
6895
6896         * redisplay.c (mark_redisplay):
6897         Add comment about the utter evilness of what's going down here.
6898
6899         ------ cygwin setitimer fixes ------
6900         
6901         * Makefile.in.in (sheap_objs):
6902         * Makefile.in.in (profile_objs):
6903         * Makefile.in.in (objs):
6904         Compile profile.c only when HAVE_SETITIMER.
6905         
6906         * nt.c (mswindows_sigset):
6907         * nt.c (mswindows_sighold):
6908         * nt.c (mswindows_sigrelse):
6909         * nt.c (mswindows_sigpause):
6910         * nt.c (mswindows_raise):
6911         * nt.c (close_file_data):
6912         Style fixes.
6913         
6914         * nt.c:
6915         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6916         
6917         * profile.c:
6918         * profile.c (Fstart_profiling):
6919         * profile.c (Fstop_profiling):
6920         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6921         instead of just plain setitimer().
6922         
6923         * signal.c:
6924         * signal.c (set_one_shot_timer):
6925         * signal.c (alarm):
6926         Define qxe_setitimer() as an encapsulation around setitimer() --
6927         call setitimer() directly unless Cygwin or MS Win, in which case
6928         we use our simulated version in win32.c.
6929         
6930         * systime.h:
6931         * systime.h (struct itimerval):
6932         * systime.h (ITIMER_REAL):
6933         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6934         comment about "qxe" and the policy regarding encapsulation.
6935
6936         * win32.c:
6937         * win32.c (setitimer_helper_proc):
6938         * win32.c (setitimer_helper_period):
6939         * win32.c (setitimer_helper):
6940         * win32.c (mswindows_setitimer):
6941         Move setitimer() emulation here, so Cygwin can use it.
6942         Rename a couple of functions and variables to be longer and more
6943         descriptive.  In setitimer_helper_proc(), send the signal
6944         using either mswindows_raise() or (on Cygwin) kill().  If for
6945         some reason we are still getting lockups, we'll change the kill()
6946         to directly invoke the signal handlers.
6947
6948         ------ windows shell fixes ------
6949         
6950         * callproc.c:
6951         * ntproc.c:
6952         Comments about how these two files must die.
6953
6954         * callproc.c (init_callproc):
6955         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6956         not just COMSPEC. (more correct and closer to FSF.) Don't
6957         force a value for SHELL into the environment. (Comments added
6958         to explain why not.)
6959         
6960         * nt.c (init_user_info):
6961         Don't shove a fabricated SHELL into the environment.  See above.
6962
6963 2001-06-01  Ben Wing  <ben@xemacs.org>
6964
6965         * Makefile.in.in (ldflags):
6966         eliminate that pesky "defaulting to 00401000" warning.
6967         * nt.h:
6968         eliminate warnings.
6969
6970 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6971
6972         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6973         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6974
6975 2001-04-24  Jerry James <james@xemacs.org>
6976
6977         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6978         correct order.
6979
6980 2001-06-01  Ben Wing  <ben@xemacs.org>
6981
6982         * event-msw.c (debug_mswin_messages):
6983         conditionalize the messages that were causing compile errors.
6984         (if only macros could generate #ifdef statements ...)
6985
6986 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6987
6988         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6989
6990 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6991
6992         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6993
6994 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6995
6996         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6997         * process-unix.c (unix_canonicalize_host_name):
6998         sysdep.c (init_system_name):
6999         Use it to conditionally support IPv6 canonicalization.
7000
7001 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7002
7003         * event-msw.c:
7004         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7005
7006 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7007
7008         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7009         attempt is made to scroll when no scroll bar is available.
7010
7011 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7012
7013         * input-method-motif.c (XIM_delete_frame): New callback.
7014         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7015         got deleted from 21.4.3.)
7016
7017 2001-06-01  Ben Wing  <ben@xemacs.org>
7018
7019         * nt.c (mswindows_utime):
7020         * nt.c (close_file_data):
7021         fix off-by-one-indirection error.
7022
7023 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7024
7025         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7026         because set_file_times() now takes Lisp_Object path, instead of
7027         char*.
7028         * nt.c: Include buffer.h.
7029         * nt.c (convert_from_time_t): New.
7030         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7031         not set mtime correctly.
7032         * nt.h: Declare mswindows_utime().
7033         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7034         path, instead of char*.
7035         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7036
7037 2001-05-30  Ben Wing  <ben@xemacs.org>
7038
7039         For 21.4:
7040
7041         (Stephen, just take all event-msw.c patches.  This includes
7042         the "iconify" fix below.)
7043
7044         * event-msw.c:
7045         * event-msw.c (mswindows_dequeue_dispatch_event):
7046         * event-msw.c (assert):
7047         * event-msw.c (emacs_mswindows_quit_p):
7048         * event-msw.c (debug_mswin_messages):
7049         * event-msw.c (debug_output_mswin_message):
7050         * event-msw.c (vars_of_event_mswindows):
7051         Fix yet more problems with C-g handling.
7052         Implement debug-mswindows-events.
7053         
7054 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7055
7056         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7057         
7058 2001-05-23  Ben Wing  <ben@xemacs.org>
7059
7060         * event-msw.c (winsock_writer):
7061         * event-msw.c (winsock_closer):
7062         prior kludgy code was clobbering the buffer, thinking it was
7063         "unused" space to store an unneeded return value; instead, use
7064         the variable we've already got staring us in the face.
7065
7066 2001-05-17  Andy Piper  <andy@xemacs.org>
7067
7068         * sysfile.h: don't assume that file attributes are boolean
7069
7070 2001-05-23  Ben Wing  <ben@xemacs.org>
7071
7072         * device-msw.c (msprinter_init_device):
7073         signal an error rather than crash with an unavailable network
7074         printer (from Mike Alexander).
7075         
7076         * event-msw.c:
7077         * event-msw.c (struct winsock_stream):
7078         * event-msw.c (winsock_writer):
7079         * event-msw.c (winsock_closer):
7080         * event-msw.c (make_winsock_stream_1):
7081         cleanup headers.  fix (hopefully) an error with data corruption
7082         when sending to a network connection.
7083
7084         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7085         to handle the ~user prefix by (a) always assuming we're referencing
7086         ourselves and not even verifying the user -- hence any file with
7087         a tilde as its first char is invalid! (b) if there wasn't a slash
7088         following the filename, the pointer was set *past* the end of
7089         file and we started reading from uninitialized memory.  Now we
7090         simply treat these as files, always.
7091
7092         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7093         
7094 2001-05-19  Ben Wing  <ben@xemacs.org>
7095
7096         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7097
7098         * process-nt.c:
7099         * process-nt.c (vars_of_process_nt):
7100         remove unused mswindows-quote-process-args.  rec for 21.4.
7101         
7102 2001-05-12  Ben Wing  <ben@xemacs.org>
7103
7104         * event-msw.c (mswindows_dde_callback):
7105         * event-msw.c (mswindows_wnd_proc):
7106         eliminate cygwin warnings.
7107
7108 2001-05-06  Ben Wing  <ben@xemacs.org>
7109
7110         * console-msw.h:
7111         * device-msw.c:
7112         * device-msw.c (print_dialog_worker):
7113         * device-msw.c (mswindows_handle_print_dialog_box):
7114         * device-msw.c (syms_of_device_mswindows):
7115         * dialog-msw.c (mswindows_make_dialog_box_internal):
7116         * general-slots.h:
7117         implement printing the selection when it's selected.
7118
7119 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7120
7121         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7122
7123 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7124
7125         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7126         EMACS_INT is signed.
7127
7128 2001-04-15  Michael Lausch  <mla@1012surf.net>
7129
7130         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7131         gtk_widget_request_size() to give scrollbar >0 width for
7132         GTK >1.2.8.
7133
7134 2001-05-30  William M. Perry  <wmperry@gnu.org>
7135
7136         * event-gtk.c: Check for buttons as modifier keys.
7137
7138 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7139
7140         * s\mingw32.h:
7141         Properly find MinGW's <process.h> inside Cygwin's restructured
7142         include directories.  Don't try to include <cygwin/version.h>
7143         since we are dropping support for MinGW in versions of Cygwin
7144         earlier than b21.
7145         * nt.c:
7146         Drop support for MinGW in versions of Cygwin before b21.
7147         * sysdep.c:
7148         Properly find MinGW's <process.h> inside Cygwin's restructured
7149         include directories.
7150         * syswindows.h:
7151         Drop support for MinGW in versions of Cygwin before b21.
7152         * unexcw.c:
7153         Even though a.out.h is no longer detected by configure, allow
7154         MinGW to use it until we figure out how to do the job with Win32.
7155
7156 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7157
7158         * syntax.c (find_start_of_comment):
7159         Fix `unbalanced parentheses' bug when dealing with mixed comment
7160         styles in c++/java/etc. mode
7161
7162 2001-05-29  Mike Alexander  <mta@arbortext.com>
7163
7164         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7165         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7166
7167 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7168
7169         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7170
7171 2001-03-31  Mike Sperber <mike@xemacs.org>
7172
7173         * search.c (Freplace_match): Support FSF-style specification of
7174         match subexpression when applied to a buffer.
7175
7176 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7177
7178         * event-stream.c (is_scrollbar_event): add missing semicolon
7179
7180 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7181
7182         * Makefile.in.in: Use TAR macro instead of hardcoding
7183           tar.  Allows use of GNU tar instead of system tar
7184
7185 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7186
7187         * event-stream.c (is_scrollbar_event): add missing semicolon
7188
7189 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7190
7191         * XEmacs 21.4.3 "Academic Rigor" is released.
7192
7193 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7194
7195         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7196
7197 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7198
7199         * buffer.c (Vcase_fold_search): Remove obsolete
7200           comment about non ASCII case-fold-search.  This
7201           bug has been fixed by case-table changes.
7202
7203 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7204
7205         * event-msw.c: Restore include of events-mod.h.
7206
7207 2001-04-22   zhaoway  <zw@debian.org>
7208
7209         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7210         !HAVE_SCROLLBARS.
7211
7212 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7213
7214         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7215
7216 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7217
7218         * mule-charset.c (Fmake_charset): Add missing else.
7219
7220 2001-04-23  Ben Wing  <ben@xemacs.org>
7221
7222         * event-msw.c (FAKE_MOD_QUIT):
7223         * event-msw.c (mswindows_dequeue_dispatch_event):
7224         * event-msw.c (mswindows_wnd_proc):
7225         * event-msw.c (emacs_mswindows_quit_p):
7226         Get critical quit working.
7227
7228 2001-05-05  Ben Wing  <ben@xemacs.org>
7229
7230         * console-msw.h:
7231         * device-msw.c:
7232         * device-msw.c (mswindows_get_default_margin):
7233         * frame-msw.c (mswindows_size_frame_internal):
7234         * frame-msw.c (msprinter_init_frame_1):
7235         * frame-msw.c (vars_of_frame_mswindows):
7236         Change top/bottom margin defaults to 0.5 inches.
7237
7238 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7239
7240         Fix link error with gcc 3.0 on Linux.
7241         * terminfo.c (UP): Remove.
7242         * terminfo.c (BC): Remove.
7243         * terminfo.c (PC): Remove.
7244         They weren't used, and in any case, these symbols should be
7245         defined in the *library*.
7246
7247 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7248
7249         * s/aix4.h: Fix crash with xlc -O3.
7250         Improve comment explaining how -O3 works.
7251
7252 2001-04-15  Ben Wing  <ben@xemacs.org>
7253
7254         * event-stream.c:
7255         * event-stream.c (Fnext_event):
7256         * event-stream.c (is_scrollbar_event):
7257         * event-stream.c (execute_command_event):
7258         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7259         crash' problem.  His fix introduces other problems.  We filter
7260         out scrollbar events specifically, making them somewhat invisible
7261         to command-building, and not appearing in `this-command-keys'.
7262         More work is still needed (see comments in event-stream.c), but
7263         this fixes all the major problems.
7264
7265 2001-04-20  Ben Wing  <ben@xemacs.org>
7266
7267         * .cvsignore: Added stuff for Windows.
7268
7269 2001-04-28  Ben Wing  <ben@xemacs.org>
7270
7271         * buffer.c (Ferase_buffer):
7272         * editfns.c (buffer_insert1):
7273         * editfns.c (Finsert_before_markers):
7274         * editfns.c (Finsert_string):
7275         * editfns.c (Finsert_char):
7276         * editfns.c (Fdelete_region):
7277         * editfns.c (Fwiden):
7278         * editfns.c (Fnarrow_to_region):
7279         remove bogus lines setting zmacs_region_stays to 0.
7280         
7281 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7282
7283         * process-unix.c (unix_open_network_stream): If connect() fails
7284         invalidate file descriptor after closing it.
7285
7286 2001-03-08  Mike Alexander  <mta@arbortext.com>
7287
7288         * event-msw.c (mswindows_need_event_in_modal_loop):
7289         Don't dispatch a message if we didn't get one.
7290         (mswindows_need_event):
7291         Terminate the correct process when one exits instead of the first
7292         one on Vprocess_list and look for process termination when in
7293         mswindows_protect_modal_loop.
7294
7295 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7296
7297         * XEmacs 21.4.1 "Copyleft" is released.
7298
7299 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7300
7301         * input-method-motif.c (XIM_delete_frame): New callback.
7302         (XIM_init_frame): Register it.
7303
7304 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7305
7306         * XEmacs 21.4.0 "Solid Vapor" is released.
7307
7308 2001-04-15  Ben Wing  <ben@xemacs.org>
7309
7310         * cmdloop.c (call_command_loop):
7311         Fix braino in bit-rotting code.
7312         
7313 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7314
7315         * extents.c (Fset_extent_endpoints): Force creation of extent info
7316         in buffer_or_string.
7317
7318         * extents.c (process_extents_for_insertion_mapper): Correctly
7319         check for open-open zero-length extents.
7320
7321 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7322
7323         * lisp.h: New typedefs Memory_count, Element_count.
7324         * regex.c:
7325         * regex.h:
7326         Sign-compare warning elimination: several unsigned -> signed.
7327         Based on work by Ben Wing <ben@xemacs.org>.
7328
7329 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7330
7331         * XEmacs 21.2.47 "Zephir" is released.
7332
7333 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7334
7335         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7336
7337 2001-04-03  Mike Sperber <mike@xemacs.org>
7338
7339         * search.c: Revert previous patch due because of release.
7340
7341 2001-03-30  Ben Wing  <ben@xemacs.org>
7342
7343         * s\cygwin32.h:
7344         Add missing killpg prototype.
7345
7346         * elhash.c:
7347         Add a comment about fixing problems when a new entry is added
7348         while mapping.
7349
7350         * frame-msw.c (mswindows_init_frame_1):
7351         Fix compile warnings.
7352
7353         * menubar.c (vars_of_menubar):
7354         Provide `menu-accelerator-support' to indicate that we properly
7355         support %_ in menu specifications, so that package code can
7356         conditionalize on this (and remove %_ from menu specifications
7357         on older versions).
7358
7359         * event-msw.c:
7360         * scrollbar-msw.c:
7361         * scrollbar-msw.c (can_scroll):
7362         * scrollbar-msw.h:
7363         Fix handling of mouse wheel under Windows to follow standards --
7364         now scrolls window under pointer, not selected window.
7365
7366 2001-03-31  Mike Sperber <mike@xemacs.org>
7367
7368         * search.c (Freplace_match): Support FSF-style specification of
7369         match subexpression when applied to a buffer.
7370
7371 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7372
7373         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7374         function to modify KEYMAP, so map over a copy of the hash table.
7375
7376 2001-03-21  Martin Buchholz <martin@xemacs.org>
7377
7378         * XEmacs 21.2.46 "Urania" is released.
7379
7380 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7381
7382         * realpath.c (xrealpath): Make file-truename work with symlinks to
7383         /cygdrive paths on cygwin. Always lowercase drive-letters on
7384         native windows.
7385         (cygwin_readlink): Don't try to find canonical filename unless
7386         file exists.
7387
7388 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7389
7390         * ChangeLog: Log GTK merge.
7391
7392         * dumper.c:
7393         * select-x.c:
7394         * specifier.c:
7395         * symeval.h:
7396         Revert gratuitous whitespace changes from GTK merge.
7397
7398         * emacs.c: Document end of complex #ifdef @ l. 1495.
7399
7400
7401 2001-03-12  Andy Piper  <andy@xemacs.org>
7402
7403         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7404         have to do likewise.
7405
7406 2001-03-12  Andy Piper  <andy@xemacs.org>
7407
7408         * sysdep.c: we only support mingw now.
7409
7410 2001-03-09  Andy Piper  <andy@xemacs.org>
7411
7412         * unexcw.c (copy_executable_and_dump_data_section): making approx
7413         overrun a warning only.
7414
7415 2001-03-10  William M. Perry  <wmperry@aventail.com>
7416
7417         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7418         satisfy Stephen's identical-after-cpp plea.
7419
7420 2001-03-02  Ben Wing  <ben@xemacs.org>
7421
7422         * cmds.c:
7423         * cmds.c (Fforward_char):
7424         * syntax.c:
7425         * window.c:
7426
7427         Augment documentation of the most common motion commands to make
7428         note of the shifted-motion support.
7429         
7430 2001-03-02  Ben Wing  <ben@xemacs.org>
7431
7432         * nt.c (mswindows_fstat):
7433         * nt.c (mswindows_stat):
7434         * search.c (boyer_moore):
7435         Fix compile warnings under Windows.
7436         
7437         * sysdep.c (sys_readdir):
7438         Fix buggy filename-conversion code under Mule.
7439
7440 2001-03-09  William M. Perry  <wmperry@aventail.com>
7441
7442         * Makefile.in.in:
7443         * config.h.in:
7444         * console.c:
7445         * console.h:
7446         * device.c:
7447         * device.h:
7448         * dragdrop.c:
7449         * emacs.c:
7450         * event-stream.c:
7451         * events.c:
7452         * events.h:
7453         * faces.c:
7454         * frame.h:
7455         * general-slots.h:
7456         * glyphs.c:
7457         * gutter.c:
7458         * inline.c:
7459         * lisp.h:
7460         * lrecord.h:
7461         * make-src-depend:
7462         * redisplay-output.c:
7463         * redisplay.c:
7464         * symsinit.h:
7465         * sysfile.h:
7466         * toolbar.c:
7467         * window.c:
7468         The Great GTK Merge.
7469
7470         * ChangeLog.GTK:
7471         * console-gtk.c:
7472         * console-gtk.h:
7473         * device-gtk.c:
7474         * emacs-marshals.c:
7475         * emacs-widget-accessors.c:
7476         * event-gtk.c:
7477         * frame-gtk.c:
7478         * gccache-gtk.c:
7479         * gccache-gtk.h:
7480         * glade.c:
7481         * glyphs-gtk.c:
7482         * glyphs-gtk.h:
7483         * gtk-glue.c:
7484         * gtk-xemacs.c:
7485         * gtk-xemacs.h:
7486         * gui-gtk.c:
7487         * gui-gtk.h:
7488         * menubar-gtk.c:
7489         * native-gtk-toolbar.c:
7490         * objects-gtk.c:
7491         * objects-gtk.h:
7492         * redisplay-gtk.c:
7493         * scrollbar-gtk.c:
7494         * scrollbar-gtk.h:
7495         * select-gtk.c:
7496         * toolbar-gtk.c:
7497         * ui-byhand.c:
7498         * ui-gtk.c:
7499         * ui-gtk.h:
7500         The Great GTK Merge: new files.
7501
7502 2001-02-26  Ben Wing  <ben@xemacs.org>
7503
7504         Reapplied Lstream change.
7505
7506 2001-02-26  Ben Wing  <ben@xemacs.org>
7507
7508         Undid the last change, since it is more controversial than I
7509         thought.  It should be back in at some point soon.
7510         
7511 2001-02-25  Ben Wing  <ben@xemacs.org>
7512
7513         * buffer.c:
7514         * callproc.c (Fold_call_process_internal):
7515         * event-msw.c (ntpipe_slurp_reader):
7516         * event-msw.c (ntpipe_shove_writer):
7517         * event-msw.c (winsock_reader):
7518         * event-msw.c (winsock_writer):
7519         * file-coding.c:
7520         * file-coding.c (detect_eol_type):
7521         * file-coding.c (detect_coding_type):
7522         * file-coding.c (determine_real_coding_system):
7523         * file-coding.c (Fdetect_coding_region):
7524         * file-coding.c (decoding_reader):
7525         * file-coding.c (decoding_writer):
7526         * file-coding.c (mule_decode):
7527         * file-coding.c (Fdecode_coding_region):
7528         * file-coding.c (encoding_reader):
7529         * file-coding.c (encoding_writer):
7530         * file-coding.c (mule_encode):
7531         * file-coding.c (Fencode_coding_region):
7532         * file-coding.c (detect_coding_sjis):
7533         * file-coding.c (decode_coding_sjis):
7534         * file-coding.c (encode_coding_sjis):
7535         * file-coding.c (detect_coding_big5):
7536         * file-coding.c (decode_coding_big5):
7537         * file-coding.c (encode_coding_big5):
7538         * file-coding.c (detect_coding_ucs4):
7539         * file-coding.c (decode_coding_ucs4):
7540         * file-coding.c (encode_coding_ucs4):
7541         * file-coding.c (detect_coding_utf8):
7542         * file-coding.c (decode_coding_utf8):
7543         * file-coding.c (encode_coding_utf8):
7544         * file-coding.c (detect_coding_iso2022):
7545         * file-coding.c (decode_coding_iso2022):
7546         * file-coding.c (encode_coding_iso2022):
7547         * file-coding.c (decode_coding_no_conversion):
7548         * file-coding.c (encode_coding_no_conversion):
7549         * glyphs-x.c (write_lisp_string_to_temp_file):
7550         * gpmevent.c (tty_get_foreign_selection):
7551         * lisp.h:
7552         * lstream.c:
7553         * lstream.c (Lstream_flush_out):
7554         * lstream.c (Lstream_adding):
7555         * lstream.c (Lstream_write_1):
7556         * lstream.c (Lstream_write):
7557         * lstream.c (Lstream_raw_read):
7558         * lstream.c (Lstream_read_more):
7559         * lstream.c (Lstream_read):
7560         * lstream.c (Lstream_unread):
7561         * lstream.c (Lstream_fputc):
7562         * lstream.c (stdio_reader):
7563         * lstream.c (stdio_writer):
7564         * lstream.c (filedesc_reader):
7565         * lstream.c (filedesc_writer):
7566         * lstream.c (lisp_string_reader):
7567         * lstream.c (struct fixed_buffer_stream):
7568         * lstream.c (make_fixed_buffer_input_stream):
7569         * lstream.c (make_fixed_buffer_output_stream):
7570         * lstream.c (fixed_buffer_reader):
7571         * lstream.c (fixed_buffer_writer):
7572         * lstream.c (struct resizing_buffer_stream):
7573         * lstream.c (resizing_buffer_writer):
7574         * lstream.c (dynarr_writer):
7575         * lstream.c (lisp_buffer_reader):
7576         * lstream.c (lisp_buffer_writer):
7577         * lstream.h:
7578         * lstream.h (lstream_implementation):
7579         * lstream.h (struct lstream):
7580         * md5.c (Fmd5):
7581         * process-nt.c (nt_send_process):
7582         * process-unix.c (unix_send_process):
7583         
7584         Correct Lstream lossage due to mixing of signed and unsigned
7585         quantities.  All Lstream uses of size_t and ssize_t are now a
7586         single signed data type Lstream_data_count.  This fixes problems
7587         under Windows with sending large quantities of data to a process,
7588         and may well fix other subtle bugs.
7589
7590 2001-02-23  Martin Buchholz <martin@xemacs.org>
7591
7592         * XEmacs 21.2.45 "Thelxepeia" is released.
7593
7594 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7595
7596         * lisp-union.h (XSETINT): 
7597         (XSETCHAR):
7598         (XSETOBJ): 
7599         Reverse previous change of 2001-02-06.
7600
7601 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7602
7603         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7604         buffers.
7605         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7606         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7607         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7608         * regex.c (POS_AS_IN_BUFFER): removed
7609         * regex.c (re_search_2):
7610         * regex.c (re_match_2):
7611         Don't use an offset of 1 when calculating buffer positions, since
7612         `BI_BUF_BEGV' does it already.
7613
7614 2001-02-18  Wim Dumon  <wim@easics.be>
7615
7616         * insdel.c (prepare_to_modify_buffer): Also check for
7617         supersession when clash-detection is enabled. 
7618
7619 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7620
7621         * regex.c (re_match_2_internal):
7622         Convert temp characters from 'const unsigned char' to 're_char'.
7623         Fix crashing bug with extended characters under mule.
7624         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7625         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7626         font-lock, pdump, and new syntax-table code.
7627         * syntax.c (find_start_of_comment):
7628         (find_end_of_comment):
7629         (forward-comment):
7630         Fix crashing bugs involving moving beyond end of buffer.
7631         * syntax.c (find_start_of_comment):
7632         Fixed logic to allow proper detection of cases where the same
7633         character is used to end both a two-char comment start and a
7634         two-char comment end sequence. Fixes `(forward-comment -1)'.
7635         * syntax.c (find_start_of_comment):
7636         Return position just past last comment-end character for all cases
7637         (previously was only done for two-char comment-end sequences).
7638         * syntax.c (forward-comment):
7639         Take value returned from `find_end_of_comment', rather than
7640         incrementing it.
7641         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7642         Properly deal with BUFFERP (syntax_cache.object)
7643
7644 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7645
7646         * alloc.c (Fgarbage_collect): 
7647         * alloc.c (make_bit_vector_from_byte_vector):
7648         -Wsign-compare-correctness.
7649
7650 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7651
7652         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7653         (XSETCHAR): Likewise.
7654         (XSETOBJ): Likewise.
7655
7656 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7657
7658         * mule-canna.c (canna-func-delete_previous): 
7659         Rename to canna-func-delete-previous.
7660
7661 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7662
7663         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7664
7665 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7666
7667         * font-lock.c (find_context): Fix C++ compile errors introduced by
7668         recent patch
7669
7670 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7671
7672         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7673         pragma, but earlier ones barf on the same pragma.
7674
7675 2001-02-06  Mike Sperber <mike@xemacs.org>
7676
7677         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7678         `configure-mule-lisp-directory'.
7679
7680 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7681
7682         Make sure dump-id.c is compiled in the same way as other .c's.
7683         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7684         * dump-id.h: Remove.
7685         * emacs.c: Move dump-id.h into dumper.h.
7686         * dumper.h: Move dump-id.h into dumper.h.
7687         * Makefile.in.in:
7688         Use standard .c.o rule for building dump-id.o.
7689         Remove preprocessor flags from link command.
7690         Add dump-id.o to ${otherobjs} if PDUMP.
7691
7692 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7693
7694         Port FSF 20.7 syntax table improvements.
7695         * syntax.c.
7696         * syntax.h.
7697
7698         Fixups for new syntax table stuff.
7699         * dired.c: Include syntax.c.
7700         (Fdirectory_files): Initialize regex_match_object and
7701         regex_emacs_buffer.
7702         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7703         and Fget_char_property.
7704
7705         Use ported FSF 20.7 syntax table improvements.
7706         * font-lock.c.
7707         * regex.c.
7708         * search.c.
7709         
7710 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7711
7712         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7713         Unixware's enum boolean from sys/types.h.
7714
7715 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7716
7717         Fix support for building with latest Purify.
7718         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7719         (PURIFY_FLAGS): Likewise.
7720
7721 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7722
7723         * fileio.c (lisp_string_set_file_times): New.
7724         * fileio.c (Fcopy_file): Use it.
7725         Fixes bug:
7726         (copy-file filename non-ascii-filename t t)
7727         ==> No such file or directory, non-ascii-filename
7728
7729 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7730
7731         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7732         USHRT_MAX seems clearer than ~0 anyways.
7733
7734 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7735
7736         dumper improvements.  Inspired by Olivier.
7737         * dumper.c (pdump_max_align): New.
7738         * dumper.c (pdump_add_entry): Use pdump_max_align.
7739         * dumper.c (pdump_get_entry_list): Likewise.
7740         * dumper.c (pdump_scan_by_alignment): Likewise.
7741         Don't iterate through unnecessary alignments.
7742         * dumper.c (pdump_file_get): No need to align result of malloc().
7743         * dumper.c (pdump_mallocadr): Remove.  
7744         The result of malloc() is guaranteed to be maximally aligned.
7745         * dumper.c: s/elmt/elt/g;
7746         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7747         * dumper.c (pdump_alert_undump_object): Likewise.
7748         * dumper.c (pdump_align_table): 
7749         Don't support alignments > 64.
7750         Store ALIGNOF's, not shift counts, in table.
7751
7752 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7753
7754         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7755         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7756         * systime.h: Use HAVE_UTIME.
7757         * sysdep.c (struct utimbuf): Remove.
7758         * sysdep.c (set_file_times): Prefer utime() to utimes().
7759         * config.h.in (HAVE_UTIME): New.
7760         * config.h.in (HAVE_UTIME_H): Remove.
7761         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7762
7763 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7764
7765         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7766
7767 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7768
7769         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7770
7771 2001-02-08  Martin Buchholz <martin@xemacs.org>
7772
7773         * XEmacs 21.2.44 "Thalia" is released.
7774
7775 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7776
7777         Fixes crashes in kill-emacs on some systems.
7778         * process-unix.c (unix_kill_child_process):
7779         It's OK for kill() to fail with ESRCH.
7780
7781 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7782
7783         Contortions to make .gdbinit tricks work on most systems.
7784         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7785         * alloc.c (dbg_valmask): Make non-const.
7786         * alloc.c (dbg_typemask): Make non-const.
7787         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7788         * alloc.c (dbg_valbits): Make non-const.
7789         * alloc.c (dbg_gctypebits): Make non-const.
7790         * .gdbinit (decode_object): Make it work with AIX cc.
7791
7792 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7793
7794         * elhash.c (make_general_lisp_hash_table):
7795         Use simpler and more efficient calloc to clear entries.
7796
7797 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7798
7799         * window.c (window_scroll): Work around an AIX C compiler bug.
7800         Fixes 'scroll-up' does nothing problem with xlC.
7801
7802 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7803
7804         * .gdbinit: Remove obsolete comment.
7805
7806 2001-01-31  Mike Alexander  <mta@arbortext.com>
7807
7808         * select.c (Fown_selection_internal): Set owned_p for device
7809         method correctly.
7810
7811 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7812
7813         Port to g++ 2.97.
7814         "not" cannot be used as a macro name as it is an operator in C++
7815         * config.h.in: Stop #defining `not'.
7816         * chartab.c (check_category_char): not ==> not_p
7817         * chartab.h: Likewise.
7818         * regex.c (re_match_2_internal): Likewise.
7819
7820 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7821
7822         * lisp-disunion.h: Fix up comments.
7823
7824 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7825
7826         * keymap.c (define_key_check_and_coerce_keysym):
7827         (syms_of_keymap):
7828         Support mouse-6 and mouse-7 bindings in the obvious way.
7829
7830 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7831
7832         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7833
7834 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7835
7836         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7837         Previous patch missed DEFVAR_INT_MAGIC.
7838         Make sure future DEFVAR_foo use correct types.
7839         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7840         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7841         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7842         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7843         * (DEFVAR_INT): Likewise.
7844         * redisplay.c (vertical_clip): Should be of type Fixnum.
7845         * redisplay.c (horizontal_clip): Likewise.
7846         * lisp.h (dump_add_opaque_int): New.
7847         (dump_add_opaque_fixnum): New.
7848
7849 2001-01-29  Andy Piper  <andy@xemacs.org>
7850
7851         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7852         since they can be eval'ed
7853
7854 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7855
7856         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7857         Oops, XEmacs redefines `class'.  Use `typename' instead.
7858
7859 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7860
7861         * dumper.c: Fix C++ compile errors.
7862
7863 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7864
7865         * tparam.c: Use correct prototypes.
7866
7867 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7868
7869         * sysproc.h: #include util.h for NetBSD's openpty.
7870
7871 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7872
7873         More 64-bit correctness.
7874         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7875         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7876         Fix up comments.
7877         This finally finishes the 64-bit SGI port.
7878         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7879         * symbols.c: Fix up comments and type casts.
7880         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7881         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7882         * symeval.h (Fixnum): New type.
7883         * symeval.h (symbol_value_type): Fix up comment.
7884
7885         * commands.h:
7886         * nt.c:
7887         * emacs.c:
7888         * data.c:
7889         * redisplay.c:
7890         * abbrev.c:
7891         * dired-msw.c:
7892         * event-Xt.c:
7893         * eldap.c:
7894         * window.c:
7895         * sound.c:
7896         * event-stream.c:
7897         * eval.c:
7898         * buffer.c:
7899         * mule-canna.c: A million DEFVAR_INTs here...
7900         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7901         * extents.c:
7902         * cmdloop.c:
7903         * lisp.h:
7904         * select-x.c:
7905         * console-x.h:
7906         * event-msw.c:
7907         * mule-wnnfns.c:
7908         * hpplay.c:
7909         * ralloc.c:
7910         * alloc.c:
7911         * keymap.c:
7912         * profile.c:
7913         s/int/Fixnum/g in DEFVAR_INT declarations.
7914
7915 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7916
7917         Port pdump to SGI alignment-sensitive environment.
7918         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7919         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7920         properly aligned.
7921         Define and use aligned reading and writing macros.
7922         Use buffered stdio instead of posix i/o for faster dumping.
7923         Eliminate kludgy 256 byte space for header.
7924         Read and write from dump file using structs for alignment safety.
7925         * dumper.c (pdump_align_stream): New.
7926         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7927         * dumper.c (PDUMP_READ_ALIGNED): New.
7928         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7929         * dumper.c (pdump_static_Lisp_Object): New struct.
7930         * dumper.c (pdump_static_pointer): New struct.
7931         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7932         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7933         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7934         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7935
7936         * dumper.c (pdump_backtrace):
7937         * dumper.c (pdump_get_indirect_count):
7938         * dumper.c (pdump_register_object):
7939         * dumper.c (pdump_register_struct):
7940         * dumper.c (pdump_reloc_one):
7941         * dumper.c (pdump_scan_by_alignment):
7942         * dumper.c (pdump_dump_from_root_struct_ptrs):
7943         * dumper.c (pdump_dump_opaques):
7944         * dumper.c (pdump_dump_rtables):
7945         * dumper.c (pdump_dump_from_root_objects):
7946         * dumper.c (pdump):
7947         * dumper.c (pdump_load_finish):
7948         Use aligned reading and writing.
7949
7950         * dumper.c (pdump_free): Make static.
7951         * dumper.c (pdump_hFile): Likewise.
7952         * dumper.c (pdump_hMap): Likewise.
7953
7954 2001-01-26  Martin Buchholz <martin@xemacs.org>
7955
7956         * XEmacs 21.2.43 "Terspichore" is released.
7957
7958 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7959
7960         Type fiddling for window_config.saved_windows_count
7961         * window.c (struct window_config): 
7962         Make saved_windows_count member unsigned.
7963         * window.c (sizeof_window_config_for_n_windows): 
7964         Make parameter unsigned.
7965         * window.c (mark_window_config):
7966         * window.c (window_config_equal):
7967         * window.c (free_window_configuration):
7968         * window.c (Fset_window_configuration):
7969         * window.c (count_windows):
7970         * window.c (Fcurrent_window_configuration):
7971         * window.c (reinit_vars_of_window):
7972         Update all callers and users.
7973
7974 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7975
7976         Alignment correctness for flexible arrays.
7977         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7978         Make alignment-correct. Add interesting comments.
7979         * alloc.c (size_vector):
7980         * alloc.c (make_vector_internal):
7981         * alloc.c (make_bit_vector_internal):
7982         * alloc.c (sweep_bit_vectors_1):
7983         * fns.c (size_bit_vector):
7984         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7985         * window.c (sizeof_window_config_for_n_windows): 
7986         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7987
7988 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7989
7990         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7991
7992 2001-01-23  Andy Piper  <andy@xemacs.org>
7993
7994         * select.c (Fown_selection_internal): pass owned_p
7995
7996         * select-msw.c (mswindows_own_selection): New Signature.
7997
7998         * console.h (struct console_methods): add owned_p to
7999         _own_selection.
8000
8001         * select-x.c (x_own_selection): pass owned_p
8002         (hack_motif_clipboard_selection): use owned_p
8003         (vars_of_select_x): new variable -
8004         x_selection_strict_motif_ownership.
8005
8006 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8007
8008         * specifier.h (specifier_data_offset): Remove pointless parens.
8009         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8010
8011 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8012
8013         Make Lisp_Object sizeof methods be alignment-correct.
8014         pdump must restore objects to the same alignment as the C compiler
8015         assumes.  It really matters on SGIs.
8016         * lstream.c (aligned_sizeof_lstream): New.
8017         (sizeof_lstream): Use aligned_sizeof_lstream.
8018         (Lstream_new): Likewise.
8019         * opaque.c (aligned_sizeof_opaque): New.
8020         (sizeof_opaque): Use aligned_sizeof_opaque.
8021         (make_opaque): Likewise.
8022         * specifier.c (aligned_sizeof_specifier): New.
8023         (sizeof_specifier): Use aligned_sizeof_specifier.
8024         (make_specifier_internal): Likewise.
8025
8026 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8027
8028         * lstream.h (struct lstream): Use max_align_t for trailing data.
8029         * specifier.h (struct Lisp_Specifier): Likewise.
8030
8031 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8032
8033         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8034         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8035         (CCL_SUSPEND): Likewise.
8036         (CCL_INVALID_CMD): Likewise.
8037         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8038         (ccl_driver): Likewise.
8039         (CCL_WRITE_CHAR): Macro hygiene.
8040         (CCL_WRITE_STRING): Macro hygiene.
8041
8042 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8043
8044         Port "portable" dumper to SunOS 4 and HP-UX.
8045         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8046         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8047         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8048
8049 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8050
8051         * lisp.h (ALIGNOF): A better definition for C++.
8052
8053 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8054
8055         Macro hygiene.
8056         Fix printf warnings: int format, long int arg.
8057         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8058         (PUSH_FAILURE_POINT): Use correct printf formats.
8059         (POP_FAILURE_POINT): Use correct printf formats.  
8060         Use do {...} while (0)
8061
8062 2001-01-20  Martin Buchholz <martin@xemacs.org>
8063
8064         * XEmacs 21.2.42 "Poseidon" is released.
8065
8066 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8067
8068         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8069
8070 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8071
8072         De-kludgify FIXED_TYPE free list frobbing.
8073         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8074         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8075         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8076         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8077         * alloc.c (LRECORD_FREE_P): New.
8078         * alloc.c (MARK_LRECORD_AS_FREE): New.
8079         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8080         * alloc.c (STRUCT_FREE_P): Deleted.
8081         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8082         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8083         * alloc.c (STRING_CHARS_FREE_P): New.
8084         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8085         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8086         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8087         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8088         * alloc.c (resize_string): Use new definitions.
8089         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8090         * alloc.c (verify_string_chars_integrity): Use new definitions.
8091         * alloc.c (compact_string_chars): Use new definitions.
8092         * alloc.c: Update monster comments.
8093         * lrecord.h (lrecord_type): Add some new lrecord types for
8094         alloc.c's use.
8095
8096 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8097
8098         Improve alignment hackery.
8099         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8100         (max_align_t): Moved from opaque.h - general purpose.
8101         (ALIGN_PTR): Use size_t, not long.
8102         * opaque.h (max_align_t): Move to lisp.h.
8103
8104 2001-01-18  Norbert Koch  <nk@LF.net>
8105
8106         * gui.h: Fix and add prototypes to fix build problems.
8107
8108 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8109
8110         temacs is going away, so `dump-temacs' is now a bad name.
8111         * .dbxrc (dump-temacs): Rename to `dmp'.
8112         * .gdbinit (dump-temacs): Rename to `dmp'.
8113
8114 2001-01-17  Andy Piper  <andy@xemacs.org>
8115
8116         * glyphs.c (print_image_instance): comment to make martin happy.
8117
8118         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8119         change.
8120
8121         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8122         activation.
8123         (mswindows_tab_control_redisplay): warning suppression.
8124
8125         * glyphs-widget.c (widget_update): re-write to cope with updated
8126         items.
8127         (widget_instantiate): use new gui_item functions.
8128         (tab_control_update): deleted.
8129         (progress_gauge_update): deleted.
8130         (image_instantiator_progress_guage): take out update reference.
8131         (image_instantiator_tree_view): ditto.
8132         (image_instantiator_tab_control): ditto.
8133
8134         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8135         Right the new way.
8136         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8137         return whether anything was changed.
8138         (update_gui_item_keywords): as it sounds.
8139
8140         * gui.h: declare widget_gui_parse_item_keywords.
8141
8142         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8143         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8144
8145 2001-01-17  Martin Buchholz <martin@xemacs.org>
8146
8147         * XEmacs 21.2.41 "Polyhymnia" is released.
8148
8149 2001-01-16  Didier Verna  <didier@xemacs.org>
8150
8151         * glyphs.c (image_instantiate): don't use fallbacks when
8152         instantiating a face's background pixmap by inheritance.
8153
8154 2001-01-14  Mike Sperber <mike@xemacs.org>
8155
8156         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8157         Conditionalize accordingly.
8158
8159 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8160
8161         * dumper.c (pdump_file_get): Fix a compiler warning.
8162
8163 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8164
8165         Make Purify happy when pdumping.
8166         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8167         iniitalizing all bits of new lisp object memory.
8168         * symbols.c (Fmake_local_variable): Likewise.
8169         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8170         * symbols.c (Fdefvaralias): Likewise.
8171         * mule-charset.c (vars_of_mule_charset): Likewise.
8172
8173 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8174         Add the `-nd' flag when running pre-dump operations under the debugger.
8175         * .dbxrc (run-temacs): Add `-nd'.
8176         * .dbxrc (update-elc): Likewise.
8177         * .dbxrc (dump-temacs): Likewise.
8178         * .gdbinit (run-temacs): Likewise.
8179         * .gdbinit (check-temacs): Likewise.
8180         * .gdbinit (update-elc): Likewise.
8181         * .gdbinit (dump-temacs): Likewise.
8182
8183 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8184
8185         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8186         export OBJECT_MODE=64
8187         configure --pdump --use-union-type=no
8188         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8189         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8190
8191         * miscplay.c (sndcnv8U_2mono):
8192         Avoid two uses of `++' in the same expression.
8193         Suppresses a GCC warning.
8194
8195 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8196
8197         Make sure future compilers don't miscompile alloc.c.
8198         * alloc.c:
8199         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8200         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8201
8202 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8203
8204         * dumper.c: A little post-pdump-rename comment fixup.
8205
8206 2001-01-09  Jerry James  <james@eecs.ku.edu>
8207
8208         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8209
8210 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8211
8212         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8213         script:
8214         #!/bin/sh
8215         replace_symbol () {
8216           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8217         }
8218
8219         replace_symbol pdump_wire_lists pdump_weak_object_chains
8220         replace_symbol pdump_wire_list dump_add_weak_object_chain
8221
8222         replace_symbol pdump_wires pdump_root_objects
8223         replace_symbol pdump_wire dump_add_root_object
8224
8225         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8226         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8227
8228         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8229         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8230         replace_symbol dumpstructinfo pdump_root_struct_ptr
8231         replace_symbol dumpstruct dump_add_root_struct_ptr
8232
8233         replace_symbol dumpopaque dump_add_opaque
8234         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8235         replace_symbol dumpopaqueinfos pdump_opaques
8236         replace_symbol dumpopaqueinfo pdump_opaque
8237
8238         replace_symbol nb_structdump nb_root_struct_ptrs
8239         replace_symbol nb_opaquedump nb_opaques
8240
8241         replace_symbol align_table pdump_align_table
8242         replace_symbol dump_header pdump_header
8243
8244         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8245         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8246
8247
8248 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8249
8250         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8251         optimizing bytecount_to_charcount().
8252
8253 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8254
8255         * config.h.in:
8256         (HAVE_DLFCN_H): Removed.
8257         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8258
8259 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8260
8261         Portable dumper maintainability improvements.
8262         * alloc.c (staticpro):
8263         * alloc.c (staticpro_nodump):
8264         * alloc.c (garbage_collect_1):
8265         * alloc.c (reinit_alloc_once_early):
8266         * alloc.c (init_alloc_once_early):
8267         * alloc.c: Move dumper functions to alloc.c.
8268         * dumper.c (pdump_backtrace):
8269         * dumper.c (pdump_dump_structs):
8270         * dumper.c (pdump_dump_opaques):
8271         * dumper.c (pdump_dump_rtables):
8272         * dumper.c (pdump_dump_wired):
8273         * dumper.c (pdump):
8274         * dumper.c (pdump_load_check):
8275         * dumper.c (pdump_load_finish):
8276         * dumper.c (pdump_file_unmap):
8277         * dumper.c (pdump_file_get):
8278         * dumper.c (pdump_resource_free):
8279         * dumper.c (pdump_resource_get):
8280         * dumper.c (pdump_file_free):
8281         * dumper.c (pdump_file_try):
8282         * dumper.c (pdump_load):
8283         Remove fixed size limits on staticpro(), staticpro_nodump(),
8284         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8285         Remove custom code for dumping lrecord_implementations_table - use
8286         dumpopaque instead.
8287         Remove (most of the) custom code for dumping staticpros - dump it
8288         like any other dynarr.
8289
8290         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8291         * dumper.c: Moved functions from alloc.c.
8292         * alloc.c (dumpstruct): Moved to dumper.c.
8293         * alloc.c (dumpopaque): Likewise.
8294         * alloc.c (pdump_wire): Likewise.
8295         * alloc.c (pdump_wire_list): Likewise.
8296
8297         * lisp.h (Dynarr_sizeof): New.
8298         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8299         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8300         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8301
8302         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8303         * lisp.h (dumpopaque): ditto.
8304         * lisp.h (pdump_wire): ditto.
8305         * lisp.h (pdump_wire_list): ditto.
8306
8307 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8308
8309         * make-src-depend (PrintPatternDeps):
8310         Use `sort' to make output independent of perl version.
8311
8312 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8313
8314         Port to Netbsd 1.5.
8315         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8316         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8317
8318 2001-01-03  Didier Verna  <didier@xemacs.org>
8319
8320         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8321         that `focus_frame' is alive before thinking of calling
8322         `redisplay_redraw_cursor' on it.
8323
8324 2001-01-08  Martin Buchholz <martin@xemacs.org>
8325
8326         * XEmacs 21.2.40 is released.
8327
8328 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8329
8330         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8331
8332 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8333
8334         * alloc.c (dbg_valmask): Make const.
8335         * alloc.c (dbg_typemask): Make const.
8336         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8337         * alloc.c (dbg_valbits): Make const.
8338         * alloc.c (dbg_gctypebits): Make const.
8339
8340 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8341
8342         * redisplay-x.c (x_bevel_area):
8343         redisplay.h (struct rune):
8344         Typo fixes in comments.
8345
8346 2001-01-05  Andy Piper  <andy@xemacs.org>
8347
8348         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8349         adjustment.
8350
8351         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8352
8353 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8354
8355         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8356
8357         * mule-ccl.c (stack_idx_of_map_multiple):
8358         Non const global data must not be initialized!
8359         Found by MIYASHITA Hisashi.
8360
8361 2001-01-02  Andy Piper  <andy@xemacs.org>
8362
8363         * frame.c (change_frame_size): make sure frame size is always
8364         marked as changed.
8365
8366         * glyphs.c (image_instance_layout): minor code reuse.
8367
8368         * window.c (Fcurrent_window_configuration): revert previous
8369         change.
8370
8371 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8372
8373         * glyphs.h:
8374         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8375
8376 2000-12-31  Andy Piper  <andy@xemacs.org>
8377
8378         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8379         when widget gets unmapped.
8380
8381         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8382         function. Make sure widgets losing focus don't just drop it.
8383         (handle_focus_event_1): record the widget with focus.
8384
8385 2000-12-31  Andy Piper  <andy@xemacs.org>
8386
8387         * window.c (allocate_window): use
8388         make_image_instance_cache_hash_table.
8389         (make_dummy_parent): ditto.
8390         (Fset_window_configuration): ditto.
8391
8392         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8393
8394         * glyphs.c (process_image_string_instantiator): use
8395         INSTANTIATOR_TYPE.
8396         (get_image_instantiator_governing_domain): ditto.
8397         (normalize_image_instantiator): ditto.
8398         (instantiate_image_instantiator): ditto.
8399         (make_image_instance_1): ditto.
8400         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8401         (instantiator_eq_equal): new function for use with instance hash
8402         tables.
8403         (instantiator_eq_hash): ditto.
8404         (make_image_instance_cache_hash_table): create a suitable hash
8405         table for storing image instances.
8406
8407         * elhash.h (hash_table_weakness): new internal weakness type
8408         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8409         declare new functions.
8410
8411         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8412         another weakness type for glyphs.
8413         (make_standard_lisp_hash_table): new function split out from
8414         make_general_lisp_hash_table.
8415         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8416         (hash_table_instantiate): ditto.
8417         (Fmake_hash_table): ditto.
8418
8419 2000-12-31  Martin Buchholz <martin@xemacs.org>
8420
8421         * XEmacs 21.2.39 is released.
8422
8423 2000-12-29  Andy Piper  <andy@xemacs.org>
8424
8425         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8426
8427         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8428         the frame has changed so that we pick up geometry changes such as
8429         menubar visibility.
8430
8431 2000-12-28  Andy Piper  <andy@xemacs.org>
8432
8433         * lastfile.c (my_ebss): make a char array so we can pad the
8434         bss. Fixes cygwin unexec.
8435
8436         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8437
8438 2000-12-26  Andy Piper  <andy@xemacs.org>
8439
8440         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8441         comments and try and be more precise about a non-/SIGIO world.
8442         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8443         SIGIO.
8444
8445         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8446         we don't normalize to zero width or height.
8447
8448 2000-12-24  Andy Piper  <andy@xemacs.org>
8449
8450         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8451
8452 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8453
8454         * s/sco5.h: SCO 5 has pty support.
8455
8456 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8457
8458         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8459         input-method-xlib.c contains whole contents of input-method-xfs.c,
8460         so we can use input-method-xlib.c's code for USE_XFONTSET
8461         using #ifdefs.
8462         * input-method-xfs.c: removed.
8463
8464 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8465
8466         * file-coding.h (enum coding_category_type): reorder enumerators to
8467         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8468         (now one greater than largest real coding_category_type enumerator).
8469         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8470         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8471         Fcoding_category_list, Fset_coding_priority_list,
8472         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8473         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8474
8475 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8476
8477         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8478         * redisplay-output.c (redisplay_output_window): Clear top of window
8479         when face is changed.
8480         * redisplay-x.c (x_redraw_exposed_window): Call
8481         redisplay_clear_top_of_window.
8482         * redisplay.h: Publish redisplay_clear_top_of_window.
8483
8484 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8485
8486         * buffer.c (Fkill_buffer): Map over all devices.
8487         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8488         (list_windows): New function.
8489         (list_all_windows): Ditto.
8490         (Freplace_buffer_in_windows): Use them.
8491
8492 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8493
8494         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8495         (Fopen_database): Use `db_create' instead of `db_open'.
8496         (syms_of_database): Initialize Qqueue.
8497
8498 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8499
8500         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8501         buffer_local_face_property.
8502         * buffer.h (struct buffer): New member buffer_local_face_property.
8503         * window.c (Fset_window_buffer):  Mark window's face as changed
8504         when buffer has buffer local face.
8505         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8506         * objects.c (color_after_change): Set buffer_local_face_property
8507         when locale of face specifier is buffer.
8508         * objects.c (font_after_change): Ditto.
8509         * objects.c (face_boolean_after_change): Ditto.
8510         * glyphs.c (image_after_change): Ditto.
8511
8512 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8513
8514         * nt.c (mswindows_fstat): Report file permissions, volume serial
8515         number, etc. Code adapted from FSF Emacs 20.7.
8516
8517 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8518
8519         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8520         of stat when we don't have symbolic links, to make sure
8521         mswindows_stat is called on mswindows.
8522
8523 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8524
8525         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8526
8527 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8528
8529         * doprnt.c (emacs_doprnt_1): More printing fixes.
8530         Make printing of numbers compatible with libc and FSF Emacs.
8531         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8532         Use the system printf to do most of the hard work of formatting,
8533         instead of doprnt_1().
8534         Calculate memory to allocate for format string.
8535         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8536         (doprnt_1): Cleaner code and documentation.
8537
8538 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8539
8540         * Makefile.in.in: Use the loop variable to install headers.
8541
8542 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8543
8544         * window.c (Fsplit_window): Don't invalidate face cache.
8545
8546 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8547
8548         * minibuf.c (Fall_completions): Undo the previous change
8549         which removed checking elements start with space.
8550
8551 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8552
8553         * mule-canna.c: Didier suppression.
8554
8555 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8556
8557         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8558         (warning suppression).  Add English comment translations.
8559
8560 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8561
8562         * unexelfsgi.c (unexec): Better test for mmap failure.
8563
8564 2000-12-05  Martin Buchholz <martin@xemacs.org>
8565
8566         * XEmacs 21.2.38 is released.
8567
8568 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8569
8570         * redisplay.c (bar-cursor): Make a user variable.
8571
8572         * symsinit.h: Add init_postgresql_from_environment.
8573
8574 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8575
8576         * regex.c: Convert to clean C.
8577
8578 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8579
8580         * realpath.c:
8581         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8582         initialization.
8583         (sys_readlink): renamed to system_readlink to avoid conflict with
8584         the other sys_readlink.
8585
8586 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8587
8588         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8589
8590 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8591
8592         * postgresql.c (init_postgresql_from_environment): new function.
8593         (vars_of_postgresql): Move code initializing Lisp variables out and
8594         into init_postgresql_from_environment.
8595         emacs.c (main_1): Call init_postgresql_from_environment if and only
8596         if running a dumped XEmacs.
8597
8598 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8599
8600         * buffer.c: Make find-file-compare-truenames default to true on
8601         windows.
8602
8603         * realpath.c (win32_abs_start):
8604         (cygwin_readlink):
8605         (win32_readlink): New functions.
8606         (xrealpath): Return really real filenames on windows.
8607
8608         * fileio.c (Ffile_truename): Make file-truename work on windows.
8609
8610 2000-11-29  Didier Verna  <didier@xemacs.org>
8611
8612         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8613         * faces.c (update_face_cachel_data): use it.
8614         * faces.c (add_face_cachel): use it. Complete background pixmap
8615         frobbing in face cache if `update_face_cachel_data' has not done so.
8616
8617 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8618
8619         * search.c (string_match_1): Don't set last_thing_searched
8620         when search failed.
8621
8622 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8623
8624         * buffer.c: Include casetab.h
8625         (common_init_complex_vars_of_buffer): Use new case-table object.
8626         * buffer.h: Include casetab.h
8627         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8628         (DOWNCASE_TABLE_OF): Ditto.
8629         * bufslots.h: Remove char-tables and add case-table.
8630         * casetab.c: Include casetab.h
8631         (CASE_TABLE_P): Removed.
8632         (mark_case_table): New function.
8633         (allocate_case_table): New function.
8634         (Fcase_table_p): Use new case-table.
8635         (case_table_char): New function.
8636         (Fget_case_table): Ditto.
8637         (Fput_case_table): Ditto.
8638         (Fput_case_table_pair): Ditto.
8639         (Fcopy_case_table): Ditto.
8640         (Fcurrent_case_table): Return case-table.
8641         (Fstandard_case_table): Return case-table.
8642         (Fset_case_table): Fix doc-string.
8643         (set_case_table): Use case-table
8644         (syms_of_casetab): DEFSUBR new functions.
8645         (complex_vars_of_casetab): Set up standard case-table.
8646         * casetab.h: New file.
8647         * editfns.c: Include casetab.h
8648         (Fcompare_buffer_substrings): Use case-table.
8649         * inline.c: Include casetab.h
8650         * lisp.h: Remove bogus extern.
8651         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8652         * search.c: Include casetab.h
8653         (TRANSLATE_ASCII): Removed.
8654         (TRANSLATE): Unconditionally translate character.
8655         (looking_at_1): Use case-table.
8656         (string_match_1): Ditto.
8657         (fast_string_match): Ditto.
8658         (search_command): Ditto.
8659         (search_buffer): Separate boyer_moore.  Check whether
8660         boyer_moore is possible.
8661         (simple_search): New function.
8662         (boyer_moore): Separated from search_buffer. Translate char.
8663
8664 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8665
8666         * regex.c (RE_TR_ASCII): Removed.
8667         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8668         (PATFETCH): Call PATFETCH_RAW.
8669         (PATFETCH_RAW): Fetch Emchar.
8670         (PATUNFETCH): Decrement charptr.
8671         (GET_BUFFER_SPACE): Rename b to buf_end.
8672         (BUF_PUSH): Ditto.
8673         (BUF_PUSH_2): Ditto.
8674         (BUF_PUSH_3): Ditto.
8675         (EXTEND_BUFFER): Ditto.
8676         (SET_LIST_BIT): Ditto.
8677         (regex_compile): Ditto.  Translate non ASCII char.
8678         (compile_range): Ditto.
8679         (re_search_2): Ditto.
8680         (re_match_2_internal): Compare Emchar.
8681         (bcmp_translate): Ditto.
8682
8683 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8684
8685         * lisp.h (basic char/int typedefs):  comment improvement.
8686
8687 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8688
8689         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8690         unstomp inhibit_site_lisp.  Improve comments.
8691
8692 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8693
8694         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8695
8696 2000-11-28  Andy Piper  <andy@xemacs.org>
8697
8698         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8699         clipped display for windows in the gutter also.
8700         (redisplay_display_boxes_in_window_p): change semantics of return
8701         codes to be more intuitive.
8702
8703         * gutter.h: declare display_boxes_in_gutter_p.
8704
8705         * gutter.c (display_boxes_in_gutter_p): new function for
8706         redisplay.
8707
8708 2000-11-22  Andy Piper  <andy@xemacs.org>
8709
8710         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8711         autodetect domain.
8712
8713 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8714
8715         * callproc.c (Fold_call_process_internal):
8716         * gpm.c (Freceive_gpm_event):
8717         (tty_get_foreign_selection): Might be just warning supression.
8718         * fileio.c (Fwrite_region_internal):
8719         (Fset_visited_file_modtime):
8720         * keymap.c (event_matches_key_specifier_p):
8721         Initialize GCPROed variable.
8722
8723         * menubar-x.c (command_builder_find_menu_accelerator):
8724         Initialize before use.
8725
8726 2000-11-23  Andy Piper  <andy@xemacs.org>
8727
8728         * unexcw.c (unexec): make the resulting executable executable.
8729
8730 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8731
8732         * doc.c (get_doc_string):
8733         Use size_t, not int, for result of XSTRING_LENGTH.
8734
8735         * cmds.c (Fdelete_char):
8736         * cmds.c (Fpoint_at_eol):
8737         * cmds.c (Fself_insert_command):
8738         Use EMACS_INT, not int, for result of XINT.
8739         Someday, someone will want to insert more than 2**31 identical characters.
8740
8741         * cmds.c (Fdelete_char):
8742         * cmds.c (Fdelete_backward_char):
8743         * syntax.c (Fforward_word):
8744         * syntax.c (Fforward_comment):
8745         Make COUNT argument optional, for consistency with forward-char et al.
8746
8747 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8748
8749         * lisp.h:
8750         * print.c (long_to_string):
8751         Return a useful value: the pointer at end of data written.
8752
8753         * doprnt.c:
8754         Use `static const char * const' for constant strings.
8755         (union printf_arg): Delete `i', `ui' members.
8756         (get_doprnt_args):
8757         (emacs_doprnt_1):
8758         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8759         Do all printf-ing via the `l' specifier.
8760         Use EMACS_INT instead of int.
8761         Optimize.
8762
8763 2000-11-20  Didier Verna  <didier@xemacs.org>
8764
8765         * faces.c (update_face_cachel_data): don't frob the background
8766         pixmap when the window is being created. The face is needed but
8767         does not exist yet.
8768
8769 2000-11-20  Andy Piper  <andy@xemacs.org>
8770
8771         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8772         messing with a debug environment.
8773
8774 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8775
8776         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8777
8778 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8779
8780         * casetab.c (Fcase_table_p): Fix compile error and crash.
8781
8782 2000-11-18  Philip Aston  <philipa@mail.com>
8783
8784         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8785
8786 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8787
8788         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8789         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8790
8791 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8792
8793         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8794         * unexelf.c: Use HAVE_ELF_H.
8795         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8796         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8797         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8798         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8799         for testing.
8800         So this is an unexelfsgi.c from a different line of development.
8801
8802 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8803
8804         * regex.c (RE_TR_ASCII): New function.
8805         (RE_TRANSLATE): Call it.
8806
8807 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8808
8809         * buffer.h (TRT_TABLE_OF): Remove assert.
8810         (IN_TRT_TABLE_DOMAIN): Removed.
8811
8812 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8813
8814         * free-hook.c (log_gcpro):
8815         (show_gcprohist): Add support for GCPRO5.
8816
8817 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8818
8819         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8820
8821 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8822
8823         * symeval.h: Declare flush_all_buffer_local_cache.
8824
8825         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8826         (flush_buffer_local_cache): Added.
8827         (flush_all_buffer_local_cache): Added.
8828
8829         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8830
8831         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8832         (pdump_dump_data): Ditto.
8833         (pdump_reloc_one): Ditto.
8834         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8835         before dumping.
8836
8837
8838 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8839
8840         * buffer.c: Remove if 0'ed entry.
8841         * buffer.h: Rewrite TRT to use char-table.
8842         * bufslots.h: Remove mirror tables.
8843         * casetab.c: Remove mirror tables.
8844         (CASE_TABLE_P): New macro.
8845         (Fcase_table_p): Element of a case table is string or char-table.
8846         (make_mirror_trt_table): Removed.
8847         (set_case_table): Setup char-table from strings for backward
8848         compatibility.
8849         * dired.c (Fdirectory_files):
8850         * dired-msw.c: (mswindows_get_files):
8851         * lisp.h: Change prototype of re_pattern_buffer.
8852         * regex.c: (RE_TRANSLATE): New macro.
8853         (TRANSLATE_P): Ditto.
8854         Change translate to type RE_TRANSLATE_TYPE.
8855         * regex.h: Define RE_TRANSLATE_TYPE
8856         * search.c (TRANSLATE): New macro.
8857         (TRANSLATE_ASCII): New macro.
8858         Translate table is changed to Lisp_Object.
8859         (signal_failure): Inhibit return.
8860
8861 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8862
8863         * device-msw.c:
8864         * eldap.c:
8865         * event-Xt.c:
8866         * event-stream.c:
8867         * print.c:
8868         Do UNGCPRO before return.
8869
8870 2000-11-14  Martin Buchholz <martin@xemacs.org>
8871
8872         * XEmacs 21.2.37 is released.
8873
8874 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8875
8876         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8877         Add comments about discarded return value.
8878
8879 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8880
8881         * callint.c:
8882         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8883
8884 2000-10-27  Andy Piper  <andy@xemacs.org>
8885
8886         * gutter.c (Fset_default_gutter_position): default left and right
8887         gutters to visible.
8888         (calculate_gutter_size): calculate resonable heuristic for left
8889         and right gutter sizes.
8890         (specifier_vars_of_gutter): change left and right gutter sizes to
8891         autodetect.
8892         (calculate_gutter_size_from_display_lines): new function.
8893         (output_gutter): check for resizing on left and right gutters.
8894         (clear_gutter): don't special case top and left gutters.
8895         (specifier_vars_of_gutter): use new signature for
8896         set_specifier_caching.
8897
8898         * glyphs-x.c (x_redisplay_widget): spelling fix.
8899         * glyphs.c (specifier_vars_of_glyphs):
8900         * menubar.c (specifier_vars_of_menubar):
8901         * redisplay.c (specifier_vars_of_redisplay):
8902         * toolbar.c (specifier_vars_of_toolbar):
8903         * window.c (specifier_vars_of_window):
8904         * scrollbar.c (specifier_vars_of_scrollbar):
8905         (complex_vars_of_scrollbar): use new signature for
8906         set_specifier_caching.
8907
8908         * specifier.c (set_specifier_caching): include recompute flag.
8909         (recompute_one_cached_specifier_in_window): always recompute if
8910         flag set.
8911         (recompute_one_cached_specifier_in_frame): ditto.
8912
8913         * specifier.h (struct specifier_caching): add recompute flag.
8914
8915 2000-10-24  Andy Piper  <andy@xemacs.org>
8916
8917         * unexcw.c (copy_executable_and_dump_data_section): add new
8918         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8919         5.0 happy.
8920
8921 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8922
8923         * console-x.h (x_device): New member modifier_release_time.
8924         * event-Xt.c (x_handle_sticky_modifiers):
8925         Bound interval modifier keys are sticky.
8926         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8927         * events.h: extern it.
8928
8929 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8930
8931         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8932
8933 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8934
8935         * event-stream.c (execute_command_event): Preserve current_events
8936         and the like when event is misc-user-event.
8937         Inhibit quit during the call to maybe_echo_keys.
8938
8939 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8940
8941         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8942         symlink when buffer is killed.
8943         (inhibit_clash_detection): New variable.
8944
8945 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8946
8947         * console.c (Fset_input_method): Trigger redisplay on tty.
8948
8949 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8950
8951         * process.c (Fprocess_status): Revert to previous behavior:
8952         (process-status "nosuchprocess") ==> nil
8953
8954 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8955
8956         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8957         Work around another GCC 2.95.2 optimizer bug.
8958
8959 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8960
8961         * process.c (Fget_process): Use LIST_LOOP_2.
8962         (kill_buffer_processes): Use LIST_LOOP_2.
8963
8964         * minibuf.c (Fall_completions):
8965         Delete old non-functional code for FSF fourth argument.
8966
8967         * frame.c (frame_matches_frame_spec):
8968         Renamed from `frame_matches_frametype'.  Update all callers.
8969         (device_matches_device_spec):
8970         Renamed from 'device_matches_console_spec'.  Update all callers.
8971
8972         * doc.c (Fsubstitute_command_keys):
8973         Remove buffer overflow crash.  Small code cleanups.
8974
8975         * casetab.c (check_case_table): Simpler code.
8976
8977         * window.c (Freplace_buffer_in_windows):
8978         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8979         (and similar implementation) as Fdelete_windows_on.
8980         Update all callers.
8981
8982         * alloc.c (Fmake_list):
8983         * alloc.c (make_vector):
8984         * alloc.c (Fmake_vector):
8985         * alloc.c (make_bit_vector):
8986         * alloc.c (Fmake_bit_vector):
8987         * alloc.c (Fbit_vector):
8988         * alloc.c (Fmake_string):
8989         * alloc.c (Fpurecopy):
8990         * alloc.c (Fmemory_limit):
8991         * buffer.c:
8992         * buffer.c (Fget_buffer):
8993         * buffer.c (Fkill_buffer):
8994         * buffer.c (complex_vars_of_buffer):
8995         * bytecode.c (Fcompiled_function_stack_depth):
8996         * callint.c (Fprefix_numeric_value):
8997         * event-stream.c:
8998         * event-stream.c (Fread_key_sequence):
8999         * casetab.c:
9000         * casetab.c (Fcase_table_p):
9001         * casetab.c (check_case_table):
9002         * casetab.c (Fset_case_table):
9003         * casetab.c (Fset_standard_case_table):
9004         * chartab.c:
9005         * chartab.c (Fchar_table_type):
9006         * chartab.c (Freset_char_table):
9007         * chartab.c (Fget_char_table):
9008         * chartab.c (Fget_range_char_table):
9009         * chartab.c (Fput_char_table):
9010         * chartab.c (Fmap_char_table):
9011         * chartab.c (Fcategory_table_p):
9012         * chartab.c (Fcheck_category_at):
9013         * chartab.c (Fchar_in_category_p):
9014         * chartab.c (Fcategory_table):
9015         * chartab.c (Fcopy_category_table):
9016         * chartab.c (Fset_category_table):
9017         * chartab.c (Fcategory_designator_p):
9018         * chartab.c (Fcategory_table_value_p):
9019         * cmds.c (Fdelete_char):
9020         * cmds.c (Fdelete_backward_char):
9021         * cmds.c (Fself_insert_command):
9022         * cmds.c (Fself_insert_internal):
9023         * console.c (Fvalid_console_type_p):
9024         * console.c (Fcdfw_console):
9025         * console.c (Fconsole_type):
9026         * console.c (Fconsole_name):
9027         * console.c (Fconsole_device_list):
9028         * console.c (Fconsole_on_window_system_p):
9029         * data.c:
9030         * data.c (Feq):
9031         * data.c (Fold_eq):
9032         * data.c (Fsubr_interactive):
9033         * data.c (Fchar_to_int):
9034         * data.c (Fint_to_char):
9035         * data.c (Fsetcar):
9036         * data.c (Fsetcdr):
9037         * data.c (Fnumber_to_string):
9038         * data.c (Fstring_to_number):
9039         * data.c (Frem):
9040         * database.c (mark_database):
9041         * database.c (finalize_database):
9042         * database.c (Fdatabase_live_p):
9043         * database.c (Fdatabasep):
9044         * device-x.c (Fx_get_resource):
9045         * device.c (Fdfw_device):
9046         * dired.c:
9047         * dired.c (Ffile_name_completion):
9048         * dired.c (Ffile_name_all_completions):
9049         * dired.c (Fuser_name_completion):
9050         * dired.c (Fuser_name_completion_1):
9051         * dired.c (Fuser_name_all_completions):
9052         * doc.c (Fdocumentation):
9053         * doc.c (Fdocumentation_property):
9054         * doc.c (Fsubstitute_command_keys):
9055         * editfns.c:
9056         * editfns.c (Fchar_to_string):
9057         * editfns.c (Fstring_to_char):
9058         * editfns.c (Ftemp_directory):
9059         * editfns.c (Finsert_char):
9060         * editfns.c (Fbuffer_substring_no_properties):
9061         * editfns.c (Fnarrow_to_region):
9062         * editfns.c (Fchar_equal):
9063         * editfns.c (Fchar_Equal):
9064         * editfns.c (Ftranspose_regions):
9065         * emacs.c (Fdump_emacs):
9066         * eval.c (Fthrow):
9067         * eval.c (Fcommand_execute):
9068         * eval.c (Fautoload):
9069         * eval.c (Fbacktrace):
9070         * eval.c (Fbacktrace_frame):
9071         * events.c:
9072         * events.c (Fcopy_event):
9073         * events.c (Fcharacter_to_event):
9074         * events.c (Fevent_button):
9075         * events.c (Fevent_process):
9076         * extents.c:
9077         * extents.c (Fnext_extent_change):
9078         * extents.c (Fextent_property):
9079         * faces.c (Ffacep):
9080         * faces.c (Fmake_face):
9081         * file-coding.c:
9082         * file-coding.c (Fencode_shift_jis_char):
9083         * file-coding.c (Fencode_big5_char):
9084         * fileio.c (Ffile_name_directory):
9085         * fileio.c (Ffile_name_nondirectory):
9086         * fileio.c (Ffile_name_as_directory):
9087         * fileio.c (Fdirectory_file_name):
9088         * fileio.c (Ffile_truename):
9089         * fileio.c (Fsubstitute_in_file_name):
9090         * fileio.c (Ffile_modes):
9091         * fileio.c (Fset_file_modes):
9092         * fileio.c (Fset_default_file_modes):
9093         * fileio.c (Fverify_visited_file_modtime):
9094         * floatfns.c (Facos):
9095         * floatfns.c (Fasin):
9096         * floatfns.c (Fatan):
9097         * floatfns.c (Fcos):
9098         * floatfns.c (Fsin):
9099         * floatfns.c (Ftan):
9100         * floatfns.c (Fbessel_j0):
9101         * floatfns.c (Fbessel_j1):
9102         * floatfns.c (Fbessel_jn):
9103         * floatfns.c (Fbessel_y0):
9104         * floatfns.c (Fbessel_y1):
9105         * floatfns.c (Fbessel_yn):
9106         * floatfns.c (Ferf):
9107         * floatfns.c (Ferfc):
9108         * floatfns.c (Flog_gamma):
9109         * floatfns.c (Fexp):
9110         * floatfns.c (Fexpt):
9111         * floatfns.c (Flog):
9112         * floatfns.c (Flog10):
9113         * floatfns.c (Fsqrt):
9114         * floatfns.c (Fcube_root):
9115         * floatfns.c (Facosh):
9116         * floatfns.c (Fasinh):
9117         * floatfns.c (Fatanh):
9118         * floatfns.c (Fcosh):
9119         * floatfns.c (Fsinh):
9120         * floatfns.c (Ftanh):
9121         * floatfns.c (Fabs):
9122         * floatfns.c (Ffloat):
9123         * floatfns.c (Flogb):
9124         * floatfns.c (Fceiling):
9125         * floatfns.c (Ffloor):
9126         * floatfns.c (Fround):
9127         * floatfns.c (Ftruncate):
9128         * floatfns.c (Ffceiling):
9129         * floatfns.c (Fffloor):
9130         * floatfns.c (Ffround):
9131         * floatfns.c (Fftruncate):
9132         * fns.c (Fstring_equal):
9133         * fns.c (Fstring_lessp):
9134         * fns.c (concat2):
9135         * fns.c (concat3):
9136         * fns.c (vconcat2):
9137         * fns.c (vconcat3):
9138         * fns.c (Fsubstring):
9139         * fns.c (Fassoc):
9140         * fns.c (Fold_assoc):
9141         * fns.c (assoc_no_quit):
9142         * fns.c (Fassq):
9143         * fns.c (Fold_assq):
9144         * fns.c (assq_no_quit):
9145         * fns.c (Frassoc):
9146         * fns.c (Fold_rassoc):
9147         * fns.c (Frassq):
9148         * fns.c (Fold_rassq):
9149         * fns.c (rassq_no_quit):
9150         * fns.c (Fremassoc):
9151         * fns.c (remassoc_no_quit):
9152         * fns.c (Fremassq):
9153         * fns.c (remassq_no_quit):
9154         * fns.c (Fremrassoc):
9155         * fns.c (Fremrassq):
9156         * fns.c (remrassq_no_quit):
9157         * fns.c (Fsort):
9158         * fns.c (Fplist_get):
9159         * fns.c (Fplist_put):
9160         * fns.c (Fplist_remprop):
9161         * fns.c (Fplist_member):
9162         * fns.c (Flax_plist_get):
9163         * fns.c (Flax_plist_put):
9164         * fns.c (Flax_plist_remprop):
9165         * fns.c (Flax_plist_member):
9166         * fns.c (Fequal):
9167         * fns.c (Fold_equal):
9168         * fns.c (Frequire):
9169         * fns.c (Fbase64_encode_region):
9170         * fns.c (Fbase64_encode_string):
9171         * fns.c (Fbase64_decode_region):
9172         * frame.c:
9173         * frame.c (frame_matches_frame_spec):
9174         * frame.c (device_matches_device_spec):
9175         * frame.c (next_frame):
9176         * frame.c (previous_frame):
9177         * frame.c (Fnext_frame):
9178         * frame.c (Fprevious_frame):
9179         * frame.c (Fframe_property):
9180         * frame.c (Fset_frame_height):
9181         * frame.c (Fset_frame_size):
9182         * frame.h:
9183         * glyphs.c:
9184         * glyphs.c (if):
9185         * glyphs.c (decode_error_behavior_flag):
9186         * glyphs.c (Fmake_image_instance):
9187         * indent.c (Findent_to):
9188         * intl.c (Fignore_defer_gettext):
9189         * keymap.c (Fkeymapp):
9190         * keymap.c (Flookup_key):
9191         * lread.c:
9192         * lread.c (Fload_internal):
9193         * lread.c (Feval_buffer):
9194         * lread.c (Feval_region):
9195         * macros.c (Fexecute_kbd_macro):
9196         * marker.c (set_marker_internal):
9197         * marker.c (Fset_marker):
9198         * marker.c (set_marker_restricted):
9199         * marker.c (Fcopy_marker):
9200         * marker.c (noseeum_copy_marker):
9201         * menubar.c:
9202         * menubar.c (Fpopup_menu):
9203         * minibuf.c:
9204         * mule-charset.c (Fcharset_name):
9205         * mule-charset.c (Fchar_charset):
9206         * mule-charset.c (Fchar_octet):
9207         * mule-charset.c (Fsplit_char):
9208         * mule-wnnfns.c (Fwnn_open):
9209         * mule-wnnfns.c (Fwnn_dict_comment):
9210         * mule-wnnfns.c (Fwnn_quit_henkan):
9211         * mule-wnnfns.c (Fwnn_word_toroku):
9212         * mule-wnnfns.c (Fwnn_word_sakujo):
9213         * mule-wnnfns.c (Fwnn_word_use):
9214         * mule-wnnfns.c (Fwnn_hindo_set):
9215         * objects.c:
9216         * objects.c (Fmake_color_instance):
9217         * objects.c (Fmake_font_instance):
9218         * print.c (Fwrite_char):
9219         * process.c:
9220         * process.c (mark_process):
9221         * process.c (print_process):
9222         * process.c (get_process_from_usid):
9223         * process.c (Fprocessp):
9224         * process.c (Fprocess_live_p):
9225         * process.c (Fget_process):
9226         * process.c (Fget_buffer_process):
9227         * process.c (get_process):
9228         * process.c (Fprocess_id):
9229         * process.c (Fprocess_name):
9230         * process.c (Fprocess_command):
9231         * process.c (init_process_io_handles):
9232         * process.c (start_process_unwind):
9233         * process.c (Fstart_process_internal):
9234         * process.c (Fopen_multicast_group_internal):
9235         * process.c (Fset_process_window_size):
9236         * process.c (read_process_output):
9237         * process.c (send_process):
9238         * process.c (Fprocess_tty_name):
9239         * process.c (Fset_process_buffer):
9240         * process.c (Fprocess_buffer):
9241         * process.c (Fprocess_mark):
9242         * process.c (set_process_filter):
9243         * process.c (Fset_process_filter):
9244         * process.c (Fprocess_filter):
9245         * process.c (Fprocess_send_region):
9246         * process.c (Fprocess_send_string):
9247         * process.c (exec_sentinel):
9248         * process.c (Fset_process_sentinel):
9249         * process.c (Fprocess_sentinel):
9250         * process.c (status_notify):
9251         * process.c (Fprocess_status):
9252         * process.c (Fprocess_exit_status):
9253         * process.c (process_send_signal):
9254         * process.c (Fprocess_send_eof):
9255         * process.c (deactivate_process):
9256         * process.c (remove_process):
9257         * process.c (Fdelete_process):
9258         * process.c (kill_buffer_processes):
9259         * process.c (Fprocess_kill_without_query):
9260         * process.c (Fprocess_kill_without_query_p):
9261         * rangetab.c:
9262         * rangetab.c (Fget_range_table):
9263         * rangetab.c (Fput_range_table):
9264         * rangetab.c (Fremove_range_table):
9265         * rangetab.c (Fclear_range_table):
9266         * search.c:
9267         * search.c (Fskip_chars_forward):
9268         * search.c (Fskip_chars_backward):
9269         * search.c (Fskip_syntax_forward):
9270         * search.c (Fskip_syntax_backward):
9271         * search.c (search_command):
9272         * search.c (Freplace_match):
9273         * search.c (Fregexp_quote):
9274         * select.c (Fown_selection_internal):
9275         * select.c (Fselection_owner_p):
9276         * select.c (Fselection_exists_p):
9277         * select.c (Fget_selection_internal):
9278         * specifier.c:
9279         * symbols.c:
9280         * symbols.c (Fintern):
9281         * symbols.c (Fintern_soft):
9282         * symbols.c (Funintern):
9283         * symbols.c (Fapropos_internal):
9284         * symbols.c (Fset_default):
9285         * syntax.c:
9286         * syntax.c (Fsyntax_table_p):
9287         * syntax.c (Fcopy_syntax_table):
9288         * syntax.c (Fset_syntax_table):
9289         * syntax.c (Fchar_syntax):
9290         * syntax.c (syntax_match):
9291         * syntax.c (Fmatching_paren):
9292         * syntax.c (Fforward_word):
9293         * syntax.c (scan_lists):
9294         * syntax.c (Fscan_lists):
9295         * syntax.c (Fscan_sexps):
9296         * syntax.c (Fparse_partial_sexp):
9297         * toolbar.c (Fcheck_toolbar_button_syntax):
9298         * tooltalk.doc:
9299         * window.c:
9300         * window.c (Fwindowp):
9301         * window.c (Fwindow_live_p):
9302         * window.c (Fwindow_point):
9303         * window.c (Fdelete_window):
9304         * window.c (Fnext_window):
9305         * window.c (Fprevious_window):
9306         * window.c (Fother_window):
9307         * window.c (window_loop):
9308         * window.c (Fget_lru_window):
9309         * window.c (Fsplit_window):
9310         * window.c (Fenlarge_window):
9311         * window.c (Fenlarge_window_pixels):
9312         * window.c (Fshrink_window):
9313         * window.c (Fshrink_window_pixels):
9314         * window.c (change_window_height):
9315         * window.c (Fwindow_configuration_p):
9316         * window.c (Fcurrent_window_configuration):
9317         * window.h:
9318         * casefiddle.c (casify_object):
9319         * casefiddle.c (Fupcase):
9320         * casefiddle.c (Fdowncase):
9321         * casefiddle.c (Fcapitalize):
9322         * casefiddle.c (Fupcase_initials):
9323         * casefiddle.c (casify_region_internal):
9324         * casefiddle.c (casify_region):
9325         * casefiddle.c (Fupcase_region):
9326         * casefiddle.c (Fdowncase_region):
9327         * casefiddle.c (Fcapitalize_region):
9328         * casefiddle.c (Fupcase_initials_region):
9329         * casefiddle.c (Fupcase_word):
9330         * casefiddle.c (Fdowncase_word):
9331         * casefiddle.c (Fcapitalize_word):
9332         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9333         Replace 0 with '\0' when working with bytes.
9334         Replace initial "(" with "\(" in docstrings.
9335
9336 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9337
9338         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9339
9340         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9341
9342 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9343
9344         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9345
9346 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9347
9348         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9349         correctly.
9350
9351 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9352
9353         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9354         (inhibit_auto_save_session): New variable.
9355         (vars_of_fileio): Declare and initialize them.
9356         * fileio.c (Fdo_auto_save): Don't create session file if
9357         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9358
9359 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9360
9361         * sgiplay.c (play_internal): C++ compilability.
9362         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9363         * callproc.c (Fold_call_process_internal):
9364         Remove unused vars `env', `first'.
9365         * scrollbar.c (update_scrollbar_instance):
9366         #### unused var `current_window'.
9367         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9368         etc. within #ifdef NOT_YET.
9369         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9370         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9371         * specifier.c (specifier_instance):
9372         #### unused var `tag'.
9373         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9374
9375 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9376
9377         * fns.c (Fbutlast):
9378         * fns.c (list_sort):
9379         * fns.c (Ffillarray):
9380         * fns.c (bytecode_nconc2):
9381         * fns.c (Fnconc):
9382         * fns.c (mapcar1):
9383         * fns.c (Fmapconcat):
9384         Be pedantically 64-bit correct.  For the time when someone will
9385         want to have a list with length > 2**32.
9386
9387         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9388         Work around MIPSpro compiler bug.
9389
9390         * process-unix.c (unix_kill_child_process): Add snarky comment.
9391         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9392
9393         * config.h.in: Oops, _getpt ==> _getpty
9394
9395 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9396
9397         * config.h.in:
9398         * regex.c:
9399         Use void*, not char*, as return type of alloca().
9400
9401         * alloc.c (free_marker): Side effect inside assert expression!
9402
9403 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9404
9405         * mule-charset.c (Fset_charset_ccl_program): To check
9406         if the given ccl program is valid, use setup_ccl_program()
9407         instead of CHECK_VECTOR().
9408         (Fmake_charset): Likewise.
9409
9410 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9411
9412         * faces.c (get_extent_fragment_face_cache_index):
9413         Fix cachel.merged_faces memory leak.
9414
9415 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9416
9417         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9418         Reset MSB of octets obtained by DECODE_SJIS
9419         because of the incompatibility with Emacs.
9420         (ccl_driver)<CCL_ENCODE_SJIS>:
9421         Set MSB of octets before passing them to
9422         ENCODE_SJIS because of the incompatibility
9423         with Emacs.
9424
9425 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9426
9427         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9428         (DECLARE_LRECORD): Undo the last change.
9429         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9430
9431 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9432
9433         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9434         the implementation to lrecord_implementations_table.
9435
9436 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9437
9438         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9439         initial value of `lrecord_type_##c_name' and
9440         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9441         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9442         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9443         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9444         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9445
9446 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9447
9448         * miscplay.c (sndcnv8S_2mono):
9449         (sndcnv2monounsigned):
9450         (sndcnvULaw_2linear):
9451         (sndcnv16swap):
9452         Remove implementation-defined behavior.
9453
9454 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9455
9456         * input-method-xlib.c: Warning suppression.
9457
9458 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9459
9460         * mule-ccl.c: Sync up with Emacs 21.0.90.
9461         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9462         Do nothing.
9463         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9464         Likewise.
9465         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9466         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9467         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9468         leading char belongs to official 2-dimensional charset.
9469         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9470         write the given character as is.  Otherwise,
9471         if it is a multibyte char, convert it by
9472         non_ascii_set_charptr_emchar, then write it.
9473         (CCL_WRITE_STRING): Likewise.
9474         (ccl_get_compiled_code): New function.
9475         (setup_ccl_program): When ccl_prog is invalid,
9476         return -1.
9477         (Fregister_code_conversion_map): New function.
9478         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9479
9480         * mule-ccl.h: Sync up with Emacs 21.0.90.
9481         (Fregister_ccl_program): export it.
9482
9483         * redisplay-msw.c (separate_textual_runs):
9484         If ccl program is not valid, don't do ccl conversion.
9485
9486         * redisplay-x.c (separate_textual_runs): Ditto.
9487
9488         * file-coding.c (Fmake_coding_system):
9489         When type is ccl and value is vector, register it
9490         with a proper symbol.  And checks whether the
9491         given ccl program is valid.
9492         (mule_decode): When calling ccl_driver, if src indicates
9493         NULL pointer, set an empty string instead.
9494         (mule_encode): Likewise.
9495
9496 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9497
9498         The following large batch of changes gets us back to a state of
9499         C++ compilability.  Extbyte is now a char, which means that
9500         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9501
9502         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9503
9504         * sound.c (Fplay_sound): Type correctness.
9505
9506         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9507         (x_get_window_property): Type correctness.
9508         (receive_incremental_selection): unsigned char ==> Extbyte
9509         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9510         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9511         (Fx_store_cutbuffer_internal): Type correctness.
9512
9513         * process-unix.c (try_to_initialize_subtty): Type correctness.
9514
9515         * objects-x.c (x_print_color_instance): Type correctness.
9516         (x_print_font_instance): Type correctness.
9517         (x_list_fonts): SExtbyte ==> Extbyte.
9518         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9519         (x_find_charset_font): SExtbyte ==> Extbyte.
9520         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9521         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9522         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9523         Use bufbyte_strcmp.
9524
9525         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9526         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9527         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9528         (BYTE_C0_P): Use bit ops for char-signedness safety.
9529         (BYTE_C1_P): Use bit ops for char-signedness safety.
9530         (CHARSET_BY_LEADING_BYTE):
9531         (CHARSET_BY_ATTRIBUTES):
9532         Always use inline function.
9533         Use type_checking_assert.
9534         Hide chlook.
9535
9536         * mule-charset.c (non_ascii_charptr_copy_char):
9537         Modify to work with both ASCII and non-ASCII characters.
9538         Improve docs and variable names.
9539         Replace over-clever fall-through switch with a simple loop.
9540         (Lstream_get_emchar_1):
9541         Replace over-clever fall-through switch with a simple loop.
9542
9543         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9544         Warning suppression.
9545
9546         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9547         the return value of Lstream_getc, which could be EOF as well.
9548
9549         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9550
9551         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9552         APIs can be used on Extbytes without casts.  Risky!
9553         (SExtbyte): Remove.
9554         (UExtbyte): Remove.
9555
9556         * input-method-xlib.c (XIM_init_device):
9557         Use Xlib.h instead of IntrinsicP.h.
9558         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9559         which will break in X11R7.
9560         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9561         to call XRegisterIMInstantiateCallback with correct types.
9562
9563         * gui-x.c (button_item_to_widget_value): Type correctness.
9564
9565         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9566
9567         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9568         (xbm_instantiate_1): Type correctness.
9569         (BUILD_GLYPH_INST):  Type correctness.
9570
9571         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9572
9573         * file-coding.c:
9574         (decode_coding_sjis):
9575         (decode_coding_big5):
9576         (decode_coding_ucs4):
9577         (decode_coding_utf8):
9578         (decode_coding_iso2022):
9579         (decode_coding_no_conversion):
9580         Make all decoding functions take an Extbyte * arg.
9581         (encode_coding_sjis):
9582         (encode_coding_big5):
9583         (encode_coding_ucs4):
9584         (encode_coding_utf8):
9585         (encode_coding_iso2022):
9586         (encode_coding_no_conversion):
9587         Make all encoding functions take a Bufbyte * arg.
9588         Use size_t instead of unsigned int for memory sizes.
9589         Only cast to unsigned char whenever dereferencing Extbyte *.
9590
9591         * doc.c (unparesseuxify_doc_string): Type correctness.
9592
9593         * console-x.c (split_up_display_spec):
9594         Rewrite without using details of internal string representation.
9595         (x_semi_canonicalize_device_connection): Type correctness.
9596
9597         * config.h.in:
9598         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9599         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9600         (HAVE_XFREE386): Removed.
9601
9602         * buffer.h (DEC_CHARPTR): `const' correctness.
9603         (bufbyte_strcmp): New.
9604         (bufbyte_memcmp): New.
9605
9606         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9607
9608         * buffer.h (XCHAR_OR_CHAR_INT):
9609         Always use inline function.
9610         Remove redundant type checking assert() - XINT will abort quite nicely.
9611
9612 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9613
9614         * search.c (Freplace_match): Set newtext to an empty string.
9615
9616 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9617
9618         * s/decosf1-3.h: Remove #include of stropts.h
9619         * s/ptx.h: Remove #include of stropts.h
9620         * s/usg5-4.h: Remove #include of stropts.h
9621         * sysproc.h:
9622         * config.h.in:
9623         Use stropts.h, not sys/stropts.h.
9624         Use strtio.h, not sys/strtio.h.
9625
9626 2000-10-04  Martin Buchholz <martin@xemacs.org>
9627
9628         * XEmacs 21.2.36 is released.
9629
9630 2000-09-21  Andy Piper  <andy@xemacs.org>
9631
9632         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9633         changes still involve copying the widget tree.
9634         (update_widget_face): make sure a change is register in the widget
9635         tree. Call update_tab_widget_face appropriately.
9636         (update_tab_widget_face): ditto.
9637         (x_tab_control_redisplay): make sure non-structural changes still
9638         involve copying the widget tree.
9639
9640 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9641
9642         * lread.c (locate_file): Check the path element is non-nil.
9643
9644 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9645
9646         * lisp.h: Warning suppression for SCO compilers.
9647
9648         * redisplay-tty.c (reset_tty_modes): Fix crash.
9649         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9650
9651 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9652
9653         Big signal/process handling overhaul.  Bugs fixed:
9654         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9655         M-x comint-kill-subjob should work for both values nil and t of
9656         process-connection-type. It was broken on most platforms.
9657         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9658         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9659         * process-unix.c: Signal/Process handling overhaul.
9660         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9661         (allocate_pty): Use all available modern methods of allocating
9662         ptys, falling back to old style BSD allocation as a last resort.
9663         Use allegedly more secure Unix98 pty allocation by default.
9664         (allocate_pty_the_old_fashioned_way): New. the last resort.
9665         (unix_create_process): Push ptem, ldterm, ttcompat where
9666         available.  Autoconfiscate.
9667         (try_to_initialize_subtty): New.
9668         (unix_kill_child_process): Proper signal handling for ptys on most
9669         platforms, using special knowledge of AIX, BSD, etc...
9670         (unix_create_process): Always disconnect_controlling_terminal() for
9671         subprocesses, whether using ptys or not.
9672         * process.h: Remove old getpt-dependent PTY code.
9673         * process.c (Fprocess_send_signal): New, obvious generic function.
9674         (decode_signal): New.
9675         (Finterrupt_process):
9676         (Fkill_process):
9677         (Fquit_process):
9678         (Fstop_process):
9679         (Fcontinue_process):
9680         (Fsignal_process): Use decode_signal.
9681         (process_send_signal):
9682         Many docstring corrections.
9683         Allow any signal to be sent to a process object.
9684         * config.h.in: Add symbols for big signal/process overhaul.
9685         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9686         * sysproc.h: Include process-related headers, where available:
9687         sys/stropts.h sys/strtio.h pty.h libutil.h
9688         * s/irix4-0.h:
9689         * s/irix5-0.h:
9690         * s/cygwin32.h:
9691         * s/gnu.h:
9692         * s/linux.h:
9693         * s/hpux.h:
9694         * s/aix3-1.h:
9695         Remove old S&M pty stuff.
9696         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9697         * systty.h: Simplify cpp hackery, improve comments.
9698         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9699
9700         * editfns.c (Fformat_time_string):
9701         Be a little more paranoid with the return value of ctime.
9702
9703         * fileio.c (check_executable):
9704         (check_writable):
9705         Use symbolic constants X_OK, W_OK.
9706
9707         * console-x.c (split_up_display_spec): Fix a warning.
9708
9709 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9710
9711         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9712         * ntproc.c (sys_spawnve): make_string ==> build_string
9713         Small clarity improvements.
9714
9715 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9716
9717         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9718
9719         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9720
9721         * config.h.in (HAVE_STRCASECMP): Remove.
9722
9723 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9724
9725         * redisplay-output.c (redisplay_output_pixmap):
9726         Cleaner and possibly more 64-bit correct code.
9727
9728 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9729
9730         * dumper.c (pdump_load_finish): move restoration of
9731         `noninteractive1' to emacs.c (main_1).
9732         * emacs.c (main_1): protect LISP-visible command-line flags
9733         from pdump_load().
9734
9735 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9736
9737         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9738         DUMP_TARGET instead of literal program names.
9739
9740 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9741
9742         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9743
9744 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9745
9746         * *: Spelling mega-patch
9747
9748 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9749
9750         * fns.c (bad_bad_turtle):
9751         Delete "Eek!" comment, since we fixed the bug to which it refers.
9752
9753 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9754
9755         * alloca.c: Replace REGISTER with register.
9756
9757 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9758
9759         * file-coding.c (ucs_to_char): Use countof.
9760
9761 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9762
9763         * file-coding.c: (ucs_to_char):
9764         (complex_vars_of_file_coding):
9765         Use countof instead of sizeof.
9766         Use CHECK_NATNUM instead of CHECK_INT.
9767
9768         * sysdep.c (strcasecmp): Remove.
9769         * device-x.c (ascii_strcasecmp): New.
9770         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9771         Avoid using non-standard non-portable strcasecmp.
9772
9773 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9774
9775         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9776         * font-lock.c: remove reference to emacsfns.h.
9777         * search.c: small doc improvement.
9778         * event-Xt.c: correct file names in comments.
9779         * console-x.h Correct file names in comments.
9780         * frame.c: Correct file names in comments.
9781         * event-stream.c: remove Energize from comments.
9782
9783 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9784
9785         * symeval.h (DEFERROR_STANDARD):
9786         (DEFERROR):
9787         (DEFSYMBOL):
9788         (DEFSYMBOL_NO_DUMP):
9789         (DEFSYMBOL_MULTIWORD_PREDICATE):
9790         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9791         (DEFKEYWORD):
9792         The construct &##name is not sensible C.
9793         Fixes compilation errors with Unixware native compiler.
9794
9795 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9796
9797         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9798         (next_frame_internal): Removed.  We now just have next_frame.
9799         (next_frame):
9800         Write a simpler and cleaner one-pass algorithm.
9801         Remove called_from_delete_device arg and #ifdefed-out code.
9802         (previous_frame):
9803         Renamed from prev_frame.  Update callers.
9804         Cleaned up to have an analogous implementation to next_frame.
9805         (other_visible_frames_internal): Remove the
9806         called_from_delete_device bogus arg, and hence, remove this
9807         function.  Just use other_visible_frames().
9808
9809         * window.c (Fnext_window):
9810         Prettify docstring.
9811         Since next_frame() is guaranteed to return a frame, remove check
9812         for nil inserted in previous patch.
9813         (Fprevious_window):
9814         Prettify docstring.
9815         Make code look more like Fnext_window.
9816         (window_loop):
9817         Respect the `console' arg when iterating through windows.
9818         Fixes bug: (get-buffer-window buffer t device) not respecting
9819         the `device' arg.
9820         This function needs more work, as others have pointed out.
9821
9822         * frame.h: Rename prev_frame to previous_frame.
9823         device_matches_console_spec no longer takes a `frame' arg.
9824
9825         * s/gnu.h:
9826         * s/linux.h:
9827         * s/hpux.h:
9828         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9829         From "Golubev I. N." <gin@mo.msk.ru>.
9830
9831         * make-src-depend: Fix typo.
9832
9833 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9834
9835         * window.c (Fnext_window):
9836         next_frame() might return nil, not a frame.
9837         Fixes this crash:
9838         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9839
9840         * frame.c (next_frame_internal):
9841         We've passed a frame if we've passed its device.
9842         Fixes this crash:
9843         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9844 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9845
9846 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9847
9848         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9849         Allow option to suppress accelerators in menu/dialog items.
9850         (populate_or_checksum_helper): Pass dialog title through above.
9851
9852 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9853
9854         * event-msw.c (mswindows_key_to_emacs_keysym):
9855         Add "pause" key, fix "menu" key.
9856
9857 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9858
9859         * eval.c (reinit_vars_of_eval):
9860         Increase max_lisp_eval_depth to 1000,
9861         required for thai-xtis.el to byte-compile under some circumstances.
9862
9863 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9864
9865         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9866         From Kenichi Handa.
9867
9868 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9869
9870         * make-src-depend: Make the generated Makefiles smaller.
9871
9872         * s/hpux.h (SETUP_SLAVE_PTY):
9873         Provide a %d in the format string for the errno argument.
9874
9875         * editfns.c (Ftemp_directory):
9876         Warning fix.
9877         Avoid buffer overrun on very long file name.
9878
9879         * input-method-xlib.c (XIM_init_device):
9880         6th parameter of XRegisterIMInstantiateCallback has different
9881         pointer types on different OSes, so simply cast to (void *).
9882
9883         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9884
9885         * sysdll.c (dll_open):
9886         shl_load will hang hard if passed a NULL filename.
9887         Simply return NULL for compatibility with dlopen.
9888         * sysdll.c: Conform to XEmacs coding standards.
9889
9890         * sysdep.c (get_pty_max_bytes):
9891         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9892
9893 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9894
9895         * tooltalk.c: Add #include <syssignal.h>
9896
9897 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9898
9899         * s/hpux.h: Don't use undefined function sigunblock().
9900
9901 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9902
9903         * config.h.in: Add HAVE_BALLOON_HELP.
9904         * emacs.c: Use HAVE_BALLOON_HELP.
9905         * Makefile.in.in (x_objs):
9906         Make Balloon Help conditional on finding shape.h.
9907
9908 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9909
9910         * syntax.c (regex_emacs_buffer_p): New variable.
9911         * syntax.h (regex_emacs_buffer_p): extern.
9912         * search.c (looking_at_1):
9913         (string_match_1):
9914         (fast_string_match):
9915         (search_buffer): Set regex_emacs_buffer_p.
9916         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9917         when before_dot, at_dot, after_dot.
9918
9919 2000-08-23  Andy Piper  <andy@xemacs.org>
9920
9921         * gui-x.c (popup_selection_callback): Only set action_occurred
9922         when we really have an image instance.
9923         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9924
9925 2000-08-23  Andy Piper  <andy@xemacs.org>
9926
9927         * gui-msw.c (mswindows_handle_gui_wm_command): set
9928         action_occurred.
9929         * gui-x.c (popup_selection_callback): ditto.
9930
9931         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9932         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9933         (struct Lisp_Image_Instance): add action_occurred flag.
9934
9935         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9936         (image_instance_changed): ditto.
9937         (reset_frame_subwindow_instance_cache): only unmap windows - do
9938         not remove them from the cache also.
9939
9940         * glyphs-widget.c (tab_control_update): better debug.
9941         (progress_gauge_update): ditto.
9942         (layout_update): ditto.
9943         (layout_instantiate): ditto.
9944         (tab_control_order_only_changed): cope with null pending items.
9945
9946         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9947         debug. Force selection of an item when an action occurred. Cope
9948         with null pending_items.
9949         (mswindows_progress_gauge_redisplay): better debug.
9950         * glyphs-x.c (x_tab_control_redisplay): ditto.
9951
9952         * redisplay.c (redisplay_frame): reset the frame cache if the
9953         frame is garbaged.
9954
9955         * window.c (Fset_window_configuration): potentially re-enable
9956         frame cache reset.
9957         (window_unmap_subwindows): need to finalize instances here since
9958         it is only used in mark_window_as_deleted.
9959
9960 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9961
9962         * nas.c (SndOpenDataForReading):
9963         nas.c (WaveOpenDataForReading):
9964         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9965         Somehow escaped from the 2000-08-14 patch.
9966
9967 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9968
9969         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9970         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9971
9972 2000-08-21  Andy Piper  <andy@xemacs.org>
9973
9974         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9975         window if it is not already displayed.
9976
9977         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9978         it is not already displayed.
9979
9980         * window.c (Fset_window_configuration): don't reset the frame
9981         cache.
9982
9983         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9984         instances from the frame cache if we are actually finalizing them.
9985         (reset_frame_subwindow_instance_cache): reset frame cache only
9986         after unmapping everything.
9987         (map_subwindow): set displayed flag after mapping.
9988
9989 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9990
9991         * data.c (indirect_function):
9992         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9993
9994         * eval.c (function_argcount):
9995         Use original function when signaling errors.
9996
9997 2000-08-18  Andy Piper  <andy@xemacs.org>
9998
9999         * frame.c (delete_frame_internal): use new
10000         free_frame_subwindow_instances name.
10001
10002         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10003         (add_tab_item): make return type correct.
10004         (mswindows_tab_control_instantiate): assert index of tab.
10005         (mswindows_tab_control_redisplay): Re-code to use
10006         gui_item_equal_sans_selected and gui_item_list_find_selected.
10007
10008         * glyphs-widget.c (tab_control_update): Correct comment.
10009
10010         * window.c (window_unmap_subwindows): use new
10011         unmap_subwindow_instance_cache_mapper.
10012         (window_unmap_subwindows_cache_mapper): deleted.
10013         (Fset_window_configuration): comparisons should now be with
10014         EQ. Preserve the subwindow instance cache across configuration
10015         changes.
10016         (allocate_window): ditto.
10017         (make_dummy_parent): ditto.
10018
10019         * glyphs.c (free_frame_subwindow_instances): rename from
10020         free_frame_subwindow_instance_cache. finalize all instances rather
10021         than just those in the display cache.
10022         (finalize_all_subwindow_instances): walk windows unmapping and
10023         finalizing subwindows.
10024         (unmap_subwindow_instance_cache_mapper): moved from
10025         window.c. Allow finalization as well as unmapping.
10026
10027         * gui.c (gui_item_list_find_selected): new function.
10028
10029         * gui.h (gui_item_list_find_selected): declare.
10030
10031         * glyphs-x.c (x_tab_control_redisplay): pick tab
10032         explicitly. Re-code to use gui_item_equal_sans_selected and
10033         gui_item_list_find_selected.
10034
10035         * glyphs-x.h: add lwlib-utils.h
10036
10037         * buffer.c (Frecord_buffer): undo previous change.
10038
10039 2000-08-09  Vin Shelton  <acs@xemacs.org>
10040
10041         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10042         possible.  Create temporary files more securely.  The patch was
10043         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10044         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10045         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10046         for details.
10047
10048 2000-08-07  Ben Wing  <ben@xemacs.org>
10049
10050         * getloadavg.c: remove duplicate (and windows-breaking)
10051         includes of fcntl.h and sys/file.h.
10052
10053         * nt.c: remove duplicate getloadavg() definition.
10054
10055         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10056         encodings.
10057
10058 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10059
10060         * eval.c (function_argcount): If function needs to be autoloaded
10061         actually use the loaded definition.
10062         GCPRO function.
10063
10064 2000-08-05  Ben Wing  <ben@xemacs.org>
10065
10066         * getloadavg.c: add prototype for getloadavg().  remove
10067         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10068         of the code).  remove duplicate header includes.
10069
10070         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10071
10072         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10073         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10074         useful load average.
10075
10076         * alloc.c (reinit_alloc_once_early): removed references to
10077         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10078         the lisp vars are the only things referencing the malloc_sbrk_*
10079         vars, and they were already if 0'd out.  these vars only exist
10080         in the older malloc.c, which is basically unused, and they're
10081         only for informational purposes.
10082
10083         * m\*.h: removed useless VIRT_ADDR_VARIES.
10084
10085         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10086
10087 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10088
10089         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10090         color if the image is a mono pixmap.
10091
10092 2000-07-30  Ben Wing  <ben@xemacs.org>
10093
10094         * Makefile.in.in (release):
10095         Remove stray @.
10096
10097         * buffer.c (directory_is_current_directory):
10098         * dired-msw.c (mswindows_get_files):
10099         * dired.c:
10100         * dired.c (Fdirectory_files):
10101         * dired.c (file_name_completion_stat):
10102         * dired.c (Ffile_attributes):
10103         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10104         preprocessor tricks, to avoid problems on some machines
10105         (e.g. SCO).
10106
10107         * callproc.c (egetenv): GC docs.
10108
10109         * console-msw.h:
10110         * console-msw.h (struct mswindows_dialog_id):
10111         * lrecord.h (lrecord_type):
10112         New object for use with MSW dialogs.
10113
10114         * console.h (struct console_methods):
10115         New enable/disable frame methods, for proper modal dialogs.
10116
10117         * device-msw.c (msprinter_default_printer): Fix to follow
10118         proper Mule conventions.
10119
10120         * device-msw.c:
10121         * device-msw.c (signal_open_printer_error):
10122         * device-msw.c (msprinter_init_device):
10123         * device-msw.c (ensure_not_printing):
10124         * device-msw.c (plist_get_margin):
10125         * device-msw.c (Fmsprinter_select_settings):
10126         * device-msw.c (finalize_devmode):
10127         * device-msw.c (Fmsprinter_settings_despecialize):
10128         * device-msw.c (signal_enum_priner_error):
10129         * extents.c (decode_extent):
10130         * extents.c (decode_map_extents_flags):
10131         * extents.c (decode_extent_at_flag):
10132         * extents.c (Fextent_at):
10133         * extents.c (Fextents_at):
10134         * extents.c (symbol_to_glyph_layout):
10135         [[[[2]]]] Use structured errors.
10136
10137         * dialog-msw.c:
10138         * dialog-msw.c (mswindows_is_dialog_msg):
10139         * dialog-msw.c (mark_mswindows_dialog_id):
10140         * dialog-msw.c (dialog_proc):
10141         * dialog-msw.c (handle_question_dialog_box):
10142         * dialog-msw.c (syms_of_dialog_mswindows):
10143         Define new object to clean up marking; use it as a dialog identifier.
10144         Call new delete-dialog-box-hook.
10145
10146         * dialog-x.c (dbox_selection_callback):
10147         * dialog-x.c (dbox_descriptor_to_widget_value):
10148         * dialog-x.c (x_make_dialog_box_internal):
10149         Call new delete-dialog-box-hook.
10150         Return an id.
10151
10152         * dialog.c:
10153         * dialog.c (syms_of_dialog):
10154         * dialog.c (vars_of_dialog):
10155         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10156
10157         * eval.c:
10158         * eval.c (signal_call_debugger):
10159         when noninteractive, output stack traces on the console instead
10160         of in a (never-seen) buffer.
10161
10162         * eval.c (signal_type_error):
10163         * eval.c (invalid_argument_2):
10164         * lisp.h:
10165         new funs for use w/structured errors.
10166
10167         * event-Xt.c:
10168         * event-Xt.c (x_to_emacs_keysym):
10169         * event-Xt.c (describe_event):
10170         * event-Xt.c (emacs_Xt_event_handler):
10171         * event-Xt.c (vars_of_event_Xt):
10172         * event-msw.c:
10173         * event-msw.c (mswindows_wnd_proc):
10174         * event-msw.c (vars_of_event_mswindows):
10175         rename {x,mswindows}-debug-events to debug-{}-events for
10176         consistency with other debug-foo variables.
10177
10178         * event-stream.c:
10179         document next-event more clearly.
10180
10181         * fileio.c (Ffile_name_directory):
10182         * fileio.c (Ffile_name_nondirectory):
10183         * fileio.c (Funhandled_file_name_directory):
10184         * fileio.c (file_name_as_directory):
10185         * fileio.c (Ffile_name_as_directory):
10186         * fileio.c (directory_file_name):
10187         * fileio.c (Fdirectory_file_name):
10188         * fileio.c (Fmake_temp_name):
10189         * fileio.c (Ffile_truename):
10190         * fileio.c (Fsubstitute_in_file_name):
10191         * fileio.c (expand_and_dir_to_file):
10192         * fileio.c (barf_or_query_if_file_exists):
10193         * fileio.c (check_executable):
10194         * fileio.c (Ffile_exists_p):
10195         * fileio.c (Ffile_writable_p):
10196         * fileio.c (Ffile_directory_p):
10197         * fileio.c (Ffile_regular_p):
10198         * fileio.c (Ffile_modes):
10199         * fileio.c (Ffile_newer_than_file_p):
10200         * fileio.c (Fverify_visited_file_modtime):
10201         * fileio.c (Fset_visited_file_modtime):
10202         * fileio.c (auto_save_1):
10203         (1). (2).
10204         fix up gcpro's.
10205
10206         * frame-msw.c:
10207         * frame-msw.c (mswindows_init_frame_1):
10208         * frame-msw.c (mswindows_enable_frame):
10209         * frame-msw.c (error_frame_unsizable):
10210         * frame-msw.c (msprinter_init_frame_1):
10211         * frame-msw.c (msprinter_init_frame_3):
10212         * frame-msw.c (console_type_create_frame_mswindows):
10213         (2).
10214         implement new enable/disable frame methods.
10215
10216         * frame-x.c:
10217         * frame-x.c (x_enable_frame):
10218         * frame-x.c (console_type_create_frame_x):
10219         implement new enable/disable frame methods.
10220
10221         * frame.c:
10222         * frame.c (Fdisable_frame):
10223         * frame.c (syms_of_frame):
10224         * frame.h (struct frame):
10225         implement new enable/disable frame methods/functions.
10226
10227         * general-slots.h:
10228         add initial-focus.
10229
10230         * glyphs-msw.c (mswindows_widget_instantiate):
10231         comment that initial-focus should be implemented.
10232
10233         * glyphs-widget.c:
10234         * glyphs-widget.c (check_valid_instantiator):
10235         * glyphs-widget.c (check_valid_orientation):
10236         * glyphs-widget.c (check_valid_tab_orientation):
10237         * glyphs-widget.c (check_valid_justification):
10238         * glyphs-widget.c (check_valid_border):
10239         * glyphs-widget.c (check_valid_callback):
10240         * glyphs-widget.c (check_valid_int_or_function):
10241         * glyphs-widget.c (check_valid_string_or_vector):
10242         * glyphs-widget.c (check_valid_item_list_1):
10243         * glyphs-widget.c (widget_validate):
10244         * glyphs-widget.c (combo_box_validate):
10245         * glyphs-widget.c (widget_instantiate):
10246         * glyphs-widget.c (syms_of_glyphs_widget):
10247         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10248         * glyphs-widget.c (image_instantiator_combo_box):
10249         * glyphs-widget.c (image_instantiator_scrollbar):
10250         * glyphs-widget.c (image_instantiator_tab_control):
10251         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10252         (2).
10253         support (unimplemented) keyword initial-focus.
10254         reindent long macros.
10255
10256         * glyphs-x.c (x_redisplay_widget):
10257         * glyphs-x.c (x_button_instantiate):
10258         * glyphs-x.c (x_button_redisplay):
10259         * glyphs-x.c (x_progress_gauge_instantiate):
10260         * glyphs-x.c (x_edit_field_instantiate):
10261         * glyphs-x.c (x_combo_box_instantiate):
10262         * glyphs-x.c (x_tab_control_instantiate):
10263         * glyphs-x.c (x_label_instantiate):
10264         * gui-x.c:
10265         * gui-x.c (button_item_to_widget_value):
10266         * gui-x.c (gui_items_to_widget_values_1):
10267         * gui-x.c (gui_item_children_to_widget_values):
10268         * gui-x.c (gui_items_to_widget_values):
10269         * gui-x.h:
10270         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10271         add new flag to gui-parsing routines to indicate whether
10272         accelerator specs should be supported.
10273
10274         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10275
10276         * glyphs.h (struct Lisp_Image_Instance):
10277         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10278         add initial-focus flag.
10279
10280         * gui.c:
10281         * gui.c (syms_of_gui):
10282         * gui.c (vars_of_gui):
10283         clean up menu-no-selection-hook.
10284
10285         * gui.h:
10286         support delete-dialog-box-hook.
10287
10288         * lread.c (Fload_internal):
10289         * lread.c (locate_file_in_directory_mapper):
10290         (1).
10291
10292         * lrecord.h:
10293         * lrecord.h (struct toolbar_button):
10294         * lrecord.h (syms_of_toolbar):
10295         document how to create a new object.
10296
10297         * menubar-msw.c (mswindows_char_is_accelerator):
10298         may be called on frames w/o menus.
10299
10300         * menubar.c (vars_of_menubar):
10301         clean up :filter docs.
10302
10303         * nt.c (readdir):
10304         * ntproc.c:
10305         (1).
10306
10307         * process-nt.c:
10308         * process-nt.c (validate_signal_number):
10309         * process-nt.c (signal_cannot_launch):
10310         * process-nt.c (nt_create_process):
10311         * process-nt.c (nt_send_process):
10312         * process-nt.c (nt_kill_child_process):
10313         * process-nt.c (nt_open_network_stream):
10314         * process-nt.c (syms_of_process_nt):
10315         (2).
10316         delete quote-handling.  call new lisp code that does it better.
10317
10318         * process-unix.c (connect_to_file_descriptor):
10319         * process-unix.c (allocate_pty):
10320         * process-unix.c (unix_send_process):
10321         * process-unix.c (unix_kill_child_process):
10322         * process-unix.c (unix_open_network_stream):
10323         * process-unix.c (unix_open_multicast_group):
10324         (1). (2).
10325
10326         * process.c:
10327         * process.c (Fstart_process_internal):
10328         (2).  need to canonicalize process path even if absolute.
10329
10330         * select-msw.c (symbol_to_ms_cf):
10331         * select-msw.c (ms_cf_to_symbol):
10332         * select-msw.c (cf_is_autofreed):
10333         * select-msw.c (mswindows_destroy_selection):
10334         * select.c:
10335         * select.c (syms_of_select):
10336         * select.h:
10337         support dibv5, fix bugs. (from Mike Alexander)
10338
10339         * select.c (Fget_selection_internal):
10340         * select.c (select_convert_out):
10341
10342         * sysdep.c:
10343         * sysdep.c (xemacs_stat):
10344         renamed.
10345
10346         * sysdep.c (mkdir):
10347         * sysdep.c (rmdir):
10348         but keep original stat() here because we provide encapsulation
10349         around these funs.
10350
10351         * sysfile.h:
10352         * sysfile.h (fstat):
10353         remove stat garbage.
10354
10355         * syswindows.h:
10356         fix X/MSW conflict.
10357         don't include tchar.h.  it's inappropriate because it makes
10358         compile-time distinctions when we want runtime distinctions.
10359         (we provide our own tchar replacements)
10360
10361         * toolbar.c:
10362         use default object printer for toolbar-button.
10363
10364         * unexcw.c:
10365         make sure we don't encapsulate.
10366
10367         * window.c (vars_of_window):
10368         emphasize that temp-buffer-show-hook is obsolete.
10369
10370 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10371
10372         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10373         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10374
10375         * events.c (Fevent_timestamp_lessp):
10376         Not 64-bit clean.  Use EMACS_INT, not int.
10377
10378 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10379
10380         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10381         unsigned int and changed the last enum to
10382         lrecord_type_last_built_in_type.
10383         (lrecord_implementations_table): changed prototype to know how
10384         long the array is supposed to be.
10385         (lrecord_type_count): new unsigned int to keep track of the
10386         current number of lisp lrecord types.
10387         (DEFINE_EXTERNAL_LRECORD):
10388         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10389         dynamic-modules to declare new lisp types. They are the same
10390         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10391         int for each new type, and increment lrecord_type_count by 1.
10392
10393         * alloc.c (lrecord_implementations_table): Changed to reference
10394         lrecord_type_last_built_in_type for the size of the array.
10395         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10396
10397 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10398
10399         * glyphs.h (check_valid_item_list): Renamed from
10400         check_valid_item_list_1.
10401
10402 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10403
10404         * select.c (Qselect_coerce): New.
10405         * select.c (Vselection_coercion_alist): New.
10406         * select.c (syms_of_select): Declare.
10407         * select.c (get-selection-internal): Use it.
10408         Use the new select-coerce functionality.
10409
10410         * select.c (select_coerce): New.
10411         * select.h (select_coerce): Declare.
10412         New function to coerce one type of data into another.
10413
10414 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10415
10416         * callproc.c (Fcall_process_internal):
10417         (Fcall_process_internal):
10418         * process-unix.c (unix_create_process):
10419         Save and restore the value of errno, so that error messages are accurate.
10420
10421 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10422
10423         * elhash.c (print_hash_table):
10424         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10425         Prettify docstrings and indentation.
10426
10427 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10428
10429         * window.c (Fwindow_pixel_edges): Subtract frame border and
10430         gutter size.
10431
10432 2000-07-31  Andy Piper  <andy@xemacs.org>
10433
10434         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10435         will acknowledge the change.
10436
10437         * glyphs.h: declare tab_control_order_only_changed.
10438
10439         * glyphs-x.c (x_tab_control_redisplay): use
10440         tab_control_order_only_changed.
10441
10442         * glyphs-widget.c (tab_control_order_only_changed): new function.
10443
10444         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10445         tab_control_order_only_changed.
10446
10447         * gui.c (gui_item_equal_sans_selected): new function.
10448         (gui_item_equal): use it.
10449
10450         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10451         :properties in favor of :items..
10452
10453         * glyphs-widget.c (check_valid_item_list): rename from
10454         check_valid_item_list_1.
10455         (check_valid_item_list_1): renamed.
10456         (combo_box_validate): deprecate :properties in favor of :items.
10457         (widget_instantiate): ditto.
10458         (tab_control_update): ditto.
10459         (image_instantiator_combo_box): ditto.
10460         (image_instantiator_tree_view): ditto.
10461         (image_instantiator_tab_control): ditto.
10462         (layout_post_instantiate): remove dead code.
10463
10464         * print.c (debug_print_no_newline): only write to debugger if in
10465         WIN32_NATIVE.
10466
10467         * elhash.c (Fmake_hash_table): update doc string.
10468
10469         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10470         messages whilst in GC. This at least stops XEmacs crashing but has
10471         the potential for wierd behaviour.
10472
10473 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10474
10475         * config.h.in:
10476         Make existence of s&m files optional.
10477
10478         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10479         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10480         * s/gnu.h: Remove HAVE_GETLOADAVG.
10481         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10482         * s/sol2.h: Remove HAVE_GETLOADAVG.
10483         * lisp.h: Remove getloadavg() declaration.
10484         * fns.c:
10485         Include <sys/loadavg.h> if available.
10486         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10487         * config.h.in:  Group together getloadavg()-related macros.
10488         Use only configure-time tests to detect getloadavg().
10489
10490 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10491
10492         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10493
10494 2000-07-25  Andy Piper  <andy@xemacs.org>
10495
10496         * syswindows.h: add tchar.h for native builds.
10497
10498         * frame.c (syms_of_frame): remove set-glyph-image.
10499
10500         * general-slots.h: add Qset_glyph_image.
10501
10502         * glyphs-widget.c (layout_update): add domain arg to
10503         set-glyph-image.
10504         (syms_of_glyphs_widget): remove set-glyph-image.
10505
10506 2000-07-23  Ben Wing  <ben@xemacs.org>
10507
10508         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10509         Vpopup_frame_list.
10510
10511 2000-07-22  Andy Piper  <andy@xemacs.org>
10512
10513         * symsinit.h: add syms_of_win32().
10514
10515         * gui-msw.c (syms_of_gui_mswindows): remove
10516         Fmswindows_shell_execute.
10517         (Fmswindows_shell_execute): moved to win32.c.
10518
10519         * emacs.c (main_1): add syms_of_win32 ().
10520
10521         * win32.c (init_potentially_nonexistent_functions): rewrite in
10522         compiler-friendly terms.
10523         (Fmswindows_shell_execute): move here from gui-msw.c.
10524         (syms_of_win32): new.
10525
10526         * device-msw.c (Fmswindows_printer_list): clean up args to
10527         EnumPrinters.
10528         Don't include tchar under cygwin or mingw.
10529         (msprinter_default_printer): make cygwin-friendly.
10530
10531 2000-07-21  Andy Piper  <andy@xemacs.org>
10532
10533         * glyphs-widget.c (image_instantiator_tree_view): use tab
10534         control's update function.
10535         (layout_property): new function. Retrieve items.
10536
10537         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10538         function. Re-populate the tree view from the pending items.
10539
10540         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10541         is designated the parent if the domain is an image instance. This
10542         is needed so that dirtiness can be cascade up the hierarchy and
10543         thus for layout children to be redisplayed correctly.
10544         (allocate_image_instance): rename glyph -> parent.
10545
10546         * redisplay.h: change redisplay_output_layout signature.
10547
10548         * redisplay-msw.c (mswindows_output_display_block): use domain
10549         arg.
10550
10551         * redisplay-x.c (x_output_display_block): use domain arg.
10552
10553 2000-07-10  Andy Piper  <andy@xemacs.org>
10554
10555         * window.c (Fset_window_configuration): add comment.
10556
10557         * redisplay-output.c (compare_runes):
10558         (redisplay_output_subwindow): redisplay rather than update subwindow.
10559         (redisplay_output_layout): ditto.
10560
10561         * redisplay-msw.c (mswindows_frame_output_end):
10562         (mswindows_frame_output_end): make defer window pos optional.
10563
10564         * lisp.h: add Flast.
10565
10566         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10567         normalize method. Change update method to be for changed
10568         instantiators. Add redisplay method. Change signature of layout
10569         method.
10570         (struct Lisp_Image_Instance): add instantiator.
10571         (IMAGE_INSTANCE_INSTANTIATOR): new.
10572         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10573         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10574         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10575
10576         * glyphs.c:
10577         (find_instantiator_differences): new function.
10578         (Fset_instantiator_property): new convenience function.
10579         (check_image_instance_structure): strictly check for vector
10580         instantiators.
10581         (normalize_image_instantiator): make non-static.
10582         (instantiate_image_instantiator): pass on dest_mask and use new
10583         signatures for image_instance_layout and friends.
10584         (mark_image_instance): mark the instantiator. Mark the subwindow
10585         face not the widget face.
10586         (image_instance_equal): add instantiator.
10587         (image_instance_hash): ditto.
10588         (allocate_image_instance): ditto.
10589         (Fset_image_instance_property): removed.
10590         (Fimage_instance_file_name): ditto.
10591         (Fcolorize_image_instance): ditto.
10592         (image_instance_layout): add offsets to be set.
10593         (update_image_instance): new function. update an image instance
10594         from its changed instantiator.
10595         (inherit_normalize): add dest_mask.
10596         (xbm_normalize): ditto.
10597         (xface_normalize): ditto.
10598         (xpm_normalize): ditto.
10599         (text_update): set_property -> update.
10600         (image_instantiate): use the glyph identity as a hash key, not the
10601         instantiator.
10602         (glyph_width): use new image_instance_layout signature.
10603         (glyph_ascent): ditto.
10604         (glyph_descent): ditto.
10605         (glyph_height): ditto.
10606         (glyph_query_geometry): ressurrect.
10607         (glyph_layout): ditto.
10608         (redisplay_subwindow): update -> redisplay.
10609         (syms_of_glyphs): add Fset_instantiator_property.
10610         (image_instantiator_format_create): set_property -> update.
10611
10612         * glyphs-x.c:
10613         (autodetect_normalize): add dest_maks to signature.
10614         (x_redisplay_subwindow): update -> redisplay.
10615         (x_redisplay_widget): ditto.
10616         (x_button_redisplay): ditto.
10617         (x_progress_gauge_redisplay): ditto.
10618         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10619         stacking order.
10620         (console_type_create_glyphs_x): update -> redisplay.
10621         (image_instantiator_format_create_glyphs_x): ditto.
10622
10623         * glyphs-widget.c:
10624         (check_valid_instantiator): disallow glyphs in the instantiator,
10625         they must now be vectors.
10626         (check_valid_instantiator_list): ditto.
10627         (glyph_instantiator_to_glyph): use internal symbol rather than
10628         intern.
10629         (widget_update): renamed from widget_set_property. Call cascaded
10630         update methods.
10631         (redisplay_widget): renamed from update_widget.
10632         (widget_layout): image_instance_layout now takes position as well
10633         as size.
10634         (widget_normalize): ditto.
10635         (widget_instantiate): ditto.
10636         (tab_control_query_geometry) ditto.:
10637         (tab_control_update): renamed from tab_control_set_property.
10638         (progress_gauge_update): set_property -> update.
10639         (layout_normalize): rewrite so that child instantiators are
10640         normalized also.
10641         (layout_update): new function. Create glyphs from the normalized
10642         children and cope with any other layout keywords. We do not
10643         instantiate children here that will be take care of by
10644         redisplay_output_layout.
10645         (layout_instantiate): call layout_update and not much else.
10646         (layout_post_instantiate): not sure whether this is needed
10647         anymore.
10648         (layout_query_geometry): query glyph geometry rather than
10649         image_instance geometry.
10650         (layout_layout): set offsets from pass in parameters. Use glyph
10651         geometry and layout functions rather than image instance ones.
10652         (native_layout_layout): ditto.
10653         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10654         (image_instantiator_widget): set_property -> update.
10655         (image_instantiator_buttons): ditto.
10656         (image_instantiator_progress_guage): ditto.
10657         (image_instantiator_tab_control): ditto.
10658         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10659         (image_instantiator_layout): add update method.
10660
10661         * glyphs-msw.c (bmp_normalize):
10662         (mswindows_resource_normalize): add dest_mask so that it can be
10663         proprogated by layout_normalize.
10664         (begin_defer_window_pos): make optional because it may not be the
10665         right thing to do and it introduces differences with X.
10666         (mswindows_unmap_subwindow): ditto.
10667         (mswindows_map_subwindow): ditto.
10668         (mswindows_redisplay_subwindow): renamed from
10669         mswindows_update_subwindow.
10670         (mswindows_redisplay_widget): ditto.
10671         (mswindows_button_redisplay): renamed from
10672         mswindows_button_update. Update is now what the instantiation
10673         function does for a changed instantiator.
10674         (mswindows_progress_gauge_instantiate): set the progress value
10675         here if appropriate.
10676         (mswindows_tab_control_redisplay): cope with re-ordering of the
10677         members of the tab widget by simply selecting the new top
10678         widget. This makes things appear ok if you click on a tab.
10679         (mswindows_combo_box_instantiate): image_instance_layout now takes
10680         position as well as size.
10681         (mswindows_progress_gauge_redisplay): renamed from
10682         mswindows_progress_gauge_update.
10683         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10684         (image_instantiator_format_create_glyphs_mswindows): ditto.
10685
10686         * glyphs-eimage.c (jpeg_normalize):
10687         (gif_normalize):
10688         (png_normalize):
10689         (tiff_normalize): add dest_mask so that it can be proprogated by
10690         layout_normalize.
10691
10692         * elhash.c:
10693         (print_hash_table):
10694         (hash_table_weakness_validate):
10695         (decode_hash_table_weakness):
10696         (Fhash_table_weakness):
10697         (Fhash_table_type):
10698         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10699
10700         * console.h (struct console_methods): move update_* to
10701         redisplay_*.
10702
10703 2000-07-20  Ben Wing  <ben@xemacs.org>
10704
10705         * *.[ch] (XSETOBJ): remove unused middle argument.
10706         lisp-disunion.h: correct wrap_object() to one argument.
10707
10708 2000-07-15  Ben Wing  <ben@xemacs.org>
10709
10710         * s/cygwin32.h:
10711         * s/cygwin32.h (CYGWIN_CONV_PATH):
10712         Add missing logb prototype for v1.1.
10713         Use post-b20 names and alias to pre-b20 names when pre-b20.
10714
10715         * s/windowsnt.h: [5].
10716
10717 2000-07-15  Ben Wing  <ben@xemacs.org>
10718
10719         * Makefile.in.in (x_objs):
10720         * Makefile.in.in (sheap_objs):
10721         * Makefile.in.in (objs):
10722         added win32.o, cosmetic cleanups.
10723
10724         * alloc.c (Fmake_byte_code):
10725         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10726         etc. macros which declare their own args now.
10727
10728         * alloc.c (syms_of_alloc):
10729         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10730
10731         * buffer.c:
10732         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10733
10734         * buffer.c (Fget_file_buffer):
10735         Fixed GCPRO problem.
10736
10737         * buffer.c (get_truename_buffer):
10738         Fixed comment about GC checking.
10739
10740         * buffer.c (syms_of_buffer):
10741         Undeclared those dedicated frame funs.
10742         [2].
10743
10744         * buffer.h:
10745         Define convenience macros for internal/external conversions.
10746         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10747         and Qenvironment_variable_encoding for cleaner code.
10748
10749         * bufslots.h:
10750         Remove dedicated-frame; in lisp.
10751
10752         * bytecode.c (funcall_compiled_function):
10753         [1].
10754
10755         * bytecode.c (syms_of_bytecode):
10756         [2].
10757
10758         * console-msw.c:
10759         * console-msw.c (mswindows_show_console): Rewrote.
10760
10761         * console-msw.c (Fmswindows_debugging_output): New.
10762         Sends to OutputDebugString (special MSWin debugger interface).
10763
10764         * console-msw.c (Fmswindows_message_box):
10765         Fixed stupid bugs so it works when called from kill-emacs.
10766
10767         * console-msw.c (syms_of_console_mswindows):
10768         Declare Fmswindows_debugging_output.
10769
10770         * console-msw.h:
10771         New MSWin prototypes.
10772
10773         * console-msw.h (struct mswindows_frame):
10774         New entry last-click-mods for improved button-modifier support.
10775
10776         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10777         New struct entry `popup' with corresponding accessor.
10778
10779         * console-x.c:
10780         * console-x.c (split_up_display_spec):
10781         * console-x.c (get_display_arg_connection):
10782         * console-x.c (x_semi_canonicalize_console_connection):
10783         * console-x.c (x_canonicalize_device_connection):
10784         [[[6]]]: Change char to more specific type.
10785         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10786
10787         * console-x.c (x_semi_canonicalize_console_connection):
10788         * console-x.c (x_canonicalize_device_connection):
10789         [[[9]]]: Fix up error signalling to use new structured error system.
10790
10791         * console-x.h:
10792         [[[4]]]: Define codesys aliases:
10793         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10794         Qx_color_name_encoding, Qx_display_name_encoding.
10795
10796         * console.h (struct console_methods):
10797         New method make_dialog_box_internal supersedes older
10798         popup_dialog_box method.
10799
10800         * data.c:
10801         Define many new errors, part of new structured errors.
10802
10803         * data.c (init_errors_once_early):
10804         * data.c (syms_of_data):
10805         [2].
10806
10807         * device-msw.c (mswindows_init_device):
10808         [[[5]]]: Cleanup to support NT 3.51.
10809
10810         * device-msw.c (decode_devmode): Cleanup.
10811
10812         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10813         * device-msw.c (mswindows_handle_print_dialog_box):
10814         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10815         * device-msw.c (syms_of_device_mswindows):
10816         Delete the dialog box primitives recently introduced by Kirill and
10817         instead interface to general dialog box interface.
10818
10819         * device-x.c:
10820         * device-x.c (compute_x_app_name):
10821         * device-x.c (x_init_device):
10822         * device-x.c (Fx_valid_keysym_name_p):
10823         * device-x.c (Fx_set_font_path):
10824         [6].
10825         [7].
10826
10827         * device.h (wrap_device): New.
10828         First of its kind; meant to replace XSETDEVICE.
10829
10830         * dialog-msw.c: Many file-dialog symbols.
10831
10832         * dialog-msw.c (mswindows_register_popup_frame): New.
10833         * dialog-msw.c (mswindows_is_dialog_msg): New.
10834         For supporting kbd traversal in dialog boxes.
10835
10836         * dialog-msw.c (dialog_proc):
10837         Support hitting ESC in dialogs.
10838
10839         * dialog-msw.c (struct):
10840         Common dialog box errors.
10841
10842         * dialog-msw.c (handle_file_dialog_box): New.
10843         Add file dialog code.
10844
10845         * dialog-msw.c (handle_question_dialog_box):
10846         Redo existing code to support new question dialog syntax.
10847
10848         * dialog-msw.c (console_type_create_dialog_mswindows):
10849         We support new dialog console method.
10850
10851         * dialog-msw.c (syms_of_dialog_mswindows):
10852         * dialog-msw.c (vars_of_dialog_mswindows):
10853         New file dialog symbols, vars.
10854
10855         * dialog-x.c:
10856         * dialog-x.c (maybe_run_dbox_text_callback):
10857         * dialog-x.c (dbox_descriptor_to_widget_value):
10858         * dialog-x.c (x_make_dialog_box_internal):
10859         * dialog-x.c (console_type_create_dialog_x):
10860         Mule-ize entire file.
10861         Redo to support question dialog syntax.
10862         [6].
10863
10864         * dialog.c:
10865         * dialog.c (Fmake_dialog_box_internal):
10866         * dialog.c (syms_of_dialog):
10867         Kill old popup-dialog-box, replace with new primitive.
10868         Just call device method or signal error.
10869
10870         * eldap.c (Fldap_open):
10871         * eldap.c (Fldap_search_basic):
10872         * eldap.c (Fldap_add):
10873         * eldap.c (Fldap_modify):
10874         [1].
10875         [7].
10876
10877         * emacs.c:
10878         * emacs.c (make_arg_list_1):
10879         * emacs.c (make_arg_list):
10880         Mule-ize call to dll_init().
10881         [6].
10882         [8].
10883
10884         * emacs.c (make_argc_argv):
10885         * emacs.c (free_argc_argv):
10886         * emacs.c (init_cmdargs):
10887         * emacs.c (main_1):
10888         * emacs.c (Fkill_emacs):
10889         * emacs.c (Fdump_emacs):
10890         Update comments about what can be used in syms_* etc.
10891         Call init_win32() when necessary.
10892         Fix up MS Win dialog box in kill-buffer to actually work right.
10893         [7].
10894
10895         * eval.c:
10896         * eval.c (For):
10897         * eval.c (Fand):
10898         * eval.c (Fprogn):
10899         * eval.c (Fprog1):
10900         * eval.c (Fprog2):
10901         * eval.c (FletX):
10902         * eval.c (Flet):
10903         * eval.c (condition_case_3):
10904         * eval.c (Feval):
10905         * eval.c (function_argcount):
10906         * eval.c (funcall_lambda):
10907         [1].
10908
10909         * eval.c (type_error): New.
10910         * eval.c (maybe_type_error): New.
10911         * eval.c (continuable_type_error): New.
10912         * eval.c (maybe_continuable_type_error): New.
10913         * eval.c (type_error_with_frob): New.
10914         * eval.c (maybe_type_error_with_frob): New.
10915         * eval.c (continuable_type_error_with_frob): New.
10916         * eval.c (maybe_continuable_type_error_with_frob): New.
10917         New functions for use with structured errors.
10918
10919         * event-Xt.c:
10920         * event-Xt.c (x_event_to_emacs_event):
10921         Buttons are now modifiers too.
10922
10923         * event-Xt.c (emacs_Xt_current_event_timestamp):
10924         Implement new event method.
10925         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10926
10927         * event-msw.c:
10928         * event-msw.c (ntpipe_shove_writer): [5].
10929         * event-msw.c (mswindows_enqueue_mouse_button_event):
10930         * event-msw.c (mswindows_drain_windows_queue):
10931         * event-msw.c (mswindows_wnd_proc): [7].
10932         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10933         * event-msw.c (mswindows_modifier_state):
10934         Throughout: support new button modifiers.
10935
10936         * event-msw.c (emacs_mswindows_current_event_timestamp):
10937         Implement new event method.
10938         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10939
10940         * event-stream.c:
10941         * event-stream.c (event_stream_current_event_timestamp): New.
10942         * event-stream.c (maybe_kbd_translate): New functionality.
10943         * event-stream.c (vars_of_event_stream):
10944         Document new kbd-translate-table functionality.
10945
10946         * event-stream.c (Fcurrent_event_timestamp): New.
10947         New primitive for use in fabricated events.
10948         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10949
10950         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10951
10952         * events.c:
10953         * events.c (Fmake_event):
10954         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10955         [1].
10956         [9].
10957
10958         * events.c (format_event_object): fix gcc warnings.
10959
10960         * events.c (Fevent_timestamp): Document new primitives.
10961
10962         * events.c (TIMESTAMP_HALFSPACE): New.
10963
10964         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10965         comparing timestamps correctly (half-space algorithm).
10966
10967         * events.c (Fevent_modifier_bits): Doc fix.
10968
10969         * events.c (Fevent_modifiers): Major doc addition.
10970         * events.c (event_x_y_pixel_internal): Typo fix.
10971         * events.c (syms_of_events): Declare new primitives.
10972
10973         * events.h:
10974         Update long comment for button modifiers, timestamps.
10975
10976         * events.h (struct event_stream):
10977         New current_event_timestamp method.
10978
10979         * extents.c:
10980         * extents.c (extent_in_region_p):
10981         * extents.c (decode_extent):
10982         * extents.c (Fset_extent_parent):
10983         * extents.c (decode_map_extents_flags):
10984         Fix gcc warnings.
10985         [9].
10986
10987         * extents.c (struct extent_at_arg):
10988         * extents.c (decode_extent_at_flag):
10989         * extents.c (extent_at_mapper):
10990         * extents.c (extent_at_bytind):
10991         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10992         * extents.c (Fextents_at): New primitive. [9].
10993         * extents.c (symbol_to_glyph_layout): [9].
10994         Support new primitive `extents-at'.
10995
10996
10997         * extents.c (get_text_property_bytind):
10998         extent_at_bytind has another arg.
10999         [9].
11000
11001         * extents.c (syms_of_extents): New primitive.
11002
11003         * file-coding.c (Fmake_coding_system): [1].
11004         * file-coding.c (subsidiary_coding_system): fix gcc warning
11005         * file-coding.c (syms_of_file_coding): [2].
11006
11007         * fileio.c (Fexpand_file_name):
11008         * fileio.c (Fsysnetunam):
11009         * fileio.c (Ffile_exists_p):
11010         * fileio.c (Ffile_executable_p):
11011         * fileio.c (Fverify_visited_file_modtime):
11012         Clean up GCPROing.
11013
11014         * fileio.c (syms_of_fileio): [2].
11015
11016         * filelock.c (lock_file_1):
11017         * filelock.c (current_lock_owner):
11018         * filelock.c (lock_if_free):
11019         * filelock.c (lock_file):
11020         * filelock.c (unlock_file):
11021         Clean up GCPROing.
11022
11023         * fns.c (concat): Fix gcc warning.
11024
11025         * fns.c (Fmember):
11026         * fns.c (Fold_member):
11027         * fns.c (Fmemq):
11028         * fns.c (Fold_memq):
11029         * fns.c (memq_no_quit):
11030         * fns.c (Fassoc):
11031         * fns.c (Fold_assoc):
11032         * fns.c (Fassq):
11033         * fns.c (Fold_assq):
11034         * fns.c (assq_no_quit):
11035         * fns.c (Frassoc):
11036         * fns.c (Fold_rassoc):
11037         * fns.c (Frassq):
11038         * fns.c (Fold_rassq):
11039         * fns.c (rassq_no_quit):
11040         * fns.c (Fdelete):
11041         * fns.c (Fold_delete):
11042         * fns.c (Fdelq):
11043         * fns.c (Fold_delq):
11044         * fns.c (delq_no_quit):
11045         * fns.c (Fremassoc):
11046         * fns.c (Fremassq):
11047         * fns.c (remassq_no_quit):
11048         * fns.c (Fremrassoc):
11049         * fns.c (Fremrassq):
11050         * fns.c (remrassq_no_quit):
11051         * fns.c (Freverse):
11052         * fns.c (mapcar1):
11053         [1].
11054
11055         * frame-msw.c (mswindows_init_frame_1):
11056         * frame-msw.c (mswindows_delete_frame):
11057         Register popups with dialog code so keyboard traversing works.
11058
11059         * frame-tty.c (tty_raise_frame_no_select): [1].
11060
11061         * frame-x.c:
11062         * frame-x.c (x_set_frame_text_value):
11063         * frame-x.c (x_set_frame_properties):
11064         * frame-x.c (x_create_widgets):
11065         [7].
11066
11067         * frame.c:
11068         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11069
11070         * frame.h (wrap_frame): New.
11071         Macro like wrap_device.
11072
11073         * general.c:
11074         * general.c (SYMBOL):
11075         * general.c (syms_of_general):
11076         Major reorg.  This is now just a wrapper and symbols themselves
11077         are listed in general-slots.h.
11078
11079         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11080         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11081
11082         * glyphs-msw.c (mswindows_native_layout_instantiate):
11083         Add DS_CONTROL so keyboard traversal will work.
11084
11085         * glyphs-widget.c:
11086         * glyphs-widget.c (syms_of_glyphs_widget):
11087         Move some symbols to general-slots.h.
11088
11089         * glyphs-x.c:
11090         * glyphs-x.c (xbm_instantiate_1):
11091         * glyphs-x.c (x_xbm_instantiate):
11092         * glyphs-x.c (x_xface_instantiate):
11093         * glyphs-x.c (autodetect_instantiate):
11094         * glyphs-x.c (cursor_font_instantiate):
11095         * glyphs-x.c (x_update_widget):
11096         * glyphs-x.c (x_widget_instantiate):
11097         * glyphs.c (bitmap_to_lisp_data):
11098         * glyphs.c (pixmap_to_lisp_data):
11099         [7].
11100
11101         * glyphs.c (syms_of_glyphs):
11102         [2].
11103
11104         * gui-x.c:
11105         * gui-x.c (print_widget_value):
11106         * gui-x.c (menu_separator_style_and_to_external):
11107         * gui-x.c (add_accel_and_to_external):
11108         * gui-x.c (button_item_to_widget_value):
11109         * gui-x.c (gui_items_to_widget_values_1):
11110         * gui-x.c (gui_items_to_widget_values):
11111         * gui-x.c (syms_of_gui_x):
11112         * gui-x.c (vars_of_gui_x):
11113         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11114         [9].
11115
11116         * gui-x.h:
11117         Muleize, prototype changes matching gui-x.c.
11118
11119         * gui.c:
11120         * gui.c (separator_string_p):
11121         * gui.c (gui_item_add_keyval_pair):
11122         * gui.c (make_gui_item_from_keywords_internal):
11123         * gui.c (signal_too_long_error):
11124         * gui.c (parse_gui_item_tree_item):
11125         * gui.c (syms_of_gui):
11126         * gui.c (vars_of_gui):
11127         * gui.h:
11128         menu-no-selection-hook moved here (used by MSWin).
11129         Move some symbols to general-slots.h.
11130         [6].
11131         [9].
11132
11133         * insdel.c (get_buffer_pos_char):
11134         * insdel.c (get_buffer_range_char):
11135         Add GC comments.
11136
11137         * keymap.c (keymap_lookup_directly):
11138         * keymap.c (keymap_store):
11139         * keymap.c (ensure_meta_prefix_char_keymapp):
11140         * keymap.c (describe_map):
11141         * keymap.h:
11142         Support new button modifiers.
11143
11144         * lisp-disunion.h (wrap_object):
11145         * lisp-disunion.h (XSETOBJ):
11146         Rename make_obj to wrap_object.
11147
11148         * lisp-union.h:
11149         * lisp-union.h (make_int):
11150         * lisp-union.h (make_char):
11151         Support wrap_object.
11152
11153         * lisp.h:
11154         * lisp.h (LIST_LOOP):
11155         * lisp.h (EXTERNAL_LIST_LOOP):
11156         * lisp.h (LIST_LOOP_2):
11157         * lisp.h (EXTERNAL_LIST_LOOP_1):
11158         * lisp.h (EXTERNAL_LIST_LOOP_2):
11159         * lisp.h (EXTERNAL_LIST_LOOP_3):
11160         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11161         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11162         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11163         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11164         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11165         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11166         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11167         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11168         * lisp.h (struct Lisp_Symbol):
11169         * lisp.h (maybe_continuable_error_with_frob):
11170         Fix up section comments.
11171         Add new types for char to indicate usage.
11172         Delete symbols auto-generated from general-slots.h.
11173         Add prototypes for structured error functions.
11174         Add long comments describing looping macros and change interface
11175         so that lvalues are automatically declared.
11176         Add NO_DECLARE macro in case callers want to declare lvalues
11177         themselves.
11178
11179         * lread.c (read_syntax_error):
11180         * lread.c (continuable_read_syntax_error):
11181         * lread.c (read_structure):
11182         * lread.c (sequence_reader):
11183         * lread.c (read_list_conser):
11184         * lread.c (read_compiled_function):
11185         Rename syntax_error and continuable_syntax_error to avoid clash
11186         with same-named structured error functions.
11187
11188         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11189         * menubar-msw.c (populate_menu_add_item):
11190         * menubar-msw.c (populate_or_checksum_helper):
11191         [5].
11192         [9].
11193
11194         * menubar-x.c:
11195         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11196         Mule-ize whole file.
11197
11198         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11199
11200         * mule-charset.c (Fmake_charset):
11201         * mule-wnnfns.c (Fwnn_set_param):
11202         [1].
11203
11204         * ntproc.c (create_child):
11205         * ntproc.c (Fwin32_set_current_locale):
11206         Add comments portending doom.
11207
11208         * objects-msw.c:
11209         * objects-msw.c (old_font_enum_callback_2):
11210         * objects-msw.c (font_enum_callback_1):
11211         * objects-msw.c (mswindows_enumerate_fonts):
11212         [5].
11213
11214         * objects-x.c:
11215         * objects-x.c (allocate_nearest_color):
11216         * objects-x.c (x_parse_nearest_color):
11217         * objects-x.c (x_initialize_color_instance):
11218         * objects-x.c (x_print_color_instance):
11219         * objects-x.c (x_finalize_color_instance):
11220         * objects-x.c (x_valid_color_name_p):
11221         * objects-x.c (x_initialize_font_instance):
11222         * objects-x.c (x_print_font_instance):
11223         * objects-x.c (valid_x_font_name_p):
11224         * objects-x.c (truename_via_FONT_prop):
11225         * objects-x.c (truename_via_random_props):
11226         * objects-x.c (truename_via_XListFonts):
11227         * objects-x.c (x_font_truename):
11228         * objects-x.c (x_font_instance_truename):
11229         * objects-x.c (x_font_instance_properties):
11230         * objects-x.c (x_list_fonts):
11231         * objects-x.c (x_find_charset_font):
11232         Mule-ize entire file.
11233         [7].
11234
11235         * objects-x.h:
11236         Mule-verify.
11237
11238         * print.c:
11239         * print.c (std_handle_out_external):
11240         * print.c (debug_print_no_newline):
11241         * print.c (syms_of_print):
11242         Output to all debugger kinds in debug-print.
11243         Fix console-output code under MSWin to actually work.
11244
11245         * process-nt.c (send_signal):
11246         * process-nt.c (nt_create_process):
11247         Use newer Unicode macros.
11248
11249         * process-unix.c (unix_create_process):
11250         * process-unix.c (unix_canonicalize_host_name):
11251         * process-unix.c (unix_open_network_stream):
11252         [7].
11253
11254         * scrollbar-x.c:
11255         Mule-verify.
11256
11257         * search.c (syms_of_search):
11258         [2].
11259
11260         * select-msw.c (mswindows_destroy_selection):
11261         Use LIST_LOOP_2.
11262
11263         * select-x.c (symbol_to_x_atom):
11264         [7].
11265
11266         * select.c (syms_of_select):
11267         [2].
11268
11269         * sound.c (Fplay_sound_file):
11270         [7].
11271
11272         * specifier.c:
11273         * specifier.c (decode_specifier_type):
11274         * specifier.c (Fvalid_specifier_locale_type_p):
11275         * specifier.c (check_valid_locale_or_locale_type):
11276         * specifier.c (decode_locale):
11277         * specifier.c (decode_locale_type):
11278         * specifier.c (decode_locale_list):
11279         * specifier.c (check_valid_domain):
11280         * specifier.c (decode_specifier_tag_set):
11281         * specifier.c (Fcanonicalize_tag_set):
11282         * specifier.c (Fdefine_specifier_tag):
11283         * specifier.c (Fspecifier_tag_predicate):
11284         * specifier.c (check_valid_inst_list):
11285         * specifier.c (check_valid_spec_list):
11286         * specifier.c (decode_how_to_add_specification):
11287         * specifier.c (check_modifiable_specifier):
11288         * specifier.c (specifier_add_spec):
11289         * specifier.c (boolean_validate):
11290         * specifier.c (display_table_validate):
11291         [9].
11292
11293         * specifier.c (syms_of_specifier):
11294         Move some symbols to general-slots.h.
11295         [2].
11296
11297         * symbols.c:
11298         * symbols.c (Fmapatoms):
11299         * symbols.c (Fapropos_internal):
11300         Add GCPROs.
11301
11302         * symbols.c (set_default_buffer_slot_variable):
11303         * symbols.c (set_default_console_slot_variable):
11304         [1].
11305
11306         * symbols.c (defsymbol_massage_name_1):
11307         * symbols.c (defkeyword_massage_name):
11308         * symbols.c (deferror_1):
11309         * symbols.c (deferror):
11310         * symbols.c (deferror_massage_name_and_message):
11311         * symeval.h:
11312         * symeval.h (DEFSYMBOL):
11313         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11314
11315         * symbols.c (syms_of_symbols):
11316         [2].
11317
11318         * symsinit.h:
11319         * symsinit.h (init_win32): New.
11320         Also new is syms_of_dialog_mswindows.
11321
11322         * syswindows.h:
11323         Add new Unicode macros, missing Cygwin wide-char functions,
11324         convenience conversion macros for Qmswindows_tstr, macros for
11325         encapsulating required MSWin <-> Cygwin filename conversions,
11326         prototype for dynamically-extracted (not in NT 3.51) functions.
11327
11328         * toolbar-x.c:
11329         Mule-verify.
11330
11331         * tooltalk.c (Fadd_tooltalk_message_arg):
11332         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11333         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11334         [7].
11335
11336         * tooltalk.c (syms_of_tooltalk):
11337         [2].
11338
11339         * unexnt.c:
11340         * unexnt.c (unexec):
11341         Fix up headers, declaration of unexec() to be more standard.
11342
11343 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11344
11345         * offix.h: Revert change to guard macros - they're used in offix.c!
11346
11347 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11348
11349         * lisp.h: Defsubred Fdelete.
11350
11351         * console-msw.h:  (msprinter_default_printer): Added.
11352
11353         * console-msw.c (msprinter_canonicalize_console_connection):
11354         (msprinter_canonicalize_device_connection): Added.
11355
11356         * device-msw.c (msprinter_default_printer):
11357         (Fmswingows_get_default_printer):
11358         (signal_enum_priner_error):
11359         (Fmswingows_printer_list): Added.
11360
11361 2000-07-19  Martin Buchholz <martin@xemacs.org>
11362
11363         * XEmacs 21.2.35 is released.
11364
11365 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11366
11367         * select-x.c (x_handle_selection_request):
11368         Text selected in xemacs and pasted into xterm failed to appear.
11369         Spelling fixes and cosmetic changes.
11370
11371 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11372
11373         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11374         XEmacs frame (fix for doubling chars in dialog boxes).
11375
11376 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11377
11378         * select.c (select_convert_in, select_convert_out):
11379         Don't call intern() every time.
11380
11381         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11382         * select.c (vars_of_select): Initialise them.
11383
11384 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11385
11386         * select.c (selection-coercible-types): New.
11387
11388         * select.c (own-selection-internal):
11389         * select.c (get-selection-internal):
11390         MULE bug fix - these should default to COMPOUND_TEXT and not
11391         STRING for MULE. I think.
11392
11393         * select.c (select_convert_out): Use selection-coercible-types
11394         to find types that we can attempt to perform coercions on.
11395
11396 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11397
11398         * mule-wnnfns.c:
11399         * mule-canna.c:
11400         Add coding: cookie to identify encoding.
11401
11402         * mule-canna.c (CANNA_mode_keys): make static.
11403         Use proper prototypes, even for functions of no arguments.
11404         Remove external prototype for Fding().
11405
11406         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11407
11408         * select.c (syms_of_select): Add missing DEFSUBR.
11409
11410 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11411
11412         * select.c (get_selection_internal, own_selection_internal):
11413         Make the type default to STRING, rather than placing a nil type
11414         into Vselection_alist.
11415
11416 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11417
11418         * gpmevent.c (tty_selection_exists_p):
11419         * gpmevent.c (tty_own_selection):
11420         Updated parameter lists.
11421
11422 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11423
11424         * select.h (selection-alist): Removed declaration.
11425
11426         * select.h (get_local_selection):
11427         * select.c (get_local_selection):
11428         Made static.
11429
11430         * select.h (convert_selection): Removed declaration.
11431         * select.c (convert_selection): Removed.
11432         This function belongs in Lisp.
11433
11434         * select.h (select_convert_in): Declare.
11435         * select.h (select_convert_out): Declare.
11436         * select.c (select_convert_in): New.
11437         * select.c (select_convert_out): New.
11438         New conversion functions for other files to call.
11439
11440         * select.h (select_notify_buffer_kill): Declare.
11441         * select.c (select_notify_buffer_kill): New.
11442         New functions that get called from kill-buffer.
11443
11444         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11445         X-specific lisp code.
11446
11447         * select.h: Declare some of the lisp-visible functions for
11448         external use.
11449
11450         * select.c (clean_local_selection_data): Removed. This was
11451         a disgusting function, and previously should have been in
11452         select-x.c in any case. The functionality is now provided
11453         in select-convert-from-integer (select.el).
11454
11455         * select.c (available-selection-types): Fixed stupidity where
11456         INTEGER and ATOM got added twice. Also add STRING when we see an
11457         extent.
11458
11459         * select.c (get-selection-internal): Removed symbol stripping. No
11460         longer causes conversion when data comes from the internal cache.
11461
11462         * select.c (syms_of_select): Added new functions.
11463
11464         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11465         error checking - previously this called abort!
11466
11467         * select-x.c (x_own_selection): Changed comment.
11468
11469         * select-x.c (x_handle_selection_request): Use select_convert_out.
11470         Don't mess with selection-alist; it's an internal variable of select.c.
11471
11472         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11473
11474         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11475         rather than messing with selection-alist.
11476
11477         * select-msw.c (mswindows_get_foreign_selection):
11478         Use TO_INTERNAL_FORMAT rather than hacking.
11479
11480 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11481
11482         * process-unix.c (unix_open_multicast_group):
11483         (unix_open_multicast_group): Remove useless casts.
11484
11485 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11486
11487         * sound.c (Fplay_sound): Fix `unused variable' warning.
11488
11489         * emacs.c (main): Use correct type for _environ on SCO5.
11490
11491 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11492
11493         * console.h (own_selection_method):
11494         * console.h (selection_exists_p_method):
11495         * console.h (available_selection_types_method): New.
11496         * console.h (register_selection_data_type_method): New.
11497         * console.h (selection_data_type_name): New.
11498
11499         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11500         function & alist to track GlobalAlloc()'d handles that need
11501         releasing when the clipboard data gets replaced or emptied.
11502
11503         * event-msw.c (mswindows_wnd_proc): Call it.
11504
11505         * lisp.h, general.c (Qappend): New symbol representing a
11506         `how-to-add' mode.
11507
11508         * select.c (own-selection-internal):
11509         * select.c (selection-exists-p):
11510         * select.c (available-selection-types): New.
11511         * select.c (register-selection-data-type): New.
11512         * select.c (selection-data-type-name): New.  New functions to deal
11513         with device-specific selection data formats.
11514         * select.c (selection-converter-out-alist): Renamed.
11515         * select.c (selection-converter-in-alist): New.
11516         * select.c (selection-appender-alist): New.  Added new alists.
11517         * select.c (syms_of_select, vars_of_select): Added new symbols &
11518         variables.
11519         * select.c (get_local_selection): Split.
11520         * select.c: Removed spurious type checking - selections may now be
11521         of any type, not just strings.
11522         * select.c (own-selection-internal):
11523
11524         * select.h, select.c (convert_selection): New. Created
11525         convert_selection() function based on get_local_selection().
11526         * select.h, select.c (QCF_*): New symbols representing mswindows
11527         clipboard formats.
11528         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11529         symbols representing `how-to-add' modes.
11530
11531         * select-msw.c (x_sym_p): New.
11532         * select-msw.c (symbol_to_ms_cf): New.
11533         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11534         symbols & clipboard formats. Can also handle string names.
11535         * select-msw.c (mswindows_own_selection):
11536         * select-msw.c (mswindows_selection_exists_p):
11537         Added `data-type' parameter. Use it.
11538         * select-msw.c (mswindows_available_selection_types): New.
11539         * select-msw.c (mswindows_register_selection_data_type): New.
11540         * select-msw.c (mswindows_selection_data_type_name): New.
11541         * select-msw.c (mswindows_own_selection):
11542         * select-msw.c (mswindows_get_foreign_selection):
11543         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11544         * select-msw.c (console_create_select_mswindows): Added new methods.
11545         * select-msw.c (mswindows_destroy_selection): New.
11546         * select-msw.c (Vhandle_alist): New list.
11547         * select-msw.c (mswindows_own_selection):
11548
11549         * select-x.c (x_own_selection):
11550         * select-x.c (x_selection_exists_p):
11551         * select-x.c: Added some comments about maybe using new
11552         functionality.
11553         * select-x.c (x_own_selection):
11554
11555         * specifier.c: Remove definition of Qappend (now in general.c)
11556         * specifier.c (syms_of_specifier): Remove Qappend.
11557
11558 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11559
11560         * config.h.in: Add socklen_t.
11561
11562         * s/decosf4-0.h: No special compiler flags needed or desired.
11563         In particular, undefine _BSD for DEC OSF 4.0.
11564
11565 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11566
11567         * redisplay-msw.c (msprinter_frame_output_end): Added.
11568         (console_type_create_redisplay_mswindows): Referred the above.
11569
11570         * frame.c (setup_frame_without_minibuffer): Do not create a
11571         default minibuffer frame on a printer device.
11572
11573         * frame-msw.c (apply_dc_geometry): Added.
11574         (msprinter_start_page):
11575         (msprinter_init_frame_3):
11576         (msprinter_eject_page): Use it.
11577
11578         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11579         and removed residual duplex and orientation properties.
11580
11581 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11582
11583         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11584
11585         * unexalpha.c: Remove system prototypes from C sources!
11586
11587 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11588
11589         * eval.c: Remove references to M-x edit-options in DEFUNs for
11590         `defvar' and `defconst'.
11591
11592 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11593
11594         * config.h.in: Remove SMART_INCLUDE hackery.
11595
11596         PostgreSQL hacking:
11597         * config.h.in: Don't use SMART_INCLUDE.
11598
11599         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11600         * inline.c: Simply #include "postgresql.h"
11601         * postgresql.c:
11602         - Don't use SMART_INCLUDE
11603         - Use simply "const".
11604         - Use standard doc string conventions.
11605         - Use correct type for result of PQstatus.
11606
11607 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11608
11609         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11610
11611         C++ compilation changes.
11612         * config.h.in (EXTERN_C): Define.
11613         * config.h.in (not): This is also a C++ keyword.
11614         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11615         * cm.c: Use EXTERN_C.
11616         * redisplay-tty.c: Use EXTERN_C.
11617         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11618
11619 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11620
11621         * general.c: Remove duplicate definition for Qfunction.
11622
11623 2000-07-08  Ben Wing  <ben@xemacs.org>
11624
11625         * device-msw.c (msprinter_init_device):
11626         * device-msw.c (sync_printer_with_devmode):
11627         * device-msw.c (handle_devmode_changes):
11628         * device-msw.c (print_dialog_worker):
11629         * device-msw.c (Fmsprinter_apply_settings):
11630         * device-msw.c (hash_devmode):
11631         * device-msw.c (Fmsprinter_settings_despecialize):
11632         use Qmswindows_tstr, not Qctext.
11633
11634         * vm-limit.c (check_memory_limits):
11635         avoid infinite loop printing warning messages.
11636
11637 2000-07-05  Craig Lanning  <lanning@scra.org>
11638
11639         * Makefile.in.in: Add support for including the Windows resources
11640         when building with the cygwin and mingw targets.
11641
11642         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11643         not set or not correct.
11644         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11645         (init_initial_directory): Don't try to use $PWD on the
11646         WIN32_NATIVE target.
11647
11648         * s\cygwin32.h:
11649         [[Add -mwindows to eliminate console window.]] not required --ben
11650         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11651         (MAIL_USE_POP): removed; now handled by configure.
11652
11653         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11654         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11655         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11656         (MAIL_USE_POP): removed; now handled by configure.
11657         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11658         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11659         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11660         constant string.
11661         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11662         up from <winsock.h> via systime.h.
11663         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11664         (getpagesize): from Dan Holmsand, added.
11665         Added #endif which was left dangling by Ben's mega patch; added
11666         comment to help prevent this in the future.
11667
11668         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11669
11670 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11671
11672         * console-msw.h (struct mswindows_device): Removed unnecessary
11673         cached device geometry values.
11674         Added update_tick and an accessor macro.
11675         (Lisp_Devmode): Added lrecord declaration.
11676         (struct msprinter_device): Contain devmode as a Lisp object.
11677         Added mswindows_get_selected_frame_hwnd();
11678
11679         * console.h (struct console_methods): Indentation nitpicking.
11680
11681         * device-msw.c (mswindows_init_device): Do not initialize geometry
11682         cache. Initialize update tick.
11683         (mswindows_device_system_metrics): Ask the device for its geometry.
11684         (global_free_2_maybe):
11685         (devmode_to_hglobal):
11686         (handle_printer_changes):
11687         (ensure_not_printing):
11688         (print_dialog_worker):
11689         (Fmsprinter_print_setup_dialog):
11690         (Fmsprinter_print_dialog):
11691         (plist_get_margin):
11692         (plist_set_margin):
11693         (Fmsprinter_page_setup_dialog): Added functions.
11694         (sync_printer_with_devmode):
11695         (handle_devmode_changes):
11696         (Fmsprinter_get_settings):
11697         (Fmsprinter_select_settings):
11698         (Fmsprinter_apply_settings):
11699         (allocate_devmode):
11700         (Fmsprinter_settings_copy):
11701         (Fmsprinter_settings_despecialize):
11702         (print_devmode):
11703         (finalize_devmode):
11704         (equal_devmode):
11705         (hash_devmode): Added functions
11706         (syms_of_device_mswindows): Init devmode lrecord class.
11707
11708         * device.h: Added an exfun for find-device.
11709
11710         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11711         geometry; although, recreate the device compatible DC.
11712
11713         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11714         (msprinter_init_frame_3):
11715         (msprinter_frame_property):
11716         (msprinter_internal_frame_property_p):
11717         (msprinter_frame_properties):
11718         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11719         print job properties (will move to device settings).
11720
11721         * lisp.h: Added symbols.
11722
11723         * general.c (syms_of_general): Declared them.
11724
11725         * hash.c (string_hash): Added.
11726
11727         * lrecord.h (lrecord_type): Added devmode lrecord type.
11728
11729 2000-07-02  Mike Sperber <mike@xemacs.org>
11730
11731         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11732         FreeBSD 4.0.
11733
11734 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11735
11736         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11737         integer.
11738
11739 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11740
11741         * data.c (Fstring_to_number): Don't recognize floating point if
11742         base is not 10.
11743
11744 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11745
11746         * glyphs-widget.c (tab_control_query_geometry):
11747         (widget_query_geometry):
11748         (button_query_geometry):
11749         * glyphs.c (text_query_geometry):
11750         Enforce type correctness.
11751
11752 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11753
11754         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11755         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11756
11757 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11758
11759         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11760         conflicts with gcc's fixincluded version of FOO.h.
11761
11762         * glyphs.h (image_instance_geometry): Remove trailing `,'
11763
11764 2000-06-08  Mike Alexander  <mta@arbortext.com>
11765
11766         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11767         (shove_thread): Don't write the same output twice
11768         (make_ntpipe_output_stream): Increase priority of shove thread
11769         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11770         chance to run
11771         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11772         it.
11773
11774 2000-06-12  Ben Wing  <ben@xemacs.org>
11775
11776         * s\mingw32.h (sigset):
11777         * s\windowsnt.h (sigset):
11778         rename msw_ to mswindows_ for consistency with general convention.
11779
11780 2000-06-12  Ben Wing  <ben@xemacs.org>
11781
11782         * console-msw.c:
11783         * console-msw.c (mswindows_get_console_hwnd):
11784         * console-msw.c (mswindows_ensure_console_allocated):
11785         * console-msw.c (mswindows_hide_console):
11786         * console-msw.c (mswindows_show_console):
11787         * console-msw.c (mswindows_ensure_console_buffered):
11788         * console-msw.c (mswindows_output_console_string):
11789         * console-msw.c (mswindows_windows9x_p):
11790         * console-msw.h:
11791         * device-msw.c (mswindows_get_workspace_coords):
11792         * device-msw.c (mswindows_device_system_metrics):
11793         * dialog-msw.c (mswindows_popup_dialog_box):
11794         * event-msw.c (mswindows_wnd_proc):
11795         * frame-msw.c (mswindows_size_frame_internal):
11796         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11797         * menubar-msw.c (displayable_menu_item):
11798         * menubar-msw.c (mswindows_char_is_accelerator):
11799         * nt.c:
11800         * nt.c (mswindows_sigset):
11801         * nt.c (mswindows_sigrelse):
11802         * nt.c (mswindows_sigpause):
11803         * nt.c (mswindows_raise):
11804         * nt.c (timer_proc):
11805         * ntproc.c:
11806         * ntproc.c (find_child_console):
11807         * ntproc.c (sys_kill):
11808         * print.c:
11809         * print.c (std_handle_out_external):
11810         * process-nt.c (find_child_console):
11811         * process-nt.c (send_signal_the_95_way):
11812         * process-nt.c (ensure_console_window_exists):
11813         * process-nt.c (nt_create_process):
11814         * syssignal.h:
11815         rename msw_ to mswindows_ for consistency with general convention.
11816
11817         * emacs.c:
11818         * dumper.c:
11819         include nt.h, not syswindows.h.
11820
11821         * nt.c (mswindows_fstat):
11822         * nt.c (mswindows_stat):
11823         prefix mswindows_ instead of attempting to directly override the
11824         library functions.  fix declarations.
11825
11826         * nt.h:
11827         include syswindows.h.  move some sysdep.h stuff here.
11828
11829         * ntheap.h:
11830         include syswindows.h, not <windows.h>.
11831
11832         * ntplay.c:
11833         clean up headers.
11834
11835         * sysdep.c:
11836         clean up headers.
11837
11838         * sysdep.c (sys_fstat):
11839         * sysdep.c (sys_stat):
11840         call mswindows versions when appropriate.
11841
11842         * sysdep.h:
11843         move mswin decls to nt.h.
11844
11845         * syswindows.h:
11846         add long comment describing appropriate use of the various windows
11847         headers.
11848
11849 2000-06-11  Ben Wing  <ben@xemacs.org>
11850
11851         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11852
11853 2000-06-10  Ben Wing  <ben@xemacs.org>
11854
11855         * Makefile.in.in (release):
11856         Correction to make sure xemacs.exe always dumped when correct.
11857
11858         * alloca.c:
11859         * balloon_help.c:
11860         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11861
11862         * buffer.c (set_buffer_internal):
11863         [[[[2]]]]: Remove HAVE_FEP code.
11864
11865         * buffer.c (init_initial_directory):
11866         [3].
11867
11868         * bytecode.c:
11869         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11870         individual files.
11871
11872         * callproc.c:
11873         * callproc.c (call_process_cleanup):
11874         * callproc.c (Fold_call_process_internal):
11875         * callproc.c (child_setup):
11876         * callproc.c (getenv_internal):
11877         * callproc.c (init_callproc):
11878         * callproc.c (vars_of_callproc):
11879         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11880         __CYGWIN32__ -> CYGWIN.
11881         DOS_NT -> WIN32_NATIVE.
11882         Remove MSDOS support/references, converting to WIN32_NATIVE
11883           where correct.
11884         __MINGW32__ -> MINGW.
11885         Fix windows.h includes.
11886         Remove bogus HAVE_NTGUI.
11887
11888         * config.h.in:
11889         [2].
11890
11891         * console-msw.c:
11892         mswindows_message_outputted added for use in allowing startup
11893         errors on the console to be seen.
11894
11895         * console-msw.c (msw_ensure_console_allocated):
11896         * console-msw.c (msw_output_console_string):
11897         * console-msw.c (DHEADER):
11898         * console-msw.c (DOPAQUE_DATA):
11899         * console-msw.c (DEVENT):
11900         * console-msw.c (DCONS):
11901         * console-msw.c (DCONSCDR):
11902         * console-msw.c (DSTRING):
11903         * console-msw.c (DVECTOR):
11904         * console-msw.c (DSYMBOL):
11905         * console-msw.c (DSYMNAME):
11906         Fix warnings.
11907
11908         * console-stream.c (stream_init_console):
11909         Fix text/binary problems.
11910
11911         * device-msw.c:
11912         * device-msw.c (mswindows_finish_init_device):
11913         * device-msw.c (mswindows_delete_device):
11914         [1].
11915
11916         * device.c (handle_asynch_device_change):
11917         [3].
11918
11919         * dgif_lib.c:
11920         * dgif_lib.c (DGifOpenFileName):
11921         * dgif_lib.c (DGifOpenFileHandle):
11922         * dgif_lib.c (DGifGetLine):
11923         * dgif_lib.c (DGifGetPixel):
11924         Added config.h/lisp.h, fix up includes.
11925         [1].
11926
11927         * dired-msw.c:
11928         [4].
11929
11930         * dired.c:
11931         * dired.c (file_name_completion):
11932         * dired.c (Ffile_attributes):
11933         * dired.c (syms_of_dired):
11934         [1].
11935
11936         * dumper.c:
11937         * dumper.c (pdump_file_unmap):
11938         * dumper.c (pdump_load):
11939         [1].
11940
11941         * editfns.c:
11942         * editfns.c (Ftemp_directory):
11943         * editfns.c (user_login_name):
11944         * editfns.c (Fuser_real_login_name):
11945         * editfns.c (get_home_directory):
11946         [1].
11947
11948         * elhash.c (finish_marking_weak_hash_tables):
11949         [[[[5]]]]: Fix GCC warnings.
11950
11951         * emacs.c:
11952         * emacs.c (mswindows_handle_hardware_exceptions):
11953         * emacs.c (make_arg_list_1):
11954         * emacs.c (main_1):
11955         * emacs.c (Fkill_emacs):
11956         * emacs.c (Fdump_emacs):
11957         [1].
11958         Fix problems with nested crashes, add long comment.
11959
11960         * event-Xt.c (init_event_Xt_late):
11961         [1].
11962
11963         * event-msw.c:
11964         * event-msw.c (mswindows_dde_callback):
11965         * event-msw.c (mswindows_handle_sticky_modifiers):
11966         * event-msw.c (mswindows_wnd_proc):
11967         [1].
11968         [5].
11969
11970         * events.c (character_to_event):
11971         [1].
11972
11973         * fileio.c:
11974         * fileio.c (Ffile_name_directory):
11975         * fileio.c (Ffile_name_nondirectory):
11976         * fileio.c (directory_file_name):
11977         * fileio.c (Fexpand_file_name):
11978         * fileio.c (Fsubstitute_in_file_name):
11979         * fileio.c (Ffile_name_absolute_p):
11980         * fileio.c (check_executable):
11981         * fileio.c (Ffile_readable_p):
11982         * fileio.c (Ffile_accessible_directory_p):
11983         * fileio.c (Ffile_modes):
11984         * fileio.c (Funix_sync):
11985         * fileio.c (vars_of_fileio):
11986         [1]. [4].
11987
11988         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11989
11990         Expand getdefdir defn.
11991         Fix bogus rename() comment.
11992
11993         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11994         to use standard XEmacs include files, e.g. sysfile.h, rather
11995         than system-specific includes.
11996
11997         * fns.c:
11998         * fns.c (Fsubseq):
11999         [5]. [6].
12000
12001         * frame.c (vars_of_frame):
12002         [1].
12003
12004         * getloadavg.c:
12005         * getloadavg.c (getloadavg):
12006         [1]. [6].
12007         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12008         (We don't use it elsewhere in the code; just add a comment.)
12009
12010         * gif_io.c:
12011         [6].
12012         Add config.h.
12013
12014         * glyphs-msw.c:
12015         * glyphs-msw.c (mswindows_resource_instantiate):
12016         [1].
12017
12018         * glyphs-x.c (x_native_layout_instantiate):
12019         [5].
12020
12021         * gui-msw.c (Fmswindows_shell_execute):
12022         [1].
12023
12024         * insdel.c:
12025         [4].
12026
12027         * lisp.h:
12028         [4]. [5].
12029
12030         * lread.c (locate_file_in_directory_mapper):
12031         [1].
12032
12033         * lstream.c:
12034         [4].
12035
12036         * mem-limits.h:
12037         * mem-limits.h (get_lim_data):
12038         [1].
12039
12040         * menubar-msw.c:
12041         [4].
12042
12043         * ndir.h:
12044         [1].
12045
12046         * nt.c:
12047         * nt.c (getwd):
12048         * nt.c (closedir):
12049         * nt.c (rva_to_section):
12050         * nt.c (mswindows_executable_type):
12051         [1]. [6].
12052         Fix closedir() defn.
12053
12054         * nt.h:
12055         [[[[8]]]]: *_OK defs moved to sysfile.h.
12056
12057         * ntproc.c:
12058         [6]. [7].
12059
12060         * objects-x.c:
12061         [4].
12062
12063         * print.c:
12064         * print.c (std_handle_out_external):
12065         [1]. [4].
12066
12067         * process-nt.c:
12068         * process-nt.c (nt_create_process):
12069         [6].
12070         try to fix process quoting somewhat.
12071
12072         * process-unix.c (unix_create_process):
12073         [1].
12074
12075         * process.c:
12076         * process.c (vars_of_process):
12077         Add Vnull_device.
12078
12079         * process.h:
12080         [1].
12081
12082         * realpath.c:
12083         * realpath.c (xrealpath):
12084         [1].
12085
12086         * redisplay-tty.c (init_tty_for_redisplay):
12087         [3].
12088
12089         * redisplay.c:
12090         [4]. [6].
12091
12092         * scrollbar-msw.c:
12093         [4].
12094
12095         * sheap.c:
12096         * sheap.c (more_static_core):
12097         * sheap.c (report_sheap_usage):
12098         [5]. [6].
12099
12100         * signal.c:
12101         * signal.c (alarm_signal):
12102         [1]. [6].
12103
12104         * sound.c:
12105         [6].
12106
12107         * strftime.c:
12108         * strftime.c (zone_name):
12109         [1]. [5].
12110
12111         * symsinit.h (init_sunpro):
12112         [1].
12113
12114         * syscommctrl.h:
12115         commctrl.h not in Cygwin b20.1.
12116
12117         * sysdep.c:
12118         * sysdep.c (endif):
12119         * sysdep.c (sys_subshell):
12120         * sysdep.c (init_baud_rate):
12121         * sysdep.c (emacs_get_tty):
12122         * sysdep.c (emacs_set_tty):
12123         * sysdep.c (tty_init_sys_modes_on_device):
12124         * sysdep.c (init_system_name):
12125         * sysdep.c (sys_open):
12126         * sysdep.c (interruptible_open):
12127         * sysdep.c (sys_fopen):
12128         * sysdep.c (sys_mkdir):
12129         * sysdep.c (sys_rename):
12130         * sysdep.c (get_process_times_1):
12131         [1]. [6].
12132
12133         * sysdep.h:
12134         [1].
12135
12136         * sysdir.h:
12137         * sysdir.h (DIRENTRY_NONEMPTY):
12138         [1]. [6].
12139
12140         * sysdll.c (dll_init):
12141         * sysdll.h:
12142         [1].
12143
12144         * sysfile.h:
12145         [1]. [6]. [8].
12146         added text/binary defs.
12147
12148         * sysfloat.h:
12149         [1].
12150
12151         * sysproc.h:
12152         * sysproc.h (EDESTADDRREQ):
12153         * sysproc.h (poll_fds_for_input):
12154         [1]. [6].
12155
12156         * syspwd.h:
12157         [6].
12158
12159         * syssignal.h:
12160         [1].
12161
12162         * systime.h:
12163         [1]. [6].
12164
12165         * systty.h:
12166         [1].
12167
12168         * syswindows.h:
12169         [1].
12170         Always define WIN32_LEAN_AND_MEAN.
12171
12172         * unexcw.c (unexec):
12173         [5].
12174
12175         * unexec.c:
12176         * unexec.c (copy_text_and_data):
12177         * unexec.c (adjust_lnnoptrs):
12178         [1].
12179
12180         * unexnt.c:
12181         * unexnt.c (_start):
12182         [1].
12183
12184 2000-06-07  Ben Wing  <ben@xemacs.org>
12185
12186         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12187         was used only as a model.  We've long since extracted any useful
12188         logic or code out of this. (I just did an exhaustive search.)
12189
12190         * s\msdos.h: Removed.
12191
12192         * s\windows95.h: Removed.
12193
12194 2000-06-10  Ben Wing  <ben@xemacs.org>
12195
12196         * s\cygwin32.h:
12197         [1]. [5].
12198         Don't use extern with fun defs.
12199
12200         * s\mingw32.h:
12201         [1]. [7].
12202         Remove nt\inc include.
12203         Remove getdisk, getdefdir. (The former is unused, the latter
12204         expanded in fileio.h.)
12205
12206         * s\windowsnt.h:
12207         * s\windowsnt.h (WIN32_NATIVE):
12208         * s\windowsnt.h (HAVE_STRCASECMP):
12209         [1]. [7].
12210         Add long comment about preprocessor changes.
12211         Remove getdisk, getdefdir. (The former is unused, the latter
12212         expanded in fileio.h.)
12213
12214 2000-06-10  Ben Wing  <ben@xemacs.org>
12215
12216         * m\arm.h:
12217         * m\delta.h:
12218         * m\intel386.h:
12219         * m\sequent.h:
12220         * m\template.h:
12221         * m\windowsnt.h:
12222         [1].
12223         Remove bogus/unused NO_SOCK_SIGIO.
12224
12225 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12226
12227         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12228         not an Emchar.
12229
12230 2000-06-04  Mike Sperber <mike@xemacs.org>
12231
12232         * casetab.c (set_case_table): For `set-standard-case-table',
12233         actually deposit the new case tables where the rest of XEmacs can
12234         see them.
12235
12236 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12237
12238         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12239
12240 2000-06-05  Ben Wing  <ben@xemacs.org>
12241
12242         * callproc.c (child_setup): Don't do close_load_descs() under
12243         MS Windows.  Put in a comment explaining why.
12244
12245 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12246
12247         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12248         Toolkit shell" which breaks `kill-compilation' on Windows NT
12249         native, retaining STDERR handling improvements.
12250
12251 2000-06-01  Andreas Jaeger  <aj@suse.de>
12252
12253         * s/s390.h: Support for S390, based on a patch by Martin
12254         Schwidefsky <schwidefsky@de.ibm.com>.
12255
12256 2000-05-30  Andy Piper  <andy@xemacs.org>
12257
12258         * window.c (allocate_window):
12259         (make_dummy_parent):
12260         (Fset_window_configuration): use new hashtable type.
12261
12262         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12263         (struct image_instantiator_methods):
12264         (struct Lisp_Image_Instance): make instance geometry signed.
12265
12266         * glyphs.c (instantiate_image_instantiator):
12267         (image_instance_query_geometry):
12268         (image_instance_layout):
12269         (image_instance_layout):
12270         (query_string_geometry):
12271         (text_query_geometry):
12272         (image_instantiate):
12273         (image_instantiate):
12274         (cache_subwindow_instance_in_frame_maybe):
12275         (subwindow_query_geometry): make instance geometry signed.
12276
12277         * glyphs-widget.c (widget_query_geometry):
12278         (widget_layout):
12279         (button_query_geometry):
12280         (tree_view_query_geometry):
12281         (tab_control_query_geometry):
12282         (layout_query_geometry):
12283         (layout_layout):
12284         (native_layout_layout): make instance geometry signed.
12285
12286 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12287
12288         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12289         constant.
12290
12291         * general.c (syms_of_general): Add Qfull_assoc symbol.
12292
12293         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12294         correctly.
12295         (decode_weak_list_type): Decode full-assoc type.
12296         (encode_weak_list_type): Encode full-assoc type.
12297         (Fmake_weak_list): Update doc string.
12298
12299 2000-05-30  Andy Piper  <andy@xemacs.org>
12300
12301         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12302
12303         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12304         (decode_hash_table_weakness): ditto.
12305         (Fhash_table_weakness): ditto.
12306         (Fhash_table_type): ditto.
12307         (finish_marking_weak_hash_tables): ditto.
12308         (hash_table_weakness_validate): ditto.
12309         (syms_of_elhash): ditto.
12310
12311 2000-05-28  Martin Buchholz <martin@xemacs.org>
12312
12313         * XEmacs 21.2.34 is released.
12314
12315 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12316
12317         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12318         start cache.
12319         (updating_line_start_cache): Gone.
12320         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12321         generic code to force a minimum of 1 line laid out in the
12322         CMOTION_DISP case.
12323
12324 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12325
12326         * glyphs.c (instantiate_image_instantiator): Check for initialized
12327         height & width no longer special cases IMAGE_NOTHING.
12328         (nothing_instantiate): Set height and width of instance.
12329
12330 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12331
12332         * unexelf.c (unexec): Search for ".data" section.
12333         Initialize new_data2_offset from old_data_index.
12334         Remove redundant check for ElfW.
12335
12336 2000-05-23  Andy Piper  <andy@xemacs.org>
12337
12338         * glyphs.c (get_image_instantiator_governing_domain): allow more
12339         specific domains as the governing domain rather than expecting an
12340         exact match. This fixes problems with layouts.
12341
12342 2000-05-22  Andy Piper  <andy@xemacs.org>
12343
12344         * redisplay-output.c (compare_runes): check for non-images
12345
12346         * glyphs.c (set_glyph_dirty_p): ditto.
12347         (update_glyph_cachel_data): ditto.
12348
12349         * glyphs-widget.c (layout_post_instantiate): ditto.
12350         (layout_post_instantiate): ditto.
12351
12352         * event-msw.c (mswindows_wnd_proc): warning removal.
12353
12354 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12355
12356         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12357
12358         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12359
12360         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12361
12362         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12363         (mswindows_executable_type): mingw32 now has enough headers for
12364         this to work.
12365
12366 2000-05-20  Andy Piper  <andy@xemacs.org>
12367
12368         * console-msw.c (mswindows_output_last_error): ; -> ,
12369
12370 2000-05-12  Andy Piper  <andy@xemacs.org>
12371
12372         * console-msw.c (FROB): compare ints with ints.
12373
12374 2000-05-11  Andy Piper  <andy@xemacs.org>
12375
12376         * glyphs-x.c (x_finalize_image_instance): make minimal build
12377         happy.
12378
12379 2000-05-20  Ben Wing  <ben@xemacs.org>
12380
12381         * event-Xt.c:
12382         * event-Xt.c (vars_of_event_Xt):
12383         move modifier-keys-are-sticky to event-stream.c.
12384
12385         * event-msw.c:
12386         * event-msw.c (mswindows_enqueue_mouse_button_event):
12387         * event-msw.c (key_needs_default_processing_p):
12388         * event-msw.c (XEMSW_LCONTROL):
12389         * event-msw.c (mswindows_handle_sticky_modifiers):
12390         * event-msw.c (FROB):
12391         * event-msw.c (clear_sticky_modifiers):
12392         * event-msw.c (output_modifier_keyboard_state):
12393         * event-msw.c (output_alt_keyboard_state):
12394         * event-msw.c (mswindows_wnd_proc):
12395         * event-msw.c (mswindows_modifier_state):
12396         * event-msw.c (emacs_mswindows_handle_magic_event):
12397         implement sticky modifiers.
12398
12399         * event-stream.c:
12400         * event-stream.c (vars_of_event_stream):
12401         move modifier-keys-are-sticky here.
12402
12403         * lisp.h:
12404         add CHECK_FUNCTION.
12405
12406         * rangetab.c:
12407         implement map-range-table.
12408
12409
12410 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12411
12412         * redisplay-tty.c (reset_tty_modes):
12413         (tty_redisplay_shutdown): Adjust argument type to
12414         tty_frame_output_end.
12415
12416 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12417
12418         * eval.c (Fbacktrace): Don't output a line with only right
12419         parenthesis.
12420
12421 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12422
12423         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12424         (Fpq_reset_poll): Ditto.
12425
12426 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12427
12428         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12429
12430 2000-05-16  Ben Wing  <ben@xemacs.org>
12431
12432         * buffer.c:
12433         * buffer.c (dfc_convert_to/from_internal_format):
12434         * buffer.c (reinit_vars_of_buffer):
12435         Fix conversion functions to allow reentrancy.
12436
12437         * console-msw.c:
12438         * console-msw.c (mswindows_output_last_error):
12439         New fun, generally useful -- output a human-readable
12440         version of GetLastError() on the console.
12441
12442         * console-msw.h:
12443         * console-msw.h (struct mswindows_frame):
12444         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12445
12446         * console-stream.c (stream_output_begin):
12447         * console-stream.c (stream_output_end):
12448         * console-stream.c (stream_output_vertical_divider):
12449         * console-stream.c (stream_clear_region):
12450         * console-stream.c (stream_flash):
12451         * console-stream.c (console_type_create_stream):
12452         Delete blank stream methods, not needed.
12453
12454         * console.h (struct console_methods):
12455         Split begin/end methods into window and frame.
12456
12457         * event-msw.c:
12458         * event-msw.c (mswindows_handle_paint):
12459         * event-msw.c (output_alt_keyboard_state):
12460         * event-msw.c (mswindows_wnd_proc):
12461         * event-msw.c (vars_of_event_mswindows):
12462         Comment about problems with ignored-expose.
12463         Define mswindows-debug-events; not really implemented.
12464
12465         * frame-msw.c (mswindows_init_frame_1):
12466         random cleanups.
12467
12468         * glyphs-msw.c:
12469         * glyphs-msw.c (begin_defer_window_pos):
12470         * glyphs-msw.c (mswindows_unmap_subwindow):
12471         * glyphs-msw.c (mswindows_map_subwindow):
12472         * glyphs-msw.c (mswindows_resize_subwindow):
12473         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12474
12475         * glyphs.c (make_image_instance_1):
12476         Fix crash.
12477
12478         * gutter.c (Fredisplay_gutter_area):
12479         Use new begin/end methods.
12480
12481         * lisp.h (Dynarr_new2):
12482         New creation fun.
12483
12484         * redisplay-msw.c:
12485         * redisplay-msw.c (mswindows_frame_output_begin):
12486         * redisplay-msw.c (mswindows_frame_output_end):
12487         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12488         New begin/end methods -- handle DeferWindowPos.
12489
12490         * redisplay-output.c (redisplay_move_cursor):
12491         * redisplay-output.c (redraw_cursor_in_window):
12492         * redisplay-output.c (redisplay_update_line):
12493         * redisplay-output.c (redisplay_output_window):
12494         New begin/end methods.
12495
12496         * redisplay-tty.c:
12497         * redisplay-tty.c (tty_frame_output_begin):
12498         * redisplay-tty.c (tty_frame_output_end):
12499         * redisplay-tty.c (console_type_create_redisplay_tty):
12500         New begin/end methods.
12501
12502         * redisplay-x.c:
12503         * redisplay-x.c (x_window_output_begin):
12504         * redisplay-x.c (x_window_output_end):
12505         * redisplay-x.c (console_type_create_redisplay_x):
12506         New begin/end methods.
12507
12508         * redisplay.c (redisplay_frame):
12509         * redisplay.c (Fredisplay_echo_area):
12510         New begin/end methods.
12511         use MAYBE_DEVMETH for clear_frame; it may not exist.
12512
12513         * window.h (WINDOW_XFRAME):
12514         WINDOW_XFOO macros -- get locale and decode struct pointer.
12515
12516
12517 2000-05-12  Ben Wing  <ben@xemacs.org>
12518
12519         * emacs.c:
12520         * emacs.c (ensure_no_quitting_from_now_on):
12521         * emacs.c (fatal_error_signal):
12522         * emacs.c (mswindows_handle_hardware_exceptions):
12523         * emacs.c (main):
12524         * emacs.c (Fkill_emacs):
12525         * emacs.c (shut_down_emacs):
12526         * emacs.c (assert_failed):
12527         various improvements in fatal error handling.
12528
12529         * eval.c:
12530         move preparing_for_armageddon to emacs.c.
12531
12532         * lisp.h:
12533         declare fatal_error_in_progress.
12534
12535         * print.c:
12536         * print.c (std_handle_out_external):
12537         * print.c (std_handle_out_va):
12538         * print.c (stderr_out):
12539         * print.c (stdout_out):
12540         use console under mswin when no standard output.
12541         don't do code conversion during fatal error.
12542
12543         * scrollbar.c (Fscrollbar_page_up):
12544         * scrollbar.c (Fscrollbar_page_down):
12545         fix missing else.  reindent.
12546
12547 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12548
12549         Emergency fix.
12550
12551         * glyphs.h (GLYPH_CACHEL_DESCENT):
12552         (GLYPH_CACHEL_DESCENT):
12553         (GLYPH_CACHEL_DESCENT):
12554         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12555         used in case these are inline functions.
12556         Use more absurd values to error check.
12557
12558         include window.h for error check functions.
12559
12560 2000-05-11  Ben Wing  <ben@xemacs.org>
12561
12562         * cmdloop.c (Freally_early_error_handler):
12563         Display message box under windows; otherwise, message will disappear
12564         before it can be viewed.
12565
12566         * console-msw.c:
12567         * console-msw.c (Fmswindows_message_box):
12568         * console-msw.c (FROB):
12569         * console-msw.c (syms_of_console_mswindows):
12570         Define new fun `mswindows-message-box'.
12571         #### I will merge this into `popup-dialog-box'; just give me
12572         a bit of time.
12573
12574         * general.c:
12575         * general.c (syms_of_general):
12576         Some new symbols used in `mswindows-message-box'.
12577
12578         * glyphs.c:
12579         * glyphs.c (Fset_image_instance_property):
12580         put warning in this fun.
12581
12582         * glyphs.h:
12583         * glyphs.h (GLYPH_CACHEL_WIDTH):
12584         * glyphs.h (GLYPH_CACHEL_ASCENT):
12585         * glyphs.h (GLYPH_CACHEL):
12586         * glyphs.h (GLYPH_CACHEL_GLYPH):
12587         define error-checking versions to try to catch a bug i've seen --
12588         redisplay gets in an infinite loop because the glyph width of the
12589         continuation glyph is 65535.
12590
12591         * lisp.h:
12592         Extern message-box stuff.
12593
12594         * window.c (allocate_window):
12595         * window.c (make_dummy_parent):
12596         * window.c (Fset_window_configuration):
12597         Use EQUAL not EQ for subwindow caches to make them work a bit
12598         better. (Something is still very broken.)
12599
12600
12601 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12602
12603         * glyphs.c (image_instantiate): Suppress gcc warnings.
12604         (Fmake_image_instance): Fix doc string.
12605         * specifier.c (Fmake_specifier): Ditto.
12606
12607 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12608
12609         * paths.h.in (PATH_LOCK): Removed.
12610         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12611         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12612
12613 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12614
12615         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12616         Document (featurep '(and xemacs 21.02)).
12617
12618 2000-05-09  Ben Wing  <ben@xemacs.org>
12619
12620         * buffer.c (complex_vars_of_buffer):
12621         update modeline-format doc.
12622
12623         * device.h:
12624         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12625
12626         * emacs.c:
12627         timeline of all released versions of Emacs, for use in creating
12628         authorship comments and in synching up.
12629
12630         * glyphs-widget.c (image_instantiator_buttons):
12631         * glyphs-widget.c (image_instantiator_edit_fields):
12632         * glyphs-widget.c (image_instantiator_combo_box):
12633         * glyphs-widget.c (image_instantiator_scrollbar):
12634         * glyphs-widget.c (image_instantiator_progress_guage):
12635         * glyphs-widget.c (image_instantiator_tree_view):
12636         * glyphs-widget.c (image_instantiator_tab_control):
12637         * glyphs-widget.c (image_instantiator_labels):
12638         * glyphs-widget.c (image_instantiator_layout):
12639         * glyphs-widget.c (image_instantiator_native_layout):
12640         rename decode_domain method to governing_domain.
12641
12642         * glyphs.c:
12643         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12644         * glyphs.c (add_entry_to_device_ii_format_list):
12645         make sure we don't put an entry more than once into the list.
12646         * glyphs.c (check_instance_cache_mapper):
12647         *************************************************************
12648         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12649         HAVE BEEN GETTING.
12650         *************************************************************
12651         * glyphs.c (get_image_instantiator_governing_domain):
12652         clean up, expand on new concept of governing domain.
12653         * glyphs.c (instantiate_image_instantiator):
12654         * glyphs.c (allocate_image_instance):
12655         use governing_domain instead of cache_domain in naming.
12656         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12657         * glyphs.c (make_image_instance_1):
12658         * glyphs.c (Fmake_image_instance):
12659         allow for any domain (not just device), and process the
12660         governing domain correctly.  very big doc fix.
12661         * glyphs.c (Fimage_instance_domain):
12662         new primitive, to retrieve the governing domain of an image instance.
12663         * glyphs.c (image_instantiate):
12664         use new governing_domain stuff.  this fixes a crash you could get
12665         by instantiating certain widget glyphs in frame locales. (should
12666         signal an error instead of crashing.)
12667         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12668         * glyphs.c (Fglyphp): clean up doc.
12669         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12670         * glyphs.c (syms_of_glyphs):
12671         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12672         * glyphs.c (image_instantiator_format_create): add some comments about
12673         bogus code.
12674         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12675         for current-display-table. (Apparently Hrjove implemented in 1998 a
12676         design I wrote up in 1996, but didn't update the doc string.)
12677
12678         * glyphs.h: clean up a doc string.
12679         * glyphs.h (governing_domain):
12680         * glyphs.h (struct image_instantiator_methods):
12681         changes for governing_domain stuff.
12682
12683         * gutter.c:
12684         * gutter.c (Fgutter_specifier_p):
12685         * gutter.c (Fgutter_size_specifier_p):
12686         * gutter.c (Fgutter_visible_specifier_p):
12687         * objects.c:
12688         * objects.c (Fcolor_specifier_p):
12689         * objects.c (Ffont_specifier_p):
12690         * objects.c (Fface_boolean_specifier_p):
12691         doc strings moved to make-*-specifier.
12692
12693         * redisplay.c (add_disp_table_entry_runes_1):
12694         * redisplay.c (generate_fstring_runes):
12695         * redisplay.c (screen):
12696         add random comments and doc strings.
12697
12698         * specifier.c:
12699         * specifier.c (Fmake_specifier):
12700         major overhaul of this doc string.
12701
12702         * specifier.c (Fvalid_specifier_domain_p):
12703         comment about the bogosity of image instances being domains.
12704         * specifier.c (decode_domain):
12705         now non-static, used in glyphs.c.
12706         * specifier.c (specifier_instance):
12707         comment about the bogosity of image instances being domains.
12708         * specifier.c (Fgeneric_specifier_p):
12709         move doc string to make-generic-specifier.
12710         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12711         rebackslashify.
12712
12713         * specifier.h:
12714         * specifier.h (DOMAIN_FRAME):
12715         * specifier.h (DOMAIN_LIVE_P):
12716         * specifier.h (DOMAIN_XDEVICE):
12717         rebackslashify.
12718         add comments about problems with these macros.
12719         prototype for decode_domain.
12720
12721         * toolbar.c:
12722         * toolbar.c (Ftoolbar_specifier_p):
12723         move doc string to `make-toolbar-specifier'.
12724
12725         * window.c (window_unmap_subwindows_cache_mapper):
12726         *************************************************************
12727         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12728         HAVE BEEN GETTING.
12729         *************************************************************
12730
12731 2000-05-09  Andy Piper  <andy@xemacs.org>
12732
12733         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12734
12735         * window.c (Fset_window_configuration): reset the frame subwindow
12736         cache and re-initialize the window subwindow caches.
12737
12738         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12739
12740 2000-05-09  Ben Wing  <ben@xemacs.org>
12741
12742         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12743         DWORD.
12744
12745 2000-04-26  Mike Woolley  <mike@bulsara.com>
12746
12747         * ntheap.c: Changed recreate_heap to limit the amount reserved
12748         for the heap to that which is actually available. Also now
12749         displays a message box (with some dignostics) in the event that
12750         it still can't start.
12751
12752 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12753
12754         * callproc.c (Fold_call_process_internal): GCPRO path
12755
12756 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12757
12758         Patch by Bill Perry.
12759
12760         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12761         back data instead of #ifdef.
12762         (Fscrollbar_page_down): ditto.
12763
12764 2000-05-07  Ben Wing  <ben@xemacs.org>
12765
12766         * buffer.h:
12767         Kludge for defining Qmswindows_tstr.
12768
12769         * nt.c:
12770         * nt.c (open_input_file):
12771         * nt.c (open_output_file):
12772         * nt.c (rva_to_section):
12773         * nt.c (mswindows_executable_type):
12774         Move all memory-mapped-file routines here (some were in unexnt.c,
12775         which is bad because they are used by process-nt.c, and unexnt
12776         won't be around when portable dumping).  Synched the above routines
12777         with FSF 20.6.
12778
12779         * nt.h:
12780         Removed ifdef'd out bogus code.
12781         Fixed some prototypes.
12782
12783         * nt.h (file_data):
12784         * nt.h (OFFSET_TO_RVA):
12785         * nt.h (RVA_TO_OFFSET):
12786         * nt.h (RVA_TO_PTR):
12787         Moved the memory-mapped-file structures, macros and prototypes
12788         here, to parallel nt.c.  ntheap.h should really be removed
12789         entirely, and it's a non-portable-dumper specific file.
12790
12791         * ntheap.h (round_to_next):
12792         Moved the memory-mapped-file structures, macros and prototypes
12793         to nt.h.
12794
12795         * ntproc.c (compare_env):
12796         Moved rva_to_section and mswindows_executable_type to nt.c.
12797         Moved compare_env to process-nt.c.
12798         ntproc.c will die, one day.
12799
12800         * ntproc.c (sys_spawnve):
12801         Account for win32_ -> mswindows_.
12802
12803         * process-nt.c:
12804         * process-nt.c (struct nt_process_data):
12805         * process-nt.c (ensure_console_window_exists):
12806         * process-nt.c (compare_env):
12807         * process-nt.c (nt_create_process):
12808         * process-nt.c (nt_kill_process_by_pid):
12809         * process-nt.c (syms_of_process_nt):
12810         * process-nt.c (vars_of_process_nt):
12811         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12812         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12813         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12814         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12815         Move compare_env here from ntproc.c.
12816
12817         * process.c (Fprocess_send_region):
12818         Takes an optional fourth argument, BUFFER, which should fix some
12819         problems with call-process.
12820
12821         * syscommctrl.h:
12822         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12823
12824         * syswindows.h:
12825         Move ICC_BAR_CLASSES to syscommctrl.h.
12826         Add preliminary macros for MSWindows/Mule.  More to come.
12827
12828         * unexnt.c:
12829         * unexnt.c (unexec):
12830         open_output_file moved to nt.c.
12831
12832
12833 2000-05-05  Andy Piper  <andy@xemacs.org>
12834
12835         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12836         instance from the frame cache also since GC may catch up too late
12837         to make frame deletion sane.
12838
12839 2000-05-04  Andy Piper  <andy@xemacs.org>
12840
12841         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12842         (x_finalize_image_instance): ungcpro on deletion.
12843
12844         * glyphs.c (image_instantiator_format_create): give pointers a
12845         query geometry method so that the geometry is at least set.
12846
12847         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12848         initialize layouts if using widgets.
12849
12850 2000-05-03  Andy Piper  <andy@xemacs.org>
12851
12852         * nt.c: remove bogus reference to sysmmsystem.h
12853
12854         * gui-x.c (popup_selection_callback): fix no selection abort.
12855
12856 2000-05-02  Andy Piper  <andy@xemacs.org>
12857
12858         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12859         (mswindows_widget_instantiate): ditto.
12860
12861         * glyphs-widget.c (initialize_widget_image_instance): initialize
12862         children correctly.
12863         (widget_instantiate): cope with children and items in the same
12864         instance.
12865
12866         * glyphs.c (mark_image_instance): cope with children as a first
12867         class member.
12868         (image_instance_equal): ditto.
12869         (image_instance_hash): ditto.
12870         (image_instance_changed): ditto.
12871
12872 2000-04-30  Andy Piper  <andy@xemacs.org>
12873
12874         * glyphs.c (subwindow_query_geometry): new function. Return some
12875         defaults.
12876         (subwindow_instantiate): don't assign dimensions if none have been
12877         given.
12878         (image_instantiator_format_create): add subwindow_query_geometry.
12879         (print_image_instance): cope with layouts as widgets.
12880
12881 2000-04-29  Andy Piper  <andy@xemacs.org>
12882
12883         * frame.c (delete_frame_internal): call
12884         free_frame_subwindow_instance_cache so that all subwindows are
12885         finalized before their parent.
12886         (mark_frame): remove subwindow_cachels.
12887         (Fmake_frame): remove subwindow_cachel manipulation.
12888         (allocate_frame_core): subwindow_instance_cache is a weak list.
12889         (delete_frame_internal): set subwindow_instance_cache to nil.
12890
12891         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12892         finalization safe.
12893         (mswindows_finalize_image_instance): use the device
12894         not the domain as the domain may have died already.
12895
12896         * glyphs-x.c (x_finalize_image_instance): ditto.
12897         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12898         HEIGHT.
12899
12900         * redisplay-output.c (redisplay_unmap_subwindows): update for
12901         subwindow instance cache as a weak list.
12902         (redisplay_unmap_subwindows_maybe): ditto.
12903         (redisplay_unmap_subwindows_except_us): ditto.
12904
12905         * glyphs.c (unmap_subwindow): error checking will check the domain
12906         so don't deal with it here. Don't use cachels anymore.
12907         (map_subwindow): ditto.
12908         (update_subwindow_cachel_data): remove old accessor names.
12909         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12910         (Fresize_subwindow): don't update cachel.
12911         (mark_subwindow_cachels):
12912         (update_subwindow_cachel_data):
12913         (add_subwindow_cachel):
12914         (get_subwindow_cachel_index):
12915         (update_subwindow_cachel):
12916         (reset_subwindow_cachels):
12917         (mark_subwindow_cachels_as_not_updated): deleted.
12918         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12919         subwindow instance to the frame cache.
12920         (find_matching_subwindow): update for subwindow instance cache as
12921         a weak list.
12922         (update_widget_instances): ditto.
12923         (image_instance_type_to_mask):inlined.
12924         (free_frame_subwindow_instance_cache): new function. finalize all
12925         subwindows that are instantiated.
12926
12927         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12928         of cachel information.
12929         (IMAGE_INSTANCE_DISPLAY_X):
12930         (IMAGE_INSTANCE_DISPLAY_Y):
12931         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12932         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12933         (XIMAGE_INSTANCE_DISPLAY_X):
12934         (XIMAGE_INSTANCE_DISPLAY_Y):
12935         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12936         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12937         remove subwindow_cachel structure and function references.
12938         (image_instance_type_to_mask): inline from glyphs.c
12939
12940         * redisplay.c (redisplay_frame): remove subwindow_cachel
12941         references.
12942
12943         * frame.h (struct frame): remove subwindow_cachels.
12944         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12945
12946         * frameslots.h: add subwindow_instance_cache.
12947
12948         * window.c (replace_window): check subwindow cache of replacement.
12949         (window_unmap_subwindows_cache_mapper):
12950         (window_unmap_subwindows): new functions. Unmap all subwindows
12951         cached on this window.
12952         (mark_window_as_deleted): unmap all subwindows.
12953
12954 2000-04-27  Andy Piper  <andy@xemacs.org>
12955
12956         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12957
12958         * glyphs-widget.c (widget_layout): return something.
12959         (layout_layout): return something. Fail if not initialized.
12960         (layout_query_geometry): ditto.
12961         (image_instantiator_native_layout): new function. Initialized the
12962         native layout type.
12963         (widget_instantiate): don't do layout stuff here.
12964
12965         * glyphs.c (instantiate_image_instantiator): reorded calling or
12966         instantiate and post_instantiate with layout in between.
12967         (image_instance_layout): be more selective about deciding whether
12968         the layout has been done or not.
12969
12970         * glyphs.h (struct image_instantiator_methods): return a value
12971         from layout_method.
12972
12973 2000-04-26  Andy Piper  <andy@xemacs.org>
12974
12975         * glyphs.c (allocate_image_instance): make initial width and
12976         height unspecified. Set initialized to 0.
12977
12978         * syscommctrl.h new file. Encapsulates commctrl.h.
12979
12980         * syswindows.h new file. Encapsulates windows.h.
12981
12982         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12983         * nt.c: ditto.
12984         * console-msw.h: ditto.
12985
12986         * redisplay-tty.c (tty_output_display_block): remove layout references.
12987
12988         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12989         window handle rather than just the frame.
12990
12991         * glyphs.c (mark_image_instance): remove layout references.
12992         (print_image_instance): ditto.
12993         (image_instance_equal): ditto.
12994         (image_instance_hash): ditto.
12995         (decode_image_instance_type): ditto.
12996         (encode_image_instance_type): ditto.
12997         (image_instantiate): ditto.
12998         (allocate_glyph): ditto.
12999         (Fimage_instance_height): ditto.
13000         (Fimage_instance_width): ditto.
13001         (update_subwindow): ditto.
13002
13003         * redisplay-x.c (x_output_display_block): recode for layouts as
13004         widgets.
13005
13006         * redisplay-output.c (redisplay_output_layout): recode for layouts
13007         as widgets.
13008         (compare_runes): remove layout references.
13009
13010         * redisplay-msw.c (mswindows_output_display_block): recode for
13011         layouts as widgets.
13012
13013         * glyphs-widget.c (image_instantiator_layout): remove
13014         layout_possible_dest_types.
13015         (layout_possible_dest_types): deleted.
13016
13017         * glyphs.h (image_instance_type): remove layout references.
13018         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13019         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13020         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13021
13022 2000-04-25  Andy Piper  <andy@xemacs.org>
13023
13024         * glyphs-widget.c (image_instantiator_buttons):
13025         (image_instantiator_edit_fields):
13026         (image_instantiator_combo_box):
13027         (image_instantiator_scrollbar):
13028         (image_instantiator_progress_guage):
13029         (image_instantiator_tree_view):
13030         (image_instantiator_tab_control):
13031         (image_instantiator_labels):
13032         (image_instantiator_layout): call default post_instantiate method.
13033         (widget_post_instantiate): new function. Simply lays out the
13034         widgets.
13035
13036         * glyphs.h (struct image_instantiator_methods): add
13037         post_instantiate method.
13038
13039         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13040         method calls.
13041
13042 2000-04-23  Andy Piper  <andy@xemacs.org>
13043
13044         * glyphs.h (struct image_instantiator_methods): add
13045         decode_domain_method.
13046         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13047         derived from the domain.
13048         (IMAGE_INSTANCE_FRAME): new accessor.
13049         (XIMAGE_INSTANCE_FRAME): ditto.
13050
13051         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13052         instead of _SUBWINDOW_FRAME.
13053         (finalize_image_instance): ditto.
13054         (Fimage_instance_foreground): ditto.
13055         (Fimage_instance_background): ditto.
13056         (image_instantiate): ditto.
13057         (update_subwindow_cachel): ditto.
13058         (update_subwindow): ditto.
13059         (unmap_subwindow): ditto.
13060         (map_subwindow): ditto
13061         (subwindow_instantiate): ditto.
13062         * glyphs-msw.c (mswindows_update_widget): ditto.
13063         (mswindows_progress_gauge_instantiate): ditto.
13064         (mswindows_tab_control_update): ditto.
13065         * glyphs-x.c (x_update_widget): ditto.
13066         (x_widget_instantiate): ditto.
13067         (x_tab_control_instantiate): ditto.
13068         (x_tab_control_update): ditto.
13069         * event-msw.c (mswindows_wnd_proc): ditto
13070
13071         * glyphs-widget.c (image_instantiator_layout): use
13072         subwindow_decode_domain.
13073         (image_instantiator_buttons): ditto.
13074         (image_instantiator_edit_fields): ditto.
13075         (image_instantiator_combo_box): ditto.
13076         (image_instantiator_scrollbar): ditto.
13077         (image_instantiator_progress_guage): ditto.
13078         (image_instantiator_tree_view): ditto.
13079         (image_instantiator_tab_control): ditto.
13080         (image_instantiator_labels): ditto.
13081         (image_instantiator_layout): ditto.
13082
13083         * glyphs.c: add instance error checking to many functions.
13084         (instantiate_image_instantiator): decode device from cache_domain.
13085         (image_instantiate): partially rewrite by using
13086         decode_image_instantiator_domain to determine what domain the
13087         instance needs to be cached in.
13088         (decode_image_instantiator_domain): new function. Determine what
13089         domain the image needs to be cached in.
13090         (check_window_subwindow_cache): new error checking function.
13091         (check_instance_cache_mapper): ditto.
13092         (check_image_instance_structure): ditto.
13093         (subwindow_decode_domain): new function. Encodes a window as a
13094         subwindow's cache domain.
13095         (image_instantiator_format_create): use it for text and
13096         subwindows.
13097
13098 2000-04-21  Andy Piper  <andy@xemacs.org>
13099
13100         * glyphs.c (image_instance_device): new function.
13101         (image_instance_frame): new function.
13102         (image_instance_window): new function.
13103         (image_instance_live_p): new function.
13104
13105         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13106         cache to nil.
13107
13108         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13109         (IMAGE_INSTANCE_DOMAIN): new accessor.
13110         (XIMAGE_INSTANCE_DOMAIN): ditto.
13111
13112         * glyphs-x.c (x_finalize_image_instance): device->domain.
13113
13114         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13115         (mswindows_finalize_image_instance): ditto.
13116
13117         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13118         (gif_instantiate): ditto.
13119         (png_instantiate): ditto.
13120         (tiff_instantiate): ditto.
13121
13122         * glyphs.c (instantiate_image_instantiator): use domain rather
13123         than device.
13124         (mark_image_instance): device -> domain.
13125         (print_image_instance): ditto.
13126         (finalize_image_instance): ditto.
13127         (image_instance_equal): ditto.
13128         (allocate_image_instance): ditto.
13129         (Fcolorize_image_instance): ditto.
13130         (query_string_geometry): ditto.
13131         (image_instantiate): ditto
13132         (query_string_font): ditto.
13133         (image_instantiate): ditto.
13134         (update_subwindow): ditto.
13135         (unmap_subwindow): ditto.
13136         (map_subwindow): ditto.
13137         (subwindow_instantiate): ditto.
13138
13139         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13140         (DOMAIN_FRAME): ditto.
13141         (DOMAIN_WINDOW): ditto.
13142         (DOMAIN_LIVE_P): ditto.
13143         (XDOMAIN_DEVICE): ditto.
13144         (XDOMAIN_FRAME): ditto.
13145         (XDOMAIN_WINDOW): ditto.
13146
13147         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13148         a valid specifier domain.
13149
13150 2000-04-19  Andy Piper  <andy@xemacs.org>
13151
13152         * glyphs-widget.c (syms_of_glyphs_widget): remove
13153         widget-callback-current-channel.
13154         (vars_of_glyphs_widget): ditto.
13155         * glyphs.h: ditto
13156
13157         * gui.c (get_gui_callback): revert to previous behaviour.
13158
13159 2000-04-18  Andy Piper  <andy@xemacs.org>
13160
13161         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13162         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13163         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13164
13165         * glyphs.c (image_instance_equal): add margin_width.
13166         (image_instance_hash): ditto.
13167
13168         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13169         (layout_query_geometry): ditto.
13170         (layout_layout): ditto.
13171         (syms_of_glyphs_widget): add margin-width.
13172         (image_instantiator_layout): allow margin-width.
13173
13174         * glyphs.c (update_widget_instances): make a normal function.
13175         (syms_of_glyphs): remove Qupdate_widget_instances.
13176         * glyphs.h: ditto.
13177
13178         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13179         so that we don't corrupt ideas about the last event or
13180         command. Remove widget-callback-current-channel fiddling.
13181         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13182
13183 2000-05-01  Martin Buchholz <martin@xemacs.org>
13184
13185         * XEmacs 21.2.33 is released.
13186
13187 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13188
13189         * make-src-depend: Allow dots in header file name.
13190
13191 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13192
13193         * mule-charset.h (struct charset_lookup): Add
13194         next_allocated_1_byte_leading_byte and
13195         next_allocated_2_byte_leading_byte.
13196         * mule-charset.c: Move above two variables so that those values
13197         will be dumped.
13198
13199 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13200
13201         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13202         when string length is zero.
13203         (find_charsets_in_emchar_string): Ditto.
13204
13205 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13206
13207         * lisp.h: extern Qdialog and Qmenubar.
13208
13209         * gui-x.c: added events.h.
13210                 also fixed typo which made the file uncompilable.
13211
13212         * general.c: Added Qmenubar and Qdialog
13213
13214 2000-04-28  Ben Wing  <ben@xemacs.org>
13215
13216         * frame-msw.c (mswindows_init_frame_1):
13217         * frame-msw.c (mswindows_mark_frame):
13218         * event-msw.c (mswindows_enqueue_dispatch_event):
13219         * console-msw.h:
13220         * console-msw.h (struct mswindows_frame):
13221         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13222         there are now three hash tables for callbacks.
13223         mswindows_enqueue_dispatch_event is no longer static.
13224
13225         * dialog-x.c (maybe_run_dbox_text_callback):
13226         * dialog-x.c (dbox_descriptor_to_widget_value):
13227         switch to new cons3 form for callbacks.
13228
13229         * glyphs-msw.c (mswindows_register_gui_item):
13230         * glyphs-msw.c (mswindows_widget_instantiate):
13231         * glyphs-msw.c (add_tree_item):
13232         * glyphs-msw.c (add_tab_item):
13233         new image instance parameter, so it can be passed to callback-ex.
13234         respect :callback-ex as well as :callback.
13235
13236         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13237         add :callback-ex.
13238
13239         * glyphs.c (print_image_instance):
13240         prettify, e.g. now prints widget type.
13241
13242         * gui-x.h:
13243         certain funs have new image instance parameter.
13244
13245         * gui.c:
13246         * gui.c (get_gui_callback):
13247         * gui.c (gui_item_add_keyval_pair):
13248         * gui.c (gui_item_init):
13249         * gui.c (gui_add_item_keywords_to_plist):
13250         * gui.c (mark_gui_item):
13251         * gui.c (gui_item_hash):
13252         * gui.c (gui_item_equal):
13253         * gui.c (copy_gui_item):
13254         * gui.c (syms_of_gui):
13255         recognize callback-ex in a number of places.
13256         also, fix the annoying "can't get out of yes-no dialog" bug.
13257
13258         * gui.h:
13259         * gui.h (struct Lisp_Gui_Item):
13260         recognize callback-ex in a number of places.
13261
13262         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13263         new parameter in button_item_to_widget_value.
13264
13265         * glyphs-x.c (x_update_widget):
13266         * glyphs-x.c (x_button_instantiate):
13267         * glyphs-x.c (x_button_update):
13268         * glyphs-x.c (x_progress_gauge_instantiate):
13269         * glyphs-x.c (x_edit_field_instantiate):
13270         * glyphs-x.c (x_combo_box_instantiate):
13271         * glyphs-x.c (x_tab_control_instantiate):
13272         * glyphs-x.c (x_label_instantiate):
13273         new image instance parameter in various places.
13274
13275         * event-Xt.c:
13276         * event-Xt.c (enqueue_Xt_dispatch_event):
13277         this fun gets exported.
13278
13279         * gui-msw.c:
13280         * gui-msw.c (mswindows_handle_gui_wm_command):
13281         handle both :callback and :callback-ex, and generate our own
13282         event because it's one of the callback-ex arguments.
13283
13284         * gui-x.c:
13285         * gui-x.c (popup_selection_callback):
13286         handle both :callback and :callback-ex, and generate our own
13287         event because it's one of the callback-ex arguments.
13288         * gui-x.c (button_item_to_widget_value):
13289         * gui-x.c (gui_items_to_widget_values_1):
13290         * gui-x.c (gui_item_children_to_widget_values):
13291         * gui-x.c (gui_items_to_widget_values):
13292         new image instance parameter in various places.
13293
13294         * fns.c (Freplace_list):
13295         fix small typo in doc string.
13296
13297         * lisp.h:
13298         declare enqueue_Xt_dispatch_event.
13299
13300 2000-04-28  Ben Wing  <ben@xemacs.org>
13301
13302         * buffer.c:
13303         * buffer.c (Frecord_buffer):
13304         * buffer.c (syms_of_buffer):
13305         delete record-buffer-hook.
13306
13307         * fns.c:
13308         * fns.c (Freplace_list):
13309         * fns.c (syms_of_fns):
13310         new primitive replace-list.
13311
13312         * frameslots.h:
13313         slot for old buffer-alist.
13314
13315         * lisp.h:
13316         exfun replace-list.
13317
13318         * redisplay.c:
13319         * redisplay.c (redisplay_frame):
13320         * redisplay.c (syms_of_redisplay):
13321         * redisplay.c (vars_of_redisplay):
13322         new hook buffer-list-changed-hook.
13323         call it.
13324
13325 2000-04-27  Ben Wing  <ben@xemacs.org>
13326
13327         * extents.h: extern in_modeline_generation.
13328
13329         * redisplay.c (generate_formatted_string_db): set
13330         in_modeline_generation.
13331
13332         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13333         flags if in modeline generation.  otherwise frame-modified-tick
13334         is ticked far too often.
13335         Declare in_modeline_generation.
13336
13337 2000-04-26  Ben Wing  <ben@xemacs.org>
13338
13339         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13340         option.
13341         (vars_of_emacs): add quick-build as an error-checking option.
13342         A bit kludgy, but there doesn't seem much point in creating
13343         a real var for this.
13344
13345         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13346
13347 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13348
13349         * redisplay.h (struct display_line): Add a new variable,
13350         line_continuation.
13351
13352         * redisplay.c (create_text_block): Set dl->line_continuation if
13353         the line continues.
13354         (create_string_text_block): Ditto.
13355         (regenerate_window_incrementally): Use line_continuation instead
13356         of searching continuation glyph.
13357         (add_margin_runes): Call add_glyph_rune.
13358         (add_glyph_rune): Handle margin glyph.
13359
13360 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13361
13362         * filelock.c (fill_in_lock_file_name):
13363         ANSIfy.
13364         Check for IS_ANY_SEP instead of '/'.
13365         (lock_file_1):
13366         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13367         Never check errno without first seeing that system call failed.
13368         (unlock_file): Add GCPRO.
13369         (Flock_buffer): Fix docstring.
13370         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13371
13372 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13373
13374         * sysdep.c (get_pty_max_bytes):
13375         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13376         strings longer than 252 bytes.
13377
13378         * md5.c: Unconditionally include ANSI header <limits.h>
13379
13380         * glyphs-x.c (convert_EImage_to_XImage):
13381         * lisp-union.h (union Lisp_Object):
13382         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13383
13384 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13385
13386         * filelock.c (current_lock_owner): Remove unused variable o, p.
13387
13388 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13389
13390         * callint.c: Remove multiply defined symbol Qlet
13391         (syms_of_callint): ditto.
13392
13393 2000-04-14  Andy Piper  <andy@xemacs.org>
13394
13395         * general.c (syms_of_general): add last-command, this-command, let
13396         and funcall.
13397
13398         * lisp.h: declare various symbols.
13399
13400         * glyphs.h: declare Qwidget_callback_current_channel;
13401
13402         * glyphs-widget.c (syms_of_glyphs_widget): add
13403         Qgui_callback_current_channel.
13404         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13405
13406         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13407         widget-callback-current-channel when invoking the interactive
13408         arg. Also bind last-command and next-command when invoking the
13409         widget updates.
13410         * gui-x.c (popup_selection_callback): ditto.
13411
13412         * gui.c (get_gui_callback): massage args so that we are always
13413         calling eval. This allows us to add our own variable bindings
13414         outside.
13415
13416         * glyphs-x.c (x_button_instantiate): use
13417         gui_items_to_widget_values since this is GC safe.
13418         (x_progress_gauge_instantiate): ditto.
13419         (x_edit_field_instantiate): ditto.
13420         (x_label_instantiate): ditto.
13421
13422         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13423         (emacs_Xt_event_widget_focus_out): new function
13424         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13425         focus.
13426         (emacs_Xt_event_add_widget_actions): new function. add focus
13427         functions as actions.
13428         (init_event_Xt_late): use it.
13429
13430 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13431
13432         * event-stream.c (Fdispatch_event): Doc fix.
13433
13434 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13435
13436         * postgresql.c: Remove all references to PQsetenv*.
13437
13438         * postgresql.h: Remove references to PGsetenvHandler object.
13439         * lrecord.h (lrecord_type): Ditto.
13440
13441 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13442
13443         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13444         real_heigh and real_width members, and accessor macros for these.
13445
13446         * glyphs-msw.c (init_image_instance_geometry): New function.
13447         (init_image_instance_from_dibitmap): Use it.
13448         (mswindows_resource_instantiate): Use it.
13449         (init_image_instance_from_xbm_inline): Use it.
13450         (mswindows_initialize_image_instance_mask): Use real bitmap
13451         geometry.
13452         (mswindows_create_resized_bitmap): Ditto.
13453         (mswindows_create_resized_mask): Ditto.
13454
13455         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13456         and bitmap to their surface size.
13457
13458 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13459
13460         * process-unix.c (unix_send_process): Guard against process MIA
13461         after Faccept_process_output.
13462
13463 2000-04-11  Ben Wing  <ben@xemacs.org>
13464
13465         * eval.c (unbind_to_hairy): fix brokenness introduced by
13466         nanosecond speed improvements.
13467
13468 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13469
13470         * sunplay.c (init_device): To play sounds correctly, the device
13471         apparently needs to be initialized at least once by XEmacs.  Make
13472         it so.
13473
13474 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13475
13476         * redisplay.c (add_margin_runes): Add text image glyph
13477           handling.
13478
13479 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13480
13481         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13482         gcc is newer than 2.5.
13483
13484 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13485
13486         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13487
13488         * fns.c (size_bit_vector):
13489         * alloc.c (size_vector):
13490         (make_vector_internal):
13491         (make_bit_vector_internal):
13492         (sweep_bit_vectors_1):
13493         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13494
13495 2000-04-06  Andy Piper  <andy@xemacs.org>
13496
13497         * gmalloc.c (malloc): undo previous change.
13498         (malloc): ditto.
13499         (free): ditto.
13500         (realloc): ditto.
13501
13502 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13503
13504         * line-number.c (buffer_line_number): Revert to former version.
13505
13506 2000-04-06  Andy Piper  <andy@xemacs.org>
13507
13508         * gmalloc.c (malloc): add error checking.
13509         (malloc): ditto.
13510         (free): ditto.
13511         (realloc): ditto.
13512
13513         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13514         button_item_to_widget_value arg.
13515
13516         * glyphs-x.c (x_button_instantiate): add extra
13517         button_item_to_widget_value arg.
13518         (x_progress_gauge_instantiate): ditto.
13519         (x_edit_field_instantiate): ditto.
13520         (x_label_instantiate): ditto.
13521
13522         * gui-x.c (gui_items_to_widget_values_1): add extra
13523         button_item_to_widget_value arg.
13524         (button_item_to_widget_value): add extra menu_item_p arg.
13525
13526         * gui-x.h: change signature of button_item_to_widget_value.
13527
13528         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13529         button_item_to_widget_value arg.
13530
13531 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13532
13533         * buffer.h (struct buffer): auto_save_modified should be long.
13534
13535 2000-04-05  Andy Piper  <andy@xemacs.org>
13536
13537         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13538         type.
13539         (button_query_geometry): give a little more room so that athena
13540         buttons fit.
13541
13542 2000-04-05  Andy Piper  <andy@xemacs.org>
13543
13544         * faces.c (complex_vars_of_faces): The widget face should inherit
13545         the font of the gui-element face.
13546
13547 2000-04-04  Andy Piper  <andy@xemacs.org>
13548
13549         * glyphs-x.c (x_button_update): new function. unconditionally
13550         update a button's state when the instance is dirty.
13551         (image_instantiator_format_create_glyphs_x): add x_button_update.
13552         (x_widget_instantiate): remove old resize cruft.
13553
13554 2000-04-02  Andy Piper  <andy@xemacs.org>
13555
13556         * frame.c (change_frame_size_1): The introduction of gutters means
13557         that we need to allow 0 as a potential frame dimension.
13558
13559 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13560
13561         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13562         image glyph if allow_cursor.
13563         (add_hscroll_rune): Don't allow cursor to border glyph.
13564         (create_text_block): Ditto.
13565
13566         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13567         text not in buffer.
13568         (redisplay_output_layout): Call ensure_face_cachel_complete for
13569         text image glyph.
13570
13571
13572 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13573
13574         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13575
13576         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13577         not in buffer
13578
13579         * redisplay-tty.c (tty_output_display_block): Delete the routine
13580         for text image glyph
13581         * redisplay-x.c (x_output_display_block): ditto
13582         * redisplay-msw.c (mswindows_output_display_block): ditto
13583
13584 2000-02-02  Mike Alexander  <mta@arbortext.com>
13585
13586         Note: Some of these were committed by accident as part of other
13587         patches.
13588
13589         * regex.c (regex_compile): Avoid compiler warnings.
13590
13591         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13592
13593         * nt.h: Declare term_ntproc correctly.
13594
13595         * nt.c: Remove incorrect declaration of get_home_directory which
13596         is declared correctly in lisp.h.
13597
13598         * keymap.c (get_keyelt): Avoid compiler warnings.
13599         (raw_lookup_key_mapper): Avoid compiler warnings.
13600
13601         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13602
13603         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13604
13605         * filemode.c (mode_string): Avoid compiler warnings.
13606
13607         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13608         avoid warning.
13609
13610         * events-mod.h: Undef some things that winuser.h defines differently.
13611
13612         * data.c (Faset): Avoid compiler warnings.
13613
13614         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13615
13616 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13617
13618         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13619         Fall through to simple beep on error.
13620         Replace "extern" by real header file.
13621
13622         * linuxplay.c: Use nativesound.h
13623         (play_sound_data): Return error code. Be less verbose on error.
13624
13625         * sunplay.c: Use nativesound.h
13626         (play_sound_data): Return error code. Be less verbose on error.
13627
13628         * ntplay.c: Use nativesound.h
13629         (play_sound_data): Return fake error code
13630
13631         * sgiplay.c: Use nativesound.h
13632         (play_sound_data): Return error code
13633
13634         * hpplay.c: Use nativesound.h, partially implement
13635         new error code. Break compilation until finished.
13636         (play_sound_data): error code.
13637
13638         * nativesound.h (play_sound_file):
13639           (play_sound_data): Prototype in new header.
13640
13641 2000-03-31  Andy Piper  <andy@xemacs.org>
13642
13643         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13644         for toggle and radio buttons.
13645         (image_instantiator_buttons): use it.
13646
13647 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13648
13649         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13650         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13651         found. Scrollbar event probably belonged to some old config.
13652
13653 2000-03-31  Andy Piper  <andy@xemacs.org>
13654
13655         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13656         than 1.
13657         (initialize_widget_image_instance): default layout to
13658         LAYOUT_HORIZONTAL rather than 0.
13659         (widget_instantiate): reverse the item list at the end rather than
13660         every iteration.
13661         (layout_layout): re-code for the border text at the front of the
13662         item list rather than at the end.
13663         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13664         provided by the user.
13665         (widget_query_geometry): comment.
13666
13667 2000-03-30  Andy Piper  <andy@xemacs.org>
13668
13669         * glyphs-widget.c (image_instantiator_layout): allow standard
13670         widget keywords in layouts.
13671
13672         * gutter.c (output_gutter): cope with nil gutter contents.
13673
13674         * frame.c (Fset_frame_properties): add gutter docs.
13675
13676 2000-03-29  Andy Piper  <andy@xemacs.org>
13677
13678         * toolbar-msw.c (TBSTYLE_FLAT): add.
13679         (mswindows_output_toolbar): minor fiddling.
13680
13681 2000-03-29  Andy Piper  <andy@xemacs.org>
13682
13683         * gutter.c (output_gutter): force gutter size recalculation if
13684         what we are trying to display won't fit.
13685         (update_gutter_geometry): new function. A per-gutter version of
13686         update_frame_gutter_geometry.
13687         (update_frame_gutter_geometry): use it.
13688         (redraw_exposed_gutter): add extra debugging output.
13689
13690 2000-03-28  Mike Alexander  <mta@arbortext.com>
13691
13692         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13693         (pdump_file_unmap): Implement it on Windows
13694         (pdump_file_get): Save alocated handles for pdump_file_unmap
13695
13696 2000-03-28  Andy Piper  <andy@xemacs.org>
13697
13698         * gui.c (get_gui_callback): treat Quit specially.
13699
13700 2000-03-27  Andy Piper  <andy@xemacs.org>
13701
13702         * glyphs.c (image_instantiate): be careful to check in the same
13703         way we assigned.
13704
13705 2000-03-27  Didier Verna  <didier@xemacs.org>
13706
13707         * config.h.in: define the proper SMART_INCLUDE macro.
13708         handle renaming of `foo_h_path' to `foo_h_file'.
13709
13710         * database.c: ditto.
13711
13712         * emacs.c: ditto.
13713
13714         * linuxplay.c: ditto.
13715
13716         * terminfo.c: ditto.
13717
13718         * tooltalk.h: ditto.
13719
13720 2000-03-27  Andy Piper  <andy@xemacs.org>
13721
13722         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13723         gets updated whenever the face might have changed.
13724
13725 2000-03-26  Mike Alexander  <mta@arbortext.com>
13726
13727         * dumper.c (pdump_resource_free): Fix the comment.
13728
13729 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13730
13731         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13732
13733 2000-03-22  Mike Alexander  <mta@arbortext.com>
13734
13735         * dumper.c: Include Windows headers on Windows
13736         (pdump_resource_free): Add a body to the function
13737         (pdump_load): exe_name -> exe_path and add some comments.
13738
13739 2000-03-25  Mike Alexander  <mta@arbortext.com>
13740
13741         * gui.c (copy_gui_item_tree): Return a value in all cases
13742
13743 2000-03-21  Didier Verna  <didier@xemacs.org>
13744
13745         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13746         lwlib/config.h.in.
13747         (SMART_INCLUDE): new macro.
13748         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13749         the proper location.
13750
13751         * postgresql.c: use it.
13752
13753         * inline.c: ditto.
13754
13755 2000-03-24  Andy Piper  <andy@xemacs.org>
13756
13757         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13758         do this.
13759
13760 2000-03-24  Andy Piper  <andy@xemacs.org>
13761
13762         * redisplay-output.c (compare_runes): use image_instance_changed
13763         to detect changes. Do not depend on glyphs_changed, only depend on
13764         dirtiness.
13765          (redisplay_output_layout): add debug messages.
13766         (compare_runes): ditto.
13767
13768         * glyphs.h: declare new functions.
13769         (struct Lisp_Image_Instance): remove percent and associated
13770         accessors.
13771
13772         * gui.h: declare new copying functions.
13773
13774         * gui.c (copy_gui_item_tree): new function.
13775         (copy_gui_item): new function.
13776         (gui_item_id_hash): revert to standard hash.
13777         (gui_item_hash): ditto.
13778         (gui_item_hash_internal): deleted.
13779         (mark_gui_item): mark value.
13780         (gui_item_add_keyval_pair): add value.
13781         (gui_item_init): ditto.
13782         (gui_add_item_keywords_to_plist): ditto.
13783         (gui_item_equal): ditto.
13784         (syms_of_gui): add Q_value.
13785
13786         * glyphs-x.c (x_progress_gauge_update): use pending items and
13787         value for setting the state.
13788         (x_update_widget): don't set items from pending here.
13789
13790         * glyphs-widget.c (update_widget): update items here.
13791         (progress_gauge_set_property): use items for storing value. Put
13792         new value in pending items.
13793
13794         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13795         items for new value. Convert percent -> value.
13796         (mswindows_tab_control_update): don't update items here.
13797
13798         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13799         (update_subwindow): ditto.
13800         (image_instance_changed): new function. Compare hash values and
13801         past and present widget items.
13802         (image_instantiate): We more careful about where we instantiate
13803         things.
13804         (image_instantiate): add error checking.
13805
13806         * gutter.c (syms_of_gutter): use -hook.
13807
13808 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13809
13810         * console-tty.c (Fset_console_tty_input_coding_system): Use
13811         Qkeyboard.
13812         (Fset_console_tty_output_coding_system): Use Qterminal.
13813         (tty_init_console): Use Qkeyboard and Qterminal.
13814
13815 2000-03-21  Ben Wing  <ben@xemacs.org>
13816
13817         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13818         From Mike Alexander <mta@arbortext.com>.
13819
13820 2000-03-21  Ben Wing  <ben@xemacs.org>
13821
13822         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13823         process brokenness.  Proper implementation to come.
13824         * callproc.c:
13825         Rename call-process-internal to old-call-process-internal.
13826         New impl. in process.el.
13827
13828 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13829
13830         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13831
13832 2000-03-20  Andy Piper  <andy@xemacs.org>
13833
13834         * glyphs.c (full_list_hash): make hashes of the same elements in
13835         different orders return different values.
13836
13837 2000-03-20  Martin Buchholz <martin@xemacs.org>
13838
13839         * XEmacs 21.2.32 is released.
13840
13841 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13842
13843         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13844         (DFC_MALLOC_USE_CONVERTED_DATA):
13845         Add aliasing-safe casts to allow use with char* or unsigned char*
13846         lvalues.
13847
13848         * eldap.c (Fldap_open):
13849         (Fldap_search_basic):
13850         (Fldap_add):
13851         (Fldap_modify):
13852         Make C++-compilable.
13853         Make sure GCPRO'ed variables are initialized.
13854         Use temp variables to avoid repeated calls to Flength.
13855
13856 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13857
13858         * sysfile.h:
13859         Make sure PATH_MAX is always defined.
13860         Include limits.h for PATH_MAX.
13861         Deprecate use of MAXPATHLEN.
13862
13863 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13864
13865         * emacs.c: Add reinit_vars_of_fileio.
13866         * symsinit.h: Add reinit_vars_of_fileio.
13867         * fileio.c (reinit_vars_of_fileio): New.
13868         * fileio.c (Fmake_temp_name):
13869         Initialize temp_name random number from microseconds to make
13870         collisions even less likely.  Initialize always at process startup
13871         time.  (make-temp-name) used to return the same file name twice in
13872         a row when PDUMP.
13873         Random stylistic fiddling.
13874         Comment fixes.
13875
13876 2000-03-20  Andy Piper  <andy@xemacs.org>
13877
13878         * glyphs.c (image_instantiate): allow text glyphs to be
13879         instantiated in the minibuffer window.
13880
13881 2000-03-19  Andy Piper  <andy@xemacs.org>
13882
13883         * glyphs.c (image_instance_hash): be careful about which items we
13884         hash on.
13885
13886         * glyphs-widget.c (tab_control_set_property): record into pending
13887         items rather than the actual items.
13888
13889         * glyphs-x.c (x_update_widget): use pending items to update with.
13890
13891         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13892         to update with.
13893
13894         * glyphs.c (mark_image_instance): mark pending items.
13895
13896         * window.c (Fset_window_configuration): record the buffer.
13897         (Fselect_window): totally revert previous change which breaks many
13898         things.
13899
13900 2000-03-18  Andy Piper  <andy@xemacs.org>
13901
13902         * glyphs-msw.c (mswindows_tab_control_update): force selected
13903         item.
13904
13905         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13906         window domain cache, otherwise we get inconsistencies at
13907         startup. There is something fishy at startup which can lead to the
13908         minibuffer being the selected window when the gutter content is
13909         instantiated.
13910
13911         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13912         gcpros.
13913         (parse_gui_item_tree_children): ditto.
13914         (parse_gui_item_tree_item): ditto.
13915
13916         * glyphs.c (Fupdate_widget_instances): return something.
13917
13918 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13919
13920         * window.c (Fselect_window): Undo 2000-03-17 change.
13921
13922 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13923
13924         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13925         against v7.0 libraries.  Insta-coredump city until the postgres
13926         folks fix it.
13927
13928 2000-03-17  Andy Piper  <andy@xemacs.org>
13929
13930         * faces.c (complex_vars_of_faces): don't give the widget face an
13931         inherited background pixmap.
13932
13933         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13934         selected item.
13935
13936         * event-stream.c (Fdispatch_non_command_events): return something.
13937
13938         * gutter.c (output_gutter): use widget face.
13939         (clear_gutter): ditto.
13940
13941         * NEWS: adjust again.
13942
13943         * window.c (Fselect_window): make sure this runs to completion to
13944         avoid oddities with Fset_window_configuration.
13945         (Fcurrent_window_configuration): in general do not save the
13946         minibuffer as the selected window.
13947
13948         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13949
13950 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13951
13952         * emacs.c (Frunning_temacs_p): Revert previous patch.
13953         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13954
13955 2000-03-16  Andy Piper  <andy@xemacs.org>
13956
13957         * glyphs-x.c (x_tab_control_update): if no widget values then
13958         return.
13959
13960         * NEWS: update for new features.
13961
13962         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13963         synthetic event to the native system.
13964         (reinit_vars_of_event_Xt): set force_event_pending to
13965         emacs_Xt_force_event_pending.
13966
13967         * events.h (struct event_stream): add force_event_pending.
13968
13969         * specifier.c (recompute_one_cached_specifier_in_window): add
13970         comment.
13971
13972         * redisplay.c (redisplay_frame): don't call
13973         update_frame_subwindows. Reset subwindow cachels when
13974         subwindows_changed, removing this was an optimization too far.
13975
13976         * redisplay-output.c (compare_runes): reorganize so that we catch
13977         glyph changes when we want them. Set optimize_output when this
13978         would help layouts.
13979         (redisplay_output_layout): remove frame_really_changed, use
13980         optimize_output instead.
13981
13982         * redisplay-msw.c (mswindows_output_display_block): reset
13983         optimize_output after outputting a glyph.
13984         * redisplay-x.c (x_output_display_block): ditto.
13985         * redisplay-tty.c (tty_output_display_block): ditto.
13986
13987         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13988         functions.
13989         (gutter_specs_changed): do specific gutter positions.
13990         (top_gutter_specs_changed): new function. Only update the
13991         specified gutter specs.
13992         (bottom_gutter_specs_changed): ditto.
13993         (left_gutter_specs_changed): ditto.
13994         (right_gutter_specs_changed): ditto.
13995
13996         * gui.c (gui_item_hash_internal): new function, does a real hash.
13997         (gui_item_id_hash): use it.
13998         (gui_item_hash): hash the eval'ed gui_item.
13999
14000         * gui-x.c (popup_selection_callback): send an eval event to call
14001         Fupdate_widget_instances.
14002
14003         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14004         to call Fupdate_widget_instances.
14005
14006         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14007         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14008
14009         * glyphs.c: (update_frame_subwindows): deleted.
14010         (Fupdate_widget_instances): new function for updating the dirty
14011         state of widgets that might have changed.
14012         (syms_of_glyphs): add Qupdate_widget_instances.
14013         (full_list_hash): hash a list completely.
14014         (image_instance_hash): use it for items and properties.
14015
14016         * frame-msw.c (mswindows_size_frame_internal): remove unused
14017         variable.
14018
14019         * faces.h (struct face_cachel): fix comment.
14020
14021         * event-stream.c (Fdispatch_non_command_events): new
14022         function. Process non-command events, forcing an event cycle
14023         beforehand.
14024         (syms_of_event_stream): declare.
14025         (event_stream_force_event_pending): new function. Force an event
14026         on the native event queue so that an event cycle will occur next
14027         time we check.
14028
14029         * event-msw.c:
14030         (struct ntpipe_shove_stream):
14031         (mswindows_enqueue_dispatch_event):
14032         (mswindows_dequeue_dispatch_event):
14033         (mswindows_cancel_dispatch_event):
14034         (mswindows_pump_outstanding_events):
14035         (mswindows_drain_windows_queue):
14036         (mswindows_handle_paint):
14037         (mswindows_wnd_proc):
14038         (mswindows_key_to_emacs_keysym):
14039         (get_process_input_waitable):
14040         (emacs_mswindows_delete_stream_pair): re-indent file.
14041         (mswindows_need_event): do not process further fds if the windows
14042         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14043         fixes the 100% cpu problem.
14044         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14045
14046 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14047
14048         * alloc.h: New.
14049         * dumper.h: New.
14050         * dumper.c: New.
14051
14052         * emacs.c: Moved dump file searching to dumper.c.
14053         (Frunning_temacs_p): Fixed.
14054
14055         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14056         last_lrecord_type_index_assigned.
14057
14058 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14059
14060         * symsinit.h: Added reinit parameter to init_console_stream
14061         declaration.
14062
14063         * lisp.h: Added file parameter to pdump_load declaration.
14064
14065         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14066         support.  Added dump file searching.
14067
14068         * config.h.in: Added EMACS_PROGNAME.
14069
14070         * console-stream.c (init_console_stream): Fix reinitialisation
14071         when running from temacs.
14072
14073         * alloc.c (pdump): Add id support.
14074         (pdump_load): Add file parameter and signature/id support.
14075
14076         * Makefile.in.in: Add full pdump support.
14077
14078 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14079
14080         * postgresql.c: Update documentation to reflect latest code
14081         status.
14082         (print_result): Show tuple counts in printed representation when
14083         appropriate.
14084         (Fpq_put_nbytes): MULE-ize.
14085         (Fpq_get_line_async): Ditto.
14086
14087 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14088
14089         * postgresql.c (Fpq_lo_import): Fix return value.
14090         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14091
14092 2000-03-13  Ben Wing  <ben@xemacs.org>
14093
14094         * alloc.c (pdump_load):
14095         Fix compile warning under mswin.
14096
14097 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14098
14099         * postgresql.c: Mule-ization, bug fixes.
14100         Use PG_CODING to encapsulate coding system name changes.
14101         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14102         (pg-coding-system): Create.
14103
14104         (Fpq_conn_defaults): Mule-ize.
14105         (Fpq_connectdb): Mule-ize & bug fix.
14106         (Fpq_connect_start): Mule-ize.
14107         (Fpq_set_client_encoding): Mule-ize.
14108         (Fpq_finish): Document `DEAD' connection status.
14109         (Fpq_clear): Ditto.
14110         (Fpq_pgconn): Mule-ize.
14111         (Fpq_exec): Mule-ize & bug fix.
14112         (Fpq_send_query): Ditto.
14113         (Fpq_get_result): Ditto.
14114         (Fpq_res_status): Mule-ize.
14115         (Fpq_result_error_message): Mule-ize.
14116         (Fpq_ntuples): fix comments.
14117         (Fpq_fname): Mule-ize.
14118         (Fpq_fnumber): Mule-ize.
14119         (Fpq_ftype): fix comments.
14120         (Fpq_get_value): Mule-ize.
14121         (Fpq_cmd_status): Ditto.
14122         (Fpq_cmd_tuples): Ditto.
14123         (Fpq_oid_value): Ditto.
14124         (Fpq_notifies): Ditto.
14125         (Fpq_lo_import): Ditto.
14126         (Fpq_lo_export): Ditto.
14127         (Fpq_get_line): Ditto.
14128         (Fpq_put_line): Mule-ize and bug fix.
14129         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14130
14131 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14132
14133         * postgresql.c (vars_of_postgresql): Mule-ize.
14134         (Fpq_conn_defaults): Ditto.
14135
14136 2000-03-12  Ben Wing  <ben@xemacs.org>
14137
14138         * alloc.c (Fmake_byte_code):
14139         * alloc.c (debug_string_purity_print):
14140         * alloc.c (pdump_backtrace):
14141         * alloc.c (pdump_get_indirect_count):
14142         * alloc.c (pdump_register_sub):
14143         * alloc.c (pdump_register_object):
14144         * alloc.c (pdump_register_struct):
14145         * alloc.c (pdump_dump_data):
14146         * alloc.c (pdump_reloc_one):
14147         Minor cleanups.
14148
14149         * console-msw.c:
14150         * console-msw.c (GetConsoleHwnd):
14151         * console-msw.c (msw_hide_console):
14152         * console-msw.c (msw_show_console):
14153         * console-msw.c (msw_ensure_console_buffered):
14154         * console-msw.c (msw_output_console_string):
14155         * console-msw.c (console_type_create_mswindows):
14156
14157         a) Added functions to manipulate the console window for use with
14158         shell support.
14159
14160         b) Added support for writing text to the console, which is now
14161         used under Windows when xemacs is not being run non-interactively,
14162         to write text that would otherwise be destined for stdout because
14163         under these circumstances, text written to stdout tends to
14164         disappear and not be seen.
14165
14166         * console-msw.h:
14167         * event-Xt.c:
14168         * event-Xt.c (x_event_to_emacs_event):
14169         * event-Xt.c (describe_event_window):
14170         * events-mod.h (XEMACS_MOD_CONTROL):
14171         * events.c:
14172         * events.c (Fmake_event):
14173         * events.c (character_to_event):
14174         * events.c (event_to_character):
14175         * events.c (format_event_object):
14176         * events.c (Fevent_modifiers):
14177         * events.h:
14178         * events.h (struct key_data):
14179         * events.h (struct button_data):
14180         * events.h (struct misc_user_data):
14181         * frame-x.c (Fcde_start_drag_internal):
14182         * frame-x.c (Foffix_start_drag_internal):
14183         * gpmevent.c (Freceive_gpm_event):
14184         * keymap.c:
14185         * keymap.c (bucky_sym_to_bucky_bit):
14186         * keymap.c (control_meta_superify):
14187         * keymap.c (make_key_description):
14188         * keymap.c (keymap_lookup_directly):
14189         * keymap.c (create_bucky_submap):
14190         * keymap.c (keymap_store):
14191         * keymap.c (define_key_check_and_coerce_keysym):
14192         * keymap.c (define_key_parser):
14193         * keymap.c (define_key_alternate_name):
14194         * keymap.c (Fdefine_key):
14195         * keymap.c (raw_lookup_key_mapper):
14196         * keymap.c (struct map_keymap_unsorted_closure):
14197         * keymap.c (map_keymap_unsorted_mapper):
14198         * keymap.c (map_keymap_sort_predicate):
14199         * keymap.c (map_keymap_sorted):
14200         * keymap.c (accessible_keymaps_mapper_1):
14201         * keymap.c (where_is_recursive_mapper):
14202         * keymap.c (describe_map_mapper):
14203         * keymap.c (describe_map_sort_predicate):
14204         * keymap.c (describe_map):
14205         * keymap.c (complex_vars_of_keymap):
14206         And a number of other files, the key modifier preprocessor
14207         constants that xemacs uses have names that conflict with constants
14208         defined under MS Windows for other purposes, so they were renamed
14209         to begin with the prefix XEMACS_. The variables that hold such
14210         modifiers were changed to consistently be of type int to fix
14211         various compile warnings.
14212
14213         * console.c (complex_vars_of_console):
14214         * device.c:
14215         * device-msw.c:
14216         * device-msw.c (mswindows_finish_init_device):
14217         * device-msw.c (msw_get_workspace_coords):
14218         * device-msw.c (mswindows_device_system_metrics):
14219         and various other files, added support for a new
14220         device property called offset-workspace which returns the position
14221         of the upper left corner of the workspace area and goes along with
14222         the existing size-workspace property.
14223
14224         * dialog-msw.c:
14225         * dialog-msw.c (push_bufbyte_string_as_unicode):
14226         * dialog-msw.c (mswindows_popup_dialog_box):
14227         Added support for XEmacs-style accelerator specifications in
14228         button text.  Note: I didn't add support for this under X Windows,
14229         and somebody needs to do this.
14230
14231         * dialog.c:
14232         * dialog.c (Fpopup_dialog_box):
14233         Documented the support for accelerators that was just mentioned.
14234
14235         editfns.c (get_home_directory): Changed behavior under Windows
14236         when HOME not defined; former behavior was irretrievably broken.
14237
14238         * emacs.c:
14239         * emacs.c (main_1):
14240         * emacs.c (main):
14241         * minibuf.c (clear_echo_area_internal):
14242         * minibuf.c (echo_area_append):
14243         * print.c:
14244         * print.c (std_handle_out_external):
14245         * print.c (std_handle_out_va):
14246         * print.c (fatal):
14247         * print.c (write_string_to_stdio_stream):
14248         * print.c (output_string):
14249         * print.c (debug_print):
14250         * print.c (debug_backtrace):
14251         * print.c (debug_short_backtrace):
14252         Cleaned up the code that prints text to stdout so that this can be
14253         changed to output into a console window instead under MS Windows,
14254         as described above.
14255
14256         * eval.c:
14257         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14258         * eval.c (internal_catch):
14259         * eval.c (unwind_to_catch):
14260         * eval.c (throw_or_bomb_out):
14261         * eval.c (condition_case_1):
14262         * eval.c (signal_1):
14263         * eval.c (check_error_state_sanity):
14264         * eval.c (call_with_suspended_errors_1):
14265         * eval.c (call_with_suspended_errors):
14266         * eval.c (reinit_vars_of_eval):
14267         Added code to catch throw loops and check for a pesky bug that may
14268         be gone now.
14269
14270         * event-msw.c:
14271         * event-msw.c (key_needs_default_processing_p):
14272         * event-msw.c (mswindows_wnd_proc):
14273         * event-msw.c (mswindows_modifier_state):
14274         * event-msw.c (emacs_mswindows_quit_p):
14275         * event-msw.c (vars_of_event_mswindows):
14276         a) Added support for using the alt key to select menu items as is
14277         standard under MS Windows.  This is controlled using the variable
14278         menu-accelerator-enabled, just like under X Windows.  There is an
14279         option on the options menu to turn this support on.  I really
14280         think that it should be on by default under Windows, but I'm not
14281         going to make this change yet.
14282
14283         b)  Added support for dynamic display size changes under Windows.
14284
14285         * event-stream.c:
14286         * event-stream.c (maybe_echo_keys):
14287         * event-stream.c (Fnext_event):
14288         * event-stream.c (command_builder_find_leaf):
14289         * event-stream.c (lookup_command_event):
14290         * event-stream.c (execute_command_event):
14291         * event-stream.c (pre_command_hook):
14292         * event-stream.c (post_command_hook):
14293         * event-stream.c (syms_of_event_stream):
14294         * event-stream.c (vars_of_event_stream):
14295         * event-stream.c (complex_vars_of_event_stream):
14296         * events.h (struct command_builder):
14297
14298         a) Tried to clean up a little bit the horribly written x-specific
14299         accelerator code that crept into this file.  I moved this code
14300         into menubar-x.c where it belongs. I also needed to move the
14301         command builder structure into the file events.h because it is
14302         accessed directly by this accelerator code.  What I didn't do, but
14303         which should be done at some point, is to properly abstract this
14304         code using device methods instead of the kludgy way that it
14305         currently hooks into the event code.
14306
14307         b) Added the lisp variables this-command-properties and
14308         last-command- properties, which should be used to synchronize two
14309         adjacent commands in preference to playing games with the variable
14310         this-command, which is typically what happens.
14311
14312         c) Added some slightly nasty code to hook into the lisp support
14313         for shifted- motion-key selection.  This is actually necessary for
14314         somewhat complicated reasons, which are described in
14315         simple.el. (NB: I think the proper thing would be to have the code
14316         that calls the pre and post command hooks also call out to generic
14317         lisp functions in simple.el, where all built-in stuff could be
14318         added.  I will think about this more.)
14319
14320         * event-unixoid.c (poll_fds_for_input):
14321         * lread.c (readchar):
14322         * redisplay-tty.c (tty_clear_frame):
14323         * redisplay-x.c (x_get_gc):
14324         * signal.c (interrupt_signal):
14325         And a whole bunch of other files: fixed up places that printed
14326         directly to stderr to instead call the function stderr_out so that
14327         the changes I made under Windows work correctly.
14328
14329         * filemode.c (mode_string):
14330         Warning fixes.
14331
14332         * frame-msw.c:
14333         * frame-msw.c (mswindows_size_frame_internal):
14334         Fixed the computation of frame size and position to keep the frame
14335         within the workspace area, rather than within the physical
14336         dimensions of the screen, so that the frame doesn't overlap window
14337         manager decorations, such as the start menu and toolbar, typically
14338         at the bottom of the screen.
14339
14340         * frame.c (vars_of_frame):
14341         Changed the default frame title format under MS Windows to consist
14342         of buffername-XEmacs, which is standard under MS Windows.  I think
14343         it might be a good idea to change this everywhere because I think
14344         it is superior to the current frame title format, but this is the
14345         kind of change that is likely to cause some people to get annoyed,
14346         so I'm not making it.
14347
14348         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14349
14350         * gui-msw.c (mswindows_handle_gui_wm_command):
14351         Fixed compile warnings.
14352
14353         * gui-x.c:
14354         * gui-x.c (strdup_and_add_accel):
14355         * gui-x.c (button_item_to_widget_value):
14356         * gui-x.h:
14357         Added code to automatically put an accelerator onto the beginning
14358         of menu items that don't have one as is now the standard, and is
14359         described more later.  Also fixed things so that the menu item
14360         name can be an evaluated expression, again a new standard.
14361
14362         * gui.c:
14363         * gui.c (gui_item_add_keyval_pair):
14364         * gui.c (make_gui_item_from_keywords_internal):
14365         * gui.c (gui_add_item_keywords_to_plist):
14366         * gui.c (gui_item_accelerator):
14367         * gui.c (gui_name_accelerator):
14368         * gui.c (gui_item_included_p):
14369         * gui.c (gui_item_display_flush_left):
14370         * gui.c (gui_item_display_flush_right):
14371         * gui.c (parse_gui_item_tree_item):
14372         * gui.c (parse_gui_item_tree_children):
14373         * gui.c (parse_gui_item_tree_list):
14374         Mule-ized.  Cleanup.  GCPRO addition.
14375
14376         * line-number.c (buffer_line_number):
14377         * lisp.h:
14378         * lisp.h (EMACS_INT_MAX):
14379         Added the manifest constant EMACS_INT_MIN corresponding to the
14380         existing constant EMACS_INT_MAX.  This is partially to fix compile
14381         warnings under Windows, and partly for cleanliness.
14382
14383         * menubar-msw.c:
14384         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14385         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14386         * menubar-msw.c (displayable_menu_item):
14387         * menubar-msw.c (populate_menu_add_item):
14388         * menubar-msw.c (populate_or_checksum_helper):
14389         * menubar-msw.c (populate_menu):
14390         * menubar-msw.c (update_frame_menubar_maybe):
14391         * menubar-msw.c (prune_menubar):
14392         * menubar-msw.c (msw_char_is_accelerator):
14393         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14394         * menubar-msw.c (mswindows_handle_wm_command):
14395         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14396         * menubar-msw.c (mswindows_handle_wm_initmenu):
14397         * menubar-msw.c (mswindows_update_frame_menubars):
14398         * menubar-msw.c (mswindows_free_frame_menubars):
14399         * menubar-msw.c (mswindows_popup_menu):
14400         Fixed a bug in handling accelerators where an extra character
14401         would be displayed in the menu item.  Also generalized the
14402         function displayable_menu_item because it is now used by the
14403         dialog box code as well.  And finally, added code in the functions
14404         that create the menubar to extract a list of accelerators for the
14405         top level menubar, which is used in the event code to determine
14406         whether a particular alt-key combination should be used to invoke
14407         a menu item, or should be passed through to access the standard
14408         XEmacs keymap binding for this key combination.
14409
14410         Much needed GCPROing.
14411
14412         * menubar-x.c:
14413         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14414         * menubar-x.c (menu_item_descriptor_to_widget_value):
14415         * menubar-x.c (restore_in_menu_callback):
14416         * menubar-x.c (x_popup_menu):
14417         * menubar-x.c (menu_move_up):
14418         * menubar-x.c (menu_move_down):
14419         * menubar-x.c (menu_move_left):
14420         * menubar-x.c (menu_move_right):
14421         * menubar-x.c (menu_select_item):
14422         * menubar-x.c (command_builder_operate_menu_accelerator):
14423         * menubar-x.c (menu_accelerator_junk_on_error):
14424         * menubar-x.c (command_builder_find_menu_accelerator):
14425         * menubar-x.c (Faccelerate_menu):
14426         * menubar.h:
14427         Moved a whole bunch of code here that was previously in
14428         event-stream.c as described above.  There is also code connected
14429         to the new standard of adding an accelerator to the beginning of
14430         menu items that don't have one as described above and below.
14431
14432         * menubar.c:
14433         * menubar.c (menu_parse_submenu_keywords):
14434         * menubar.c (Fmenu_find_real_submenu):
14435         * menubar.c (Fnormalize_menu_item_name):
14436         * menubar.c (syms_of_menubar):
14437         * menubar.c (vars_of_menubar):
14438         * menubar.c (complex_vars_of_menubar):
14439
14440         a) Cleaned up a bunch of documentation and improved it.
14441
14442         b) XEmacs now automatically adds an accelerator onto the beginning
14443         of any menu items that don't have one.  I did this because there
14444         will inevitably be some menu items on the main menubar that don't
14445         have accelerators on them because the package that adds that
14446         particular menu item hasn't yet been fixed up to have accelerators
14447         in them and it looked rather strange to have some items with and
14448         some items without accelerators, especially since even in items
14449         without accelerators, you can, at least under windows, still
14450         access the item through an accelerator corresponding to the first
14451         character in the item's name.  If people don't like this behavior,
14452         I can add a variable to turn it off optionally, but I'm not sure
14453         this is a good idea because we really do need to have accelerators
14454         on all of the menu items, and if a package doesn't like the
14455         accelerators being put on the first character, then it should put
14456         the accelerators where they belong.
14457
14458         c) I made a behavior change, which is that the descriptor that
14459         specifies the text of the menu item, which formerly was just a
14460         string, can now also be an evaluated expression.  This makes this
14461         descriptor parallel with all of the others, which could also be
14462         evaluated expressions.  This also obviates the need for the
14463         keyword :label, which was previously listed in the documentation
14464         as unimplemented, and which was for the same purpose.
14465
14466         d) GCPROing.
14467
14468         * ntproc.c:
14469         * ntproc.c (new_child):
14470         * ntproc.c (sys_spawnve):
14471         * ntproc.c (find_child_console):
14472         * ntproc.c (sys_kill):
14473         Fixed compile warnings.  By the way, this file should really go
14474         away entirely, and this will happen as soon as Kirill makes his
14475         final round of process cleanups, which affect the function
14476         call-process.
14477
14478         * process-nt.c:
14479         * process-nt.c (struct nt_process_data):
14480         * process-nt.c (find_process_from_pid):
14481         * process-nt.c (send_signal_the_nt_way):
14482         * process-nt.c (enable_child_signals):
14483         * process-nt.c (find_child_console):
14484         * process-nt.c (send_signal_the_95_way):
14485         * process-nt.c (nt_finalize_process_data):
14486         * process-nt.c (ensure_console_window_exists):
14487         * process-nt.c (nt_create_process):
14488         * process-nt.c (nt_kill_child_process):
14489         * process-nt.c (nt_kill_process_by_pid):
14490         * process-nt.c (nt_open_network_stream):
14491         * process-nt.c (vars_of_process_nt):
14492         Copied over code from Emacs 20.5 to correctly send signals to sub-
14493         processes under Windows 95.  Also added code to automatically
14494         create and hide console window when a sub-process is created under
14495         Windows 95, which obviates the need for the separate runemacs.exe
14496         executable, and finally implemented some variables that were
14497         implemented in Emacs 20.5, but previously not in XEmacs.  These
14498         include mswindows- start-process-share-console and
14499         mswindows-start-process-inherit-error-mode. (Both of these only
14500         apply to Windows 95.)
14501
14502         * regex.c (regex_compile): Fixed a compile warning.
14503
14504         * select-msw.c:
14505         * select-msw.c (mswindows_own_selection):
14506         * select-msw.c (mswindows_get_foreign_selection):
14507         * select-msw.c (mswindows_disown_selection):
14508         * select-msw.c (console_type_create_select_mswindows):
14509         * select-msw.c (syms_of_select_mswindows):
14510         Cleaned up the file and implemented the device method
14511         selection_exists_p, which had accidentally been left out.  Also
14512         removed four lisp functions that were remnants from before the
14513         time when the selection code was properly device abstracted.
14514         These functions are no longer needed because there are generic
14515         equivalents, and because they were added recently and don't exist
14516         in FSF Emacs, I don't think there's any problem with just deleting
14517         them.
14518
14519         * sysdep.c:
14520         * sysdep.c (sys_subshell):
14521         Fixed a compile warning, although in this case there's probably
14522         something wrong with this code, and it ought to be looked into
14523         more thoroughly by somebody who understands it.
14524
14525         * window.c:
14526         * window.c (Fwindow_text_area_height):
14527         * window.c (Fwindow_width):
14528         * window.c (Fwindow_full_width):
14529         * window.c (Fwindow_pixel_width):
14530         * window.c (debug_print_window):
14531         * window.c (syms_of_window):
14532         Added functions window-text-area-height and window-full-width,
14533         which are functions for returning various width and height
14534         characteristics of a window. (One of these functions is necessary
14535         for making the file dialog box work correctly, and the other one
14536         was added for completeness.)  Also added a table to the
14537         documentation for window-height which describes the entire scheme
14538         for accessing width and height characteristics of a window.
14539
14540 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14541
14542         * nt.c (fstat): Added a comment for another problem with
14543         non-encapsulated [f]stat(), reported by Adrian Aichner
14544         <aichner@ecf.teradyne.com>.
14545
14546 2000-03-11  Andy Piper  <andy@xemacs.org>
14547
14548         * window.c (make_dummy_parent): initialize subwindow instance
14549         cache.
14550         (Fset_window_configuration): zero extent_modiff.
14551
14552 2000-03-10  Andy Piper  <andy@xemacs.org>
14553
14554         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14555         more changes can be triggered.
14556         (Fredisplay_frame): ditto.
14557         (Fredraw_device): ditto.
14558         (Fredisplay_device): ditto.
14559         (redisplay_frame): make non-static.
14560         (redisplay_frame): call update_frame_gutter_geometry outside of
14561         display proper.
14562
14563         * gutter.h: declare update_frame_gutter_geometry.
14564
14565         * redisplay.h: declare redisplay_frame.
14566
14567         * gutter.c (update_frame_gutter_geometry): move geometry changes
14568         in update_frame_gutters here. Geometry changes can only occur
14569         outside of redisplay.
14570         (update_frame_gutters): remove geometry change code.
14571         (Fredisplay_gutter_area): make sure that we are in display when we
14572         update and that we have flushed any size changes.
14573
14574 2000-03-11  Andy Piper  <andy@xemacs.org>
14575
14576         * alloc.c (pdump_dump_data): remove i & count shadows.
14577
14578 2000-02-27  Mike Alexander  <mta@arbortext.com>
14579
14580         * sysdep.h: Declare pdump_read_file
14581
14582         * sysdep.c (pdump_read_file): New function
14583
14584         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14585         dump data
14586
14587 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14588
14589         * lrecord.h: add `lrecord_type_pgsetenv'.
14590
14591 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14592
14593         * symsinit.h: declare (vars|syms)_of* functions.
14594         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14595
14596 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14597
14598         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14599
14600         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14601         GCCs.
14602
14603         * emacs.c (main_1): Call postgres initialization code.
14604
14605         * postgresql.h: New file.  PostgreSQL RDBMS support.
14606         * postgresql.c: New file.
14607
14608 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14609
14610         * redisplay-output.c (redisplay_output_display_block): Disable
14611         redundant code.
14612
14613 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14614
14615         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14616         (Fcanna_henkan_next): Ditto.
14617         (Fcanna_bunsetu_henkou): Ditto.
14618         (Fcanna_henkan_kakutei): Ditto.
14619         (Fcanna_henkan_end): Ditto.
14620         (Fcanna_henkan_quit): Ditto.
14621         (Fcanna_henkan_next): Set retun value correctly.
14622         (c2mu): Use unsigned char instead of signed char.
14623
14624 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14625
14626         * emacs.c (main_1): Always call syms_of_gui.
14627         * inline.c: include gui.h
14628
14629 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14630
14631         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14632         converted to Lisp_Object.
14633         (Qtop_bottom): New variable.
14634         (syms_of_redisplay): Initialize it.
14635         * redisplay.h (Vvisible_bell): Ditto.
14636         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14637         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14638         only flash top and bottom.
14639
14640 2000-03-08  Andy Piper  <andy@xemacs.org>
14641
14642         * buffer.c (Frename_buffer): record new buffer name the right way.
14643
14644 2000-03-08  Andy Piper  <andy@xemacs.org>
14645
14646         * glyphs.c (update_subwindow): increase hash depth so that widget
14647         items get picked up properly.
14648
14649         * redisplay-output.c (compare_runes): increase hash depth so that
14650         widget items get picked up properly.
14651
14652 2000-03-08  Andy Piper  <andy@xemacs.org>
14653
14654         * gutter.c (output_gutter): add some debug.
14655
14656         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14657         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14658         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14659
14660         * redisplay-output.c (compare_runes): use display_hash to
14661         determine if glyphs really are not the same.
14662
14663         * glyphs.c (update_subwindow): check display_hash to see if
14664         anything really needs to be updated. If not then do
14665         nothing. Record the display_hash after updating.
14666         (image_instance_equal): compare the image_instance face also.
14667
14668 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14669
14670         * redisplay.h: Fix comment style.
14671
14672 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14673
14674         * consle-msw.h (struct mswindows_frame):
14675         Added new member paint_pending to indicate whether a WM_PAINT
14676         magic event has been queued for this frame.
14677
14678         * event-msw.c (mswindows_drain_windows_queue):
14679         Don't queue a WM_PAINT magic event if one is already queued.
14680         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14681
14682         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14683
14684 2000-03-07  Didier Verna  <didier@xemacs.org>
14685
14686         * dired.c: #include `regex.h' after `sysfile.h'.
14687
14688 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14689
14690         * sound.c (init_nas_sound): Fix compiler warning.
14691
14692         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14693         (FREE_STRUCT_P):
14694         (MARK_STRUCT_AS_FREE):
14695         (MARK_STRUCT_AS_NOT_FREE):
14696         Make `gcc -fstrict-aliasing' work properly.
14697
14698 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14699
14700         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14701         (mswindows_delete_device): Call CoUnnitialize().
14702
14703         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14704
14705 2000-02-25    <CraigL@DyCon.com>
14706
14707         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14708         <errno.h>.
14709
14710         * sysdep.c: This extern declaration for environ prevents MinGW
14711         from finding the variable in CRTDLL.DLL.
14712
14713         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14714         windows headers.
14715         (SHGFI_EXETYPE): ..
14716         (WM_MOUSEWHEEL): ..
14717         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14718         definitions.
14719         (MMRESULT): Removed, now defined in cygwin's windows headers.
14720         (TIMECAPS): ..
14721         (uid_t,gid_t,pid_t,ssize_t): ..
14722         (_timeb): Removed, MinGW defines both _timeb and timeb.
14723         (HAVE_H_ERRNO): Added.
14724         (HAVE_TZNAME): Added, configure is not detecting this.
14725
14726 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14727
14728         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14729         * syntax.c (syntax_match): Use it.
14730
14731         * cmds.c: Import auto-fill-chars from FSF Emacs.
14732         (Vauto_fill_chars): New variables.
14733         (internal_self_insert): Check Vauto_fill_chars.
14734         (vars_of_cmds):
14735         Declare auto-fill-chars as a Lisp variable and initialize it.
14736
14737 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14738
14739         * fileio.c (Fmake_symbolic_link):
14740         (Ffile_symlink_p):
14741         Run handlers even if local machine doesn't have symlinks.
14742
14743 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14744
14745         * event-msw.c (mswindows_drain_windows_queue):
14746         Don't generate paint magic events for non-XEmacs frames.
14747
14748 2000-03-05  Andy Piper  <andy@xemacs.org>
14749
14750         * redisplay.c (redisplay_frame): generate_displayable_area and
14751         friends assumes that we are not in GC, we therefore have to make
14752         sure that this doesn't happen.
14753
14754         * gutter.c (calculate_gutter_size): generate_displayable_area
14755         assumes that we are not in GC, we therefore have to make sure that
14756         this doesn't happen.
14757
14758 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14759
14760         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14761
14762 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14763
14764         * redisplay.c (regenerate_window): Make sure we set a sane value
14765         for end_pos even if we jump out of the loop.
14766         (regenerate_window): Answer Ben's question :-).
14767         (start_end_of_last_line): Add may_error argument.
14768         (start_of_last_line):
14769         (end_of_last_line): Pass may_error = 0.
14770         (end_of_last_line_may_error): New function.
14771         (pixel_to_glyph_translation): Use it, so we don't crash in
14772         event_to_glyph.
14773
14774 2000-03-04  Andy Piper  <andy@xemacs.org>
14775
14776         * window.h (struct window): add gutter_extent_modiff.
14777
14778         * window.c (allocate_window): zero out gutter_extent_modiff.
14779
14780         * redisplay.h: declare sync_display_line_structs.
14781
14782         * redisplay.c (add_glyph_rune): add a better comment.
14783
14784         * redisplay-output.c (sync_display_line_structs): made non-static.
14785         (compare_runes): remove unneccesary glyph cachel access.
14786
14787         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14788
14789         * gutter.c (output_gutter): don't output the gutter if extent
14790         changes only involve extents in buffers. use 4 sets of display
14791         lines.
14792         (gutter_extent_signal_changed_region_maybe): new function. Mark
14793         extents in gutters as changed.
14794         (update_frame_gutters): use 4 sets of display lines.
14795         (reset_gutter_display_lines): ditto.
14796         (free_frame_gutters): ditto.
14797         (redraw_exposed_gutter): force output of gutters.
14798
14799         * frame.h (struct frame): add 4 sets of gutter display lines.
14800
14801         * extents.c: (extent_changed_for_redisplay): signal changes to
14802         extents in strings in the gutter as well as extents in buffers.
14803
14804 2000-03-02  Andy Piper  <andy@xemacs.org>
14805
14806         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14807
14808         * frame.c (Fmake_frame): make sure the gutters get initialized
14809         after the frame is visible.
14810         (set_frame_selected_window): re-arrange compilation macros a
14811         little.
14812         (change_frame_size_1): mark gutters changed.
14813
14814         * device.c (Fset_device_class): mark gutters changed.
14815
14816 2000-03-01  Andy Piper  <andy@xemacs.org>
14817
14818         * window.c (window_top_frame_gutter_height): deleted.
14819         (window_bottom_frame_gutter_height): ditto.
14820         (window_left_frame_gutter_height): ditto.
14821         (window_right_frame_gutter_height): ditto.
14822         (window_top_gutter_height): don't use them.
14823         (window_bottom_gutter_height): ditto.
14824         (window_left_gutter_width): ditto.
14825         (window_right_gutter_width): ditto.
14826         (Fsplit_window): ditto.
14827         (Fwindow_pixel_edges): don't use border dimensions here.
14828
14829         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14830         (update_scrollbar_instance): ditto.
14831
14832         * redisplay.c (generate_modeline): don't take gutters into account.
14833         (generate_modeline): ditto.
14834         (redisplay_frame): small gutter display optimization.
14835
14836         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14837
14838         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14839         gutters into account.
14840
14841         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14842         for window position and type.
14843
14844         * gutter.c (get_gutter_coords): fix for frame gutters.
14845         (update_frame_gutters): update frame geometry if the gutters have
14846         changed.
14847         (init_frame_gutters): record current gutter geometries.
14848
14849         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14850         var.
14851         (mswindows_widget_instantiate): ditto.
14852
14853         * frame.h (struct frame): add current_gutter_bounds.
14854
14855         * frame.c (change_frame_size_1): position window and minibuffer
14856         appropriately taking into account the frame gutters.
14857
14858         * frame-x.c: (x_initialize_frame_size): take into account the
14859         frame gutters.
14860
14861 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14862
14863         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14864
14865 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14866
14867         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14868
14869 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14870
14871         * file-coding.c (reset_decoding_stream): Clear previous
14872         detection state when autodetect.
14873
14874 2000-02-29  Didier Verna  <didier@xemacs.org>
14875
14876         * extents.c (set_extent_glyph_1): don't require extents to be
14877         attached.
14878
14879 2000-02-27  Andy Piper  <andy@xemacs.org>
14880
14881         * gutter.c (Fset_default_gutter_position): don't default left and
14882         right gutter visibility to t.
14883         (Fset_default_gutter_position): run
14884         default-gutter-position-changed-hook.
14885         (syms_of_gutter): add default-gutter-position-changed-hook.
14886
14887 2000-02-26  Andy Piper  <andy@xemacs.org>
14888
14889         * specifier.c (Fmake_specifier): add gutter references.
14890
14891         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14892
14893         * lisp.h: declare Fvalid_plist_p.
14894
14895         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14896         as changed.
14897         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14898         well as its visibility so that it gets reconstructed.
14899         (construct_window_gutter_spec): new function. Construct a string
14900         to be displayed in the gutter from a plist of strings. Take care
14901         to only use elements that are declared as visible.
14902         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14903         WINDOW_GUTTER.
14904         (gutter_validate): allow plists of strings in the specifier.
14905         (gutter_specs_changed): construct the real_gutter from the gutter
14906         specs using construct_window_gutter_spec.
14907         (gutter_visible_validate): gutter-visible is a new specifier type.
14908         (Fgutter_visible_specifier_p): new function for the new specifier.
14909         (syms_of_gutter): declare gutter-visible and
14910         Fgutter_visible_specifier_p.
14911         (specifier_type_create_gutter): intitalize new gutter-visible
14912         specifier.
14913         (reinit_specifier_type_create_gutter): ditto.
14914         (specifier_vars_of_gutter): use new specifier type for gutter
14915         visibility.
14916         (init_frame_gutters): construct real_gutter correctly.
14917         (Fgutter_specifier_p): beef up documentation.
14918         (Fgutter_size_specifier_p): ditto.
14919
14920         * winslots.h: add real_gutter slots.
14921
14922 2000-02-25  Andy Piper  <andy@xemacs.org>
14923
14924         * device-msw.c: Be kind to older cygwin versions. From Raymond
14925         Toy <toy@rtp.ericsson.se>.
14926
14927         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14928         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14929
14930 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14931
14932         * elhash.c (MARK_OBJ): Practice macro hygiene.
14933
14934 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14935
14936         * miscplay.c: s/__inline__/inline/g;
14937         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14938         (get_device_compdc): INLINE ==> static inline
14939         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14940         find -name '*.h' | \
14941         xargs global-replace \
14942         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14943
14944 2000-02-25  Andy Piper  <andy@xemacs.org>
14945
14946         * window.c (window_top_frame_gutter_height): new function.
14947         (window_top_window_gutter_height): ditto.
14948         (window_top_gutter_height): use them.
14949         (window_bottom_frame_gutter_height): new function.
14950         (window_bottom_window_gutter_height): ditto.
14951         (window_bottom_gutter_height): use them.
14952         (window_left_window_gutter_width): new function.
14953         (window_left_frame_gutter_width): ditto.
14954         (window_left_gutter_width): use them.
14955         (window_right_window_gutter_width): new function.
14956         (window_right_frame_gutter_width): ditto.
14957         (window_right_gutter_width): use them.
14958         (window_pixel_height): new function. calulate window pixel height
14959         with frame gutter involvement.
14960         (Fsplit_window): calculate new sizes taking frame gutters into
14961         account.
14962         (window_char_height_to_pixel_height): don't include frame gutters.
14963         (window_char_height): use window_pixel_height.
14964         (window_pixheight): rename from window_pixel_height.
14965         (change_window_height): use it.
14966         (window_pixel_height_to_char_height): don't include frame gutters.
14967         (window_char_width_to_pixel_width): ditto.
14968
14969 2000-02-25  Andy Piper  <andy@xemacs.org>
14970
14971         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14972         if it is.
14973
14974 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14975
14976         * alloc.c (staticpro):
14977         (staticpro_nodump):
14978         (dumpstruct):
14979         (dumpopaque):
14980         (pdump_wire):
14981         (pdump_wire_list):
14982         (compact_string_chars):
14983         (pdump_dump_wired):
14984         Convert:  if (foo) abort();  ==>  assert (! foo);
14985
14986         * eldap.c (Fldap_search_basic):
14987         (Fldap_add):
14988         (Fldap_modify):
14989         (Fldap_delete):
14990         Fix compiler warnings, and possible crashes if (random) return
14991         value were to be used.
14992
14993 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14994
14995         * device-msw.c: Workaround ResetDC failure.
14996
14997         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14998         applying a devmode.
14999
15000         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15001         (mswindows_text_width): Do not start printer page.
15002
15003         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15004
15005         * glyphs-msw.c: Added image methods to msprinter console and
15006         msprinter-specific image instantiation.
15007
15008 2000-02-20  Mike Alexander  <mta@arbortext.com>
15009
15010         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15011         to avoid crashes when selection-sets-clipboard is on
15012         (mswindows_own_selection): ditto
15013
15014 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15015
15016         * glyphs-msw.c:
15017         * redisplay-msw.c (get_frame_dc):
15018         (get_frame_compdc):
15019         * console-msw.h:
15020         * device-msw.c (mswindows_init_device):
15021         (mswindows_delete_device):
15022         (msprinter_init_device):
15023         (msprinter_delete_device):
15024         * frame-msw.c (mswindows_init_frame_1):
15025         (mswindows_delete_frame):
15026         (msprinter_init_frame_3):
15027         (msprinter_delete_frame): Move compatible DC to device object from
15028         frame object, for both mswindows and msprinter. Only one at a time
15029         is needed, it is a real waste to have one per frame!
15030
15031 2000-02-23  Andy Piper  <andy@xemacs.org>
15032
15033         * glyphs.c: add dynamic width and height elements.
15034         (image_instance_equal): ditto.
15035
15036         * glyphs-widget.c (widget_query_geometry): calculate width and
15037         height dynamically if required.
15038         (initialize_widget_image_instance): initialize dynamic dimensions.
15039         (widget_instantiate): pick-up dynamic dimensions.
15040
15041         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15042         dynamic determination. Add appropriate macros.
15043
15044         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15045         dimensions safe.
15046         (WINDOW_GUTTER_SIZE): ditto.
15047         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15048
15049         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15050         inline.
15051         (get_frame_dc): ditto.
15052
15053         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15054         here.
15055
15056 2000-02-23  Martin Buchholz <martin@xemacs.org>
15057
15058         * XEmacs 21.2.31 is released.
15059
15060 2000-02-22  Ben Wing <ben@xemacs.org>
15061
15062         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15063
15064 2000-02-22  Andy Piper  <andy@xemacs.org>
15065
15066         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15067
15068 2000-02-21  Mike Sperber <mike@xemacs.org>
15069
15070         * .dbxrc:
15071         * .gdbinit:
15072         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15073         variables.
15074
15075 2000-02-21  Mike Sperber <mike@xemacs.org>
15076
15077         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15078
15079 2000-02-21  Martin Buchholz <martin@xemacs.org>
15080
15081         * XEmacs 21.2.30 is released.
15082
15083 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15084
15085         Performance hacking.
15086         * *.c (syms_of_*):
15087         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15088         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15089         * emacs.c (main_1):
15090         * lisp.h (DEFUN):
15091         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15092         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15093         * symeval.h (DEFVAR_SYMVAL_FWD):
15094         * symbols.c (guts_of_unbound_marker):
15095         Make all c_readonly objects also lisp_readonly and marked for life.
15096         * lrecord.h (struct lrecord_implementation):
15097         Document flags better.
15098         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15099         * lrecord.h (DECLARE_LRECORD):
15100         * lrecord.h (XSETRECORD):
15101         * lrecord.h (RECORDP):
15102         * lrecord.h (RECORD_TYPEP):
15103         * lrecord.h (RECORD_MARKER): New.
15104         * lrecord.h (error_check_*):
15105         * lrecord.h (CONCHECK_NONRECORD):
15106         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15107         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15108         * lrecord.h (set_lheader_implementation):
15109         * lrecord.h (enum lrecord_type): New.
15110         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15111         * alloc.c (disksave_object_finalization_1):
15112         * alloc.c (mark_object):
15113         * alloc.c (lrecord_type_index):
15114         * alloc.c (tick_lcrecord_stats):
15115         * alloc.c (Fgarbage_collect):
15116         * alloc.c (init_alloc_once_early):
15117         * alloc.c (pdump_load):
15118         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15119         * alloc.c (lrecord_type_index): Delete.
15120         Make lisp object type indexes be constant.
15121           Makes (byte-compile) 5% faster.
15122         Put all marker functions into their own array.
15123           Makes (garbage-collect) 5% faster.
15124         Optimize SYMBOL_VALUE_MAGIC_P.
15125           Makes (byte-compile) 2-3% faster.
15126         * config.h.in (gc_checking_assert): New.
15127         * alloc.c: Use gc_checking_assert().
15128         * .dbxrc: Make compatible with new object type implementation.
15129         * .gdbinit: Make compatible with new object type implementation.
15130         * alloc.c: Delete all symbols defined only for debugging, such as
15131         Lisp_Type_Vector and lrecord_charset.
15132
15133 2000-02-21  Andy Piper  <andy@xemacs.org>
15134
15135         * gui-msw.c (Fmswindows_shell_execute): fix file location
15136         problems.
15137
15138         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15139         unshowing so that set_window_buffer doesn't undo
15140         kill_buffer_hook's hard work.
15141
15142         * glyphs-widget.c (tab_control_query_geometry): don't count the
15143         first item when calculating geometry.
15144
15145         * glyphs.c (map_subwindow): remove redundant code.
15146         (update_frame_subwindows): be more circumspect about when to
15147         update subwindows.
15148
15149         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15150         when items haven't changed. Update faces if faces have changed as
15151         well as just the widget face.
15152         (x_tab_control_update): Update faces if faces have changed as well
15153         as just the widget face.
15154
15155 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15156
15157         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15158         registration.
15159         (build_syscolor_string): Use mswindows_color_to_string to try to
15160         get a named color.
15161         (mswindows_device_system_metrics): Reverse the foreground and
15162         background colors so that they match the documentation.
15163
15164         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15165         they match the default Windows palette.
15166         (mswindows_color_to_string): New function.
15167
15168 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15169
15170         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15171
15172 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15173
15174         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15175         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15176
15177         * symbols.c (init_symbols_once_early): Removed obsolete
15178         DATA_SEG_BITS related kludge.
15179         (defvar_magic): Ditto.
15180
15181         * malloc.c: Removed obsolete DATA_SEG_BITS
15182         * ralloc.c: Ditto.
15183         * mem-limits.h: Ditto.
15184
15185         * Makefile.in.in: Removed obsolete HAVE_SHM
15186         * emacs.c: Ditto.
15187
15188 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15189
15190         *  device-msw.c (mswindows_delete_device): Free DDE string
15191         handles.
15192
15193 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15194
15195         * keymap.c (get_keyelt):
15196         * unexnt.c (unexec):
15197         * vm-limit.c (memory_warnings):
15198         * ntheap.c (recreate_heap):
15199         * ntheap.h (UNINIT_PTR):
15200         * select-msw.c (Fmswindows_get_clipboard):
15201         (Fmswindows_set_clipboard):
15202         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15203         * objects-msw.c:
15204         * menubar-msw.c (displayable_menu_item):
15205         * glyphs-msw.c:
15206         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15207         * sysdep.c (sys_subshell):
15208         * process-nt.c (nt_create_process):
15209         * nt.c (normalize_filename):
15210         (dostounix_filename):
15211         (unixtodos_filename):
15212         * ntproc.c (win32_executable_type):
15213         * ntplay.c (play_sound_data_1):
15214         (play_sound_file):
15215         * editfns.c (get_home_directory):
15216         * event-msw.c (struct winsock_stream):
15217         (mswindows_dde_callback):
15218         * device-msw.c (msprinter_init_device):
15219         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15220
15221         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15222         mswindows_clear_toolbar were swapped!
15223
15224         * objects-msw.c:(colormap_t):
15225         (fontmap_t):
15226         * emacs.c (struct standard_args): Fixed const jumble.
15227
15228         * glyphs-widget.c (update_widget): Fixed comparison notation.
15229
15230         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15231
15232         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15233         __declspec(noreturn) syntax.
15234
15235 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15236
15237         * eldap.c (Fldap_open):
15238         (Fldap_search_basic):
15239         (Fldap_add):
15240         (Fldap_modify):
15241         Use new coding system conversion macros.
15242
15243 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15244
15245         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15246
15247 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15248
15249         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15250         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15251
15252         * eldap.c (Qadd, Qreplace): New constant symbols
15253         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15254         interruptions by XEmacs signals
15255         Remove unnecessary calls to slow_down_interrupts and
15256         speed_up_interrupts
15257         (Fldap_search_basic): Renamed from Fldap_search_internal
15258         Added new optional parameter VERBOSE that triggers the
15259         display of progress messages
15260         Remove unnecessary calls to slow_down_interrupts and
15261         speed_up_interrupts
15262         LDAP result code analysis rewritten
15263         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15264         (syms_of_eldap): Define the new symbols and functions
15265
15266
15267 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15268
15269         * realpath.c: Determine PATH_MAX maximally portably.
15270
15271         * insdel.c (bytecount_to_charcount): Optimize.
15272         The function used to be optimized for entirely ASCII sequences.
15273         Now it is optimized for successive characters from the same
15274         charset.  This also wins big for _mostly_ ASCII sequences.
15275
15276         * fileio.c (Ffile_truename): convert return from realpath() using
15277         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15278         - Rewrite GCPROing slightly.
15279
15280         * sysdep.c (sys_open): Do filename conversion, like all other
15281         sys_* functions.  Fixes bug:
15282         (let ((file-name-coding-system 'iso-8859-2))
15283            (write-region x y latin2-name))
15284         ==> writes filename using internal encoding.
15285
15286 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15287
15288         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15289         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15290         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15291         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15292         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15293         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15294         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15295         (CONST_IF_NOT_DEBUG): Delete.
15296         * alloc.c (this_one_is_unmarkable): Delete.
15297         (mark_object): Don't check for this_one_is_unmarkable. Use the
15298         c_readonly flag instead.
15299         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15300
15301 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15302
15303         * event-msw.c (mswindows_drain_windows_queue):
15304         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15305         away redundant repaint events.
15306
15307 2000-02-17  Andy Piper  <andy@xemacs.org>
15308
15309         * redisplay.h: declare mark_redisplay_structs.
15310
15311         * redisplay.c (redisplay_window):
15312         (redisplay_frame): don't check subwindows_state_changed.
15313         (mark_redisplay): mark gutters here.
15314
15315         * glyphs.c: (instantiate_image_instantiator): always layout if we
15316         haven't done so already.
15317         (allocate_image_instance): don't mark as dirty.
15318         (update_subwindow): bind inhibit_quit.
15319
15320         * gutter.c (mark_gutters): new function.
15321
15322         * glyphs-x.c (x_update_widget): Always resize to get round a
15323         widget bug.
15324
15325         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15326         breaking absolutely everything.
15327
15328         * gutter.h: declare mark_gutters.
15329
15330 2000-02-16  Martin Buchholz <martin@xemacs.org>
15331
15332         * XEmacs 21.2.29 is released.
15333
15334 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15335
15336         * fns.c (size_bit_vector): Fix computation of the size.
15337
15338 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15339
15340         * *.[ch]: Change CONST to const globally.
15341         find -name '*.[ch]' | \
15342         xargs global-replace \
15343         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15344         - Remove vestigial references to CONST_IS_LOSING
15345
15346 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15347
15348         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15349         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15350         events instead of dispatching them directly.
15351         (mswindows_handle_paint): New function to do repainting.
15352         (mswindows_wnd_proc):
15353         (emacs_mswindows_handle_magic_event): Call above function.
15354
15355 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15356
15357         * objects-msw.c (mswindows_create_font_variant): Return the new
15358         font handle.
15359         (initialize_font_instance): Get font metrics from the underlined
15360         variant of the font to cope with the case where the underlined
15361         font has a bigger descent.
15362
15363 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15364
15365         * gui.c (gui_item_accelerator): Return the first underlined
15366         character in item name.
15367
15368 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15369
15370         * lisp.h: Added Qprinter.
15371
15372         * general.c (syms_of_general): Initialized it.
15373
15374         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15375         (get_frame_dc):
15376         (get_frame_compdc): Made inline.
15377
15378         * console.h (struct console_methods): Added eject_page method.
15379
15380         * frame.h: Added FRAME_DISPLAY_P and friends.
15381         Aligned backslahes in many macros in more readable fashion.
15382         Added page_number to struct frame, and an accessor macro
15383         for it.
15384
15385         * defice.h: Added DEVICE_DISPLAY_P and friends.
15386
15387         * device.c (Fdevice_printer_p): Used these.
15388
15389         * frame.c (allocate_frame_core): Initialize page number.
15390         (Fprint_job_page_number):
15391         (Fprint_job_eject_page): Implemented.
15392
15393         * frame-msw.c (msprinter_eject_page): Added method.
15394         (msprinter_start_page): Added.
15395
15396         * window.c (Fwindow_truncated_p): Fixed docstring.
15397         (Fwindow_last_line_visible_height): Implemented.
15398
15399 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15400
15401         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15402
15403 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15404
15405         * syntax.c (scan_words): Always advance at least one character.
15406
15407 2000-02-13  Andy Piper  <andy@xemacs.org>
15408
15409         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15410         to make sure the glyph is in the cachels.
15411
15412         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15413         global image instance flag.
15414         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15415         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15416
15417         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15418         (Fset_image_instance_property): mark layout as changed.
15419         (invalidate_glyph_geometry_maybe): mark layout as changed.
15420         (glyph_width): use new NEEDS_LAYOUT macro.
15421         (glyph_ascent): ditto.
15422         (glyph_descent): ditto.
15423         (glyph_height): ditto.
15424         (image_instance_layout): mark layout as clean after laying out.
15425         (update_subwindow): don't mark layout as clean here.
15426
15427         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15428         should no longer be needed.
15429
15430         * glyphs-x.c (x_update_widget): sanitize asserts.
15431         (x_finalize_image_instance): sanitize assignment to widgets.
15432
15433         * glyphs-widget.c (widget_instantiate): don't need to clear the
15434         layout flag here.
15435
15436 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15437
15438         * sysdep.c (getcwd): Use standard prototype.
15439         * sysdep.h (getcwd): Use standard prototype.
15440
15441         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15442         (sequence, start, end).
15443         Remove redundant type checking.
15444         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15445         view of `caller-protects') to avoid a crash where the real fix was
15446         found elsewhere.
15447
15448 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15449
15450         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15451
15452         * s/sol2.h: Remove feature macro initialization.
15453
15454         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15455         (vector_hash): New.  Code from internal_hash.
15456         * lrecord.h:
15457         Fix up allocation subsystem comments.
15458
15459         * config.h.in: Add __EXTENSIONS__ for Solaris.
15460
15461         * systime.h (EMACS_GETTIMEOFDAY): New.
15462         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15463         Remove Solaris-specific code.
15464         Use void* for the (ignored) second arg for gettimeofday().
15465
15466         * elhash.c (hash_table_hash): Implement it, finally.
15467         * elhash.c:  Use hashcode_t.
15468
15469         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15470         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15471
15472         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15473         * fns.c (size_bit_vector):
15474         * alloc.c (size_vector):
15475         (make_vector_internal):
15476         (make_bit_vector_internal):
15477         (sweep_bit_vectors_1):
15478         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15479
15480 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15481
15482         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15483         Include strings.h to avoid warnings for bzero and strcasecmp.
15484
15485 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15486
15487         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15488         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15489
15490         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15491         sequence.
15492
15493 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15494
15495         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15496         use a value field instead.
15497         (symbol_value_forward_forward): Use value field.
15498         (DEFVAR_SYMVAL_FWD): Use value field.
15499         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15500         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15501         (DEFVAR_CONST_INT): Ditto.
15502         (DEFVAR_BOOL): Ditto.
15503         (DEFVAR_CONST_BOOL): Ditto.
15504         (DEFVAR_INT_MAGIC): Ditto.
15505         (DEFVAR_BOOL_MAGIC): Ditto.
15506
15507         * symbols.c (guts_of_unbound_marker): Use value field.
15508         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15509         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15510
15511         * lisp.h: Declare dumpopaque and noninteractive1.
15512
15513         * alloc.c (dumpopaque): Added.
15514         (pdump_dump_opaquevec): Added.
15515         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15516         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15517         noninteractive.
15518
15519 2000-02-10  Andy Piper  <andy@xemacs.org>
15520
15521         * glyphs.c (image_instance_layout): if the size changes, mark it
15522         as such.
15523
15524         * redisplay-output.c (redisplay_output_layout): Update the
15525         subwindow here.
15526         (redisplay_output_subwindow): ditto.
15527
15528         * glyphs.c (update_subwindow): make sure we reset flags for
15529         layouts as well as everything else.
15530
15531         * glyphs-widget.c (layout_layout): don't need to set the instances
15532         dimensions here.
15533
15534 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15535
15536         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15537         not HAVE_DLOPEN, which is a lower-level thing.
15538
15539         * .cvsignore: Ignore gmon.out
15540
15541 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15542
15543         * .cvsignore: Ignore portable dumper xemacs.dmp file
15544
15545 2000-02-09  Andy Piper  <andy@xemacs.org>
15546
15547         * redisplay-output.c (redisplay_output_layout): be more clever
15548         about when we output based on the changed flags.
15549
15550         * glyphs.h (struct image_instantiator_methods): add update_method.
15551         (struct Lisp_Image_Instance): add changed flags. Declare new
15552         macros for manipulating them.
15553
15554         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15555         (image_instance_parent_glyph): find an image_instance's parent
15556         glyph or image_instance.
15557         (image_instance_layout): mark the size as changed.
15558         (set_image_instance_dirty_p): new function. mark an image
15559         instance, plus all of its parents, as dirty.
15560         (Fset_image_instance_property): use it.
15561         (Fglyph_animated_timeout_handler): use it.
15562         (update_subwindow): call update_widget and device methods for
15563         update_subwindow. Mark all changed flags as clean.
15564         (Fresize_subwindow): mark size as changed.
15565
15566         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15567         failures.
15568         (x_update_subwindow): only resize subwindows here.
15569         (x_update_widget): new function. Update all changed properties of
15570         a widget.
15571         (x_resize_subwindow): deleted.
15572         (x_widget_set_property): deleted.
15573         (x_progress_gauge_set_property): deleted.
15574         (x_progress_gauge_update): new function. Implement recorded
15575         changes.
15576         (x_tab_control_update): ditto.
15577         (x_tab_control_set_property): deleted.
15578         (console_type_create_glyphs_x): declare new functions.
15579         (image_instantiator_format_create_glyphs_x): ditto.
15580
15581         * glyphs-widget.c (widget_set_property): mark text changed.
15582         (update_widget): new function. Update properties of a widget.
15583         (widget_instantiate): for layouts make sure we set their
15584         children's parent correctly.
15585         (tab_control_set_property): new function. Record changes that will
15586         take place under redisplay's control.
15587         (progress_gauge_set_property): ditto.
15588         (image_instantiator_progress_guage): declare new functions.
15589         (image_instantiator_tab_control): ditto.
15590
15591         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15592         now.
15593         (mswindows_update_widget): new function. Update all properties on
15594         a widget that have changed.
15595         (mswindows_button_update): new function. Update a button's set
15596         state.
15597         (mswindows_tab_control_update): new function. Update the items in
15598         a tab.
15599         (mswindows_tab_control_set_property): deleted.
15600         (mswindows_progress_gauge_update): new function. Update the
15601         progress gauge's progress.
15602         (mswindows_widget_set_property): deleted. This is all done
15603         asynchronously now.
15604         (mswindows_progress_gauge_set_property): ditto.
15605         (console_type_create_glyphs_mswindows): declare new methods.
15606         (image_instantiator_format_create_glyphs_mswindows): ditto.
15607
15608         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15609         (msprinter_set_frame_properties): ditto.
15610
15611         * console.h (struct console_methods): Add update_widget_method.
15612
15613 2000-02-09  Andy Piper  <andy@xemacs.org>
15614
15615         * gui-msw.c (Fmswindows_shell_execute): Make
15616         mswindows-shell-execute industrial strength.
15617
15618 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15619
15620         * lrecord.h: Make macro argument `props' match member function `plist'.
15621         * fns.c (Fget):
15622         * fns.c (Fput):
15623         * fns.c (Fremprop):
15624         * fns.c (Fobject_plist):
15625         * alloc.c:
15626         * symbols.c:
15627         Object property list frobbing cleanup.
15628         - Allow any lisp object (compared with `eq'), not just symbols, as
15629           keys in object plists.
15630         - Move symbol plist frobbing into symbols.c, where it belongs.
15631         - Move string plist frobbing into alloc.c, where it belongs.
15632         - Everything's an lrecord now, so no need to test for symbolp, etc.
15633         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15634
15635         * extents.c: Reorder code to remove declarations.
15636
15637         * frame.h (store_in_alist): Remove useless declaration.
15638
15639 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15640
15641         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15642         * config.h.in: Add HAVE_XCONVERTCASE.
15643
15644 2000-02-07  Andy Piper  <andy@xemacs.org>
15645
15646         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15647         it breaks many things.
15648
15649 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15650
15651         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15652         actually can start a common comment type.
15653         * src/syntax.h (SYNTAX_END_P): ditto for end.
15654
15655 2000-02-07  Martin Buchholz <martin@xemacs.org>
15656
15657         * XEmacs 21.2.28 is released.
15658
15659 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15660
15661         * event-Xt.c (x_keysym_to_character): New.
15662         (maybe_define_x_key_as_self_inserting_character): New.
15663         (x_has_keysym): New.
15664         Auto-define all keys on the keyboard as self-insert-key.
15665
15666 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15667
15668         * menubar.c (vars_of_menubar): A small code simplification.
15669
15670         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15671
15672         * ExternalShell.c:
15673         * ExternalClient.c:
15674         * EmacsShell-sub.c:
15675         * EmacsManager.c:
15676         * EmacsFrame.c:
15677         Use consistent style for specifying X resources.
15678
15679         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15680         This makes (dontusethis-set-symbol-value-handler) actually usable.
15681
15682         * lrecord.h (lrecord_decription_type):
15683         * alloc.c (pdump_register_sub):
15684         (pdump_dump_data):
15685         (pdump_reloc_one):
15686         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15687         Comply with XEmacs coding style.
15688         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15689         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15690
15691         * keymap.c (Faccessible_keymaps):
15692         Make (accessible-keymaps map "\C-h") do the Right Thing.
15693         Make (accessible-keymaps map []) do the Right Thing.
15694         Make (accessible-keymaps map "") do the Right Thing.
15695         (check_keymap_definition_loop): New function.
15696         (keymap_store_internal): Keep luser from shooting self in foot,
15697           via (define-key ctl-x-4-map "p" global-map).
15698         Remove fullness slot from struct Lisp_Keymap, since hash tables
15699         are now reliable.
15700         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15701
15702 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15703
15704         * redisplay.c (init_redisplay): Fix small memory leak.
15705         * elhash.h:
15706         * elhash.c (pdump_reorganize_hash_table):
15707         Rename from reorganize_hash_table. Change prototype.
15708         Reuse the original memory for hentries.  Save 100k.
15709         * alloc.c (PDUMP_READ): new macro.
15710         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15711         * alloc.c: No need to #ifndef before #undef.
15712
15713         * print.c: Allow debug_print() to print readably by modifying
15714         debug_print_readably.  Use consistent variable names.
15715
15716         * .dbxrc: Try to get things to work even if stopped in a function
15717         without source available by explicitly specifying source files.
15718 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15719
15720         * unexnt.c (_start): Removed bogus code which caused loading heap
15721         from differrent executable file.
15722         Removed bogus assignment to _fmode, which caused inconsistencies.
15723
15724 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15725
15726         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15727         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15728         Do not preliminary `#define signal sigset'.
15729
15730         * systime.h: Do not prototype environ on windows nt and cygwin,
15731         this conflicts with system header.
15732
15733         * syssignal.h: Use correct define for WINDOWSNT
15734
15735         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15736         with system header.
15737
15738         * sysdep.c (near start of file): Fixed commentary and rearranged
15739         ifdefs in readable order.
15740         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15741         (start_of_text):
15742         (end_of_text):
15743         (end_of_data): Do not compile in if using PDUMP.
15744
15745         * symsinit.h: Prototyped vars_of_nt().
15746
15747         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15748         (find_child_console): Use it.
15749         (sys_kill): Use it.
15750
15751         * ntheap.h: Do not extern os_subtype.
15752
15753         * ntheap.c (cache_system_info): Do not cache unneeded:
15754         nt_major_version, nt_minor_version and os_subtype.
15755         (recreate_heap): Do not compile in when PDUMPing.
15756
15757         * nt.c (geteuid and friends): Use the new varibale
15758         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15759         (init_user_info): Removed the above mentioned hackery.
15760         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15761         stat has been fixed in the C runtime.
15762         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15763
15764         * file-coding.c (struct file_coding_dump): Do not define
15765         ucs_to_mule_table in the struct if not MULE.
15766         (struct struct lrecord_description fcd_description_1): Do not dump
15767         the above.
15768
15769         * emacs.c (main_1): Call vars_of_nt().
15770         (right before Fdump_emacs_data): Don't need lastfile if using both
15771         portabe dumper and system malloc.
15772
15773         * alloc.c (Fmemory_limit): Conditionalized out.
15774         (pdump): Use OPEN_BINARY for the portable dump file.
15775         (pdump_load): Ditto.
15776
15777 2000-02-02  Mike Alexander  <mta@arbortext.com>
15778
15779         * nt.c (convert_time): Set tm_isdst before calling mktime and
15780         avoid calling it at all if the compiler supports 64 bit integers.
15781         Also initialize utc_base_ft before using it.
15782
15783 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15784
15785         * frame.c (change_frame_size_1): Take f->internal_border_width
15786         into consideration when calculating the width of the frame.
15787
15788 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15789
15790         * window.c (frame_min_height):
15791         (frame_size_valid_p):
15792         (frame_pixsize_valid_p): Added.
15793         (check_frame_size): Generalized.
15794
15795         * window.h: Prototyped the above.
15796
15797         * lisp.h:
15798         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15799         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15800         Deleted Vwin32_* and Vbinary_process_* unused variables.
15801
15802         * device-msw.c (msprinter_init_device): Do not get printer font
15803         list; Added DEVMODE functions.
15804
15805         * frame-msw.c: Added lots of printer code.
15806
15807         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15808         general.c.
15809
15810         * console-msw.h: Added more msprinter device private slots.
15811
15812 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15813
15814         * event-msw.c (key_needs_default_processing_p): Added.
15815         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15816
15817 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15818
15819         * glyphs.c (image_instance_layout): Mark image instance as clean
15820         after layout.
15821         (glyph_dirty_p): Removed redundant function.
15822         (invalidate_glyph_geometry_maybe): Added.
15823         (update_glyph_cachel_data): Call it.
15824
15825         * glyphs.h: Prototyped it.
15826
15827         * redisplay.c (add_glyph_rune): Call it.
15828         (redisplay_window): Reset glyphs cachels when frame faces have
15829         changed, thus forcing recomputation of built-in border glyphs.
15830
15831 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15832
15833         * Makefile.in.in: Make portable dumper and purify play well together.
15834         Add imperfect, but better than nothing, support for pdump.
15835         Remove xemacs.dmp when temacs is re-generated.
15836         Don't ignore errors when dumping xemacs.
15837
15838         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15839
15840 2000-01-28  Andy Piper  <andy@xemacs.org>
15841
15842         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15843         (setup_normal_frame): ditto.
15844         (setup_frame_without_minibuffer): ditto.
15845         (setup_minibuffer_frame): ditto.
15846         (delete_frame_internal): ditto.
15847         (Fmake_frame_invisible): ditto.
15848         (Ficonify_frame): ditto.
15849
15850         * window.h: change Fset_window_buffer signature.
15851
15852         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15853         (Fset_window_buffer): allow recording of buffer if the window is
15854         the selected window.
15855         (window_loop): Use new Fset_window signature.
15856
15857 2000-01-23  Daniel Pittman  <daniel@danann.net>
15858
15859         * config.h.in: Added template for `HAVE_ATHENA_3D'
15860
15861 2000-01-29  Andy Piper  <andy@xemacs.org>
15862
15863         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15864
15865         * gutter.c (output_gutter): Don't output if the window isn't live.
15866
15867 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15868
15869         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15870         of 01/12/00: Moved SetFocus back here where it belongs.
15871
15872 2000-01-23  Andy Piper  <andy@xemacs.org>
15873
15874         * s/cygwin32.h: declare printer things.
15875
15876 2000-01-26  Andy Piper  <andy@xemacs.org>
15877
15878         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15879         Alexander.
15880
15881 2000-01-24  Andy Piper  <andy@xemacs.org>
15882
15883         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15884         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15885
15886         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15887
15888         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15889
15890         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15891
15892         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15893         (mswindows_output_display_block): Avoid local shadows.
15894
15895         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15896         (mswindows_enqueue_mouse_button_event): ditto.
15897         (mswindows_handle_gui_wm_command): remove declaration.
15898
15899         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15900         warnings.
15901
15902         * console-msw.h: Avoid shadows.
15903         (mswindows_get_toolbar_button_text):
15904         (emacs_mswindows_create_stream_pair):
15905         (emacs_mswindows_delete_stream_pair):
15906         (mswindows_handle_toolbar_wm_command): declare.
15907
15908         * device-msw.c (build_syscolor_string): Avoid shadows.
15909
15910 2000-01-23  Andy Piper  <andy@xemacs.org>
15911
15912         * glyphs-widget.c (widget_instantiate): reverse the items for
15913         layouts so that children are in the expected order.
15914
15915 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15916
15917         * ralloc.c: safe_bcopy ==> memmove
15918         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15919         * s/msdos.h: Remove BCOPY macros.
15920         * insdel.c (gap_right): Remove BCOPY conditional code.
15921         * insdel.c (gap_left): Remove BCOPY conditional code.
15922         XEmacs demands a working ANSI C compiler - hence memmove.
15923
15924         * regex.c (regex_compile): Remove accidental use of trigraphs.
15925
15926 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15927
15928         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15929         event timestamp.
15930
15931 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15932
15933         * event-msw.c (mswindows_drain_windows_queue): Added the
15934         parameter.
15935         (mswindows_need_event): Commented the call to
15936         mswindows_drain_windows_queue().
15937         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15938         only.
15939
15940         * console-msw.h: Moved a few function prototypes here from
15941         event-msw.c.
15942
15943         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15944         parameter from unsigned short to unsigned long.
15945         (Fmswindows_shell_execute): Added return value.
15946
15947 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15948
15949         * sysdep.c (init_system_name):
15950           process-unix.c (unix_canonicalized_host_name):
15951         Don't call freeaddrinfo() if getaddrinfo() fails.
15952
15953         * process-unix.c (unix_open_unix_network_stream):
15954         Moved the code to get a port # into address loop.
15955
15956 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15957
15958         * buffer.c (reinit_vars_of_buffer):
15959         The right place to initialize conversion_in_dynarr and
15960         conversion_out_dynarr.
15961
15962         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15963
15964         * process-unix.c (unix_canonicalize_host_name): Muleize.
15965         (unix_open_network_stream): Muleize.
15966
15967         * buffer.h: Fix up prototypes for ralloc.c functions.
15968
15969 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15970         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15971         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15972                 instead of gethostbyname()
15973         * process-unix.c: In unix_canonicalize_host_name() and
15974                 unix_open_network_stream(), add code to use getaddrinfo()
15975                 instead of gethostbyname().
15976
15977 2000-01-27  Daniel Pittman <daniel@danann.net>
15978
15979         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15980         libs when built with flat Athena.
15981
15982 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15983
15984         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15985         Use coding standards for function prototypes.
15986
15987 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15988
15989         * dialog-msw.c (push_lisp_string_as_unicode):
15990         * doc.c (unparesseuxify_doc_string):
15991         * dired.c (Fuser_name_completion_1):
15992         * dired.c (Fuser_name_all_completions):
15993         * dired.c (free_user_cache):
15994         * dired.c (user_name_completion):
15995         * console-x.c (get_display_arg_connection):
15996         * minibuf.c (clear_echo_area_internal):
15997         * minibuf.c (echo_area_append):
15998         * eldap.c (Fldap_open):
15999         * eldap.c (Fldap_search_internal):
16000         * frame-x.c (x_set_frame_text_value):
16001         * frame-x.c (x_set_frame_properties):
16002         * frame-x.c (x_create_widgets):
16003         * redisplay-tty.c (term_get_fkeys_1):
16004         * objects-x.c (x_parse_nearest_color):
16005         * objects-x.c (x_valid_color_name_p):
16006         * objects-x.c (x_initialize_font_instance):
16007         * objects-x.c (x_list_fonts):
16008         * objects-x.c (x_find_charset_font):
16009         * tooltalk.c (Fadd_tooltalk_message_arg):
16010         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16011         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16012         * process-unix.c (unix_create_process):
16013         * ntproc.c (sys_spawnve):
16014         * sound.c (Fplay_sound_file):
16015         * sound.c (Fplay_sound):
16016         * buffer.c (init_initial_directory):
16017         * buffer.c (init_buffer):
16018         * editfns.c (init_editfns):
16019         * editfns.c (Ftemp_directory):
16020         * editfns.c (Fuser_full_name):
16021         * editfns.c (uncache_home_directory):
16022         * editfns.c (get_home_directory):
16023         * editfns.c (Fuser_home_directory):
16024         * editfns.c (Fformat_time_string):
16025         * editfns.c (Fcurrent_time_string):
16026         * gui-x.c (button_item_to_widget_value):
16027         * database.c (Fopen_database):
16028         * event-Xt.c (x_to_emacs_keysym):
16029         * event-Xt.c (x_event_to_emacs_event):
16030         * event-Xt.c (describe_event_window):
16031         * event-msw.c (mswindows_wnd_proc):
16032         * glyphs-eimage.c (jpeg_instantiate):
16033         * glyphs-eimage.c (gif_instantiate):
16034         * glyphs-eimage.c (png_instantiate):
16035         * glyphs-eimage.c (tiff_instantiate):
16036         * glyphs-x.c (xbm_instantiate_1):
16037         * glyphs-x.c (x_xbm_instantiate):
16038         * glyphs-x.c (x_xface_instantiate):
16039         * glyphs-x.c (autodetect_instantiate):
16040         * glyphs-x.c (cursor_font_instantiate):
16041         * glyphs-x.c (x_widget_instantiate):
16042         * glyphs-x.c (x_widget_set_property):
16043         * glyphs-x.c (x_widget_property):
16044         * glyphs-x.c (BUILD_GLYPH_INST):
16045         * print.c (write_string_to_stdio_stream):
16046         * print.c (output_string):
16047         * print.c (Falternate_debugging_output):
16048         * print.c (Fexternal_debugging_output):
16049         * glyphs-msw.c (extract_xpm_color_names):
16050         * glyphs-msw.c (mswindows_xpm_instantiate):
16051         * glyphs-msw.c (bmp_instantiate):
16052         * glyphs-msw.c (resource_name_to_resource):
16053         * glyphs-msw.c (mswindows_resource_instantiate):
16054         * glyphs-msw.c (xbm_instantiate_1):
16055         * glyphs-msw.c (mswindows_xbm_instantiate):
16056         * glyphs-msw.c (mswindows_xface_instantiate):
16057         * glyphs-msw.c (mswindows_widget_instantiate):
16058         * glyphs-msw.c (add_tree_item):
16059         * glyphs-msw.c (add_tab_item):
16060         * glyphs-msw.c (mswindows_combo_box_instantiate):
16061         * glyphs-msw.c (mswindows_widget_property):
16062         * glyphs-msw.c (mswindows_combo_box_property):
16063         * glyphs-msw.c (mswindows_widget_set_property):
16064         * console.c (stuff_buffered_input):
16065         * objects-msw.c (mswindows_initialize_color_instance):
16066         * objects-msw.c (mswindows_valid_color_name_p):
16067         * objects-msw.c (mswindows_list_fonts):
16068         * objects-msw.c (mswindows_font_instance_truename):
16069         * bytecode.c (optimize_compiled_function):
16070         * select-x.c (symbol_to_x_atom):
16071         * select-x.c (x_atom_to_symbol):
16072         * select-x.c (hack_motif_clipboard_selection):
16073         * select-x.c (selection_data_to_lisp_data):
16074         * select-x.c (lisp_data_to_selection_data):
16075         * select-x.c (Fx_get_cutbuffer_internal):
16076         * select-x.c (Fx_store_cutbuffer_internal):
16077         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16078         * buffer.h (TO_INTERNAL_FORMAT): New function.
16079         * emacs.c (make_arg_list_1):
16080         * emacs.c (make_argc_argv):
16081         * emacs.c (main_1):
16082         * emacs.c (Fdump_emacs):
16083         * emacs.c (split_string_by_emchar_1):
16084         * file-coding.h:
16085         * lisp.h:
16086         * lstream.h:
16087         * symsinit.h:
16088         * device-x.c (x_init_device):
16089         * device-x.c (Fx_valid_keysym_name_p):
16090         * device-x.c (Fx_get_font_path):
16091         * device-x.c (Fx_set_font_path):
16092         * glyphs.c (bitmap_to_lisp_data):
16093         * glyphs.c (pixmap_to_lisp_data):
16094         * alloc.c (make_ext_string): Use coding system arguments.  Update
16095         all callers.
16096         * alloc.c (build_string):
16097         * callproc.c (child_setup):
16098         * callproc.c (init_callproc):
16099         * fileio.c (lisp_strerror):
16100         * fileio.c (directory_file_name):
16101         * fileio.c (Fexpand_file_name):
16102         * fileio.c (Ffile_truename):
16103         * fileio.c (Fsysnetunam):
16104         * fileio.c (Fdo_auto_save):
16105         * sysdep.c (sys_readdir):
16106         * tests.c: New file.  Allow adding C tests.
16107         Replace GET_* macros with a more comprehensible and flexible
16108         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16109         Modify all calls.
16110         Any coding system can be used to do format conversion.
16111         Eliminate enum external_data_format.
16112         Eliminate convert_to_external_format.
16113         Eliminate convert_to_internal_format.
16114         Make sure file-name, keyboard, terminal, and ctext are always
16115         defined as coding systems or aliases.  Make
16116         file-name-coding-system, terminal-coding-system, and
16117         keyboard-coding-system magical variables that are equivalent to
16118         defining the corresponding coding system aliases.
16119
16120         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16121         * file-coding.c (Fcoding_system_alias_p): New function.
16122         * file-coding.c (Fcoding_system_aliasee): New function.
16123         * file-coding.c (append_suffix_to_symbol): New function.
16124         * file-coding.c (dangling_coding_system_alias_p): New function.
16125         * file-coding.c (Ffind_coding_system):
16126         * file-coding.c (Fcopy_coding_system):
16127         * file-coding.c (encode_coding_no_conversion):
16128         * file-coding.c (syms_of_file_coding):
16129         * file-coding.c (vars_of_file_coding):
16130         Rewrite coding system alias code.
16131         Allow nested aliases, like symbolic links.
16132         Allow redefinition of coding system aliases.
16133         Prevent existence of dangling coding system aliases.
16134
16135         * dired.c (Fuser_name_completion_1):
16136         * dired.c (Fuser_name_all_completions):
16137         A crash would happen if user did QUIT in the middle of building
16138         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16139
16140         * lisp.h:
16141         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16142
16143         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16144         an unsigned char *.  Update all callers.
16145
16146 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16147
16148         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16149
16150 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16151
16152         * elhash.c (hentry_description): Use more portable definition.
16153         (resize_hash_table): Initialize new hentries using
16154         xnew_array_and_zero, thereby simplifying the code.
16155
16156         * mule-charset.c (make_charset): Make sure entire object is
16157         initialized, to avoid Purify warnings.
16158
16159         * alloc.c (resize_string): Fix unlikely crash with big strings.
16160
16161 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16162
16163         * realpath.c (xrealpath):
16164         Don't call getwd().
16165
16166 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16167
16168         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16169
16170 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16171
16172         * unexelfsgi.c (unexec): Change the way we decide which segment
16173         should be extended.
16174
16175         Assumption that .bss section should be outside the PT_LOADable
16176         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16177         it's present) is inside the 'data' segment. This would fail the
16178         test which was used to find a segment to grow and cover new
16179         heap. Instead of this assumption, I created another one - on IRIX
16180         the segment to grow should start below .bss and it's address
16181         should extent above the end of .bss. Once this segment is
16182         identified, it's grown to accommodate the new heap and new
16183         zero-length .bss section is added at the end of .data2.
16184
16185 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16186
16187         * eval.c (Feval): Wrong number of arguments should use original
16188         function, not the indirect_function version of it.
16189
16190 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16191
16192         * glyphs-x.c (x_button_instantiate): Don't add image if
16193         it is not a pixmap.
16194         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16195         is relative.
16196
16197 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16198
16199         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16200         declaration.
16201         (DEFVAR_INT_MAGIC): Ditto.
16202         (DEFVAR_BOOL_MAGIC): Ditto.
16203         * glyphs.h: Reindent backslash.
16204
16205 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16206
16207         * glyphs-widget.c (layout_query_geometry):
16208         (layout_layout): Use correct types for gheight, gwidth.
16209
16210 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16211
16212         * EmacsManager.c (QueryGeometry): Purified.
16213
16214 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16215
16216         * alloc.c (make_float): Make sure entire object is initialized, to
16217         avoid Purify warnings.
16218         (pdump_register_sub): Remove useless assignment.
16219         (pdump): Use xmalloc, not malloc.
16220         (pdump_load): Use xmalloc, not malloc.
16221
16222 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16223
16224         * callproc.c:
16225         * dired-msw.c:
16226         * fileio.c:
16227         * process-nt.c:
16228         * redisplay-msw.c:
16229         * sysdep.c: Removed redundant #include <windows.h>
16230
16231 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16232
16233         * frame.c (delete_frame_internal): Do not delete device when its
16234         implementation so declares.
16235         (delete_frame_internal): Set device selected frame to nil when
16236         last frame goes away.
16237
16238         * device-msw.c (msprinter_device_system_metrics): Implemented.
16239         (mswindows_device_system_metrics): Added 'device-dpi property.
16240
16241         * device.c: (Fdevice_printer_p): Added.
16242         Added 'offset-workspace device metric.
16243
16244         * console.h (device_metrics): Declared DM_offset_workspace.
16245
16246 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16247
16248         * fileio.c (Ffile_truename): Remove pointless and confusing
16249         initialization of elen.
16250
16251         * glyphs-widget.c: Compiler warning fixes.
16252
16253 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16254
16255         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16256         instead of a Lisp_Object as argument to make it consistent with
16257         the other LIVE_P macros.
16258         (CHECK_LIVE_PROCESS): New macro.
16259
16260         * process.c: Declare Qprocess_live_p.
16261         (Fprocess_live_p): New function.
16262         (create_process): Use PROCESS_LIVE_P.
16263         (read_process_output): Ditto.
16264         (set_process_filter): Ditto.
16265         (Fdelete_process): Ditto.
16266         (kill_buffer_processes): Ditto
16267         (process_send_signal): Use CHECK_LIVE_PROCESS.
16268         (Fprocess_input_coding_system): Check whether process is still
16269         alive (fix PR#1061).
16270         (Fprocess_output_coding_system): Ditto.
16271         (Fprocess_coding_system): Ditto.
16272         (Fset_process_input_coding_system): Ditto.
16273         (Fset_process_output_coding_system): Ditto.
16274
16275 2000-01-23  Andy Piper  <andy@xemacs.org>
16276
16277         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16278         layout and widget.
16279
16280         * glyphs.c (mark_image_instance): take into account changed
16281         image_instance format.
16282         (image_instance_equal): ditto.
16283         (image_instance_hash): ditto.
16284
16285         * glyphs-widget.c (widget_instantiate): Incorporate layout
16286         instantiation here. Delay layout of the layout until later.
16287         (layout_instantiate): deleted.
16288         (layout_query_geometry): new function. get the geometry of a
16289         layout.
16290         (layout_layout): layout a layout dynamically.
16291         (image_instantiator_widget): New function - splitting up
16292         image_instantiator_format_create_glyphs_widget for netwinder
16293         compilation.
16294         (image_instantiator_buttons):
16295         (image_instantiator_edit_fields):
16296         (image_instantiator_combo_box):
16297         (image_instantiator_scrollbar):
16298         (image_instantiator_progress_guage):
16299         (image_instantiator_tree_view):
16300         (image_instantiator_tab_control):
16301         (image_instantiator_labels):
16302         (image_instantiator_layout): ditto.
16303         (image_instantiator_format_create_glyphs_widget): Call preceding
16304         functions.
16305
16306 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16307
16308         * process.c (Fset_process_coding_system):
16309         * device-x.c (Fx_keysym_hash_table):
16310         Docstring fixes.
16311
16312         * lstream.c (Lstream_write): Return documented value, not 0.
16313
16314         * fileio.c (directory_file_name):
16315         (Fsubstitute_in_file_name):
16316         (Fsubstitute_insert_file_contents_internal):
16317         (Fwrite_region_internal):
16318         * emacs.c:
16319         * sysdep.c:
16320         * getloadavg.c:
16321         * systty.h:
16322         Remove vestigial APOLLO-conditional code.
16323
16324 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16325
16326         * getpagesize.h: Add guard macros.
16327         * libsst.h: Add guard macros.
16328         * libst.h: Add guard macros.
16329         * line-number.h: Add guard macros.
16330         * ndir.h: Add guard macros.
16331         * sysfloat.h: Add guard macros.
16332         * sysfile.h: Add guard macros.
16333         * sysproc.h: Add guard macros.
16334         * syswait.h: Add guard macros.
16335         * xintrinsic.h: Add guard macros.
16336         * xintrinsicp.h: Add guard macros.
16337         * xmmanager.h: Add guard macros.
16338         * xmmanagerp.h: Add guard macros.
16339         * xmprimitive.h: Add guard macros.
16340         * xmu.h: Add guard macros.
16341         * gpmevent.h: Add copyright statement. Add guard macros.
16342         * miscplay.h: Add guard macros.
16343         * *.h: Use consistent C-standards-approved guard macro names.
16344
16345         * opaque.c (make_opaque): Switch parameter order.
16346         * opaque.h (make_opaque): Switch parameter order.
16347         Update all callers.
16348         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16349
16350         * config.h.in (type_checking_assert): Added.
16351         (bufpos_checking_assert): Added.
16352
16353 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16354
16355         * alloc.c: Harmless pdump changes.
16356         - Use countof().
16357         - spell alignment correctly.
16358         * sysdep.c: Use countof()
16359
16360 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16361
16362         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16363         initially_selected_for_input() console method, default to 0.
16364         (semi_canonicalize_console_connection): Try to delegate to
16365         canonicalize_console_connection if no such console method.
16366         (canonicalize_console_connection): Vice versa.
16367         (print_console): Do not print nil connection.
16368
16369         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16370         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16371         (XDEVIMPF_FRAMELESS_OK): Added.
16372         (CONSOLE_INHERITS_METHOD): Added.
16373
16374         * console-msw.c (mswindows_canonicalize_console_connection):
16375         Added.
16376         (mswindows_canonicalize_device_connection): Added.
16377
16378         * console-msw.h (struct msprinter_device): Added this struct and
16379         accessor macros.
16380         (mswindows_device): Made fontlist a lisp object.
16381
16382         * device.c (semi_canonicalize_device_connection):  Try to delegate
16383         to canonicalize_device_connection if no such console method.
16384         (canonicalize_device_connection): Vice versa.
16385         (print_device): Do not print nil connection.
16386
16387         * device-msw.c (mswindows_init_device): Call InitCommonControls
16388         when have widgets.
16389         (mswindows_delete_device): Removed fontlist deallocation.
16390         (mswindows_mark_device): Added.
16391
16392         * events.c (event_equal): Added abort() at unreached code.
16393         (event_hash): Ditto.
16394
16395         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16396         fallback tags of Windows devices.
16397
16398         * general.c (syms_of_general): Initialized Qmsprinter.
16399
16400         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16401         of fallback tags of Windows devices.
16402
16403         * lisp.h: Declared Qmsprinter.
16404
16405         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16406         of strings.
16407         (mswindows_list_fonts): Ditto.
16408         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16409         that it can be used by both mswindows and msprinter devices.
16410         (initialize_font_instance): Added.
16411         (mswindows_initialize_font_instance): Use it.
16412         (msprinter_initialize_font_instance): Added.
16413
16414         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16415         and implementation flags check.
16416         (redisplay_without_hooks): Changed the call to the above.
16417         (Fredraw_device): Ditto.
16418         (Fredisplay_device): Ditto.
16419
16420         * redisplay-msw.c (get_frame_dc): Implemented.
16421         (get_frame_compdc): Implemented.
16422         (many functions): Use the two functions above to get device
16423         contexts, ether for a window or a printer.
16424
16425 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16426
16427         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16428         initialization here.
16429         (init_symbols_once_early): Call it.
16430         * emacs.c (main_1): Call it.
16431         * symsinit.h: Declare it.
16432
16433 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16434
16435         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16436         Lisp_Object.
16437         (pdump_backtrace): Ditto.
16438         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16439         (pdump_get_entry): Abort if trying to register a null pointer.
16440         (pdump_dump_data): Cleanup types when relocating.
16441         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16442         (pdump_dump_rtables): Remove bad casts.
16443         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16444         Lisp_Object instead of a EMACS_INT for the hashtable
16445         reorganization.
16446
16447 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16448
16449         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16450
16451         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16452
16453         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16454
16455         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16456
16457 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16458
16459         * faces.h (FACE_STRIKETHRU_P): Added.
16460
16461         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16462         of font variants.
16463
16464         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16465         (mswindows_set_dc_font): New function, aware of font variants,
16466         separated from mswindows_update_dc.
16467
16468         * objects-msw.h (struct mswindows_font_instance_data): Added
16469         definition.
16470
16471         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16472         cached fonts and the data structure.
16473         (mswindows_initialize_font_instance): Added creation of font data
16474         structure.
16475         (mswindows_print_font_instance): Print at least something.
16476         (mswindows_create_font_variant): Implemented.
16477         (mswindows_get_hfont): Implemented.
16478
16479 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16480
16481         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16482         prototyping problem with msvc.
16483
16484         * emacs.c (main_1): added syms_of_gui_mswindows() call
16485
16486         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16487         syms_of_gui_mswindows() function
16488
16489         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16490
16491 2000-01-18  Martin Buchholz <martin@xemacs.org>
16492
16493         * XEmacs 21.2.27 is released.
16494
16495 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16496
16497         * glyphs-eimage.c (struct tiff_error_struct):
16498         (tiff_error_func):
16499         (tiff_warning_func):
16500         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16501
16502         * unexmips.c:
16503         * unexhp9k3.c:
16504         * unexfreebsd.c:
16505         * unexec.c: Remove vestigial Lucid C code.
16506         * unexalpha.c:
16507         * unexaix.c:
16508         * termcap.c:
16509         * libsst.c: Ansify.
16510         Remove declarations of errno and strerror().
16511
16512         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16513
16514         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16515
16516 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16517
16518         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16519         Optimize.
16520
16521 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16522
16523         * md5.c:
16524         * file-coding.c:
16525         * file-coding.h:
16526         Change enum eol_type to eol_type_t.
16527
16528 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16529
16530         * gui.c (get_gui_callback): Check cons before accessing car.
16531
16532 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16533
16534         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16535         (XSETSPECIFIER_TYPE): Ditto.
16536
16537 2000-01-17  Didier Verna  <didier@xemacs.org>
16538
16539         * redisplay.c (generate_fstring_runes): compute string size in
16540         characters, not bytes.
16541
16542 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16543
16544         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16545
16546 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16547
16548         * print.c (print_error_message): Call print_prepare().
16549
16550 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16551
16552         * .dbxrc: Renamed from dbxrc.
16553
16554         * events.c (event_to_character):
16555         Use `assert (foo)' instead of `if (!foo) abort()'
16556
16557         * .gdbinit (xtype): Add documentation.
16558         * .gdbinit (check-temacs): New function.
16559         * .gdbinit (check-xemacs): New function.
16560         * dbxrc (check-xemacs): New function.
16561         * dbxrc (check-xemacs): New function.
16562
16563 2000-01-14  Andy Piper  <andy@xemacs.org>
16564
16565         * glyphs-widget.c (widget_query_geometry): Make sure that we
16566         calculate default dimensions correctly.
16567
16568 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16569
16570         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16571
16572         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16573         pdump_wire'd variable.
16574
16575         * emacs.c: (main_1): Conditionalized calls to
16576         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16577
16578 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16579
16580         * window.c (Fset_window_configuration):
16581         * sysdep.c (_start):
16582         * input-method-motif.c (res):
16583         * event-Xt.c (Xt_process_to_emacs_event):
16584         Simple compiler warning fixes.
16585
16586         * bytecode.c (funcall_compiled_function): Use the original
16587         function symbol on the backtrace list in preference to the
16588         compiled_function object in error messages.
16589
16590 2000-01-13  Andy Piper  <andy@xemacs.org>
16591
16592         * glyphs-x.c (update_widget_face): Make sure we update the widget
16593         background as well as foreground.
16594
16595 2000-01-13  Andy Piper  <andy@xemacs.org>
16596
16597         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16598         fields to subwindow.
16599         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16600         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16601         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16602         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16603
16604         * glyphs-widget.c (check_valid_tab_orientation): new function.
16605         (initialize_widget_image_instance): zero orientation and
16606         justification.
16607         (widget_instantiate): pick up orientation.
16608         (tab_control_query_geometry): return appropriate values for
16609         vertical tabs.
16610
16611         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16612         appropriate creation flags for left, right and bottom tabs.
16613
16614         * s/cygwin32.h: add tab definitions.
16615
16616 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16617
16618         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16619         frame upon hiding a subwindow.
16620         (mswindows_button_instantiate): Changed the push button style to
16621         BS_PUSHBUTTON.
16622         (mswindows_button_instantiate): Removed button BS_NOTIFY
16623         style.
16624         (mswindows_button_instantiate): Removed redundant check for
16625         a disabled gui item.
16626         (mswindows_button_instantiate): Made use of WS_TABSTOP
16627         consistent: "operable" controls (edit, button, tree, scroll) have
16628         this style, "display-only" ones (static, progress gauge) do
16629         not. This style is currently ignored by XEmacs though. Also,
16630         removed the WS_EX_CONTROLPARENT style - it is not for children,
16631         it is for their parents!
16632         (mswindows_edit_field_instantiate): Ditto.
16633         (mswindows_progress_gauge_instantiate): Ditto.
16634         (mswindows_tree_view_instantiate): Ditto.
16635         (mswindows_tab_control_instantiate): Ditto.
16636         (mswindows_scrollbar_instantiate): Ditto.
16637         (mswindows_combo_box_instantiate): Ditto.
16638         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16639         style to the "clip" window.
16640         (mswindows_button_instantiate): Removed compilation warning by
16641         equally typing terms of the ?: operator.
16642
16643 2000-01-12  Didier Verna  <didier@xemacs.org>
16644
16645         * redisplay.c (generate_fstring_runes): new parameter holding the
16646         last modeline-format extent.
16647         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16648         extent, fill the glyph block with it.
16649         (generate_fstring_runes): handle these parameters.
16650         (generate_formatted_string_db): ditto.
16651
16652         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16653         glyphs'extents in the modeline.
16654
16655 1999-01-11  Mike Woolley  <mike@bulsara.com>
16656
16657         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16658         256Mb, as a workaround for the non-starting problem many people
16659         have experienced.
16660
16661 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16662
16663         * console-tty.c (Fset_console_tty_output_coding_system):
16664         Force redrawing tty frame.
16665
16666 2000-01-10  Didier Verna  <didier@xemacs.org>
16667
16668         * redisplay.c (generate_fstring_runes): fix size computation bug.
16669
16670 2000-01-09  William M. Perry <wmperry@aventail.com>
16671
16672         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16673
16674 2000-01-09  Andy Piper  <andy@xemacs.org>
16675
16676         * glyphs-msw.c: index -> i to avoid shadows.
16677         (xbm_create_bitmap_from_data): make static.
16678         (check_valid_string_or_int): deleted.
16679         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16680
16681         * glyphs-x.c (x_update_subwindow): remove unused args.
16682
16683         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16684         back pointer - this is done in allocate_image_instance.
16685         (query_string_font): return Qnil to make the compiler happy.
16686         (unmap_subwindow): set to ~0 to make the compiler happy.
16687         (glyph_query_geometry): comment out until used.
16688         (glyph_layout): ditto.
16689
16690 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16691
16692         * insdel.c (signal_after_change): Remove extraneous unbind_to().