Sync up with XEmacs 21.4.17.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (char_table_get_db): Use `read_from_c_string'.
4
5 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
6
7         * lread.c (read_from_c_string): New function.
8
9         * lisp.h (read_from_c_string): New prototype.
10
11 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * chartab.c (Fput_char_attribute): Convert char-specs in value of
14         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
15         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
16         for `{<-|->}Oracle-Bones[^*]*'.
17
18 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
21         (Kizu).
22
23 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * text-coding.c (Qccs_priority_list): New variable in XEmacs
26         CHISE.
27         (Fmake_coding_system): Support new property `ccs-priority-list' in
28         XEmacs CHISE.
29         (Fcoding_system_property): Likewise.
30         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
31         Vdefault_coded_charset_priority_list in XEmacs CHISE.
32         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
33         XEmacs CHISE.
34         (complex_vars_of_file_coding): Define new coding-system-property
35         `ccs-priority-list' in XEmacs CHISE.
36
37         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
38
39 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
42         changed to normal function.
43         (encode_char_2): Likewise.
44
45         * mule-charset.c (decoding_table_put_char): Copied from
46         char-ucs.h; changed to normal function.
47         (encode_char_2): Likewise.
48
49 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
52         New extern.
53         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
54         (encode_char_2_search_children): New inline function.
55         (encode_char_2): Refer
56         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
57         and use `encode_char_2_search_children'.
58
59 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * mule-charset.c
62         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
63         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
64         (vars_of_mule_charset): Add new variable
65         `display-coded-charset-priority-use-inheritance' and
66         `display-coded-charset-priority-use-hierarchy-order'.
67
68 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * char-ucs.h (Q_subsumptive): New extern.
71         (Q_denotational): Likewise.
72         (encode_char_2): Search children specified by `->subsumptive' and
73         `->denotational'.
74
75 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * mule-charset.c (complex_vars_of_mule_charset): Modify the
78         X-registry of `ucs-bmp'.
79
80 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * chartab.c (char-variants): Refer `->subsumptive',
83         `->denotational' and `->identical' as same as `->ucs-unified'.
84
85 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * chartab.c (Fput_char_attribute): Convert char-specs in value of
88         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
89         links.
90
91 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * text-coding.c: Add EXFUN for `Fregexp_quote'.
94         (decode_add_er_char): Fix problem about infinite loop when a CCS
95         specified in `coded-charset-entity-reference-alist' is not
96         existed.
97
98 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule-charset.c (syms_of_mule_charset): Rename
101         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
102
103 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * fns.c (simplify_char_spec): Don't allocate new character-object
106         if specified char_spec does not have any CCS-features.
107
108         * chartab.h: Add EXFUN for Fdefine_char.
109
110         * chartab.c: Delete EXFUN for Fdefine_char.
111
112 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * fns.c (simplify_char_spec): Use Fdefine_char instead of
115         Ffind_char for char-spec.
116
117 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * lisp-disunion.h (XCHARVAL): Fix condition about
120         SIZEOF_EMACS_INT.
121
122 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
125         <int> for `code'.
126         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
127         point; use <Emchar> instead of <int> for character-id.
128
129 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
132         (make_char): Likewise.
133         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
134         environment.
135         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
136         instead of <int> as the type of return value; use <Lisp_Object>
137         instead of <Emchar> as the type of argument.
138         (XCHARVAL[macro version]): Cast the result into <Emchar>.
139
140         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
141         syntaxcode> instead of <int>.
142
143 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * chartab.c (put_char_composition): Use DECODE_CHAR to get
146         character corresponding with UCS code point.
147         (Fput_char_attribute): Likewise.
148
149         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
150         character in the UCS decoding-table if the char-id is not equal to
151         the UCS code point.
152
153 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
154
155         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
156         for aliases; write `description'; write
157         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
158         not 0.
159
160 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * chartab.c (Fsave_char_attribute_table): Don't use
163         `save_charset_properties'.
164
165         * mule-charset.c (Fsave_charset_properties): Renamed from
166         `save_charset_properties' and changed to Lisp function again;
167         write property `type' as `CCS'; write properties `final-byte' and
168         `mother' if they exists.
169         (syms_of_mule_charset): Revive builtin function
170         `save-charset-properties' when HAVE_LIBCHISE is defined.
171
172 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
175         instead of Vexec_directory.
176         (char_attribute_system_db_file): Likewise.
177
178 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * chartab.c (Fsave_char_attribute_table): Use
181         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
182         defined.
183
184         * mule-charset.c (save_charset_properties): Renamed from
185         `Fsave_charset_properties'; changed to non-Lisp function.
186         (syms_of_mule_charset): Abolish builtin function
187         `save-charset-properties'.
188
189 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * mule-charset.c (Fsave_charset_properties): New function when
192         HAVE_LIBCHISE is defined.
193         (syms_of_mule_charset): Add new builtin function
194         `save-charset-properties' when HAVE_LIBCHISE is defined.
195
196 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * chartab.c (Fput_char_attribute): Convert char-specs in value of
199         `{<-|->}ancient[^*]*' to characters and put reverse links.
200         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
201         for `{<-|->}ancient[^*]*'.
202
203 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * chartab.c (Fput_char_attribute): Convert char-specs in value of
206         `{<-|->}original[^*]*' to characters and put reverse links.
207         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
208         for `{<-|->}original[^*]*'.
209
210 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
213
214 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * mule-charset.c (Qsystem_char_id): New variable.
217
218         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
219         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
220
221 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * chartab.c (Fput_char_attribute): When processing a reference of
224         a character, put into the end of the reversed reference of each
225         target character.
226
227 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * chartab.c (Q_same): Deleted.
230         (Q_same_of): Deleted.
231         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
232         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
233         for `{<-|->}same'.
234         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
235
236 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (Q_vulgar): Deleted.
239         (Q_vulgar_of): Deleted.
240         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
241         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
242         for `{<-|->}vulgar'.
243         (syms_of_chartab): Don't define `{<-|->}vulgar'.
244
245 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * chartab.c (Fput_char_attribute): Convert char-specs in value of
248         `{<-|->}wrong[^*]*' to characters and put reverse links.
249         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
250         for `{<-|->}wrong[^*]*'.
251
252 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
253
254         * chartab.c (Q_vulgar): New variable.
255         (Q_vulgar_of): New variable.
256         (Fput_char_attribute): Convert char-specs in value of
257         `{->|<-}vulgar' to characters and put reverse links.
258         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
259         for `{->|<-}vulgar'.
260         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
261
262 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * text-coding.c (decode_add_er_char): Must to quote prefix string
265         as regexp.
266
267 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * mule-charset.c (put_char_ccs_code_point): Store characters of
270         =ucs whose code_points >= 0xF0000.
271
272 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
273
274         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
275         CHISE.
276         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
277         CHISE.
278         (complex_vars_of_mule_charset): Add new coded-charset
279         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
280         builtin characters over 0xEFFFF.
281
282         * chartab.c (syms_of_chartab): Don't define symbol
283         `system-char-id' in every case.
284
285         * char-ucs.h (Qsystem_char_id): New extern variable.
286         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
287
288 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
289
290         * text-coding.c (char_encode_utf8): Try to use entity-references
291         for U-000F0000 ...  U-0010FFFF.
292
293 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * text-coding.c (ER_BUF_SIZE): New macro.
296         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
297         `er_buf'.
298         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
299         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
300
301 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * chartab.c (find_char_feature_in_family): New function.
304         (Fchar_feature): Use `find_char_feature_in_family' with
305         `->identical', `<-subsumptive' and `<-denotational'.
306
307 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * text-coding.c (char_encode_as_entity_reference): Allow prefix
310         within 8 characters; fix infinite loop.
311
312 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * chartab.c (Q_same): New variable.
315         (Q_same_of): New variable.
316         (Fput_char_attribute): Convert char-specs in value of
317         `{->|<-}same' to characters and put reverse links.
318         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
319         for `{->|<-}same'.
320         (syms_of_chartab): Add new symbols `{->|<-}same'.
321
322 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * chartab.c (Q_component): New variable.
325         (Q_component_of): Likewise.
326         (Fput_char_attribute): Convert char-specs in value of
327         `{->|<-}ideographic-component-forms' to characters and put reverse
328         links.
329         (syms_of_chartab): Add new symbols
330         `{->|<-}ideographic-component-forms'.
331
332 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
333
334         * chartab.c (Q_identical): New variable.
335         (Q_identical_from): New variable.
336         (Fchar_feature): Regard `->identical' as a feature to find
337         ancestors.
338         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
339         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
340         for `{->|<-}identical'.
341         (syms_of_chartab): Add new symbols `{->|<-}identical'.
342
343 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
344
345         * char-ucs.h (encode_char_2): New inline function.
346         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
347
348 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * chartab.c (Fput_char_attribute): Convert char-specs to
351         characters in value of `ideographic-structure'.
352         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
353         for `{<-|->}simplified(@...)'.
354         (Fdefine_char): Try to use predefined character's id.
355
356 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * fns.c (simplify_char_spec): Try to convert builtin chars to
359         defined chars.
360
361 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * chartab.c (Fput_char_attribute): Convert char-specs in value of
364         `<-simplified[^*]*' to characters and put reverse links.
365
366 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * chartab.c (Q_subsumptive): Renamed from Q_unified.
369         (Q_subsumptive_from): Renamed from Q_unified_from.
370         (Fchar_feature): Use `Q_subsumptive_from' instead of
371         `Q_unified_from'.
372         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
373         `Q_unified'.
374         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
375         `<-unified' to `<-subsumptive'.
376
377 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
380         inheritance itself; fix typo; stop recursive search if cyclic
381         inheritance is found.
382
383 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
384
385         * chartab.c (Q_denotational): New variable.
386         (Q_denotational_from): New variable.
387         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
388         (put_char_attribute): New function.
389         (Fput_char_attribute): Use `put_char_attribute'; regard
390         `->denotational' and `<-denotational' as same as `->unified' and
391         `<-unified'.
392         (syms_of_chartab): Add new symbols `->denotational' and
393         `<-denotational'.
394
395 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
398         `Fget_char_attribute'.
399         (Fchar_variants): Likewise.
400         (get_char_table): Likewise.
401         (Fchar_feature): New function.
402         (put_char_composition): Use `Fchar_feature' instead of
403         `Fget_char_attribute'.
404         (Fput_char_attribute): Likewise; don't put the target character
405         into its `->unified' value.
406         (syms_of_chartab): Add new builtin function `char-feature'.
407
408 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
411         `Fget_char_attribute'.
412         (char_encode_utf8): Likewise.
413
414         * chartab.h: Add an EXFUN for `Fchar_feature'.
415
416 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
417
418         * chartab.c (Vnext_defined_char_id): New variable.
419         (Fput_char_attribute): Accept characters in `->unified'.
420         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
421         new characters which are not related with builtin char-id ranges.
422         (vars_of_chartab): Add new variable `next-defined-char-id'.
423
424 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
425
426         * chartab.c (Q_unified): New variable.
427         (Q_unified_from): New variable.
428         (Fput_char_attribute): Add code for `->unified'.
429         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
430         XEmacs CHISE.
431
432 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * mule-charset.c (decode_ccs_conversion): New function.
435         (decode_defined_char): Use `decode_ccs_conversion'.
436         (decode_builtin_char): Likewise.
437
438 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
439
440         * char-ucs.h: Change some charset-ids of private coded-charsets.
441
442 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
445         (char_encode_as_entity_reference): Likewise.
446         (decode_coding_big5): Modify for `decode_defined_char' and
447         `DECODE_CHAR'.
448         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
449         avoid compiler warning.
450         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
451
452         * mule-charset.c (decode_defined_char): Add new argument
453         `without_inheritance'.
454         (Fdecode_char): Add new optional argument `without_inheritance'.
455         (Fdecode_builtin_char): Modify for `Fdecode_char'.
456
457         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
458         (simplify_char_spec): Likewise.
459
460         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
461         setting.
462
463         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
464         (map_char_table): Likewise.
465         (Fdefine_char): Use `Fdecode_char' without inheritance.
466         (Ffind_char): Modify for `Fdecode_char'.
467
468         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
469
470         * char-ucs.h (decode_defined_char): Add new argument
471         `without_inheritance'.
472         (DECODE_CHAR): Likewise.
473         (MAKE_CHAR): Modify for `DECODE_CHAR'.
474
475 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * chartab.c (Vchise_system_db_directory): New variable.
478         (vars_of_chartab): Add new variable `chise-system-db-directory'.
479
480 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c: EXFUN `Fmount_char_attribute_table'.
483         (print_chartab_range): Don't define when `UTF2000' is defined.
484         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
485         `CHISE_DS_open'.
486
487 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
490         and optional argument `rehash' is specified, call
491         `open_chise_data_source_maybe' before
492         `chise_ds_foreach_char_feature_name' is called.
493
494 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * chartab.c (char_attribute_list_reset_map_func): New function
497         when HAVE_LIBCHISE is defined.
498         (Fchar_attribute_list): Add new optional argument `rehash' when
499         HAVE_LIBCHISE is defined.
500         (open_chise_data_source_maybe): Use "chise-db" instead of
501         "char-db".
502         (char_attribute_system_db_file): Likewise.
503         (Fload_char_attribute_table): Use
504         `chise_feature_foreach_char_with_value' instead of
505         `chise_char_feature_value_iterate'.
506
507 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * chartab.c (Vchise_db_directory): New variable.
510         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
511
512 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
515         instead of HAVE_CHISE to specify using with libchise.
516
517         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
518
519         * chartab.h: Don't use HAVE_CHISE_CLIENT.
520
521         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
522         defined or HAVE_LIBCHISE_LIBCHISE is defined.
523         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
524         is defined.
525         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
526         HAVE_CHISE to specify using with libchise.
527         (syms_of_chartab): Don't define symbol `system-char-id' when
528         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
529
530 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
533         specify CHISE DB support.
534         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
535         of `char_attribute_system_db_file' to check feature DB file.
536
537         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
538         HAVE_CHISE_CLIENT to specify CHISE DB support.
539
540         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
541         specify CHISE DB support.
542         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
543         not defined.
544         (Freset_char_attribute_table): Use `chise_feature_setup_db'
545         instead of `char_attribute_system_db_file' to check feature DB
546         file.
547
548 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
551         `HAVE_CHISE_CLIENT'.
552
553 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
556         (Fsave_charset_mapping_table): Don't use
557         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
558
559         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
560         (HAVE_LIBCHISE): New macro.
561
562         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
563
564         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
565         (Fsave_char_attribute_table): Don't use
566         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
567
568 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
571         defined.
572         (save_uint16_byte_table): Likewise.
573         (save_byte_table): Likewise.
574         (char_table_get_db): Use `chise_ds_load_char_feature_value'
575         instead of `chise_char_load_feature_value'.
576         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
577
578 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * chartab.h (struct Lisp_Char_Table): Delete member
581         `feature_table' if CHISE is defined.
582
583         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
584         (Fcopy_char_table): Likewise.
585         (char_table_open_db_maybe): Likewise.
586         (char_table_close_db_maybe): Likewise.
587         (char_table_get_db): Likewise.
588         (Fmount_char_attribute_table): Likewise.
589         (Fload_char_attribute_table): Likewise.
590
591 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * mule-charset.c (load_char_decoding_entry_maybe): Use
594         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
595         `chise_ccs_decode'.
596
597 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
600         instead of `chise_open_data_source'.
601         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
602         `chise_ds_close'.
603
604 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
607         instead of `chise_ds_open_feature_table'.
608         (char_table_close_db_maybe): Don't use `chise_ft_close'.
609
610 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * mule-charset.c (Fsave_charset_mapping_table): Use
613         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
614         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
615         `chise_ccs_sync' instead of `chise_ccst_close'.
616         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
617
618         * chartab.c (open_chise_data_source_maybe): Modify for
619         `chise_open_data_source'.
620         (char_table_open_db_maybe): Modify for
621         `chise_ds_open_feature_table'.
622
623 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * mule-charset.c (load_char_decoding_entry_maybe): Use
626         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
627         `chise_ccst_close'.
628
629 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
630
631         * mule-charset.c (Fsave_charset_mapping_table): Use
632         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
633         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
634         `chise_dt_put_char' and `chise_dt_close'.
635         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
636         `chise_ccs_decode' and `chise_ccst_close' instead of
637         `chise_ds_open_decoding_table', `chise_dt_get_char' and
638         `chise_dt_close'.
639
640         * chartab.c (char_table_get_db): Use
641         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
642         (load_char_attribute_table_map_func): Modify for
643         `chise_char_feature_value_iterate'.
644         (Fload_char_attribute_table): Use
645         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
646
647 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
650
651 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
652
653         * chartab.c (put_char_table): Modify for inherited coded-charsets
654         in XEmacs CHISE.
655
656 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
657
658         * chartab.c (Fput_char_table_map_function): Fixed.
659         (word_boundary_p): Don't check charset in XEmacs CHISE.
660
661 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
662
663         * mule-charset.c (Fsave_charset_mapping_table): Use
664         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
665         instead of `chise_open_decoding_table'; refer
666         `default_chise_data_source'; use `chise_dt_close' instead of
667         `chise_close_decoding_table'.
668         (load_char_decoding_entry_maybe): Likewise.
669
670         * chartab.c (default_chise_data_source): New variable when `CHISE'
671         is defined.
672         (Fcopy_char_table): `ct->ds' is deleted.
673         (open_chise_data_source_maybe): New function.
674         (Fclose_char_data_source): New function.
675         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
676         use `chise_ds_open_feature_table' instead of
677         `chise_open_feature_table'.
678         (char_table_close_db_maybe): Use `chise_ft_close' instead of
679         `chise_close_feature_table'; `cit->ds' is deleted.
680         (syms_of_chartab): Add new builtin function
681         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
682
683         * chartab.h (default_chise_data_source): New extern variable.
684         (open_chise_data_source_maybe): New prototype.
685         (struct Lisp_Char_Table): Delete `ds'.
686
687 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
688
689         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
690         `CHISE' is defined.
691
692 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
693
694         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
695         not defined; add code for non-libchise setting.
696         (char_table_close_db_maybe): Likewise.
697         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
698         defined.
699         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
700         even if `CHISE' is not defined.
701         (Freset_char_attribute_table): Likewise.
702         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
703         `char_table_close_db_maybe' even if `CHISE' is not defined; use
704         `char_table_get_db'.
705         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
706         `char_table_close_db_maybe' even if `CHISE' is not defined.
707
708 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
709
710         * chartab.c (char_table_open_db_maybe): New function.
711         (char_table_close_db_maybe): New function.
712         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
713         (Freset_char_attribute_table): Likewise.
714         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
715         `char_table_close_db_maybe'.
716         (Fload_char_attribute_table): Likewise.
717
718 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
719
720         * chartab.c: Don't include <chise.h> because it is included in
721         chartab.h.
722         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
723         defined.
724         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
725         `CHISE' is defined.
726         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
727         `CHISE' is defined.
728         (Fclose_char_attribute_table): Close `ct->feature_table' and
729         `ct->ds' when `CHISE' is defined.
730         (Freset_char_attribute_table): Likewise.
731         (load_char_attribute_maybe): Use `cit->ds' and
732         `cit->feature_table' when `CHISE' is defined.
733         (Fload_char_attribute_table): Likewise.
734
735         * chartab.h: Include <chise.h> when `CHISE' is defined.
736         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
737         when `CHISE' is defined.
738
739 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
740
741         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
742         is defined.
743         (char_table_description): Likewise.
744         (Fmake_char_table): Likewise.
745         (Fcopy_char_table): Likewise.
746         (Fmount_char_attribute_table): Likewise.
747         (Fclose_char_attribute_table): Likewise.
748         (Freset_char_attribute_table): Likewise.
749         (load_char_attribute_maybe): Likewise.
750         (Fload_char_attribute_table): Likewise.
751
752         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
753         defined.
754
755 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
756
757         * chartab.c (load_char_attribute_table_map_func): New function
758         when CHISE is defined.
759         (Qload_char_attribute_table_map_function): Don't define when CHISE
760         is defined.
761         (Fload_char_attribute_table_map_function): Likewise.
762         (Fload_char_attribute_table): Use libchise when `CHISE' is
763         defined.
764         (syms_of_chartab): Don't define
765         `load-char-attribute-table-map-function' when CHISE is defined.
766
767 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * chartab.c: Include <chise.h> when `CHISE' is defined.
770         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
771
772 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * mule-charset.c (charset_code_point): Fix problem when searching
775         in mother CCS fails with `defined_only' mode.
776
777 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
778
779         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
780         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
781         (put_char_composition): Likewise.
782         (Fput_char_attribute): Likewise.
783         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
784
785 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * chartab.c (Q_ucs): Deleted.
788         (Fput_char_attribute): Don't refer `->ucs'.
789         (Fdefine_char): Likewise.
790         (Ffind_char): Likewise.
791         (syms_of_chartab): Delete `->ucs'.
792
793 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
794
795         * mule-charset.c (Qmap_cns11643_2): Renamed from
796         `Qchinese_cns11643_2'.
797         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
798         `chinese-cns11643-2'.
799         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
800         `=cns11643-2'.
801
802 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * mule-charset.c (Qmap_cns11643_1): Renamed from
805         `Qchinese_cns11643_1'.
806         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
807         `chinese-cns11643-1'.
808         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
809         `=cns11643-1'.
810
811 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
812
813         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
814         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
815         `chinese-gb12345'.
816         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
817         `=gb12345'.
818
819 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
820
821         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
822         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
823         `chinese-gb2312'.
824         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
825         `=gb2312'.
826
827 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
828
829         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
830         (syms_of_mule_charset): Add new symbol `=big5' instead of
831         `chinese-big5'.
832         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
833
834 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
837         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
838         `korean-ksc5601'.
839         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
840         `=ks-x1001'.
841
842 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
843
844         * mule-charset.c (Qmap_jis_x0212): Renamed from
845         `Qjapanese_jisx0212'.
846         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
847         `japanese-jisx0212'.
848         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
849         `=jis-x0212'.
850
851 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
854         `Qjapanese_jisx0208'.
855         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
856         of `japanese-jisx0208'.
857         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
858         `=jis-x0208-1983'.
859
860 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
863         `Qjapanese_jisx0208_1978'.
864         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
865         of `japanese-jisx0208-1978'.
866         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
867         `=jis-x0208-1978'.
868
869 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
870
871         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
872         only for XEmacs CHISE.
873
874 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * char-ucs.h: Compact non-ISO-IR charset-ids.
877         (LEADING_BYTE_UCS): Changed to -177.
878         (LEADING_BYTE_CONTROL_1): Changed to -77.
879         (LEADING_BYTE_UCS_BMP): Changed to -176.
880         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
881
882 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * mule-charset.c (Qiso_ir): New variable.
885         (Fmake_charset): Recognise new property `iso-ir'.
886         (syms_of_mule_charset): Add new symbol `iso-ir'.
887
888 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
889
890         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
891         n to -n; charset-id of non ISO-IR sets are changed to positive
892         numbers.
893
894 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
895
896         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
897         for &MCS-XXXXXXXX; values.
898
899 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
900
901         * mule.c (Vxemacs_chise_version): Renamed from
902         `Vutf_2000_version'.
903         (vars_of_mule): Add new variable `xemacs-chise-version'; define
904         `utf-2000-version' as an alias for `xemacs-chise-version'.
905
906 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
907
908         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
909         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
910         defined.
911
912         * config.h.in (CHISE): New macro.
913
914 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
917         of `ucs'.
918         (Qmap_ucs): New variable.
919         (syms_of_mule_charset): Add new symbol `=ucs'.
920         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
921
922         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
923         (simplify_char_spec): Likewise.
924
925         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
926
927         * char-ucs.h (Qmap_ucs): New extern variable.
928
929 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
932         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
933         don't define it when UTF2000 is not defined.
934         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
935         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
936         when UTF2000 is not defined.
937         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
938         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
939
940 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
943
944         * mule-charset.c (Vcharset_ucs_gb): Deleted.
945         (Qucs_gb): Deleted.
946         (syms_of_mule_charset): Delete `ucs-gb'.
947         (complex_vars_of_mule_charset): Likewise.
948
949 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
950
951         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
952
953         * mule-charset.c (Vcharset_ucs_cns): Deleted.
954         (Qucs_cns): Deleted.
955         (syms_of_mule_charset): Delete `ucs-cns'.
956         (complex_vars_of_mule_charset): Likewise.
957
958 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
959
960         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
961
962         * mule-charset.c (Vcharset_ucs_jis): Deleted.
963         (Qucs_jis): Deleted.
964         (syms_of_mule_charset): Delete `ucs-jis'.
965         (complex_vars_of_mule_charset): Likewise.
966
967 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
968
969         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
970
971         * mule-charset.c (Vcharset_ucs_ks): Deleted.
972         (Qucs_ks): Deleted.
973         (syms_of_mule_charset): Delete `ucs-ks'.
974         (complex_vars_of_mule_charset): Likewise.
975
976 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
977
978         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
979         (Qideograph_daikanwa_2): Deleted.
980         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
981         (complex_vars_of_mule_charset): Likewise.
982
983         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
984         (LEADING_BYTE_DAIKANWA_1): Deleted.
985         (LEADING_BYTE_DAIKANWA_2): Deleted.
986         (MIN_CHAR_DAIKANWA): Deleted.
987         (MAX_CHAR_DAIKANWA): Deleted.
988
989 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
990
991         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
992         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
993         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
994
995         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
996         (Vcharset_ideograph_daikanwa): Deleted.
997         (Qideograph_hanziku_{1..12}): Deleted.
998         (Qideograph_daikanwa): Deleted.
999         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1000         Vcharset_ideograph_daikanwa.
1001         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1002         `ideograph-hanziku-{1..12}'.
1003         (complex_vars_of_mule_charset): Likewise.
1004
1005 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1006
1007         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1008
1009         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1010         (Qideograph_gt_pj_{1..11}): Deleted.
1011         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1012         (complex_vars_of_mule_charset): Likewise.
1013
1014 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1015
1016         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1017         (Vcharset_ideograph_gt): Deleted.
1018         (Qucs_big5): Deleted.
1019         (Qideograph_gt): Deleted.
1020         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1021         `ideograph-gt'.
1022         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1023         and `ideograph-gt'.
1024
1025         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1026         (LEADING_BYTE_GT): Deleted.
1027         (MIN_CHAR_GT): Deleted.
1028         (MAX_CHAR_GT): Deleted.
1029
1030 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1033
1034 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1037         (save_uint16_byte_table): Likewise.
1038         (save_byte_table): Likewise; convert values by it.
1039         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1040         for `ideographic-structure'.
1041         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1042         as the filter for `ideographic-structure'.
1043
1044 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1045
1046         * chartab.c (put_char_composition): New function.
1047         (Fput_char_attribute): Use `put_char_composition'; use
1048         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1049
1050         * fns.c (simplify_char_spec): New function.
1051         (char_ref_simplify_spec): New function.
1052         (Fchar_refs_simplify_char_specs): New function.
1053         (syms_of_fns): Add new builtin function
1054         `char-refs-simplify-char-specs'.
1055
1056 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1057
1058         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1059         (Qideograph_cbeta): Deleted.
1060         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1061         (complex_vars_of_mule_charset): Likewise.
1062
1063         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1064         (MIN_CHAR_CBETA): Comment out.
1065         (MAX_CHAR_CBETA): Likewise.
1066
1067 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1068
1069         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1070         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1071         CHISE client feature.
1072
1073 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1074
1075         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1076
1077 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * mule-charset.c (charset_lookup_description_1): Use
1080         `NUM_LEADING_BYTES' in UTF-2000.
1081
1082 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1083
1084         * char-ucs.h (GC_CHARSETP): Deleted.
1085
1086 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1087
1088         * char-ucs.h (MAX_CHAR_GT): Updated.
1089
1090 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1091
1092         * text-coding.c: Sync with XEmacs 21.4.10.
1093
1094 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1095
1096         * mule-charset.c (Vcharset_china3_jef): Deleted.
1097         (Qchina3_jef): Deleted.
1098         (syms_of_mule_charset): Don't define `china3-jef'.
1099         (complex_vars_of_mule_charset): Likewise.
1100
1101         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1102         (MIN_CHAR_CHINA3_JEF): Comment out.
1103         (MAX_CHAR_CHINA3_JEF): Comment out.
1104
1105 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * mule-charset.c (Vcharset_ucs_gb): New variable.
1108         (Qucs_gb): New variable.
1109         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1110         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1111
1112         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1113
1114 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * mule-charset.c (charset_code_point): if a coded-charset has a
1117         final-byte, don't inherit the builtin range of the mother CCS.
1118
1119 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * mule-charset.c (charset_code_point): Fix problem about
1122         inheritance.
1123
1124 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1125
1126         * mule-charset.c (decode_builtin_char): Reorganized.
1127
1128 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * text-coding.c (char_encode_as_entity_reference): Modify for
1131         `charset_code_point'.
1132         (char_encode_shift_jis): Likewise.
1133         (char_encode_big5): Likewise.
1134         (char_encode_utf8): Likewise.
1135         (char_encode_iso2022): Likewise.
1136
1137         * mule-charset.c (charset_code_point): Add new argument
1138         `defined_only'.
1139         (Fencode_char): Add new optional argument `defined_only'.
1140
1141         * chartab.c (put_char_table): Modify for `charset_code_point'.
1142
1143         * char-ucs.h (charset_code_point): Add new argument
1144         `defined_only'.
1145         (encode_char_1): Modify for `charset_code_point'.
1146
1147 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1150         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1151
1152 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1155         (Qjis_x0208): Likewise.
1156         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1157         XCHARSET_FINAL(charset).
1158         (charset_code_point): Modify condition for final-byte based
1159         builtin-chars.
1160         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1161         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1162         in UTF-2000; specify `=jis-x0208' as the mother of
1163         `japanese-jisx0208-1978', `japanese-jisx0208' and
1164         `japanese-jisx0208-1990' in UTF-2000.
1165
1166 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1167
1168         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1169
1170 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1171
1172         * text-coding.c (decode_coding_utf16): Support UTF-16.
1173         (char_encode_utf16): Fixed.
1174
1175 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * text-coding.c (Qutf16): New variable in MULE.
1178         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1179         (Fcoding_system_type): Add `utf-16' in MULE.
1180         (struct detection_state): Add a structure for utf16 in MULE.
1181         (detect_coding_type): Setup st->utf16.mask in MULE.
1182         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1183         MULE.
1184         (reset_encoding_stream): Use `char_encode_utf16' and
1185         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1186         (detect_coding_utf16): New function [incomplete].
1187         (decode_coding_utf16): New function [support only UCS-2].
1188         (char_encode_utf16): New function.
1189         (char_finish_utf16): New function.
1190         (syms_of_file_coding): Add new symbol `utf-16'; setup
1191         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1192
1193         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1194         UTF-2000.
1195         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1196         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1197
1198 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1199
1200         * chartab.c (put_char_table): When a charset is specified as a
1201         range in UTF-2000, don't support builtin characters.
1202
1203 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1204
1205         * mule-charset.c (decode_defined_char): Don't refer external
1206         database if Qunbound or Qnil are found.
1207         (Fsave_charset_mapping_table): Don't define it if
1208         HAVE_CHISE_CLIENT is not defined.
1209         (Freset_charset_mapping_table): New function.
1210         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1211         found in external database.
1212         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1213         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1214         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1215
1216 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1217
1218         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1219         not.
1220
1221 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1222
1223         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1224         Q_lowercase, Q_uppercase in UTF-2000.
1225
1226         * chartab.c (get_char_table): Add special code for the standard
1227         case table to use character attribute `->downcase' and
1228         `->uppercase' for case operations in UTF-2000.
1229
1230         * casetab.c (Qflippedcase): New variable in UTF-2000.
1231         (Q_lowercase): Likewise.
1232         (Q_uppercase): Likewise.
1233         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1234         and `->uppercase' in UTF-2000.
1235         (complex_vars_of_casetab): Assign attribute name `downcase' to
1236         downcase and CANON table of Vstandard_case_table in UTF-2000;
1237         assign attribute name `flippedcase' to upcase and EQV table of
1238         Vstandard_case_table in UTF-2000.
1239
1240 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * text-coding.c (decode_add_er_char): Support isolated-chars.
1243         (char_encode_as_entity_reference): Likewise.
1244
1245 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1246
1247         * emacs.c (Vutf_2000_lisp_directory): New variable.
1248         (Vconfigure_utf_2000_lisp_directory): Likewise.
1249         (complex_vars_of_emacs): Add new variable
1250         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1251
1252 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1253
1254         * char-ucs.h (DECODE_CHAR): Delete special code for
1255         `chinese-big5-1' and `chinese-big5-2'.
1256
1257         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1258         (Qbig5_2): Likewise.
1259         (decode_defined_char): Support CONVERSION_BIG5_1 and
1260         CONVERSION_BIG5_2.
1261         (decode_builtin_char): Likewise.
1262         (charset_code_point): Likewise.
1263         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1264         'conversion in UTF-2000.
1265         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1266         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1267         `chinese-big5-2' as children of `chinese-big5'.
1268
1269         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1270         (CONVERSION_BIG5_2): New macro.
1271
1272 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1273
1274         * text-coding.c (char_encode_big5): Support entity-reference.
1275
1276 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1277
1278         * text-coding.c (char_encode_as_entity_reference): New function.
1279         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1280
1281 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1282
1283         * text-coding.c (decode_coding_big5): Support entity-reference
1284         decoding feature.
1285
1286 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1287
1288         * text-coding.c (allocate_coding_system): Initialize initial
1289         charsets for CODESYS_UTF8.
1290         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1291         charset-g2 for CODESYS_UTF8.
1292         (decode_coding_utf8): Use charset-g0.
1293         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1294         to force variants to map to UCS.
1295
1296 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * text-coding.c (Qutf_8_mcs): New variable.
1299         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1300         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1301         instead of `utf-8' in UTF-2000.
1302
1303 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1304
1305         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1306         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1307         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1308         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1309         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1310         CONVERSION_96x96x96x96 are introduced.
1311         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1312         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1313         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1314
1315         * char-ucs.h (CONVERSION_94): New macro.
1316         (CONVERSION_96): New macro.
1317         (CONVERSION_94x94): New macro.
1318         (CONVERSION_96x96): New macro.
1319         (CONVERSION_94x94x94): New macro.
1320         (CONVERSION_96x96x96): New macro.
1321         (CONVERSION_94x94x94x60): New macro.
1322         (CONVERSION_94x94x94x94): New macro.
1323         (CONVERSION_96x96x96x96): New macro.
1324
1325 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * chartab.c (Vcharacter_variant_table): Deleted.
1328         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1329         of `Vcharacter_variant_table'.
1330         (Fput_char_attribute): Likewise.
1331         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1332         (complex_vars_of_chartab): Likewise.
1333
1334 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1335
1336         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1337
1338         * fns.c (Qideographic_structure): New variable.
1339         (Qkeyword_char): New variable.
1340         (ids_format_unit): New function.
1341         (Fideographic_structure_to_ids): New function.
1342         (syms_of_fns): Add new symbols `ideographic-structure' and
1343         `:char'; add new builtin function `ideographic-structure-to-ids'.
1344
1345         * data.c (Fchar_ref_p): New function.
1346         (syms_of_data): Add new builtin function `char-ref-p'.
1347
1348         * chartab.h: Add an EXFUN for `Ffind_char'.
1349
1350 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * text-coding.c (Vcharacter_composition_table): Deleted.
1353         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1354         in every UTF-2000.
1355
1356         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1357         UTF-2000.
1358         (Vcharacter_composition_table): Deleted.
1359         (Fget_composite_char): Use the implementation for external-DB
1360         support in every UTF-2000.
1361         (Fput_char_attribute): Likewise.
1362         (char_attribute_system_db_file): Don't define if external-DB
1363         feature is not available.
1364         (Fsave_char_attribute_table): Likewise.
1365         (Fmount_char_attribute_table): Likewise.
1366         (Fclose_char_attribute_table): Likewise.
1367         (Freset_char_attribute_table): Likewise.
1368         (Fload_char_attribute_table): Likewise.
1369         (syms_of_chartab): Don't define `save-char-attribute-table',
1370         `mount-char-attribute-table', `reset-char-attribute-table',
1371         `close-char-attribute-table' and `load-char-attribute-table' if
1372         external-DB feature is not available.
1373         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1374
1375 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * text-coding.c (Qcomposition): Add extern if external-DB feature
1378         is supported.
1379         (Vcharacter_composition_table): Don't add extern if external-DB
1380         feature is supported.
1381         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1382         character composition rule if external-DB feature is supported.
1383
1384         * chartab.c (Vcharacter_composition_table): Don't define if
1385         external-DB feature is supported.
1386         (Qcomposition): New variable.
1387         (Fget_composite_char): New implementation for external-DB support.
1388         (Fput_char_attribute): Use `composition' property of each
1389         character instead of `Vcharacter_composition_table' to store
1390         character-composition rules if external-DB feature is supported.
1391         (syms_of_chartab): Add new symbol `composition'.
1392         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1393         external-DB feature is supported.
1394
1395 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1396
1397         * chartab.c (Vchar_db_stingy_mode): New variable.
1398         (load_char_attribute_maybe): Close database if
1399         Vchar_db_stingy_mode is not NIL.
1400         (Fload_char_attribute_table_map_function): Use
1401         `get_char_id_table_0' instead of `get_char_id_table'.
1402         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1403
1404         * chartab.h (get_char_id_table_0): New inline function.
1405         (get_char_id_table): Use `get_char_id_table_0'.
1406
1407 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1408
1409         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1410         and `COMPOSE_ADD_CHAR'.
1411         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1412
1413 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1416         instead of `DECODE_ADD_UCS_CHAR'.
1417         (COMPOSE_ADD_CHAR): Likewise.
1418
1419 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1420
1421         * text-coding.c (decode_flush_er_chars): New inline function.
1422         (decode_add_er_char): New function.
1423         (decode_coding_utf8): Use `decode_flush_er_chars' and
1424         `decode_add_er_char'.
1425
1426 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1427
1428         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1429         done before `decode_output_utf8_partial_char'.
1430
1431         * mule-charset.c (complex_vars_of_mule_charset): Specify
1432         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1433         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1434
1435 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1436
1437         * mule-charset.c (decode_defined_char): New function; search
1438         mother.
1439         (decode_builtin_char): Don't search mother if
1440         XCHARSET_MAX_CODE(charset) == 0.
1441         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1442         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1443         (Fdecode_char): Use `decode_defined_char' instead of
1444         `DECODE_DEFINED_CHAR'.
1445         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1446         mother of `Vcharset_ucs_jis'.
1447
1448         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1449         instead of `DECODE_DEFINED_CHAR'.
1450
1451         * char-ucs.h (decode_defined_char): Renamed from
1452         `DECODE_DEFINED_CHAR'; changed to normal function.
1453         (DECODE_CHAR): Use `decode_defined_char' instead of
1454         `DECODE_DEFINED_CHAR'.
1455
1456         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1457
1458 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1461
1462         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1463         variable.
1464         (Quse_entity_reference): New variable.
1465         (Qd): New variable.
1466         (Qx): New variable.
1467         (QX): New variable.
1468         (coding_system_description): Add description for
1469         `ccs_priority_list'.
1470         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1471         (allocate_coding_system): Initialize `ccs_priority_list' in
1472         UTF-2000.
1473         (Fmake_coding_system): Add description about
1474         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1475         (codesys).
1476         (Fcoding_system_property): Accept `disable-composition' and
1477         `use-entity-reference' in UTF-2000.
1478         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1479         in UTF-2000.
1480         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1481         (decode_coding_utf8): Decode entity-reference if
1482         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1483         (char_encode_utf8): Encode non-Unicode characters as
1484         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1485         (str->codesys).
1486         (syms_of_file_coding): Add new symbols `use-entity-reference',
1487         `d', `x', `X'.
1488         (vars_of_file_coding): Add new variable
1489         `coded-charset-entity-reference-alist'.
1490         (complex_vars_of_file_coding): Declare `disable-composition' and
1491         `use-entity-reference' to be coding-system-properties in UTF-2000.
1492
1493         * file-coding.h (struct Lisp_Coding_System): Add new member
1494         `use_entity_reference' and `ccs_priority_list'.
1495         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1496         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1497         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1498
1499 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1500
1501         * chartab.c (save_uint8_byte_table): Don't clear the table.
1502         (save_uint16_byte_table): Likewise.
1503         (save_byte_table): Likewise.
1504         (Fmount_char_attribute_table): New function.
1505         (syms_of_chartab): Add new builtin function
1506         `mount-char-attribute-table'.
1507
1508 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1511         "w+" mode.
1512         (load_char_decoding_entry_maybe): Open database as read-only mode.
1513
1514         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1515         open database as "w+" mode.
1516         (load_char_attribute_maybe): Open database as read-only mode.
1517         (Fload_char_attribute_table): Likewise.
1518
1519 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1520
1521         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1522         (char_table_description): Delete member `db_file'.
1523         (Fmake_char_table): Don't refer `ct->db_file'.
1524         (Fcopy_char_table): Likewise.
1525         (Fsave_char_attribute_table): Likewise.
1526         (Fclose_char_attribute_table): Likewise.
1527         (Freset_char_attribute_table): Likewise.
1528         (load_char_attribute_maybe): Likewise.
1529         (Fload_char_attribute_table): Likewise.
1530
1531         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1532
1533 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1536         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1537         `ct->db' is living.
1538         (load_char_attribute_maybe): Likewise.
1539         (Fload_char_attribute_table): Likewise.
1540
1541 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1542
1543         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1544         `ct->db_file' unconditionally.
1545
1546 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1547
1548         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1549         UTF-2000.
1550         (char_table_description): Add description for `db_file' and `db'
1551         in UTF-2000.
1552         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1553         UTF-2000.
1554         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1555         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1556         (Fclose_char_attribute_table): New function.
1557         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1558         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1559         and `cit->db'.
1560         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1561         (syms_of_chartab): Add new builtin function
1562         `Fclose_char_attribute_table'.
1563
1564 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1565
1566         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1567         `db' in UTF-2000.
1568         (load_char_attribute_maybe): Change interface.
1569         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1570
1571 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1574
1575 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1578         instead of `DECODE_CHAR' for mother; don't use special code for
1579         chinese-big5 to use code space of chinese-big5-1 and
1580         chinese-big5-2.
1581         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1582         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1583
1584         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1585         (MAX_CHAR_BIG5_CDP): Revival.
1586
1587 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1588
1589         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1590         the XLFD registry-encoding name of `chinese-big5'.
1591
1592 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1593
1594         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1595         (Qchinese_big5_cdp): Deleted.
1596         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1597         (complex_vars_of_mule_charset): Delete coded-charset
1598         `chinese-big5-cdp'.
1599
1600         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1601         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1602         `CHARSET_ID_OFFSET - n' for private CCS.
1603         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1604         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1605         of `MIN_LEADING_BYTE'.
1606         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1607         `(CHARSET_ID_OFFSET - 97)'.
1608         (MIN_CHAR_BIG5_CDP): Deleted.
1609         (MAX_CHAR_BIG5_CDP): Deleted.
1610
1611 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1612
1613         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1614
1615 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1618         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1619         chartab.c].
1620
1621         * chartab.c (Vutf_2000_version): Moved to mule.c.
1622         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1623
1624 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1625
1626         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1627         when HAVE_CHISE_CLIENT is not defined.
1628
1629         * mule.c (vars_of_mule): Provide feature `chise' when
1630         HAVE_CHISE_CLIENT is defined.
1631
1632 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1633
1634         * config.h.in (UTF2000): Add comment.
1635         (HAVE_CHISE_CLIENT): New macro.
1636
1637 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1638
1639         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1640         CONSP.
1641         (Fput_char_attribute): Likewise.
1642         (char_attribute_system_db_file): Encode file-name of attribute.
1643         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1644         the initial value.
1645
1646 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1647
1648         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1649         (Fsave_charset_mapping_table): Use
1650         `char_attribute_system_db_file'.
1651         (load_char_decoding_entry_maybe): Likewise.
1652
1653         * chartab.h (Qsystem_char_id): New external variable.
1654         (char_attribute_system_db_file): New prototype.
1655
1656         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1657         (char_attribute_system_db_file): New function.
1658         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1659         (Freset_char_attribute_table): Likewise.
1660         (load_char_attribute_maybe): Likewise.
1661         (Fload_char_attribute_table): Likewise.
1662         (syms_of_chartab): Add new symbol `system-char-id'.
1663
1664 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1665
1666         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1667         `XCHARSET_GRAPHIC(ccs)'.
1668
1669 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1670
1671         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1672
1673 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1674
1675         * chartab.c (Q_ucs_variants): New variable.
1676         (syms_of_chartab): Add new symbol `->ucs-variants'.
1677         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1678         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1679         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1680
1681         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1682
1683         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1684         `HAVE_DATABASE' is defined.
1685         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1686         `HAVE_DATABASE' is defined.
1687
1688 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1689
1690         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1691         attribute-table.
1692         (Freset_char_attribute_table): New function.
1693         (syms_of_chartab): Add new builtin function
1694         `reset-char-attribute-table'.
1695
1696 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1697
1698         * chartab.c (load_char_attribute_maybe): Don't make directories.
1699
1700 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1701
1702         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1703
1704         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1705         for decoding-table.
1706
1707 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1708
1709         * mule-charset.c (Fsave_charset_mapping_table): Use
1710         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1711
1712         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1713         instead of `XCHARSET_CHARS'.
1714
1715 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1716
1717         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1718         (XCHARSET_BYTE_SIZE): Likewise.
1719
1720         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1721         mule-charset.c].
1722         (XCHARSET_BYTE_SIZE): Likewise.
1723
1724 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1725
1726         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1727         data-directory to store database.
1728         (Fsave_char_attribute_table): Likewise.
1729         (load_char_attribute_maybe): Likewise.
1730         (Fload_char_attribute_table): Likewise.
1731
1732 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1733
1734         * mule-charset.c (Fsave_charset_mapping_table): New function.
1735         (syms_of_mule_charset): Add new builtin function
1736         `save-charset-mapping-table'.
1737
1738 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1741         (get_ccs_octet_table): New inline function.
1742         (put_ccs_octet_table): Likewise.
1743         (decoding_table_put_char): Use `get_ccs_octet_table' and
1744         `put_ccs_octet_table'.
1745         (decoding_table_remove_char): Use `decoding_table_put_char'.
1746         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1747
1748         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1749         into encoding_table.
1750         (make_charset): Use Qunbound instead Qnil as initial value of
1751         decoding_table.
1752
1753 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1754
1755         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1756         element is Qunloaded.
1757         (map_over_uint16_byte_table): Likewise.
1758         (map_over_byte_table): Likewise.
1759         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1760         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1761         database support, load encoding-table of the specified
1762         coded-charset if it is not loaded yet.
1763         (save_uint8_byte_table): New function of UTF-2000 with external
1764         database support.
1765         (save_uint16_byte_table): Likewise.
1766         (save_byte_table): Likewise.
1767         (Fput_char_attribute): Don't store value into external database
1768         even if the external database feature is supported in UTF-2000;
1769         set `attribute' as name of char-table if the external database
1770         feature is supported.
1771         (Fsave_char_attribute_table): New function in UTF-2000.
1772         (syms_of_chartab): Add new builtin function
1773         `save-char-attribute-table' in UTF-2000.
1774
1775 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1776
1777         * chartab.c (char_attribute_table_to_put): New variable in
1778         UTF-2000.
1779         (Qput_char_table_map_function): Likewise.
1780         (value_to_put): Likewise.
1781         (Fput_char_table_map_function): New function in UTF-2000.
1782         (put_char_table): Use `Fmap_char_attribute' for
1783         CHARTAB_RANGE_CHARSET in UTF-2000.
1784         (Fput_char_attribute): Store symbol instead of string in
1785         `XCHAR_TABLE_NAME (table)'.
1786         (load_char_attribute_maybe): Likewise.
1787         (syms_of_chartab): Add new symbol/function
1788         `put-char-table-map-function'.
1789
1790 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1791
1792         * database.h: Add new EXFUN for `Fmap_database'.
1793
1794         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1795         (syms_of_database): Likewise.
1796
1797         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1798         UTF-2000.
1799         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1800         (XCHAR_TABLE_UNLOADED): Likewise.
1801
1802         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1803         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1804         HAVE_DATABASE is defined.
1805         (char_attribute_table_to_load): New variable of UTF-2000 with
1806         external database support.
1807         (Qload_char_attribute_table_map_function): Likewise.
1808         (Fload_char_attribute_table_map_function): New function of
1809         UTF-2000 with external database support.
1810         (Fload_char_attribute_table): New function of UTF-2000.
1811         (Fmap_char_attribute): Call Fload_char_attribute_table if
1812         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1813         (syms_of_chartab): Add new symbol and function
1814         `load-char-attribute-table-map-function' in UTF-2000 with external
1815         database support; add new function `load-char-attribute-table' in
1816         UTF-2000.
1817
1818 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * chartab.h (load_char_attribute_maybe): New prototype for
1821         UTF-2000 with DATABASE support.
1822         (get_char_id_table): Use `load_char_attribute_maybe' if
1823         HAVE_DATABASE is defined.
1824
1825         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1826         with DATABASE support.
1827
1828 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * chartab.c (Fput_char_attribute): Use S-expression as key of
1831         external database.
1832
1833         * chartab.h (get_char_id_table): Use S-expression as key of
1834         external database.
1835
1836 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1837
1838         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1839         if an element is not loaded, load the corresponding attributes
1840         from an external database.
1841         (map_over_uint16_byte_table): Likewise.
1842         (map_over_byte_table): Likewise.
1843         (map_char_table): Modify for `map_over_uint8_byte_table',
1844         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1845         element is not loaded, load the corresponding attributes from an
1846         external database.
1847         (Fput_char_attribute): Change initial values to Qunloaded.
1848
1849         * chartab.h (get_char_id_table): If a character attribute is not
1850         loaded and the attribute value is not found in an external
1851         database, store Qunbound as the attribute value.
1852
1853 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1854
1855         * chartab.c (BT_UINT8_unloaded): New macro.
1856         (UINT8_VALUE_P): Accept Qunloaded.
1857         (UINT8_ENCODE): Likewise.
1858         (UINT8_DECODE): Likewise.
1859         (BT_UINT16_unloaded): New macro.
1860         (UINT16_VALUE_P): Accept Qunloaded.
1861         (UINT16_ENCODE): Likewise.
1862         (UINT16_DECODE): Likewise.
1863         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1864         BT_UINT16_unloaded.
1865         (mark_char_table): Mark `ct->name' in UTF-2000.
1866         (char_table_description): Add `name' in UTF-2000.
1867         (Fmake_char_table): Initialize `ct->name'.
1868         (Fcopy_char_table): Copy `ct->name'.
1869         (Fput_char_attribute): Store value into an external database if
1870         HAVE_DATABASE is defined.
1871
1872         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1873         UTF-2000.
1874         (CHAR_TABLE_NAME): New macro in UTF-2000.
1875         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1876         (get_char_id_table): Try to read an external database if Qunloaded
1877         is stored in a table.
1878
1879         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1880         Qunloaded.
1881
1882 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1883
1884         * database.h: Add EXFUN definitions for Fopen_database,
1885         Fput_database, Fget_database and Fclose_database.
1886
1887         * data.c (Qunloaded): New variable in UTF-2000.
1888
1889         * lisp.h (Qunloaded): New variable in UTF-2000.
1890
1891 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * mule-charset.c (put_char_ccs_code_point): Modify for
1894         `decoding_table_remove_char' and `decoding_table_put_char'.
1895         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1896
1897         * char-ucs.h (decoding_table_remove_char): Change arguments to
1898         hide decoding_table vector.
1899         (decoding_table_put_char): Likewise.
1900
1901 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1902
1903         * mule-charset.c (decoding_table_remove_char): Moved to
1904         char-ucs.h.
1905         (decoding_table_put_char): Likewise.
1906
1907         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1908         from mule-charset.c].
1909         (decoding_table_remove_char): New inline function [moved from
1910         mule-charset.c].
1911         (decoding_table_put_char): Likewise.
1912
1913 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1914
1915         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1916         extension.
1917
1918 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1919
1920         * mule-charset.c (decode_builtin_char): Support mother charsets.
1921
1922 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1923
1924         * mule-charset.c (Q94x94x60): New variable.
1925         (charset_code_point): Support conversion `94x94x60'.
1926         (Fmake_charset): Likewise.
1927         (syms_of_mule_charset): Add new symbol `94x94x60'.
1928
1929         * char-ucs.h (CONVERSION_94x94x60): New macro.
1930
1931 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1932
1933         * mule-charset.c (charset_code_point): Unify code about
1934         `code-offset'.
1935
1936 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1937
1938         * mule-charset.c (charset_code_point): Merge code about builtin
1939         characters into code about mother charsets; don't use
1940         `range_charset_code_point'.
1941         (range_charset_code_point): Deleted.
1942
1943 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * mule-charset.c (Qcode_offset): New variable.
1946         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1947         `max-code'; accept new property `code-offset'.
1948         (syms_of_mule_charset): Add new symbol `code-offset'.
1949
1950 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1951
1952         * mule-charset.c (range_charset_code_point): Fixed.
1953
1954 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * mule-charset.c (decode_builtin_char): Change semantics of
1957         code-offset of coded-charset.
1958         (charset_code_point): Likewise.
1959         (range_charset_code_point): Likewise.
1960         (complex_vars_of_mule_charset): Modify for the change.
1961
1962 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1963
1964         * mule-charset.c (Fencode_char): Reverse arguments.
1965
1966         * mule-charset.c (charset_code_point): Fixed.
1967
1968 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (Vcharset_mojikyo): Deleted.
1971         (Vcharset_mojikyo_2022_1): Deleted.
1972         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1973         (Qmin_code): New variable in UTF-2000.
1974         (Qmax_code): Likewise.
1975         (Qmother): Likewise.
1976         (Qconversion): Likewise.
1977         (Q94x60): Likewise.
1978         (Qmojikyo): Deleted.
1979         (Qmojikyo_2022_1): Deleted.
1980         (Qmojikyo_pj_{1..22}): Deleted.
1981         (mark_charset): Mark `cs->mother'.
1982         (charset_description): Add description for `mother'.
1983         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1984         new arguments `mother' and `conversion'; use
1985         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1986         (charset_code_point): Moved from char-ucs.h; support `mother'
1987         charset feature.
1988         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1989         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1990         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1991         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1992         allow 2 as the value of `graphic' in UTF-2000; add new properties
1993         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1994         require `final' in UTF-2000; modify for `make_charset'.
1995         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1996         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1997         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1998         (Fencode_char): New function.
1999         (syms_of_mule_charset): Add new builtin function `encode-char' in
2000         UTF-2000; add new symbols `min-code', `max-code', `mother',
2001         `conversion' and `94x60'; delete symbols `mojikyo',
2002         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2003         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2004         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2005         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2006
2007         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2008         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2009
2010         * char-ucs.h (Vcharset_mojikyo): Deleted.
2011         (Vcharset_mojikyo_2022_1): Deleted.
2012         (LEADING_BYTE_MOJIKYO): Deleted.
2013         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2014         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2015         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2016         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2017         add new member `mother'; add new member `conversion'.
2018         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2019         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2020         (CHARSET_MOTHER): New macro.
2021         (CHARSET_CONVERSION): New macro.
2022         (CONVERSION_IDENTICAL): New macro.
2023         (CONVERSION_94x60): New macro.
2024         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2025         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2026         (XCHARSET_MOTHER): New macro.
2027         (XCHARSET_CONVERSION): New macro.
2028         (MIN_CHAR_MOJIKYO): Deleted.
2029         (MAX_CHAR_MOJIKYO): Deleted.
2030         (DECODE_MOJIKYO_2022): Deleted.
2031         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2032         (charset_code_point): Changed to non-inline function.
2033         (encode_char_1): Use `charset_code_point'.
2034         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2035
2036 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2037
2038         * lread.c (read_compiled_function): Fix prototype.
2039         (read_vector): Likewise.
2040
2041 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2042
2043         * lrecord.h (struct lrecord_header): Delete `older'.
2044         (set_lheader_implementation): Delete code for `older'.
2045         (set_lheader_older_implementation): Deleted.
2046         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2047         (OLDER_RECORD_P): Deleted.
2048         (OLDER_RECORD_HEADER_P): Deleted.
2049         (alloc_older_lcrecord): Deleted.
2050         (alloc_older_lcrecord_type): Deleted.
2051
2052         * alloc.c (all_older_lcrecords): Deleted.
2053         (alloc_older_lcrecord): Deleted.
2054         (disksave_object_finalization_1): Delete code for older objects.
2055         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2056         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2057
2058 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2061         instead of `make_older_vector'.
2062         (put_char_ccs_code_point): Likewise.
2063         (mark_charset): Mark `cs->decoding_table'.
2064         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2065
2066         * lisp.h (make_older_vector): Deleted.
2067         (make_vector_newer): Deleted.
2068
2069         * config.h.in (HAVE_GGC): Deleted.
2070
2071         * alloc.c (make_older_vector): Deleted.
2072         (make_vector_newer_1): Deleted.
2073         (make_vector_newer): Deleted.
2074
2075 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2076
2077         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2078         (Qideograph_daikanwa_2): New variable.
2079         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2080         (complex_vars_of_mule_charset): Add new coded-charset
2081         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2082         `LEADING_BYTE_DAIKANWA'.
2083
2084         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2085         (LEADING_BYTE_DAIKANWA_1): New macro.
2086         (LEADING_BYTE_DAIKANWA_2): New macro.
2087         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2088
2089 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2090
2091         * mule-charset.c (complex_vars_of_mule_charset): Change
2092         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2093         the second revised version.
2094
2095 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2096
2097         * mule-charset.c (Vcharset_ucs_smp): New variable.
2098         (Vcharset_ucs_sip): New variable.
2099         (Qucs_smp): New variable.
2100         (Qucs_sip): New variable.
2101         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2102         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2103         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2104         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2105         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2106         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2107
2108         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2109         (LEADING_BYTE_UCS_SIP): New macro.
2110         (MIN_CHAR_SMP): New macro.
2111         (MAX_CHAR_SMP): New macro.
2112         (MIN_CHAR_SIP): New macro.
2113         (MAX_CHAR_SIP): New macro.
2114
2115 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2116
2117         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2118         utf-2000.
2119
2120 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2123         value; don't store value into `encoding_table' of `Lisp_Charset'.
2124         (mark_charset): `encoding_table' was deleted.
2125         (charset_description): Likewise.
2126         (make_charset): Likewise.
2127         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2128         `put_char_ccs_code_point'.
2129
2130         * chartab.h (Fput_char_attribute): New EXFUN.
2131
2132         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2133         is unified with normal symbol space.
2134         (Fget_char_attribute): Likewise.
2135         (Fput_char_attribute): Likewise; behavior of
2136         `put_char_ccs_code_point' is changed.
2137
2138         * char-ucs.h: Include "elhash.h".
2139         (Vchar_attribute_hash_table): New external variable.
2140         (struct Lisp_Charset): Delete `encoding_table'.
2141         (CHARSET_ENCODING_TABLE): New implementation; refer
2142         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2143         `Lisp_Charset'.
2144
2145 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2148         (cs) == 0.
2149
2150 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2153         `chinese-big5'.
2154
2155 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2156
2157         * chartab.c (uint8_byte_table_description): New constant.
2158         (uint8-byte-table): Use `uint8_byte_table_description'.
2159         (uint16_byte_table_description): New constant.
2160         (uint16-byte-table): Use `uint16_byte_table_description'.
2161
2162 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2165         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2166
2167 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2168
2169         * mule-charset.c (Vcharset_ucs_ks): New variable.
2170         (Qucs_ks): New variable.
2171         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2172         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2173
2174         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2175
2176 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2179         (Fdecode_char): Likewise.
2180
2181         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2182         chartab.h.
2183         (Fdefine_char): Modify for Fdecode_char.
2184         (Ffind_char): Likewise.
2185
2186         * mule-charset.c (Fdecode_char): Add new optional argument
2187         `defined-only'.
2188         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2189
2190 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2191
2192         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2193         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2194         (allocate_coding_system): Initialize initial-charsets of
2195         CODESYS_BIG5 in XEmacs UTF-2000.
2196         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2197         CODESYS_BIG5 in XEmacs UTF-2000.
2198         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2199         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2200
2201         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2202         variables.
2203         (Qideograph_hanziku_{1 .. 12}): Likewise.
2204         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2205         .. 12}'.
2206         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2207         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2208         `ideograph-hanziku-{1 .. 12}'.
2209
2210         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2211         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2212         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2213         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2214         (DECODE_DEFINED_CHAR): New inline function.
2215         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2216
2217 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2218
2219         * mule-charset.c (Vcharset_china3_jef): Renamed from
2220         `Vcharset_japanese_jef_china3'.
2221         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2222         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2223         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2224         (syms_of_mule_charset): Rename `china3-jef' from
2225         `japanese-jef-china3'.
2226         (complex_vars_of_mule_charset): Likewise; rename
2227         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2228
2229         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2230         `LEADING_BYTE_JEF_CHINA3'.
2231         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2232         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2233
2234 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * mule-charset.c (encode_builtin_char_1): Comment out special code
2237         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2238
2239         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2240         (MAX_CHAR_MOJIKYO_0): Comment out.
2241         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2242         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2243         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2244         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2245
2246 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2247
2248         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2249         (Qideograph_cbeta): New variable.
2250         (encode_builtin_char_1): Comment out special code for
2251         coded-charset `mojikyo' and `japanese-jef-china3'.
2252         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2253         (complex_vars_of_mule_charset): Add new coded-charset
2254         `ideograph-cbeta'.
2255
2256         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2257         (MIN_CHAR_CBETA): New macro.
2258         (MAX_CHAR_CBETA): New macro.
2259
2260 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2261
2262         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2263         (LEADING_BYTE_JEF_CHINA3): New macro.
2264         (MIN_CHAR_JEF_CHINA3): New macro.
2265         (MAX_CHAR_JEF_CHINA3): Likewise.
2266         (DECODE_CHAR): Fixed.
2267
2268 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2269
2270         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2271         (Qjapanese_jef_china3): New variable.
2272         (encode_builtin_char_1): Support `japanese-jef-china3'.
2273         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2274         (complex_vars_of_mule_charset): Add new coded-charset
2275         `japanese-jef-china3'.
2276
2277 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2278
2279         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2280         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2281         94^4, 96^3, 96^4, 128^n and 256^n set.
2282         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2283         (map_char_table): Likewise.
2284
2285 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2288         UTF-2000.
2289
2290 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2291
2292         * chartab.h (get_char_id_table): New inline function.
2293
2294         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2295         function.
2296
2297 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2298
2299         * chartab.h (decode_char_table_range): New prototype in XEmacs
2300         UTF-2000.
2301         (put_char_id_table): New inline function in XEmacs UTF-2000.
2302
2303         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2304         function.
2305         (decode_char_table_range): Delete static declaration in XEmacs
2306         UTF-2000.
2307
2308 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2309
2310         * chartab.c (put_char_id_table): Use `put_char_table'.
2311
2312 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2313
2314         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2315         (map_over_uint16_byte_table): Likewise.
2316         (map_over_byte_table): Likewise.
2317         (map_char_table): Modify for `map_over_uint8_byte_table',
2318         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2319         UTF-2000.
2320
2321 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2322
2323         * chartab.c (struct map_char_table_for_charset_arg): New
2324         structure.
2325         (map_char_table_for_charset_fun): New function.
2326         (map_char_table): Use `map_char_table' for encoding_table of
2327         `range->charset'.
2328
2329 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2330
2331         * chartab.c (map_char_table): Check a character is found in
2332         range->charset instead of non default value is defined in
2333         char-table when range is CHARTAB_RANGE_ROW.
2334
2335 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * chartab.c (map_char_id_table): Deleted.
2338         (Fmap_char_attribute): Use `map_char_table' instead of
2339         `map_char_id_table'.
2340
2341 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2342
2343         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2344         UTF-2000.
2345         (update_syntax_table): Deleted in XEmacs UTF-2000.
2346
2347         * syntax.c (find_defun_start): Use `syntax_table' instead of
2348         `mirror_syntax_table' in XEmacs UTF-2000.
2349         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2350         UTF-2000.
2351         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2352         XEmacs UTF-2000.
2353         (Fmatching_paren): Likewise.
2354         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2355         in XEmacs UTF-2000.
2356         (find_start_of_comment): Likewise.
2357         (find_end_of_comment): Likewise.
2358         (Fforward_comment): Likewise.
2359         (scan_lists): Likewise.
2360         (char_quoted): Likewise.
2361         (Fbackward_prefix_chars): Likewise.
2362         (scan_sexps_forward): Likewise.
2363         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2364         (update_syntax_table): Likewise.
2365
2366         * search.c (skip_chars): Use `syntax_table' instead of
2367         `mirror_syntax_table' in XEmacs UTF-2000.
2368         (wordify): Likewise.
2369         (Freplace_match): Likewise.
2370
2371         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2372         `mirror_syntax_table' in XEmacs UTF-2000.
2373         (WORDCHAR_P_UNSAFE): Likewise.
2374         (re_match_2_internal): Likewise.
2375
2376         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2377         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2378
2379         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2380         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2381
2382         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2383         XEmacs UTF-2000.
2384
2385         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2386         UTF-2000.
2387         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2388         (char_table_description): Delete `mirror_table' in XEmacs
2389         UTF-2000.
2390         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2391         UTF-2000.
2392         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2393         (Fcopy_char_table): Likewise.
2394         (put_char_table): Don't call `update_syntax_table' in XEmacs
2395         UTF-2000.
2396
2397         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2398         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2399         (casify_region_internal): Likewise.
2400
2401         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2402
2403         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2404         `mirror_syntax_table' in XEmacs UTF-2000.
2405
2406         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2407         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2408         (Fexpand_abbrev): Likewise.
2409
2410 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2411
2412         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2413
2414 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2415
2416         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2417         (map_over_uint16_byte_table): Likewise.
2418         (map_over_byte_table): Likewise.
2419         (get_char_id_table): Refer `cit->default_value'.
2420         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2421         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2422         of character-id ranges.
2423         (mark_char_table): Mark `ct->default_value'.
2424         (char_table_description): Add `default_value'.
2425         (fill_char_table): Use `default_value'.
2426         (decode_char_table_range): Decode `nil' as
2427         `CHARTAB_RANGE_DEFAULT'.
2428         (get_char_id_table): Refer `cit->default_value'.
2429         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2430         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2431         temporary hack; check value of char-table is bound or not.
2432         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2433
2434         * chartab.h (struct Lisp_Char_Table): Add new member
2435         `default_value' in XEmacs UTF-2000.
2436         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2437         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2438         UTF-2000.
2439
2440 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2441
2442         * chartab.h (Lisp_Char_ID_Table): Deleted.
2443
2444         * chartab.c (char_table_description): Fix typo.
2445         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2446         `Lisp_Char_ID_Table'.
2447
2448 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2451         `CHAR_ID_TABLE_P'.
2452
2453         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2454         `CHAR_ID_TABLE_P'.
2455
2456         * chartab.h (XCHAR_ID_TABLE): Deleted.
2457         (XSETCHAR_ID_TABLE): Deleted.
2458         (CHAR_ID_TABLE_P): Deleted.
2459
2460         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2461         `CHAR_ID_TABLE_P'.
2462         (Fget_composite_char): Likewise.
2463         (put_char_table): Likewise.
2464         (add_char_attribute_alist_mapper): Fixed.
2465         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2466         `CHAR_ID_TABLE_P'.
2467         (Fget_char_attribute): Likewise.
2468         (Fget_char_attribute): Likewise.
2469         (Fmap_char_attribute): Likewise.
2470
2471         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2472         `CHAR_ID_TABLE_P'.
2473         (encode_char_1): Likewise.
2474
2475 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2476
2477         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2478         `XCHAR_ID_TABLE'.
2479
2480         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2481         instead of `XCHAR_ID_TABLE'.
2482         (remove_char_ccs): Likewise.
2483
2484         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2485         `XCHAR_ID_TABLE'.
2486         (Fget_composite_char): Likewise.
2487         (Fchar_variants): Likewise.
2488         (put_char_table): Likewise.
2489         (add_char_attribute_alist_mapper): Likewise.
2490         (Fchar_attribute_alist): Likewise.
2491         (Fget_char_attribute): Likewise.
2492         (Fput_char_attribute): Likewise.
2493         (Fmap_char_attribute): Likewise.
2494         (Fmap_char_attribute): Likewise.
2495
2496         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2497         `XCHAR_ID_TABLE'.
2498         (encode_char_1): Likewise.
2499
2500 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2501
2502         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2503         `Lisp_Char_ID_Table'.
2504         (mark_char_id_table): Deleted.
2505         (print_char_id_table): Likewise.
2506         (char_id_table_equal): Likewise.
2507         (char_id_table_hash): Likewise.
2508         (char_id_table_description): Likewise.
2509         (char_id_table): Likewise.
2510         (make_char_id_table): Use `Fmake_char_table' and
2511         `fill_char_table'.
2512         (get_char_id_table): Use `Lisp_Char_Table' instead of
2513         `Lisp_Char_ID_Table'.
2514         (put_char_id_table): Likewise.
2515         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2516         `XCHAR_ID_TABLE'.
2517         (Fremove_char_attribute): Likewise.
2518         (syms_of_chartab): Don't define type `char-id-table'.
2519
2520         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2521         (char_id_table): Likewise.
2522         (GC_CHAR_ID_TABLE_P): Likewise.
2523         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2524         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2525         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2526         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2527         (get_char_id_table): Use `Lisp_Char_Table' instead of
2528         `Lisp_Char_ID_Table'.
2529         (put_char_id_table_0): Likewise.
2530         (put_char_id_table): Likewise.
2531
2532 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2533
2534         * chartab.h: Lisp_Byte_Table related codes are moved from
2535         chartab.h.
2536
2537         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2538
2539 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2540
2541         * chartab.h: Don't include "chartab.h".
2542         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2543         (Lisp_Char_ID_Table): Likewise.
2544         (char_id_table): Likewise.
2545         (XCHAR_ID_TABLE): Likewise.
2546         (XSETCHAR_ID_TABLE): Likewise.
2547         (CHAR_ID_TABLE_P): Likewise.
2548         (GC_CHAR_ID_TABLE_P): Likewise.
2549         (get_char_id_table): Likewise.
2550
2551         * char-ucs.h: Include "chartab.h".
2552         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2553         (Lisp_Char_ID_Table): Likewise.
2554         (char_id_table): Likewise.
2555         (XCHAR_ID_TABLE): Likewise.
2556         (XSETCHAR_ID_TABLE): Likewise.
2557         (CHAR_ID_TABLE_P): Likewise.
2558         (GC_CHAR_ID_TABLE_P): Likewise.
2559         (get_char_id_table): Likewise.
2560
2561 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2562
2563         * chartab.c (copy_uint8_byte_table): New function.
2564         (copy_uint16_byte_table): New function.
2565         (copy_byte_table): New function.
2566         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2567         characters to call.
2568         (map_over_uint16_byte_table): Likewise.
2569         (map_over_byte_table): Likewise.
2570         (get_byte_table): Move prototype to chartab.h.
2571         (put_byte_table): Likewise.
2572         (put_char_id_table_0): Moved to chartab.h.
2573         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2574         (char_table_entry_equal): Likewise.
2575         (char_table_entry_hash): Likewise.
2576         (char_table_entry_description): Likewise.
2577         (char_table_entry): Likewise.
2578         (make_char_table_entry): Likewise.
2579         (copy_char_table_entry): Likewise.
2580         (get_non_ascii_char_table_value): Likewise.
2581         (map_over_charset_ascii): Likewise.
2582         (map_over_charset_control_1): Likewise.
2583         (map_over_charset_row): Likewise.
2584         (map_over_other_charset): Likewise.
2585         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2586         (print_char_table): Likewise.
2587         (char_table_equal): Likewise.
2588         (char_table_hash): Likewise.
2589         (char_table_description): Likewise.
2590         (fill_char_table): Likewise.
2591         (Fcopy_char_table): Likewise.
2592         (get_char_table): Likewise.
2593         (Fget_range_char_table): Likewise.
2594         (put_char_table): Likewise.
2595         (map_char_table): Likewise.
2596         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2597         UTF-2000.
2598
2599 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2600
2601         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2602         `Vauto_fill_chars' in XEmacs UTF-2000.
2603
2604         * chartab.h (get_byte_table): New prototype [moved from
2605         chartab.c].
2606         (put_byte_table): Likewise [moved from chartab.c].
2607         (put_char_id_table_0): New inline function [moved from chartab.c].
2608         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2609         (Lisp_Char_Table_Entry): Likewise.
2610         (char_table_entry): Likewise.
2611         (XCHAR_TABLE_ENTRY): Likewise.
2612         (XSETCHAR_TABLE_ENTRY): Likewise.
2613         (CHAR_TABLE_ENTRYP): Likewise.
2614         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2615         (NUM_ASCII_CHARS): Likewise.
2616         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2617         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2618
2619 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2620
2621         * chartab.c (get_char_id_table): Change interface.
2622         (put_char_id_table_0): New function.
2623         (put_char_id_table): Change interface; new implementation.
2624         (Fget_composite_char): Modify for interface change of
2625         `get_char_id_table'.
2626         (Fchar_variants): Likewise.
2627         (add_char_attribute_alist_mapper): Likewise.
2628         (Fchar_attribute_alist): Likewise.
2629         (Fget_char_attribute): Likewise.
2630         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2631         as same as character as the first argument like `put-char-table';
2632         modify for interface change of `put_char_id_table'.
2633         (Fremove_char_attribute): Modify for interface change of
2634         `put_char_id_table'.
2635
2636 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * text-coding.c: Sync up with XEmacs 21.2.41.
2639         (COMPOSE_ADD_CHAR): Modify for interface change of
2640         `get_char_id_table'.
2641
2642         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2643         change of `put_char_id_table'.
2644         (remove_char_ccs): Likewise.
2645
2646         * chartab.h (put_char_id_table): Change interface.
2647
2648         * char-ucs.h (get_char_id_table): Change interface.
2649         (charset_code_point): Modify for interface change of
2650         `get_char_id_table'.
2651         (encode_char_1): Likewise.
2652
2653 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2654
2655         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2656         argument `ccs'.
2657         (map_over_uint16_byte_table): Likewise.
2658         (map_over_byte_table): Likewise.
2659         (map_char_id_table): Add new argument `range' like
2660         `map_char_table'.
2661         (Fmap_char_attribute): Add new argument `range' like
2662         `Fmap_char_table'.
2663
2664 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2665
2666         * chartab.c (map_over_uint8_byte_table): Change interface of
2667         mapping function to use struct chartab_range instead of Emchar.
2668         (map_over_uint16_byte_table): Likewise.
2669         (map_over_byte_table): Likewise.
2670         (map_char_id_table): Likewise.
2671         (struct slow_map_char_id_table_arg): Deleted.
2672         (slow_map_char_id_table_fun): Deleted.
2673         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2674         function `slow_map_char_table_fun' instead of struct
2675         `slow_map_char_id_table_arg' and function
2676         `slow_map_char_id_table_fun'.
2677
2678 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2679
2680         * mule-charset.c: Move char-it-table related codes to chartab.c.
2681         (Vutf_2000_version): Moved to chartab.c.
2682         (Fdefine_char): Likewise.
2683         (Ffind_char): Likewise.
2684         (syms_of_mule_charset): Move types `uint8-byte-table',
2685         `uint16-byte-table', `byte-table' and `char-id-table' to
2686         chartab.c; move functions `char_attribute_list,
2687         `find_char_attribute_table, `char_attribute_alist,
2688         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2689         `map_char_attribute, `define_char, `find_char, `char_variants and
2690         `get_composite_char to chartab.c; move symbols `=>ucs',
2691         `->decomposition', `compat', `isolated', `initial', `medial',
2692         `final', `vertical', `noBreak', `fraction', `super', `sub',
2693         `circle', `square', `wide', `narrow', `small' and `font' to
2694         chartab.c.
2695         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2696         setting codes for `Vcharacter_composition_table' and
2697         `Vcharacter_variant_table' to chartab.c.
2698         (complex_vars_of_mule_charset): Move setting code for
2699         `Vchar_attribute_hash_table' to chartab.c.
2700
2701         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2702         (make_char_id_table): New prototype.
2703         (put_char_id_table): Likewise.
2704         (Fget_char_attribute): Likewise.
2705
2706         * chartab.c: Move char-id-table related code from mule-charset.c.
2707         (Vutf_2000_version): Moved from mule-charset.c.
2708
2709         * char-ucs.h (Qucs): New external variable.
2710         (put_char_ccs_code_point): New prototype.
2711         (remove_char_ccs): Likewise.
2712
2713 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2714
2715         * mule-charset.c (Vcharset_ucs_jis): New variable.
2716         (Qucs_jis): Likewise.
2717         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2718         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2719
2720         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2721
2722 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2723
2724         * mule-charset.c (map_over_uint8_byte_table): New function.
2725         (map_over_uint16_byte_table): Likewise.
2726         (map_over_byte_table): Likewise.
2727         (map_char_id_table): Likewise.
2728         (slow_map_char_id_table_fun): Likewise.
2729         (Fmap_char_attribute): Likewise.
2730         (syms_of_mule_charset): Add new function `map-char-attribute'.
2731
2732 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2733
2734         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2735         (syms_of_mule_charset): Add new function `find-char'.
2736
2737 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2738
2739         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2740         XEmacs UTF-2000.
2741         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2742         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2743         XEmacs UTF-2000.
2744         (complex_vars_of_mule_charset): Add new coded-charset
2745         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2746         `ideograph-gt-pj-*'.
2747
2748         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2749
2750 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2751
2752         * mule-charset.c (encode_builtin_char_1): Purge codes about
2753         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2754         {MIN|MAX}_CHAR_HEBREW.
2755         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2756         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2757
2758         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2759         (MAX_CHAR_GREEK): Purged.
2760         (MIN_CHAR_CYRILLIC): Purged.
2761         (MAX_CHAR_CYRILLIC): Purged.
2762         (MIN_CHAR_HEBREW): Commented out.
2763         (MAX_CHAR_HEBREW): Likewise.
2764
2765 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2766
2767         * mule-charset.c (Qto_ucs): New variable.
2768         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2769         (Fdefine_char): Likewise.
2770         (syms_of_mule_charset): Add new symbol `=>ucs'.
2771
2772 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2773
2774         * mule-charset.c (Fdecode_char): Fixed.
2775
2776 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2777
2778         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2779         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2780         "tcvn5712-1".
2781
2782 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2783
2784         * mule-charset.c (Vcharset_ucs_big5): New variable.
2785         (Qucs_big5): Likewise.
2786         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2787         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2788
2789         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2790
2791 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2792
2793         * mule-charset.c (decode_builtin_char): Check Big5 code range
2794         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2795
2796 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2799         (Qchinese_gb12345): Likewise.
2800         (Fdecode_builtin_char): Fixed.
2801         (syms_of_mule_charset): Add `chinese-gb12345'.
2802         (complex_vars_of_mule_charset): Add coded-charset
2803         `chinese-gb12345'.
2804
2805         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2806         (LEADING_BYTE_CHINESE_GB12345): New macro.
2807
2808 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2809
2810         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2811         and `latin-viscii-upper' for `latin-viscii'.
2812
2813 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * mule-charset.c (Fdecode_builtin_char): Comment out
2816         regularization code for ISO-IR GR representation.
2817
2818 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2819
2820         * mule-charset.c (decode_builtin_char): New function; renamed from
2821         `make_builtin_char'; return -1 instead of signal.
2822         (Fdecode_builtin_char): Use `decode_builtin_char'.
2823
2824         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2825         `make_builtin_char'.
2826         (DECODE_CHAR): Use `decode_builtin_char' instead of
2827         `make_builtin_char'; use mapping table of `chinese-big5' for
2828         `chinese-big5-{1,2}'.
2829
2830 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2831
2832         * text-coding.c (char_encode_big5): New function.
2833         (char_finish_big5): Likewise.
2834         (reset_encoding_stream): Use `char_encode_big5' and
2835         `char_finish_big5' for CODESYS_BIG5.
2836         (mule_encode): Don't use `encode_coding_big5'.
2837         (encode_coding_big5): Deleted.
2838
2839 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2842         0x81- in XEmacs UTF-2000.
2843         (detect_coding_big5): Likewise.
2844
2845 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2848         generate character-id if the CCS property does not have
2849         corresponding predefined character.
2850         (make_builtin_char): Return -1 if corresponding predefined
2851         character is not found.
2852         (Fdecode_char): Return nil if corresponding character is not
2853         found.
2854         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2855         don't map to builtin ucs space.
2856
2857 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2858
2859         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2860         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2861
2862 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2863
2864         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2865         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2866         (Qideograph_gt): Likewise.
2867         (Qideograph_gt_pj_{1..11}): Likewise.
2868         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2869         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2870         `ideograph-gt-pj-11'.
2871         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2872         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2873         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2874
2875         * char-ucs.h (LEADING_BYTE_GT): New macro.
2876         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2877         (MIN_CHAR_GT): Likewise.
2878         (MAX_CHAR_GT): Likewise.
2879
2880 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2881
2882         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2883         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2884
2885         * doprnt.c (unsigned_int_converters): Add `c'.
2886         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2887
2888         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2889         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2890         `MIN_CHAR_MOJIKYO'.
2891         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2892         (MAX_CHAR_MOJIKYO_0): New macro.
2893         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2894
2895 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2896
2897         * mule-charset.c (Fdefine_char): Delete cemented out code.
2898         (encode_builtin_char_1): Modify for new allocation of builtin
2899         Mojikyo characters.
2900
2901         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2902
2903 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2904
2905         * mule-charset.c (Vcharset_ucs_cns): New variable.
2906         (Qucs_cns): New variable.
2907         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2908         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2909
2910 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2911
2912         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2913
2914 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2915
2916         * search.c (search_buffer): Make `charset_base_code' as
2917         character-id >> 6 to eliminate the corresponding last byte in
2918         UTF-8 representation [I'm not sure it is right thing].
2919         (boyer_moore): Likewise.
2920
2921 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2922
2923         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2924         representation in MULE.
2925
2926 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * text-coding.c (Fmake_coding_system): Use
2929         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2930         `EXTERNAL_PROPERTY_LIST_LOOP'.
2931
2932 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2933
2934         * text-coding.c (decode_output_utf8_partial_char): New function.
2935         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2936
2937 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2938
2939         * text-coding.c (decode_coding_utf8): Output original byte
2940         sequence if it is broken; change order of conditions.
2941
2942         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2943         of conditions.
2944
2945         * mb-multibyte.h (BYTE_ASCII_P):
2946         Use bit ops for char-signedness safety.
2947         (BYTE_C0_P): Use bit ops for char-signedness safety.
2948         (BYTE_C1_P): Use bit ops for char-signedness safety.
2949
2950         * character.h: (XCHAR_OR_CHAR_INT):
2951         Always use inline function.
2952         Remove redundant type checking assert() - XINT will abort quite
2953         nicely.
2954
2955 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2956
2957         * text-coding.c: (Fencode_shift_jis_char):
2958         (Fencode_big5_char):
2959         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2960         Replace 0 with '\0' when working with bytes.
2961         Replace initial "(" with "\(" in docstrings.
2962
2963         (Fmake_coding_system):
2964         When type is ccl and value is vector, register it with a proper
2965         symbol.  And checks whether the given ccl program is valid.
2966         (mule_decode): When calling ccl_driver, if src indicates
2967         NULL pointer, set an empty string instead.
2968         (mule_encode): Likewise.
2969
2970         (detect_eol_type):
2971         (detect_coding_sjis):
2972         (decode_coding_sjis):
2973         (detect_coding_big5):
2974         (decode_coding_big5):
2975         (detect_coding_ucs4):
2976         (decode_coding_ucs4):
2977         (detect_coding_utf8):
2978         (decode_coding_utf8):
2979         (detect_coding_iso2022):
2980         (decode_coding_iso2022):
2981         (decode_coding_no_conversion):
2982         (mule_decode):
2983         Make all detecting and decoding functions take an Extbyte * arg.
2984         (text_encode_generic):
2985         (encode_coding_big5):
2986         (encode_coding_no_conversion):
2987         (mule_encode):
2988         Make all encoding functions take a Bufbyte * arg.
2989         Use size_t instead of unsigned int for memory sizes.
2990         Only cast to unsigned char whenever dereferencing Extbyte *.
2991
2992         (struct lrecord_description fcd_description_1): Use countof.
2993         (complex_vars_of_file_coding):
2994         Use countof instead of sizeof.
2995         Use CHECK_NATNUM instead of CHECK_INT.
2996
2997 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2998
2999         * mule-charset.c (Fget_char_attribute): Add new optional argument
3000         `default-value'.
3001         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3002         (remove_char_ccs): Likewise.
3003
3004 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3005
3006         * text-coding.c (char_encode_shift_jis): New implementation in
3007         UTF-2000.
3008         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3009         ...)'.
3010
3011         * mule-charset.c (Vcharset_chinese_big5): New variable in
3012         UTF-2000.
3013         (Qchinese_big5): New variable in UTF-2000.
3014         (BIG5_SAME_ROW): New macro in UTF-2000.
3015         (make_builtin_char): Use builtin characters of
3016         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3017         characters of `Vcharset_chinese_big5'.
3018         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3019         (complex_vars_of_mule_charset): Add new coded-charset
3020         `chinese-big5' in UTF-2000.
3021
3022         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3023         (Vcharset_chinese_big5): New external variable declaration.
3024         (Vcharset_japanese_jisx0208_1990): Likewise.
3025
3026 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3027
3028         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3029         function.
3030         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3031
3032 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3033
3034         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3035         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3036         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3037         `mojikyo-pj-*'.
3038
3039 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3040
3041         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3042
3043 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3044
3045         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3046         to 0.17.
3047
3048 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3049
3050         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3051         for `CHARSET_BY_ATTRIBUTES'.
3052         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3053         `CHARSET_BY_ATTRIBUTES'.
3054
3055         * text-coding.c (struct decoding_stream): Rename member `CH' to
3056         `CPOS'.
3057         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3058         (decode_coding_sjis): Likewise.
3059         (decode_coding_big5): Likewise.
3060         (decode_coding_ucs4): Likewise.
3061         (decode_coding_utf8): Likewise.
3062         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3063         `CHARSET_BY_ATTRIBUTES'.
3064         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3065         `str->counter'; decode 3, 4 bytes sets.
3066         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3067         sets.
3068         (decode_coding_no_conversion): Use `str->cpos' instead of
3069         `str->ch'.
3070
3071         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3072         (Qmojikyo_2022_1): New variable.
3073         (make_charset): Don't use `CHARSET_TYPE_*'.
3074         (range_charset_code_point): Support coded-charset
3075         `mojikyo-2022-1'.
3076         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3077         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3078         `CHARSET_BY_ATTRIBUTES'.
3079         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3080         `CHARSET_BY_ATTRIBUTES'.
3081         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3082         (complex_vars_of_mule_charset): Add new coded-charset
3083         `mojikyo-2022-1'.
3084
3085         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3086         interface; changed to inline function.
3087
3088         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3089         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3090         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3091         (CHARSET_TYPE_94): Deleted.
3092         (CHARSET_TYPE_94X94): Deleted.
3093         (CHARSET_TYPE_96): Deleted.
3094         (CHARSET_TYPE_96X96): Deleted.
3095         (CHARSET_TYPE_128): Deleted.
3096         (CHARSET_TYPE_128X128): Deleted.
3097         (CHARSET_TYPE_256): Deleted.
3098         (CHARSET_TYPE_256X256): Deleted.
3099         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3100         to inline function.
3101         (DECODE_MOJIKYO_2022): New inline function.
3102         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3103         `Vcharset_mojikyo_2022_1'.
3104
3105 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3106
3107         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3108         instead of `EQ'.
3109         (put_byte_table): Likewise.
3110         (char_id_table_equal): Use `get_byte_table' [new implementation].
3111
3112 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3113
3114         * mule-charset.c: Include <limits.h> in UTF-2000.
3115         (BT_UINT8_MIN): New macro in UTF-2000.
3116         (BT_UINT8_MAX): New macro in UTF-2000.
3117         (BT_UINT8_t): New macro in UTF-2000.
3118         (BT_UINT8_nil): New macro in UTF-2000.
3119         (BT_UINT8_unbound): New macro in UTF-2000.
3120         (INT_UINT8_P): New inline function in UTF-2000.
3121         (UINT8_VALUE_P): New inline function in UTF-2000.
3122         (UINT8_ENCODE): New inline function in UTF-2000.
3123         (UINT8_DECODE): New inline function in UTF-2000.
3124         (mark_uint8_byte_table): New function in UTF-2000.
3125         (print_uint8_byte_table): New function in UTF-2000.
3126         (uint8_byte_table_equal): New function in UTF-2000.
3127         (uint8_byte_table_hash): New function in UTF-2000.
3128         (make_uint8_byte_table): New function in UTF-2000.
3129         (uint8_byte_table_same_value_p): New function in UTF-2000.
3130         (BT_UINT16_MIN): New macro in UTF-2000.
3131         (BT_UINT16_MAX): New macro in UTF-2000.
3132         (BT_UINT16_t): New macro in UTF-2000.
3133         (BT_UINT16_nil): New macro in UTF-2000.
3134         (BT_UINT16_unbound): New macro in UTF-2000.
3135         (INT_UINT16_P): New inline function in UTF-2000.
3136         (UINT16_VALUE_P): New inline function in UTF-2000.
3137         (UINT16_ENCODE): New inline function in UTF-2000.
3138         (UINT16_DECODE): New inline function in UTF-2000.
3139         (UINT8_TO_UINT16): New inline function in UTF-2000.
3140         (mark_uint16_byte_table): New function in UTF-2000.
3141         (print_uint16_byte_table): New function in UTF-2000.
3142         (uint16_byte_table_equal): New function in UTF-2000.
3143         (uint16_byte_table_hash): New function in UTF-2000.
3144         (make_uint16_byte_table): New function in UTF-2000.
3145         (uint16_byte_table_same_value_p): New function in UTF-2000.
3146         (print_byte_table): New function in UTF-2000.
3147         (byte-table): Use `print_byte_table' as printer.
3148         (make_byte_table): Delete second argument `older'.
3149         (byte_table_same_value_p): New function in UTF-2000.
3150         (copy_byte_table): Deleted.
3151         (get_byte_table): New function in UTF-2000.
3152         (put_byte_table): New function in UTF-2000.
3153         (print_char_id_table): New function in UTF-2000.
3154         (char-id-table): Use `print_char_id_table' as printer.
3155         (make_char_id_table): Delete second argument `older'.
3156         (get_char_id_table): Use `get_byte_table [new implementation].
3157         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3158         implementation].
3159         (Ffind_char_attribute_table): New function in UTF-2000.
3160         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3161         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3162         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3163         (syms_of_mule_charset): Add new function
3164         `find-char-attribute-table' in UTF-2000.
3165
3166         * lrecord.h (enum lrecord_type): Add
3167         `lrecord_type_uint16_byte_table' and
3168         `lrecord_type_uint8_byte_table'.
3169
3170         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3171         (Lisp_Uint8_Byte_Table): New type.
3172         (XUINT8_BYTE_TABLE): New macro.
3173         (XSETUINT8_BYTE_TABLE): New macro.
3174         (UINT8_BYTE_TABLE_P): New macro.
3175         (GC_UINT8_BYTE_TABLE_P): New macro.
3176         (struct Lisp_Uint16_Byte_Table): New structure.
3177         (Lisp_Uint16_Byte_Table): New type.
3178         (XUINT16_BYTE_TABLE): New macro.
3179         (XSETUINT16_BYTE_TABLE): New macro.
3180         (UINT16_BYTE_TABLE_P): New macro.
3181         (GC_UINT16_BYTE_TABLE_P): New macro.
3182
3183 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3184
3185         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3186         (Vcharacter_ideographic_strokes_table): Deleted.
3187         (Vcharacter_total_strokes_table): Deleted.
3188         (Vcharacter_morohashi_daikanwa_table): Deleted.
3189         (Vcharacter_decomposition_table): Deleted.
3190         (Qname): Deleted because it is duplicated.
3191         (Qideographic_radical): Deleted.
3192         (Qideographic_strokes): Deleted.
3193         (Qtotal_strokes): Deleted.
3194         (Qmorohashi_daikanwa): Deleted.
3195         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3196         `ideographic-radical', `ideographic-strokes', `total-strokes',
3197         `morohashi-daikanwa' and `->decomposition'.
3198         (Fget_char_attribute): Likewise.
3199         (Fput_char_attribute): Likewise; use `make-vector' instead of
3200         `make_older_vector' for `->decomposition' value.
3201         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3202         `ideograph-daikanwa'.
3203         (syms_of_mule_charset): Delete builtin symbols `name',
3204         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3205         `morohashi-daikanwa'.
3206         (vars_of_mule_charset): Don't setup
3207         `Vcharacter_ideographic_radical_table',
3208         `Vcharacter_ideographic_strokes_table',
3209         `Vcharacter_total_strokes_table',
3210         `Vcharacter_morohashi_daikanwa_table' and
3211         `Vcharacter_decomposition_table'.
3212
3213 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3214
3215         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3216         `make_older_vector', `make_vector_newer_1' and
3217         `make_vector_newer'.
3218
3219         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3220         `make_older_vector' and `make_vector_newer'.
3221
3222         * config.h.in (HAVE_GGC): New macro.
3223
3224 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * mule-charset.c (struct char_attribute_list_closure): New
3227         structure in UTF-2000.
3228         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3229         (Fchar_attribute_list): Likewise.
3230         (Fset_charset_mapping_table): Use `make_vector_newer'.
3231         (Fdecode_builtin_char): New function in UTF-2000.
3232         (syms_of_mule_charset): Add new function `char-attribute-list' and
3233         `decode-builtin-char' in UTF-2000.
3234
3235         * lisp.h (make_vector_newer): New prototype.
3236
3237         * alloc.c (make_vector_newer_1): New function.
3238         (make_vector_newer): New function.
3239
3240 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3241
3242         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3243         50100)'.
3244
3245 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3246
3247         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3248         (Vcharacter_attribute_table): Deleted.
3249         (Vcharacter_name_table): Deleted.
3250         (put_char_attribute): Deleted.
3251         (remove_char_attribute): Deleted.
3252         (struct char_attribute_alist_closure): New structure.
3253         (add_char_attribute_alist_mapper): New function.
3254         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3255         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3256         (Fget_char_attribute): Likewise.
3257         (Fput_char_attribute): Likewise.
3258         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3259         of `remove_char_attribute'.
3260         (Fdefine_char): Return character.
3261         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3262         and `Vcharacter_name_table'.
3263         (complex_vars_of_mule_charset): Likewise
3264         `Vchar_attribute_hash_table'.
3265
3266 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3267
3268         * character.h (CHARC_CHARSET): New macro.
3269         (CHARC_CHARSET_ID): New macro.
3270         (CHARC_CODE_POINT): New macro.
3271         (CHARC_COLUMNS): New macro.
3272         (CHARC_TO_CHAR): New inline function.
3273         (CHARC_EQ): New inline function.
3274         (CHARC_ASCII_EQ): New inline function.
3275         (CHARC_IS_SPACE): New inline function.
3276         (ASCII_TO_CHARC): New inline function.
3277
3278         * char-ucs.h (encode_char_2): Deleted.
3279         (ENCODE_CHAR): Use `encode_char_1' again.
3280         (breakup_char_1): Likewise.
3281         (CHAR_TO_CHARC): New inline function.
3282
3283         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3284
3285 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3288         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3289         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3290         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3291         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3292         `CHARC_IS_SPACE'.
3293         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3294
3295         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3296         `CHARC_CODE_POINT'.
3297         (x_output_display_block): Use `CHARC_CHARSET' and
3298         `CHARC_ASCII_EQ'.
3299
3300         * redisplay-tty.c (tty_output_display_block): Use
3301         `CHARC_ASCII_EQ'.
3302         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3303
3304         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3305
3306         * insdel.c (find_charsets_in_charc_string): Use
3307         `CHARC_CHARSET_ID'.
3308         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3309         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3310         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3311         (convert_charc_string_into_malloced_string): Likewise.
3312
3313 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3314
3315         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3316         instead of <Emchar_dynarr *> for buf; use
3317         `convert_bufbyte_string_into_charc_dynarr' instead of
3318         `convert_bufbyte_string_into_emchar_dynarr'; use
3319         `find_charsets_in_charc_string' instead of
3320         `find_charsets_in_emchar_string'.
3321
3322         * redisplay.h:
3323         - Include "character.h".
3324         (struct rune): New member `cglyph'; delete member `chr'.
3325
3326         * redisplay.c (redisplay_text_width_charc_string): New function;
3327         delete `redisplay_text_width_emchar_string'.
3328         (rtw_charc_dynarr): New variable; renamed from
3329         `rtw_emchar_dynarr'.
3330         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3331         `rtw_emchar_dynarr'; use
3332         `convert_bufbyte_string_into_charc_dynarr' instead of
3333         `convert_bufbyte_string_into_emchar_dynarr'; use
3334         `redisplay_text_width_charc_string' instead of
3335         `redisplay_text_width_emchar_string'.
3336         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3337         instead of `rtw_emchar_dynarr'; use
3338         `convert_bufbyte_string_into_charc_dynarr' instead of
3339         `convert_bufbyte_string_into_emchar_dynarr'.
3340         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3341         `redisplay_text_width_charc_string' instead of
3342         `redisplay_text_width_emchar_string'.
3343         (create_text_block): Modify for <struct rune> change.
3344         (generate_formatted_string_db): Likewise.
3345         (create_string_text_block): Likewise.
3346         (pixel_to_glyph_translation): Likewise.
3347
3348         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3349         instead of <const Emchar *>.
3350         (x_text_width): Likewise.
3351         (x_output_display_block): Use <Charc_dynarr *> instead
3352         <Emchar_dynarr *>; modify for <structure rune> change.
3353         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3354         *>.
3355
3356         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3357         <const Emchar *>; use `charc_string_displayed_columns' instead of
3358         `emchar_string_displayed_columns'.
3359         (tty_output_display_block): Use <Charc_dynarr *> instead of
3360         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3361         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3362         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3363         `tty_output_emchar_dynarr_dynarr'.
3364         (tty_output_charc_dynarr): New function; delete
3365         `tty_output_charc_dynarr'.
3366
3367         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3368         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3369         <Emchar_dynarr *> for buf; use
3370         `convert_bufbyte_string_into_charc_dynarr' instead of
3371         `convert_bufbyte_string_into_emchar_dynarr'.
3372
3373         * frame.c (title_string_charc_dynarr): New variable; renamed from
3374         `title_string_emchar_dynarr'.
3375         (generate_title_string): Use `title_string_charc_dynarr' instead
3376         of `title_string_emchar_dynarr'; use
3377         `convert_charc_string_into_malloced_string' instead of
3378         `convert_emchar_string_into_malloced_string'.
3379         (init_frame): Use `title_string_charc_dynarr' instead of
3380         `title_string_emchar_dynarr'.
3381
3382         * console.h:
3383         - Include "character.h".
3384         (struct console_methods): Use <const Charc *> instead of <const
3385         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3386         <Emchar_dynarr *> in output_string_method.
3387
3388         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3389         <Emchar_dynarr *>.
3390
3391         * console-stream.c (stream_text_width): Use <const Charc *>
3392         instead of <const Emchar *>.
3393
3394         * character.h (Charc_dynarr): New type.
3395
3396         * char-ucs.h (structure Charc): New structure; define new type
3397         `Charc'.
3398
3399         * char-lb.h (DECODE_CHAR): New inline function.
3400         (encode_char_1): New inline function.
3401         (ENCODE_CHAR): New macro.
3402         (structure Charc): New structure; define new type `Charc'.
3403
3404         * char-1byte.h (Vcharset_control_1): New macro.
3405         (Vcharset_latin_iso8859_1): New macro.
3406         (DECODE_CHAR): New inline function.
3407         (encode_char_1): New inline function.
3408         (ENCODE_CHAR): New macro.
3409         (structure Charc): New structure; define new type `Charc'.
3410
3411         * insdel.c (find_charsets_in_charc_string): New function; delete
3412         `find_charsets_in_emchar_string'.
3413         (charc_string_displayed_columns): New function; delete
3414         `emchar_string_displayed_columns'.
3415         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3416         `convert_bufbyte_string_into_emchar_dynarr'.
3417         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3418         `convert_charc_string_into_bufbyte_dynarr'.
3419         (convert_charc_string_into_malloced_string): New function; delete
3420         `convert_charc_string_into_malloced_string'.
3421
3422         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3423         `find_charsets_in_emchar_string'.
3424         (charc_string_displayed_columns): New prototype; delete
3425         `emchar_string_displayed_columns'.
3426         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3427         `convert_charc_string_into_bufbyte_dynarr'.
3428         (convert_charc_string_into_malloced_string): New prototype; delete
3429         `convert_charc_string_into_malloced_string'.
3430
3431 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3432
3433         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3434
3435 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3436
3437         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3438
3439         * char-ucs.h: Use <short> for <Charset_ID>.
3440
3441         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3442         <Charset_ID>.
3443
3444 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3445
3446         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3447         to 0.16.
3448
3449 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3450
3451         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3452         variable.
3453         (Qmorohashi_daikanwa): New variable.
3454         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3455         for `morohashi-daikanwa' attribute.
3456         (Fget_char_attribute): Likewise.
3457         (Fput_char_attribute): Likewise.
3458         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3459         has the same value of `ideograph-daikanwa'.
3460         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3461         (vars_of_mule_charset): Setup
3462         `Vcharacter_morohashi_daikanwa_table'.
3463
3464 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3465
3466         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3467         attributes.
3468         (add_charset_to_list_mapper): Add `key' instead of
3469         `XCHARSET_NAME (value)' to return aliases.
3470
3471 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3472
3473         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3474         variable.
3475         (Vcharacter_ideographic_strokes_table): New variable.
3476         (Qideographic_radical): New variable.
3477         (Qideographic_strokes): New variable.
3478         (Fchar_attribute_alist): Use
3479         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3480         attribute; use `Vcharacter_ideographic_strokes_table' for
3481         `ideographic-strokes' attribute.
3482         (Fget_char_attribute): Likewise.
3483         (Fput_char_attribute): Likewise.
3484         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3485         `ideographic-strokes'.
3486         (vars_of_mule_charset): Setup
3487         `Vcharacter_ideographic_radical_table' and
3488         `Vcharacter_ideographic_strokes_table'.
3489
3490 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3491
3492         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3493         (Qtotal_strokes): New variable.
3494         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3495         `total-strokes' attribute.
3496         (Fget_char_attribute): Likewise.
3497         (Fput_char_attribute): Likewise.
3498         (syms_of_mule_charset): Add new symbol `total-strokes'.
3499         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3500
3501 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3502
3503         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3504         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3505         are found.
3506         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3507         `->decomposition' attribute.
3508         (Fput_char_attribute): Likewise.
3509         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3510
3511 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3512
3513         * mule-charset.c (decoding_table_check_elements): New function.
3514         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3515
3516 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3517
3518         * mule-charset.c (Fset_charset_mapping_table): Use
3519         `put_char_ccs_code_point'.
3520
3521 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3522
3523         * mule-charset.c (decoding_table_put_char): New inline function.
3524         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3525
3526 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3527
3528         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3529         (XCHARSET_BYTE_SIZE): New macro.
3530         (decoding_table_remove_char): New inline function.
3531         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3532         `decoding_table_remove_char'.
3533         (remove_char_ccs): Use `decoding_table_remove_char'.
3534         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3535
3536 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3537
3538         * mule-charset.c (Vcharacter_name_table): New variable.
3539         (Qname): New variable.
3540         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3541         attribute.
3542         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3543         `Vcharacter_name_table' for `name' attribute.
3544         (Fremove_char_attribute): Use function `remove_char_ccs'.
3545         (put_char_ccs_code_point): New function.
3546         (remove_char_ccs): New function.
3547         (syms_of_mule_charset): Add new symbol `name'.
3548         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3549
3550 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3551
3552         * mule-charset.c (make_byte_table): Add new argument `older'.
3553         (make_char_id_table): Likewise.
3554         (copy_char_id_table): Comment out because it is not used.
3555         (put_char_id_table): Modify for `make_byte_table'.
3556         (Fput_char_attribute): Make encoding_table as older object;
3557         inherit older bit of `Vcharacter_composition_table'.
3558         (mark_charset): Don't mark `cs->encoding_table'.
3559         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3560         normal object; make `Vcharacter_composition_table' as an older
3561         object; delete staticpro for `Vcharacter_composition_table'; make
3562         `Vcharacter_variant_table' as a normal object.
3563
3564         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3565         (mark_object): Don't check older object in UTF-2000.
3566
3567         * lrecord.h (struct lrecord_header): Add new member `older' in
3568         UTF-2000.
3569         (set_lheader_implementation): Setup `SLI_header->older' in
3570         UTF-2000.
3571         (set_lheader_older_implementation): New macro in UTF-2000.
3572         (OLDER_RECORD_P): New macro in UTF-2000.
3573         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3574         (alloc_older_lcrecord): New prototype in UTF-2000.
3575         (alloc_older_lcrecord_type): New macro in UTF-2000.
3576
3577 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3578
3579         * mule-charset.c (byte_table_description): Use
3580         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3581         (char_id_table_description): Delete bogus `, 1'.
3582         (Fget_char_attribute): Refer encoding_table of each coded-charset
3583         to get value of coded-charset attribute of a character.
3584         (Fput_char_attribute): Use `make_older_vector' instead of
3585         `make_vector'; use encoding_table of each coded-charset to store
3586         value of coded-charset attribute of a character.
3587         (Fremove_char_attribute): Use encoding_table of each coded-charset
3588         to store value of coded-charset attribute of a character.
3589         (mark_charset): Mark `cs->encoding_table'; don't mark
3590         `cs->decoding_table'.
3591         (charset_description): Add description of new member
3592         `encoding_table'.
3593         (make_charset): Initialize `encoding_table'.
3594
3595         * char-ucs.h (struct Lisp_Charset): Add new member
3596         `encoding_table'.
3597         (CHARSET_ENCODING_TABLE): New macro.
3598         (XCHARSET_ENCODING_TABLE): New macro.
3599         (charset_code_point): New implementation.
3600         (encode_char_1): Likewise.
3601
3602         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3603         (disksave_object_finalization_1): Call finalizers of
3604         `all_older_lcrecords' in UTF-2000.
3605         (make_older_vector): New function in UTF-2000.
3606         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3607         UTF-2000.
3608
3609         * lisp.h (make_older_vector): New prototype in UTF-2000.
3610
3611 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3612
3613         * lrecord.h (enum lrecord_type): Rename
3614         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3615
3616         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3617         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3618         `get_char_code_table'.
3619
3620         * mule-charset.c (mark_char_id_table): Renamed from
3621         `mark_char_code_table'.
3622         (char_id_table_equal): Renamed from `char_code_table_equal'.
3623         (char_id_table_hash): Renamed from `char_code_table_hash'.
3624         (make_char_id_table): Renamed from `make_char_code_table'.
3625         (copy_char_id_table): Renamed from `copy_char_code_table'.
3626         (get_char_id_table): Renamed from `get_char_code_table'.
3627         (put_char_id_table): Renamed from `put_char_code_table'.
3628         (to_char_id): Renamed from `to_char_code'.
3629
3630         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3631         `Lisp_Char_Code_Table'.
3632         (char_id_table): Renamed from `char_code_table'.
3633         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3634         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3635         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3636         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3637         (get_char_id_table): Renamed from `get_char_code_table'.
3638
3639 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3640
3641         * lrecord.h (enum lrecord_type): Rename
3642         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3643
3644         * mule-charset.c (mark_byte_table): Renamed from
3645         `mark_char_byte_table'.
3646         (byte_table_equal): Renamed from `char_byte_table_equal'.
3647         (byte_table_hash): Renamed from `byte_table_hash'.
3648         (make_byte_table): Renamed from `make_byte_table'.
3649         (copy_byte_table): Renamed from `copy_char_byte_table'.
3650
3651         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3652         `Lisp_Char_Byte_Table'.
3653         (byte_table): Renamed from `char_byte_table'.
3654         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3655         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3656         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3657         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3658
3659 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3660
3661         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3662         (dfc_convert_to_internal_format): Likewise.
3663         
3664         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3665         * text-coding.c (Fcoding_system_alias_p): New function.
3666         * text-coding.c (Fcoding_system_aliasee): New function.
3667         * text-coding.c (append_suffix_to_symbol): New function.
3668         * text-coding.c (dangling_coding_system_alias_p): New function.
3669         * text-coding.c (Ffind_coding_system):
3670         * text-coding.c (Fcopy_coding_system):
3671         * text-coding.c (encode_coding_no_conversion):
3672         * text-coding.c (syms_of_file_coding):
3673         * text-coding.c (vars_of_file_coding):
3674         Rewrite coding system alias code.
3675         Allow nested aliases, like symbolic links.
3676         Allow redefinition of coding system aliases.
3677         Prevent existence of dangling coding system aliases.
3678         Eliminate convert_to_external_format.
3679         Eliminate convert_to_internal_format.
3680         
3681         * text-coding.c: Change enum eol_type to eol_type_t.
3682
3683 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3684
3685         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3686         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3687
3688         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3689         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3690
3691 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3692
3693         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3694         `ideograph-daikanwa'.
3695
3696         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3697         (Vcharset_ucs_bmp): Likewise.
3698         (Vcharset_mojikyo): Add new extern variable definition.
3699         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3700         (Vcharset_latin_iso8859_3): Likewise.
3701         (Vcharset_latin_iso8859_4): Likewise.
3702         (Vcharset_latin_iso8859_9): Likewise.
3703         (Vcharset_latin_viscii_lower): Likewise.
3704         (Vcharset_latin_viscii_upper): Likewise.
3705         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3706         `mojikyo' code-point is used to decode.
3707         (encode_char_2): New function [to convert `mojikyo' code-point to
3708         Mojikyo font encoding].
3709         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3710         (breakup_char_1): Likewise.
3711         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3712
3713 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3714
3715         * text-coding.c (Fmake_coding_system): Add document about
3716         `disable-composition' property.
3717
3718 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3719
3720         * text-coding.c (Qdisable_composition): New variable; delete
3721         `Qcomposite'.
3722         (Fmake_coding_system): Add new property `disable-composite';
3723         delete property `composite'.
3724         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3725         instead of `!CODING_SYSTEM_COMPOSITE'.
3726         (syms_of_file_coding): Add new symbol `disable-composition';
3727         delete symbol `composite'.
3728
3729         * file-coding.h (struct Lisp_Coding_System): Add
3730         `disable_composition'; delete `enable_composition'.
3731         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3732         `CODING_SYSTEM_COMPOSITE'.
3733         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3734         `XCODING_SYSTEM_COMPOSITE'.
3735
3736 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3737
3738         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3739         to 0.15.
3740
3741 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3742
3743         * text-coding.c (Qcomposite): New variable.
3744         (Fmake_coding_system): Add new property `composite'.
3745         (struct decoding_stream): Add `combined_char_count',
3746         `combined_chars' and `combining_table' in UTF-2000.
3747         (COMPOSE_FLUSH_CHARS): New macro.
3748         (COMPOSE_ADD_CHAR): New macro.
3749         (reset_decoding_stream): Reset `str->combined_char_count' and
3750         `str->combining_table' in UTF-2000.
3751         (decode_coding_iso2022): Modify for character-decomposition.
3752         (syms_of_file_coding): Add new symbol `composite'.
3753
3754 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3755
3756         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3757         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3758         of `Vcharacter_composition_table' if `->decomposition' property
3759         has only 1 element.
3760         (Qlatin_tcvn5712): New variable.
3761         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3762         (complex_vars_of_mule_charset): Add new coded-charset
3763         `latin-tcvn5712'.
3764
3765         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3766
3767 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3768
3769         * file-coding.h (struct Lisp_Coding_System): Add
3770         `enable_composition'.
3771         (CODING_SYSTEM_COMPOSITE): New macro.
3772         (XCODING_SYSTEM_COMPOSITE): New macro.
3773
3774 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3775
3776         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3777
3778 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3779
3780         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3781         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3782
3783 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3784
3785         * mule-charset.c (Vcharset_mojikyo): New variable.
3786         (Fdefine_char): Don't use coded-charset which does not have
3787         non-builtin character range to allocate character-id.
3788         (Qmojikyo): New variable.
3789         (syms_of_mule_charset): Add new symbol `mojikyo'.
3790         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3791
3792         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3793         (LEADING_BYTE_MOJIKYO): New macro.
3794         (MIN_CHAR_MOJIKYO): New macro.
3795         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3796         (MAX_CHAR_MOJIKYO): New macro.
3797
3798 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3799
3800         * mule-charset.c (remove_char_attribute): Fixed.
3801
3802 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3803
3804         * mule-charset.c (remove_char_attribute): New function.
3805         (Fremove_char_attribute): New function.
3806         (encode_builtin_char_1): Comment out builtin-support for
3807         greek-iso8859-7 and cyrillic-iso8859-5.
3808         (Fdecode_char): Check `code' is an integer.
3809         (syms_of_mule_charset): Add `remove-char-attribute'.
3810         (MIN_CHAR_GREEK): Deleted.
3811         (MAX_CHAR_GREEK): Likewise.
3812         (MIN_CHAR_CYRILLIC): Likewise.
3813         (MAX_CHAR_CYRILLIC): Likewise.
3814         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3815         MAX_CHAR_GREEK for `greek-iso8859-7'.
3816
3817         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3818         (MAX_CHAR_GREEK): Likewise.
3819         (MIN_CHAR_CYRILLIC): Likewise.
3820         (MAX_CHAR_CYRILLIC): Likewise.
3821
3822 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3823
3824         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3825         format is used without `ucs' property.
3826         (Fdecode_char): Fix problem with GR representation.
3827         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3828         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3829
3830 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3831
3832         * mule-charset.c (make_builtin_char): New function.
3833         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3834         (Fset_charset_mapping_table): Modify for new representation of
3835         code-point.
3836         (Fdecode_char): New function.
3837         (syms_of_mule_charset): Add new builtin function `decode-char' in
3838         UTF-2000.
3839
3840         * char-ucs.h (make_builtin_char): New prototype.
3841         (DECODE_CHAR): New inline function.
3842         (MAKE_CHAR): Use `DECODE_CHAR'.
3843
3844 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3845
3846         * text-coding.c (parse_charset_conversion_specs): Use
3847         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3848         `XCHARSET_TYPE'.
3849         (iso2022_designate): Likewise.
3850
3851         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3852         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3853
3854         * mule-charset.c (Vcharset_ucs): New variable.
3855         (print_charset): Change design; use `CHARSET_CHARS' and
3856         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3857         (make_charset): Change signature to specify `chars' and
3858         `dimension' instead of `type'.
3859         (range_charset_code_point): Modify for 256^n-set.
3860         (encode_builtin_char_1): Encode as `ucs' in default.
3861         (Fmake_charset): Modify for `make_charset'.
3862         (Fmake_reverse_direction_charset): Likewise.
3863         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3864         UTF-2000.
3865         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3866         for `make_charset'.
3867
3868         * char-ucs.h (Vcharset_ucs): New variable.
3869         (LEADING_BYTE_UCS): New macro.
3870         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3871         and `chars' to `unsigned short' from `unsigned int'.
3872         (CHARSET_TYPE): Deleted.
3873         (XCHARSET_TYPE): Deleted.
3874
3875 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3876
3877         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3878
3879         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3880         (ENCODE_CHAR): New macro.
3881
3882 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3885         to 0.14 (Kawachi-Katakami).
3886
3887 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3888
3889         * text-coding.c (char_encode_shift_jis): Modify for
3890         `charset_code_point'.
3891         (char_encode_iso2022): Likewise.
3892
3893         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3894         (integer) instead of list of <Lisp_Object>s (integers) as the
3895         format of code-point of a coded-charset.
3896         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3897         (encode_builtin_char_1): New function; delete
3898         `split_builtin_char'.
3899         (charset_code_point): Return <int> instead of <Lisp_Object>.
3900         (Fsplit_char): Don't use `SPLIT_CHAR'.
3901
3902         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3903         prototype for `split_builtin_char'.
3904         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3905         (charset_code_point): Likewise.
3906         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3907         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3908
3909 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3910
3911         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3912         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3913
3914 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3915
3916         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3917
3918         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3919         (MAX_CHAR_OBS_94x94): Deleted.
3920
3921 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3922
3923         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3924
3925         * char-ucs.h (MAX_CHAR_BMP): New macro.
3926
3927 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3928
3929         * text-coding.c: Sync with r21-2-24.
3930
3931 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3932
3933         * file-coding.c: Modify for UTF-2000.
3934
3935 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3936
3937         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3938         to 0.13 (Takaida).
3939
3940 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3941
3942         * mule-charset.c (split_builtin_char): Delete builtin support for
3943         `katakana-jisx0201'.
3944         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3945         BMP area in builtin representation.
3946
3947         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3948         `Vcharset_katakana_jisx0201'.
3949
3950 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3951
3952         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3953         (Qisolated): New variable.
3954         (Qinitial): New variable.
3955         (Qmedial): New variable.
3956         (Qfinal): New variable.
3957         (Qvertical): New variable.
3958         (Qsmall): New variable.
3959         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3960         `Qvertical' and `Qsmall'.
3961         (Qmojikyo_pj_[1 .. 21]): New variable.
3962         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3963         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3964         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3965         .. 21]'.
3966
3967 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3968
3969         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3970         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3971         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3972
3973 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3974
3975         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3976         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3977         BMP.
3978         (Qjapanese_jisx0208_1990): New variable.
3979         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3980         (complex_vars_of_mule_charset): Add new coded-charset
3981         `japanese-jisx0208-1990'.
3982
3983         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3984         (MIN_CHAR_JIS_X0208_1990): New macro.
3985         (MAX_CHAR_JIS_X0208_1990): New macro.
3986
3987 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3988
3989         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3990         coded-charset is not found.
3991
3992 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3993
3994         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3995         (Fdefine_char): Use `Fmake_char'.
3996
3997 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3998
3999         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4000         (Vcharset_hiragana_jisx0208): Deleted.
4001         (Vcharset_katakana_jisx0208): Deleted.
4002         (Qideograph_daikanwa): New variable.
4003         (Qhiragana_jisx0208): Deleted.
4004         (Qkatakana_jisx0208): Deleted.
4005         (split_builtin_char): Split `ideograph-daikanwa'.
4006         (Fsplit_char): New implementation for UTF-2000.
4007         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4008         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4009         (complex_vars_of_mule_charset): Add new coded-charset
4010         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4011         `katakana-jisx0208'.
4012
4013         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4014         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4015         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4016         (MIN_CHAR_DAIKANWA): New macro.
4017         (MAX_CHAR_DAIKANWA): New macro.
4018
4019 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4020
4021         * data.c (Fstring_to_number): Don't recognize floating point if
4022         base is not 10.
4023
4024 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4025
4026         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4027
4028 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4029
4030         * mule-charset.c (Qsquare): New variable.
4031         (to_char_code): Add `Qsquare'.
4032         (syms_of_mule_charset): Add new symbol `square'.
4033
4034 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4035
4036         * mule-charset.c (Qcircle): New variable.
4037         (to_char_code): Add `Qcircle'.
4038         (syms_of_mule_charset): Add new symbol `circle'.
4039
4040 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4041
4042         * mule-charset.c (Qfont): New variable.
4043         (to_char_code): Add `Qfont'.
4044         (syms_of_mule_charset): Add new symbol `font'.
4045
4046 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4047
4048         * mule-charset.c (Qsub): New variable.
4049         (to_char_code): Add `Qsub'.
4050         (syms_of_mule_charset): Add new symbol `sub'.
4051
4052 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4053
4054         * mule-charset.c (Fput_char_attribute): Convert each element of
4055         VALUE to GL position if ATTRIBUTE is a GR-set,
4056
4057 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4058
4059         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4060         coded-charset is a GR-set.
4061
4062 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4063
4064         * mule-charset.c (Fput_char_attribute): Check each element of
4065         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4066
4067 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4068
4069         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4070         UTF-2000.
4071         (Qethiopic_ucs): New variable in UTF-2000.
4072         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4073         (complex_vars_of_mule_charset): Add new coded-charset
4074         `ethiopic-ucs' in UTF-2000.
4075
4076         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4077         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4078         9)'.
4079         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4080         10)'.
4081         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4082
4083 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4084
4085         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4086         `ascii'.
4087
4088 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4089
4090         * mule-charset.c (Vcharacter_variant_table): New variable.
4091         (Q_ucs): New variable.
4092         (Fchar_variants): New function.
4093         (Fput_char_attribute): Register `->ucs' value to
4094         `Vcharacter_variant_table'.
4095         (syms_of_mule_charset): Add new function `char-variants' and new
4096         symbol `->ucs'.
4097         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4098
4099 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4100
4101         * mule-charset.c (get_char_code_table): Allow negative character
4102         code.
4103         (put_char_code_table): Likewise.
4104         (Vcharacter_composition_table): New variable.
4105         (Q_decomposition): New variable.
4106         (Qwide): New variable.
4107         (Qnarrow): New variable.
4108         (Qcompat): New variable.
4109         (QnoBreak): New variable.
4110         (Qsuper): New variable.
4111         (Qfraction): New variable.
4112         (to_char_code): New function.
4113         (Fget_composite_char): New function.
4114         (Fput_char_attribute): Register `->decomposition' value to
4115         `Vcharacter_composition_table'.
4116         (syms_of_mule_charset): Add new function `get-composite-char', new
4117         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4118         `super' and `fraction'.
4119         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4120
4121 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4122
4123         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4124         character; copy the return value.
4125
4126 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4127
4128         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4129
4130         * mule-charset.c (range_charset_code_point): Must use make_int.
4131         (split_builtin_char): New function.
4132
4133 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4134
4135         * mule-charset.c (char_byte_table): Change name from
4136         "char-code-table" to "char-byte-table".
4137         (mark_char_code_table): New function.
4138         (char_code_table_equal): New function.
4139         (char_code_table_hash): New function.
4140         (char_code_table_description): New constant.
4141         (char_code_table): New type.
4142         (make_char_code_table): New function.
4143         (copy_char_code_table): New function.
4144         (get_char_code_table): Modify for `char_code_table' type.
4145         (put_char_code_table): Likewise.
4146         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4147         (Kashiwara).
4148
4149         * char-ucs.h (char_code_table): New type.
4150         (XCHAR_CODE_TABLE): New macro.
4151         (XSETCHAR_CODE_TABLE): New macro.
4152         (CHAR_CODE_TABLE_P): New macro.
4153         (GC_CHAR_CODE_TABLE_P): New macro.
4154         (struct Lisp_Char_Code_Table): New structure.
4155
4156 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4157
4158         * mule-charset.c (Fmake_charset): Setup byte_offset for
4159         {94|96}^n-set.
4160
4161 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4162
4163         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4164         character.
4165
4166 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4167
4168         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4169         is found.
4170
4171 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4172
4173         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4174         charset, it is regarded as a charset.
4175         (put_char_attribute): New function in UTF-2000.
4176         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4177         charset, mapping-table of the charset is modified.
4178         (Fdefine_char): New function in UTF-2000.
4179         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4180         `Fput_char_attribute'.
4181         (syms_of_mule_charset): Add new function `define-char' and new
4182         symbol `ucs' in UTF-2000.
4183         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4184
4185 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4186
4187         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4188         non-UTF-2000 configuration.
4189
4190 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4191
4192         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4193         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4194
4195         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4196         deleted.
4197         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4198         (Fset_charset_mapping_table): Likewise.
4199
4200         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4201         (CHARSET_ENCODING_TABLE): Delete.
4202         (XCHARSET_ENCODING_TABLE): Delete.
4203         (charset_code_point): New interface.
4204
4205 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4206
4207         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4208         instead of `charset_get_byte1' and `charset_get_byte2'.
4209
4210         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4211         (charset_get_byte2): Deleted.
4212
4213 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4214
4215         * char-ucs.h (SPLIT_CHAR): New inline function.
4216         (breakup_char_1): Use `SPLIT_CHAR'.
4217
4218         * mule-charset.c (range_charset_code_point): New function.
4219         (charset_code_point): New function.
4220
4221         * char-ucs.h (range_charset_code_point): New interface.
4222         (breakup_char_1): Use `range_charset_code_point'.
4223
4224 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4225
4226         * mule-charset.c (Fmake_charset): Delete unused local variable
4227         `code_offset'.
4228
4229         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4230         (breakup_char_1): Find a charset and code-point in
4231         `Vcharacter_attribute_table'.
4232
4233 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4234
4235         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4236         to 0.10 (Yao).
4237
4238 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4239
4240         * mule-charset.c (Vcharacter_attribute_table): New variable.
4241         (Fchar_attribute_alist): New function.
4242         (Fget_char_attribute): New function.
4243         (Fput_char_attribute): New function.
4244         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4245         too.
4246         (syms_of_mule_charset): Add new function `char-attribute-alist',
4247         `get-char-attribute' and `put-char-attribute'.
4248         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4249
4250 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4251
4252         * mule-charset.c (Fmake_charset): Just use
4253         `get_unallocated_leading_byte'.
4254
4255         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4256         sets; don't use final-byte based number for private sets.
4257
4258 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4261         integer.
4262
4263 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4264
4265         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4266         to 0.9.
4267
4268 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4269
4270         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4271         of `CHAR_LEADING_BYTE' in UTF-2000.
4272
4273         * insdel.c (find_charsets_in_bufbyte_string): Use
4274         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4275         (find_charsets_in_emchar_string): Likewise.
4276
4277         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4278         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4279
4280         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4281         (CHAR_CHARSET_ID): New macro.
4282
4283 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4284
4285         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4286         charset-id - MIN_LEADING_BYTE.
4287         (put_char_table): Likewise.
4288
4289 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4290
4291         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4292         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4293         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4294         (CHARSET_ID_OFFSET): New macro.
4295         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4296         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4297         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4298         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4299         4).
4300         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4301         5).
4302         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4303         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4304         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4305         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4306         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4307
4308 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4309
4310         * mule-charset.c (next_allocated_leading_byte): New variable in
4311         UTF-2000.
4312         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4313         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4314         (get_unallocated_leading_byte): Simply use
4315         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4316         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4317         UTF-2000.
4318
4319         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4320         (MAX_LEADING_BYTE_PRIVATE): New macro.
4321         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4322         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4323
4324 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4325
4326         * mule-charset.c (Fmake_charset): Allocate final-byte based
4327         charset-id for 94-set, 96-set and 94x94-set.
4328
4329 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4330
4331         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4332         ambiguous `else'.
4333         (Fmake_charset): Likewise.
4334         (complex_vars_of_mule_charset): Modify the font registry of
4335         `ucs-bmp' not to match `Ethiopic-Unicode'.
4336
4337 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4338
4339         * mule-charset.c (complex_vars_of_mule_charset): Add font
4340         registory of `ucs-bmp'.
4341
4342 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4343
4344         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4345         coded-charsets in `default-coded-charset-priority-list' when
4346         breaking up a character.
4347
4348         * mule-charset.c (Vcharset_latin_viscii): New variable.
4349         (Qlatin_viscii): New variable.
4350         (make_charset): Don't use `decoding_table'.
4351         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4352         byte_offset.
4353         (Fset_charset_mapping_table): New implementation.
4354         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4355         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4356         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4357         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4358         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4359         charset `latin_viscii'.
4360
4361         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4362         (CHARSET_TYPE_94X94): Change to 1 from 2.
4363         (CHARSET_TYPE_96): Change to 2 from 1.
4364         (CHARSET_TYPE_128): New macro.
4365         (CHARSET_TYPE_128X128): Change to 5 from 4.
4366         (CHARSET_TYPE_256): New macro.
4367         (CHARSET_TYPE_256X256): Change to 7 from 5.
4368         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4369
4370 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4371
4372         * text-coding.c (char_encode_shift_jis): Refer
4373         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4374         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4375
4376         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4377         (char_byte_table_equal): New function in UTF-2000.
4378         (char_byte_table_hash): New function in UTF-2000.
4379         (char_byte_table_description): New constant in UTF-2000.
4380         (char_byte_table): New type in UTF-2000.
4381         (make_char_byte_table): New function in UTF-2000.
4382         (copy_char_byte_table): New function in UTF-2000.
4383         (make_char_code_table): New macro in UTF-2000.
4384         (get_char_code_table): New function in UTF-2000.
4385         (put_char_code_table): New function in UTF-2000.
4386         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4387         (charset_description): Add setting in UTF-2000.
4388         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4389         `CHARSET_TO_BYTE1_TABLE(cs)'.
4390         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4391         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4392         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4393         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4394         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4395         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4396         `CHARSET_TO_BYTE2_TABLE(cs)'.
4397
4398         * char-ucs.h (char_byte_table): New type.
4399         (XCHAR_BYTE_TABLE): New macro.
4400         (XSETCHAR_BYTE_TABLE): New macro.
4401         (CHAR_BYTE_TABLE_P): New macro.
4402         (GC_CHAR_BYTE_TABLE_P): New macro.
4403         (struct Lisp_Char_Byte_Table): New structure.
4404         (get_char_code_table): New interface.
4405         (Emchar_to_byte_table): Deleted.
4406         (get_byte_from_character_table): Deleted.
4407         (struct Lisp_Charset): Add `encoding_table'; delete
4408         `to_byte1_table' and `to_byte2_table'.
4409         (CHARSET_ENCODING_TABLE): New macro.
4410         (CHARSET_TO_BYTE1_TABLE): Deleted.
4411         (CHARSET_TO_BYTE2_TABLE): Deleted.
4412         (XCHARSET_ENCODING_TABLE): New macro.
4413         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4414         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4415
4416 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4417
4418         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4419         `vietnamese-viscii-*'.
4420
4421 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4422
4423         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4424         (Qvietnamese_viscii_upper): New variable.
4425         (Fdefine_charset_alias): New function.
4426         (syms_of_mule_charset): Add new function `define-charset-alias'.
4427         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4428         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4429         `latin-viscii-*'.
4430
4431 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4432
4433         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4434         (MAX_CHAR_OBS_94x94): New macro.
4435         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4436         for 94x94 sets.
4437
4438         * mule-charset.c (put_byte_from_character_table): Change unit size
4439         from 128 to 256.
4440         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4441         not defined.
4442         (Fmake_reverse_direction_charset): Modify dummy argument of
4443         `make_charset' for non-UTF-2000 environment.
4444
4445 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4446
4447         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4448
4449         * mule-charset.c (destroy_byte_from_character_table): New macro.
4450         (latin_jisx0201_to_ucs): Deleted.
4451         (latin_iso8859_2_to_ucs): Deleted.
4452         (latin_iso8859_3_to_ucs): Deleted.
4453         (latin_iso8859_4_to_ucs): Deleted.
4454         (latin_iso8859_9_to_ucs): Deleted.
4455         (latin_viscii_lower_to_ucs): Deleted.
4456         (latin_viscii_upper_to_ucs): Deleted.
4457         (mark_charset): Mark `cs->decoding_table'.
4458         (Fcharset_mapping_table): Fix DOC-string.
4459         (Fset_charset_mapping_table): New function.
4460         (syms_of_mule_charset): Add nwe function
4461         `set-charset-mapping-table'.
4462         (complex_vars_of_mule_charset): Don't setup and use
4463         `latin_*_to_ucs'.
4464
4465 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4466
4467         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4468         charset.
4469
4470 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4471
4472         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4473         (Vcharset_katakana_jisx0208): New variable.
4474         (Qhiragana_jisx0208): New variable.
4475         (Qkatakana_jisx0208): New variable.
4476         (make_charset): Add new argument `byte_offset'.
4477         (charset_get_byte1): Modify for new coded-charset definition; use
4478         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4479         `XCHARSET_BYTE_OFFSET'.
4480         (Fmake_charset): Modify for `make_charset'.
4481         (Fmake_reverse_direction_charset): Likewise.
4482         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4483         `katakana-jisx0208'.
4484         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4485         `.'  in font registry of charset `katakana-jisx0201',
4486         `latin-jisx0201', `vietnamese-viscii-lower' and
4487         `vietnamese-viscii-upper'; modify DOC-string of charset
4488         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4489         registry of charset `japanese-jisx0208' not to use font for JIS
4490         X0208:1990; add new charset `hiragana-jisx0208' and
4491         `katakana-jisx0208'.
4492
4493         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4494         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4495         (struct Lisp_Charset): Add `byte_offset'.
4496         (CHARSET_BYTE_OFFSET): New macro.
4497         (XCHARSET_UCS_MIN): New macro.
4498         (XCHARSET_UCS_MAX): New macro.
4499         (XCHARSET_CODE_OFFSET): New macro.
4500         (XCHARSET_BYTE_OFFSET): New macro.
4501         (MIN_CHAR_HIRAGANA): New macro.
4502         (MAX_CHAR_HIRAGANA): New macro.
4503         (MIN_CHAR_KATAKANA): New macro.
4504         (MAX_CHAR_KATAKANA): New macro.
4505         (MAKE_CHAR): Modify for new coded-charset definition; use
4506         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4507         `XCHARSET_BYTE_OFFSET'.
4508
4509 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4510
4511         * mule-charset.c (CHAR96): Deleted.
4512         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4513         <Lisp_Object>.
4514         (latin_iso8859_2_to_ucs): Likewise.
4515         (latin_iso8859_3_to_ucs): Likewise.
4516         (latin_iso8859_4_to_ucs): Likewise.
4517         (latin_iso8859_9_to_ucs): Likewise.
4518         (latin_viscii_lower_to_ucs): Likewise.
4519         (latin_viscii_upper_to_ucs): Likewise.
4520         (latin_tcvn5712_to_ucs): Commented out.
4521         (make_charset): Change type of argument `decoding_table' from
4522         <Emchar*> to <Lisp_Object> [vector of characters].
4523         (Fmake_charset): Modify for `make_charset'.
4524         (Fmake_reverse_direction_charset): Likewise.
4525         (Fcharset_mapping_table): New function in UTF-2000.
4526         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4527         UTF-2000.
4528         (complex_vars_of_mule_charset): Modify for type change of
4529         `*_to_ucs'; modify for `make_charset'.
4530
4531         * char-ucs.h (struct Lisp_Charset): Change type of
4532         `decoding_table' from <Emchar*> to <Lisp_Object>.
4533         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4534
4535 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4536
4537         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4538         error with non-UTF-2000-Mule.
4539
4540 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4541
4542         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4543         in lisp again].
4544         (Vcharset_chinese_cns11643_4): Likewise.
4545         (Vcharset_chinese_cns11643_5): Likewise.
4546         (Vcharset_chinese_cns11643_6): Likewise.
4547         (Vcharset_chinese_cns11643_7): Likewise.
4548         (Qchinese_cns11643_3): Likewise.
4549         (Qchinese_cns11643_4): Likewise.
4550         (Qchinese_cns11643_5): Likewise.
4551         (Qchinese_cns11643_6): Likewise.
4552         (Qchinese_cns11643_7): Likewise.
4553         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4554         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4555         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4556         (complex_vars_of_mule_charset): Likewise.
4557
4558 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4559
4560         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4561         96-set.
4562         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4563         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4564
4565 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4566
4567         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4568         0xFF60.
4569         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4570         (breakup_char_1): Likewise.
4571
4572         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4573         one of them includes the specified character.
4574
4575 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4576
4577         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4578
4579 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4580
4581         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4582
4583 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4584
4585         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4586         definition for non-UTF-2000 Mule.
4587         (latin_iso8859_3_to_ucs): Likewise.
4588         (latin_iso8859_4_to_ucs): Likewise.
4589         (latin_iso8859_9_to_ucs): Likewise.
4590         (latin_jisx0201_to_ucs): Likewise.
4591         (MIN_CHAR_THAI): Likewise.
4592         (MAX_CHAR_THAI): Likewise.
4593         (MIN_CHAR_GREEK): Likewise.
4594         (MAX_CHAR_GREEK): Likewise.
4595         (MIN_CHAR_HEBREW): Likewise.
4596         (MAX_CHAR_HEBREW): Likewise.
4597         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4598         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4599         (MIN_CHAR_CYRILLIC): Likewise.
4600         (MAX_CHAR_CYRILLIC): Likewise.
4601
4602 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4603
4604         * char-ucs.h (breakup_char_1): Use
4605         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4606         thai-tis620 and katakana-jisx0201 area.
4607
4608 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4609
4610         * char-ucs.h (breakup_char_1): Use
4611         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4612         area.
4613
4614         * text-coding.c (reset_encoding_stream): Fixed.
4615         (char_encode_ucs4): Delete `& 255'.
4616
4617         * char-ucs.h (breakup_char_1): Use
4618         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4619
4620 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4621
4622         * file-coding.c (Fmake_coding_system): Don't set up
4623         `codesys->fixed.size'.
4624         (encode_coding_no_conversion): Don't refer
4625         `str->codesys->fixed.size'.
4626
4627 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4628
4629         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4630         (latin_a_char_to_byte1): Deleted.
4631         (latin_a_char_to_byte2): Deleted.
4632
4633 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4634
4635         * mule-charset.c (make_charset): Add new argument `ucs_min',
4636         `ucs_max' and `code_offset'.
4637         (charset_get_byte1): New implementation [delete specific charset
4638         depended implementations].
4639         (Fmake_charset): Modify for `make_charset'.
4640         (Fmake_reverse_direction_charset): Likewise.
4641         (complex_vars_of_mule_charset): Likewise.
4642
4643         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4644         `code_offset'.
4645         (CHARSET_UCS_MIN): New macro.
4646         (CHARSET_UCS_MAX): New macro.
4647         (CHARSET_CODE_OFFSET): New macro.
4648         (MAKE_CHAR): Delete charset depended definitions [except
4649         katakana-jisx0201].
4650
4651 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4652
4653         * char-ucs.h (breakup_char_1): Use
4654         `Vdefault_coded_charset_priority_list' for C0-Controls,
4655         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4656
4657 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4658
4659         * char-ucs.h (charset_get_byte1): New function.
4660         (XCHARSET_GET_BYTE1): Deleted.
4661         (charset_get_byte2): New function.
4662         (XCHARSET_GET_BYTE2): Deleted.
4663         (Vdefault_coded_charset_priority_list): New external variable.
4664         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4665         `Vdefault_preferred_coded_charset_list'.
4666
4667         * mule-charset.c (charset_get_byte1): New function.
4668         (charset_get_byte2): New function.
4669         (Vdefault_coded_charset_priority_list): New variable.
4670         (vars_of_mule_charset): Add new variable
4671         `default-coded-charset-priority-list'.
4672
4673 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4674
4675         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4676         (XCHARSET_GET_BYTE2): New inline function.
4677         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4678         `XCHARSET_GET_BYTE2'.
4679
4680 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4681
4682         * mule-charset.c (make_charset): Initialize
4683         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4684         NULL if table is not defined.
4685
4686 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4687
4688         * text-coding.c (char_encode_shift_jis): Use
4689         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4690         `ucs_to_latin_jisx0201'.
4691
4692         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4693         (ucs_to_latin_iso8859_2): Deleted.
4694         (ucs_to_latin_iso8859_3): Deleted.
4695         (ucs_to_latin_iso8859_4): Deleted.
4696         (ucs_to_latin_iso8859_9): Deleted.
4697         (ucs_to_latin_viscii_lower): Deleted.
4698         (ucs_to_latin_viscii_upper): Deleted.
4699         (ucs_to_latin_tcvn5712): Deleted.
4700         (make_charset): Add new argument `decoding_table'; set up
4701         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4702         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4703         `decoding_table' is defined in UTF-2000.
4704         (Fmake_charset): Modify for `make_charset'.
4705         (Fmake_reverse_direction_charset): Likewise.
4706         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4707         and `GENERATE_96_SET'.
4708
4709         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4710         (ucs_to_latin_jisx0201): Deleted.
4711         (latin_iso8859_2_to_ucs): Deleted.
4712         (ucs_to_latin_iso8859_2): Deleted.
4713         (latin_iso8859_3_to_ucs): Deleted.
4714         (ucs_to_latin_iso8859_3): Deleted.
4715         (latin_iso8859_4_to_ucs): Deleted.
4716         (ucs_to_latin_iso8859_4): Deleted.
4717         (latin_iso8859_9_to_ucs): Deleted.
4718         (ucs_to_latin_iso8859_9): Deleted.
4719         (latin_viscii_lower_to_ucs): Deleted.
4720         (ucs_to_latin_viscii_lower): Deleted.
4721         (latin_viscii_upper_to_ucs): Deleted.
4722         (ucs_to_latin_viscii_upper): Deleted.
4723         (struct Lisp_Charset): Renamed `encoding_table' to
4724         `to_byte1_table'; add `to_byte2_table'.
4725         (CHARSET_DECODING_TABLE): New macro.
4726         (CHARSET_TO_BYTE1_TABLE): New macro.
4727         (CHARSET_TO_BYTE2_TABLE): New macro.
4728         (XCHARSET_DECODING_TABLE): New macro.
4729         (XCHARSET_TO_BYTE1_TABLE): New macro.
4730         (XCHARSET_TO_BYTE2_TABLE): New macro.
4731         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4732         tables.
4733         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4734         don't use `ucs_to_*' tables.
4735
4736 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4737
4738         * text-coding.c (Fmake_coding_system): Don't set up
4739         `codesys->fixed.size'.
4740         (encode_coding_no_conversion): Use `if' instead of `switch'.
4741
4742         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4743
4744 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4745
4746         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4747         (Fmake_charset): Modify for `make_charset'.
4748         (Fmake_reverse_direction_charset): Likewise.
4749         (complex_vars_of_mule_charset): Likewise.
4750
4751 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4752
4753         * text-coding.c (char_encode_shift_jis): Use table
4754         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4755
4756 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * text-coding.c (text_encode_generic): Use `if' instead of
4759         `switch'.
4760         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4761         decode JIS-Latin.
4762
4763 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4764
4765         * text-coding.c (encode_coding_sjis): Deleted.
4766         (char_encode_shift_jis): New function.
4767         (char_finish_shift_jis): New function.
4768         (reset_encoding_stream): Set up `encode_char' and `finish' for
4769         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4770         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4771         (char_encode_utf8): Treat `eol_type'.
4772
4773 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4774
4775         * file-coding.c (decode_coding_iso2022): Use
4776         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4777
4778 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4779
4780         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4781         to 0.7 (Hirano).
4782
4783 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4784
4785         * char-lb.h (CHAR_COLUMNS): New macro.
4786
4787 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4788
4789         * text-coding.c (char_encode_ucs4): New function.
4790         (char_finish_ucs4): New function.
4791         (encode_coding_ucs4): Deleted.
4792         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4793         (text_encode_generic): Delete local variable `charset' and `half'.
4794         (ucs_to_mule_table): Deleted.
4795         (mule_to_ucs_table): Deleted.
4796         (Fset_ucs_char): Deleted.
4797         (ucs_to_char): Deleted.
4798         (Fucs_char): Deleted.
4799         (Fset_char_ucs): Deleted.
4800         (Fchar_ucs): Deleted.
4801         (decode_ucs4): Deleted.
4802         (mule_char_to_ucs4): Deleted.
4803         (encode_ucs4): Deleted.
4804         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4805         (decode_coding_utf8): Likewise.
4806         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4807         (char_encode_iso2022): Fixed.
4808         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4809         `Fset_char_ucs' and `Fchar_ucs'.
4810         (complex_vars_of_file_coding): Don't initialize
4811         `ucs_to_mule_table'.
4812
4813         * objects-tty.c (tty_initialize_font_instance): Don't use
4814         `XCHARSET_COLUMNS'.
4815
4816         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4817         UTF-2000.
4818
4819         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4820         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4821
4822         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4823         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4824         (emchar_string_displayed_columns): Likewise.
4825
4826         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4827         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4828         (string_column_at_point): Likewise.
4829         (Fmove_to_column): Likewise.
4830
4831         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4832         `encoding_table' and `decoding_table'.
4833         (CHARSET_REP_BYTES): Deleted.
4834         (XCHARSET_REP_BYTES): Deleted.
4835         (XCHARSET_COLUMNS): Deleted.
4836         (CHAR_COLUMNS): New macro.
4837         (lookup_composite_char): Deleted unconditionally.
4838         (composite_char_string): Likewise.
4839
4840 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4841
4842         * char-ucs.h (Emchar_to_byte_table): New type.
4843         (get_byte_from_character_table): New function interface.
4844         (Vcharset_latin_jisx0201): New variable.
4845         (latin_jisx0201_to_ucs): New variable.
4846         (ucs_to_latin_jisx0201): New variable.
4847         (Vcharset_latin_iso8859_2): New variable.
4848         (latin_iso8859_2_to_ucs): New variable.
4849         (ucs_to_latin_iso8859_2): New variable.
4850         (Vcharset_latin_iso8859_3): New variable.
4851         (latin_iso8859_3_to_ucs): New variable.
4852         (ucs_to_latin_iso8859_3): New variable.
4853         (Vcharset_latin_iso8859_4): New variable.
4854         (latin_iso8859_4_to_ucs): New variable.
4855         (ucs_to_latin_iso8859_4): New variable.
4856         (Vcharset_latin_iso8859_9): New variable.
4857         (latin_iso8859_9_to_ucs): New variable.
4858         (ucs_to_latin_iso8859_9): New variable.
4859         (Vcharset_latin_viscii_lower): New variable.
4860         (latin_viscii_lower_to_ucs): New variable.
4861         (ucs_to_latin_viscii_lower): New variable.
4862         (Vcharset_latin_viscii_upper): New variable.
4863         (latin_viscii_upper_to_ucs): New variable.
4864         (ucs_to_latin_viscii_upper): New variable.
4865         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4866         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4867         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4868         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4869         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4870         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4871         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4872         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4873         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4874         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4875
4876         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4877         (Vcharset_latin_viscii_upper): New variable.
4878         (make_byte_from_character_table): New function.
4879         (put_byte_from_character_table): New function.
4880         (get_byte_from_character_table): New function.
4881         (CHAR96): New macro.
4882         (ucs_to_latin_jisx0201): New variable.
4883         (latin_jisx0201_to_ucs): New variable.
4884         (ucs_to_latin_iso8859_2): New variable.
4885         (latin_iso8859_2_to_ucs): New variable.
4886         (ucs_to_latin_iso8859_3): New variable.
4887         (latin_iso8859_3_to_ucs): New variable.
4888         (ucs_to_latin_iso8859_4): New variable.
4889         (latin_iso8859_4_to_ucs): New variable.
4890         (ucs_to_latin_iso8859_9): New variable.
4891         (latin_iso8859_9_to_ucs): New variable.
4892         (ucs_to_latin_viscii_lower): New variable.
4893         (latin_viscii_lower_to_ucs): New variable.
4894         (ucs_to_latin_viscii_upper): New variable.
4895         (latin_viscii_upper_to_ucs): New variable.
4896         (ucs_to_latin_tcvn5712): New variable.
4897         (latin_tcvn5712_to_ucs): New variable.
4898         (Qlatin_viscii_lower): New variable.
4899         (Qlatin_viscii_upper): New variable.
4900         (syms_of_mule_charset): Set up new symbol
4901         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4902         (complex_vars_of_mule_charset): Set up new charset
4903         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4904         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4905         `ucs_to_<CHARSET>' tables.
4906
4907 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4908
4909         * text-coding.c: New file.
4910
4911 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4912
4913         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4914
4915         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4916         (MAKE_CHAR): Modify for `ucs-bmp'.
4917         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4918         non-MULE characters of BMP.
4919
4920 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4921
4922         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4923         to 0.6.
4924
4925 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4926
4927         * lstream.h:
4928         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4929         - Include character.h for `CHAR_ASCII_P'.
4930
4931         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4932
4933         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4934         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4935
4936         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4937         (BYTE_C0_P): Likewise.
4938         (BYTE_C1_P): Likewise.
4939         (Lstream_get_emchar_1): Likewise.
4940         (Lstream_fput_emchar): Likewise.
4941         (Lstream_funget_emchar): Likewise.
4942         (copy_internal_to_external): Likewise.
4943         (copy_external_to_internal): Likewise.
4944
4945         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4946         (BYTE_C0_P): Likewise.
4947         (BYTE_C1_P): Likewise.
4948         (Lstream_get_emchar_1): Likewise.
4949         (Lstream_fput_emchar): Likewise.
4950         (Lstream_funget_emchar): Likewise.
4951         (copy_internal_to_external): Likewise.
4952         (copy_external_to_internal): Likewise.
4953
4954         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4955         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4956
4957         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4958         (BYTE_ASCII_P): Moved to mb-1byte.h.
4959
4960 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4961
4962         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4963
4964         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4965         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4966         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4967         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4968         (VALIDATE_CHARPTR_FORWARD): Likewise.
4969         (simple_charptr_emchar): Moved to mb-multibyte.h.
4970         (simple_set_charptr_emchar): Likewise.
4971         (simple_charptr_copy_char): Likewise.
4972         (non_ascii_charptr_emchar): Likewise.
4973         (non_ascii_set_charptr_emchar): Likewise.
4974         (non_ascii_charptr_copy_char): Likewise.
4975         (charptr_emchar): Moved to mb-*byte.h.
4976         (set_charptr_emchar): Likewise.
4977         (charptr_copy_char): Likewise.
4978
4979         * mb-1byte.h, mb-multibyte.h: New files.
4980
4981 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4982
4983         * mb-utf-8.h (MULTIBYTE): New macro.
4984         (MAX_EMCHAR_LEN): Moved from buffer.h.
4985         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4986
4987         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4988
4989         * mb-lb.h, multibyte.h: New files.
4990
4991         * char-1byte.h (Charset_ID): Moved from buffer.h.
4992         (MIN_LEADING_BYTE): Likewise.
4993         (LEADING_BYTE_ASCII): Likewise.
4994         (NUM_LEADING_BYTES): Likewise.
4995         (CHARSETP): Likewise.
4996         (CHARSET_BY_LEADING_BYTE): Likewise.
4997         (XCHARSET_LEADING_BYTE): Likewise.
4998         (XCHARSET_GRAPHIC): Likewise.
4999         (XCHARSET_COLUMNS): Likewise.
5000         (XCHARSET_DIMENSION): Likewise.
5001         (CHAR_CHARSET): Likewise.
5002         (CHAR_LEADING_BYTE): Likewise.
5003         (BREAKUP_CHAR): Likewise.
5004         (Vcharset_ascii): Likewise.
5005
5006         * buffer.h: Include multibyte.h unconditionally.
5007         (VALID_CHARPTR_P): Moved to multibyte.h.
5008         (ASSERT_VALID_CHARPTR): Likewise.
5009         (REAL_INC_CHARPTR): Likewise.
5010         (REAL_INC_CHARBYTIND): Likewise.
5011         (REAL_DEC_CHARPTR): Likewise.
5012         (INC_CHARPTR): Likewise.
5013         (INC_CHARBYTIND): Likewise.
5014         (DEC_CHARPTR): Likewise.
5015         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5016         (VALIDATE_CHARPTR_FORWARD): Likewise.
5017         (charptr_n_addr): Likewise.
5018         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5019         (simple_charptr_emchar): Moved to multibyte.h.
5020         (simple_set_charptr_emchar): Likewise.
5021         (simple_charptr_copy_char): Likewise.
5022         (non_ascii_charptr_emchar): Likewise.
5023         (non_ascii_set_charptr_emchar): Likewise.
5024         (non_ascii_charptr_copy_char): Likewise.
5025         (charptr_emchar): Likewise.
5026         (set_charptr_emchar): Likewise.
5027         (charptr_copy_char): Likewise.
5028         (charptr_emchar_n): Likewise.
5029         (Charset_ID): Moved to char-1byte.h.
5030         (Vcharset_ascii): Likewise.
5031         (CHAR_CHARSET): Likewise.
5032         (CHAR_LEADING_BYTE): Likewise.
5033         (LEADING_BYTE_ASCII): Likewise.
5034         (NUM_LEADING_BYTES): Likewise.
5035         (MIN_LEADING_BYTE): Likewise.
5036         (CHARSETP): Likewise.
5037         (CHARSET_BY_LEADING_BYTE): Likewise.
5038         (XCHARSET_LEADING_BYTE): Likewise.
5039         (XCHARSET_GRAPHIC): Likewise.
5040         (XCHARSET_COLUMNS): Likewise.
5041         (XCHARSET_DIMENSION): Likewise.
5042         (BREAKUP_CHAR): Likewise.
5043
5044 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5045
5046         * character.h: Add document about interface for characters.
5047
5048         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5049         (MAKE_CHAR): Delete comment about
5050         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5051         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5052         (BREAKUP_CHAR): Modify name of arguments.
5053         (CHAR_CHARSET): Modify name of argument.
5054
5055         * buffer.h: Delete document about Emchar accessors.
5056
5057 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5058
5059         * character.h (CHAR_INTP): Moved from buffer.h
5060         (CHAR_OR_CHAR_INTP): Likewise.
5061         (XCHAR_OR_CHAR_INT): Likewise.
5062         (CHECK_CHAR_COERCE_INT): Likewise.
5063
5064         * buffer.h (CHAR_INTP): Moved to character.h
5065         (CHAR_OR_CHAR_INTP): Likewise.
5066         (XCHAR_OR_CHAR_INT): Likewise.
5067         (CHECK_CHAR_COERCE_INT): Likewise.
5068
5069 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5070
5071         * character.h:
5072         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5073         - Include char-1byte.h, char-lb.h or char-ucs.h.
5074
5075         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5076
5077         * buffer.h: Include character unconditionally.
5078         (valid_char_p): Moved to char-*.h.
5079         (non_ascii_valid_char_p): Moved to char-lb.h.
5080
5081         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5082
5083 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5084
5085         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5086         in UTF-2000 because it is not ported yet and not to use
5087         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5088         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5089         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5090
5091         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5092         (CHAR_ASCII_P): Moved from character.h.
5093
5094         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5095         (CHAR_ASCII_P): Likewise.
5096         (CHAR_FIELD1_MASK): Deleted.
5097         (CHAR_FIELD2_MASK): Deleted.
5098         (CHAR_FIELD3_MASK): Deleted.
5099         (MAX_CHAR_BASIC_LATIN): New macro.
5100         (CHAR_FIELD1): Deleted.
5101         (CHAR_FIELD2_INTERNAL): Deleted.
5102         (CHAR_FIELD3_INTERNAL): Deleted.
5103         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5104         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5105         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5106         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5107         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5108         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5109         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5110         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5111         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5112         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5113         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5114         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5115         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5116         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5117         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5118         (MIN_CHAR_COMPOSITION): Deleted.
5119         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5120         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5121
5122 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5123
5124         * buffer.h: Include mb-utf-8.h in UTF-2000.
5125
5126         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5127
5128         * mb-utf-8.h: New file.
5129
5130 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5131
5132         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5133         instead of `int'.
5134
5135         * mule-charset.h, buffer.h (Charset_ID): New type.
5136
5137 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5138
5139         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5140         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5141         instead of `MULE_CHAR_PRIVATE_OFFSET',
5142         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5143         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5144         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5145
5146         * character.h (Vcharset_japanese_jisx0212): New variable
5147         definition.
5148
5149 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5150
5151         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5152         (charset_by_attributes): Delete array about direction.
5153         (latin_a_char_to_charset): New variable in UTF-2000.
5154         (latin_a_char_to_byte1): New variable in UTF-2000.
5155         (latin_a_char_to_byte2): New variable in UTF-2000.
5156         (Qucs_bmp): New variable.
5157         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5158         `Bufbyte'.
5159         (next_allocated_2_byte_leading_byte): Likewise.
5160         (non_ascii_set_charptr_emchar): Likewise.
5161         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5162         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5163         `charset_by_attributes'.
5164         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5165         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5166         and `CHARSET_BY_LEADING_BYTE'.
5167         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5168         `utf-2000-version' to `vars_of_mule_charset'.
5169         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5170         define `leading-code-private-11' in UTF-2000; move setting of
5171         `utf-2000-version' from `syms_of_mule_charset'.
5172         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5173         UTF-2000.
5174
5175         * character.h (Charset_ID): New type.
5176         (LEADING_BYTE_UCS_BMP): New macro.
5177         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5178         (CHARSET_ID_OFFSET_94): New macro.
5179         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5180         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5181         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5182         final-byte.
5183         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5184         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5185         (CHARSET_ID_OFFSET_96): New macro.
5186         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5187         CHARSET_ID_OFFSET_96 and final-byte.
5188         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5189         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5190         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5191         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5192         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5193         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5194         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5195         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5196         (LEADING_BYTE_THAI_TIS620): Likewise.
5197         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5198         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5199         (CHARSET_ID_OFFSET_94x94): New macro.
5200         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5201         CHARSET_ID_OFFSET_94x94 and final-byte.
5202         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5203         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5204         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5205         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5206         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5207         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5208         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5209         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5210         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5211         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5212         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5213         (CHARSET_TYPE_128X128): New macro.
5214         (CHARSET_TYPE_256X256): New macro.
5215         (XCHARSET_PRIVATE_P): Delete unconditionally.
5216         (charset_by_attributes): Delete array about direction.
5217         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5218         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5219         (MIN_CHAR_94): New macro.
5220         (MAX_CHAR_94): New macro.
5221         (MIN_CHAR_96): New macro.
5222         (MAX_CHAR_96): New macro.
5223         (MIN_CHAR_94x94): New macro.
5224         (MAX_CHAR_94x94): New macro.
5225         (MIN_CHAR_96x96): New macro.
5226         (MAX_CHAR_96x96): New macro.
5227         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5228         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5229         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5230         - 32)'.
5231         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5232         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5233         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5234         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5235         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5236         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5237         `XCHARSET_LEADING_BYTE' to make code-point.
5238         (latin_a_char_to_charset): New variable.
5239         (latin_a_char_to_byte1): New variable.
5240         (latin_a_char_to_byte2): New variable.
5241         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5242         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5243         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5244
5245         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5246         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5247         (find_charsets_in_emchar_string): Likewise.
5248         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5249
5250         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5251         `int'.
5252         (decode_coding_iso2022): Likewise.
5253
5254         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5255         of `unsigned char'.
5256
5257         * redisplay.c (redisplay_text_width_emchar_string): Use
5258         `Charset_ID' instead of `unsigned char'.
5259         (redisplay_frame_text_width_string): Likewise.
5260
5261         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5262         `unsigned char'.
5263
5264         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5265         instead of `unsigned char'.
5266         (face_cachel_charset_font_metric_info): Likewise.
5267
5268         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5269         (get_non_ascii_char_table_value): Likewise.
5270         (get_char_table): Likewise.
5271         (put_char_table): Likewise.
5272         (map_over_other_charset): Likewise.
5273         (map_char_table): Likewise.
5274
5275         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5276         instead of `unsigned char'.
5277
5278 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5279
5280         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5281         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5282
5283         * mule-charset.c (leading_code_private_11): Don't define in
5284         UTF-2000.
5285
5286         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5287         in UTF-2000 because it is not ported yet and not to use
5288         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5289
5290 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5291
5292         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5293
5294 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5295
5296         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5297         in UTF-2000.
5298
5299         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5300         of unsigned char to store leading-byte.
5301
5302         * chartab.c (get_non_ascii_char_table_value): Don't use
5303         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5304
5305         * file-coding.c (encode_coding_big5): Delete bogus implementation
5306         in UTF2000.
5307
5308         * character.h (LEADING_BYTE_*): Delete definition for
5309         non-UTF-2000.
5310         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5311         (LEADING_BYTE_PREFIX_P): Deleted.
5312         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5313         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5314         (BUFBYTE_LEADING_BYTE_P): Deleted.
5315         (CHARSET_PRIVATE_P): Deleted unconditionally.
5316         (rep_bytes_by_first_byte): Deleted unconditionally.
5317         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5318         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5319         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5320         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5321         (CHAR_FIELD2): Deleted.
5322         (CHAR_FIELD3): Deleted.
5323         (MAKE_CHAR): Delete definition for non-UTF-2000.
5324         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5325         (breakup_char_1): New implementation.
5326         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5327         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5328
5329 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5330
5331         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5332         condition.
5333
5334 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5335
5336         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5337         (CHARSET_PRIVATE_P): Likewise.
5338         (XCHARSET_PRIVATE_P): Likewise.
5339         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5340
5341         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5342         UTF2000.
5343         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5344
5345 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5346
5347         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5348         (NUM_LEADING_BYTES): Changed from 128 to 256.
5349         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5350         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5351         UTF2000.
5352         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5353
5354         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5355         UTF2000.
5356         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5357         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5358         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5359         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5360         (Qchinese_cns11643_3): New variable in UTF2000.
5361         (Qchinese_cns11643_4): New variable in UTF2000.
5362         (Qchinese_cns11643_5): New variable in UTF2000.
5363         (Qchinese_cns11643_6): New variable in UTF2000.
5364         (Qchinese_cns11643_7): New variable in UTF2000.
5365         (syms_of_mule_charset): Define `chinese-cns11643-3',
5366         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5367         and `chinese-cns11643-7' in UTF2000.
5368         (vars_of_mule_charset): Initialize
5369         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5370         + 1 in UTF2000.
5371         (complex_vars_of_mule_charset): Setup charset
5372         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5373         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5374
5375 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5376
5377         * mule-charset.c: Move setting for `leading-code-private-11' from
5378         `syms_of_mule_charset' to `vars_of_mule_charset'.
5379
5380 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5381
5382         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5383         and `NUM_LEADING_BYTES' in assert.
5384
5385 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5386
5387         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5388         instead of 128.
5389         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5390         `NUM_LEADING_BYTES' instead of 128.
5391
5392 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5393
5394         * mule-charset.h (charset_by_leading_byte): Use
5395         `NUM_LEADING_BYTES' instead of 128.
5396         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5397
5398         * mule-charset.c (charset_by_leading_byte): Use
5399         `NUM_LEADING_BYTES' instead of 128.
5400         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5401
5402         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5403         128.
5404
5405 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5406
5407         * mule-charset.c (syms_of_mule_charset): Update to
5408         0.4 (Shin-Imamiya).
5409
5410 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5411
5412         * file-coding.c (encode_coding_sjis): New implementation for
5413         UTF2000.  (decode_coding_sjis): Ditto.
5414
5415 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5416
5417         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5418         Don't define in UTF2000.
5419
5420         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5421         defined.
5422
5423         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5424         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5425         MULE.
5426
5427 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5428
5429         * config.h.in (CHAR_IS_UCS4): New macro.
5430
5431         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5432         conventional MULE representation.
5433         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5434
5435         * mule-charset.h: Reverted to original.
5436
5437         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5438         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5439         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5440
5441         * character.h: New file.
5442
5443         * file-coding.c (Fmake_coding_system): Set 1 to
5444         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5445         defined.
5446         (encode_coding_no_conversion): New implementation for UTF2000.
5447
5448         * file-coding.h (struct Lisp_Coding_System): Add new member
5449         `fixed.size'.
5450
5451 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5452
5453         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5454         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5455         (encode_coding_iso2022): New implementation for UTF2000.
5456
5457 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5458
5459         * mule-canna.c (c2mu): New implementation for UTF2000.
5460         (m2c): Likewise.
5461
5462 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5463
5464         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5465
5466 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5467
5468         * file-coding.c (reset_encoding_stream): Set 0 to
5469         `str->iso2022.current_char_boundary' in UTF2000.
5470         (encode_utf8): Don't define in UTF2000.
5471         (encode_coding_utf8): New implementation for UTF-8 representation
5472         of UTF2000.
5473         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5474
5475 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5476
5477         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5478
5479         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5480         UTF2000.
5481         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5482
5483         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5484
5485         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5486         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5487         as UTF-8 in UTF2000.
5488         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5489         (non_ascii_valid_char_p): Don't define in UTF2000.
5490         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5491         (Lstream_get_emchar_1): Likewise.
5492         (utf-2000-version): New variable in UTF2000.
5493
5494         * lread.c (read_escape): Add new reader `u'.
5495
5496         * insdel.c (three_to_one_table): Don't define in UTF2000.
5497         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5498         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5499         UTF2000.
5500         (bytind_to_bufpos_func): Likewise.
5501         (buffer_mule_signal_inserted_region): Likewise.
5502         (vars_of_insdel): Don't initialize `three_to_one_table'.
5503         (init_buffer_text): Use `buf->text->mule_size' instead of
5504         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5505         UTF2000.
5506
5507         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5508         UTF-8 representation in UTF2000.
5509         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5510         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5511         (decode_coding_iso2022): Don't define local variable `lb' in
5512         UTF2000; don't use LEADING_BYTE in UTF2000; use
5513         `DECODE_ADD_UCS_CHAR' in UTF2000.
5514         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5515
5516         * config.h.in (UTF2000): New macro.
5517
5518         * buffer.h (struct buffer_text): Add new member `mule_size' and
5519         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5520         (valid_char_p): Return always 1 in UTF2000.
5521         (MAX_EMCHAR_LEN): 6 in UTF2000.
5522         (three_to_one_table): Don't define in UTF2000.
5523         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5524         UTF2000.
5525         (real_bytind_to_bufpos): Likewise.
5526
5527         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5528
5529 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5530
5531         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5532         representation change.
5533         (Vutf_2000_version): New variable.
5534         (leading_code_private_11): New variable.
5535         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5536         `leading-code-private-11'.
5537
5538         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5539         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5540         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5541         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5542         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5543         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5544         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5545         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5546         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5547         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5548         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5549         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5550         (MIN_CHAR_GREEK): New macro.
5551         (MAX_CHAR_GREEK): New macro.
5552         (MIN_CHAR_CYRILLIC): New macro.
5553         (MAX_CHAR_CYRILLIC): New macro.
5554         (MIN_CHAR_HEBREW): New macro.
5555         (MAX_CHAR_HEBREW): New macro.
5556         (MIN_CHAR_THAI): New macro.
5557         (MAX_CHAR_THAI): New macro.
5558         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5559         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5560         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5561         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5562         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5563         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5564         (CHAR_FIELD2): New inline function.
5565         (CHAR_FIELD3): New inline function.
5566         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5567         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5568         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5569         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5570         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5571         (MIN_CHAR_COMPOSITION): Likewise.
5572         (CHAR_LEADING_BYTE): Modified for character representation change.
5573         (MAKE_CHAR): Likewise.
5574
5575         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5576         (Vcharset_greek_iso8859_7): Likewise.
5577         (Vcharset_cyrillic_iso8859_5): Likewise.
5578         (Vcharset_hebrew_iso8859_8): Likewise.
5579         (Vcharset_thai_tis620): Likewise.
5580         (Vcharset_katakana_jisx0201): Likewise.
5581
5582 2005-02-06  Vin Shelton <acs@xemacs.org>
5583
5584         * XEmacs 21.4.17 is released
5585
5586 2005-01-31  Ben Wing  <ben@xemacs.org>
5587
5588         * emacs.c:
5589         Define assert_failed() always.
5590         * lisp.h:
5591         Always define ABORT().
5592
5593 2005-01-25  Ben Wing  <ben@xemacs.org>
5594
5595         * Makefile.in.in:
5596         * Makefile.in.in (%.o):
5597         Don't compile executable as Windows (-mwindows) under Cygwin.
5598         Semi-recent changes to Cygwin's executable-startup handling make
5599         it impossible to access the TTY this way.
5600
5601         Don't use special linker file under Cygwin (cygwin.sc) except
5602         when non-PDUMP (even in this case it is highly questionable); you
5603         get errors like
5604
5605       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5606    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5607
5608 2005-01-29  Ben Wing  <ben@xemacs.org>
5609
5610         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5611
5612         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5613
5614 2005-01-29  Ben Wing  <ben@xemacs.org>
5615
5616         * bytecode.c (optimize_compiled_function):
5617         * print.c (FROB):
5618         * print.c (long_to_string):
5619         Add casts to avoid warning.
5620         
5621         * glyphs-eimage.c:
5622         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5623         #### The better solution is to move the TIFF and JPEG code to
5624         different files.
5625         
5626         * glyphs-msw.c (mswindows_xbm_instantiate):
5627         Define __STDC__ to avoid problems with compface.h.
5628         
5629         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5630         * EmacsShell-sub.c:
5631         * EmacsShell-sub.c (ABORT):
5632         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5633         * EmacsShell-sub.c (RootGeometryManager):
5634         * EmacsShell.c:
5635         * EmacsShell.c (ABORT):
5636         * EmacsShell.c (EmacsShellUpdateSizeHints):
5637         * alloc.c (free_lcrecord):
5638         * alloca.c (i00afunc):
5639         * buffer.c (delete_from_buffer_alist):
5640         * buffer.c (MARKED_SLOT):
5641         * bytecode.c (execute_rare_opcode):
5642         * bytecode.c (optimize_byte_code):
5643         * bytecode.c (Ffetch_bytecode):
5644         * chartab.c (char_table_type_to_symbol):
5645         * chartab.c (Freset_char_table):
5646         * chartab.c (decode_char_table_range):
5647         * chartab.c (Fget_range_char_table):
5648         * chartab.c (check_valid_char_table_value):
5649         * chartab.c (map_char_table):
5650         * chartab.c (slow_map_char_table_fun):
5651         * chartab.c (chartab_instantiate):
5652         * cm.c (cmcheckmagic):
5653         * console-msw.c (DHEADER):
5654         * console.c (MARKED_SLOT):
5655         * data.c (finish_marking_weak_lists):
5656         * data.c (encode_weak_list_type):
5657         * debug.h (DASSERT):
5658         * device-gtk.c (gtk_init_device):
5659         * device-msw.c (mswindows_get_default_margin):
5660         * device-tty.c (tty_init_device):
5661         * device-x.c (get_device_from_display):
5662         * device-x.c (x_get_visual_depth):
5663         * doprnt.c (parse_doprnt_spec):
5664         * doprnt.c (get_doprnt_args):
5665         * dumper.c (pdump_get_indirect_count):
5666         * dumper.c (pdump_register_sub):
5667         * dumper.c (pdump_register_object):
5668         * dumper.c (pdump_register_struct):
5669         * dumper.c (pdump_dump_data):
5670         * dumper.c (pdump_reloc_one):
5671         * elhash.c (print_hash_table):
5672         * elhash.c (make_standard_lisp_hash_table):
5673         * elhash.c (hash_table_instantiate):
5674         * emacs.c:
5675         * emacs.c (Fforce_debugging_signal):
5676         * emacs.c (sort_args):
5677         * emacs.c (main):
5678         * emacs.c (assert_failed):
5679         * eval.c (throw_or_bomb_out):
5680         * eval.c (signal_1):
5681         * eval.c (Fsignal):
5682         * event-Xt.c:
5683         * event-Xt.c (emacs_Xt_mapping_action):
5684         * event-Xt.c (Xt_process_to_emacs_event):
5685         * event-msw.c:
5686         * event-stream.c (check_event_stream_ok):
5687         * event-stream.c (Fadd_timeout):
5688         * event-stream.c (Fadd_async_timeout):
5689         * event-stream.c (Fdiscard_input):
5690         * event-stream.c (execute_internal_event):
5691         * event-stream.c (Frecent_keys):
5692         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5693         * event-stream.c (lookup_command_event):
5694         * event-unixoid.c (poll_fds_for_input):
5695         * events.c:
5696         * events.c (mark_event):
5697         * events.c (event_equal):
5698         * events.c (event_hash):
5699         * events.c (Fmake_event):
5700         * events.c (Fdeallocate_event):
5701         * events.c (event_chain_find_previous):
5702         * events.c (event_to_character):
5703         * events.c (format_event_object):
5704         * events.c (Fevent_type):
5705         * events.c (event_pixel_translation):
5706         * events.c (Fevent_properties):
5707         * extents.c (extent_in_region_p):
5708         * extents.c (print_extent):
5709         * extents.c (process_extents_for_insertion_mapper):
5710         * extents.c (report_extent_modification_mapper):
5711         * extents.c (glyph_layout_to_symbol):
5712         * faces.c (face_validate):
5713         * file-coding.c (eol_type_to_symbol):
5714         * file-coding.c (subsidiary_coding_system):
5715         * file-coding.c (Fcoding_system_type):
5716         * file-coding.c (Fcoding_system_property):
5717         * file-coding.c (mule_decode):
5718         * file-coding.c (mule_encode):
5719         * file-coding.c (encode_coding_ucs4):
5720         * file-coding.c (encode_coding_utf8):
5721         * file-coding.c (parse_iso2022_esc):
5722         * file-coding.c (encode_coding_iso2022):
5723         * fileio.c:
5724         * fns.c (concat):
5725         * fns.c (Fsubseq):
5726         * fns.c (mapcar1):
5727         * fns.c (Fbase64_encode_region):
5728         * fns.c (Fbase64_encode_string):
5729         * fns.c (Fbase64_decode_region):
5730         * fns.c (Fbase64_decode_string):
5731         * font-lock.c (find_context):
5732         * font-lock.c (context_to_symbol):
5733         * frame-gtk.c (gtk_set_frame_pointer):
5734         * frame-gtk.c (gtk_update_frame_external_traits):
5735         * frame-x.c (x_wm_mark_shell_size_user_specified):
5736         * frame-x.c (x_wm_mark_shell_position_user_specified):
5737         * frame-x.c (x_wm_set_shell_iconic_p):
5738         * frame-x.c (x_wm_set_cell_size):
5739         * frame-x.c (x_wm_set_variable_size):
5740         * frame-x.c (x_wm_store_class_hints):
5741         * frame-x.c (x_wm_maybe_store_wm_command):
5742         * frame-x.c (x_initialize_frame_size):
5743         * frame-x.c (x_update_frame_external_traits):
5744         * frame.c:
5745         * frame.c (delete_frame_internal):
5746         * frame.c (mouse_pixel_position_1):
5747         * frame.c (change_frame_size_1):
5748         * free-hook.c (check_free):
5749         * free-hook.c (check_realloc):
5750         * free-hook.c (note_block_input):
5751         * free-hook.c (log_gcpro):
5752         * gccache-gtk.c (gc_cache_lookup):
5753         * glyphs-eimage.c (tiff_memory_write):
5754         * glyphs-gtk.c (gtk_finalize_image_instance):
5755         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5756         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5757         * glyphs-gtk.c (gtk_xpm_instantiate):
5758         * glyphs-gtk.c (gtk_unmap_subwindow):
5759         * glyphs-gtk.c (gtk_map_subwindow):
5760         * glyphs-gtk.c (gtk_button_redisplay):
5761         * glyphs-msw.c:
5762         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5763         * glyphs-x.c (init_image_instance_from_xbm_inline):
5764         * glyphs-x.c (extract_xpm_color_names):
5765         * glyphs-x.c (x_xpm_instantiate):
5766         * glyphs.c (get_image_instantiator_governing_domain):
5767         * glyphs.c (print_image_instance):
5768         * glyphs.c (image_instance_equal):
5769         * glyphs.c (image_instance_hash):
5770         * glyphs.c (encode_image_instance_type):
5771         * glyphs.c (make_image_instance_1):
5772         * glyphs.c (inherit_instantiate):
5773         * glyphs.c (image_instantiate):
5774         * glyphs.c (allocate_glyph):
5775         * glyphs.c (Fglyph_type):
5776         * glyphs.c (redisplay_subwindow):
5777         * glyphs.c (display_table_entry):
5778         * gtk-glue.c (xemacs_list_to_gtklist):
5779         * gtk-glue.c (xemacs_gtklist_to_list):
5780         * gtk-glue.c (xemacs_list_to_array):
5781         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5782         * gutter.c (gutter_was_visible):
5783         * gutter.c (get_gutter_coords):
5784         * input-method-xlib.c (get_XIM_input):
5785         * insdel.c (bufpos_to_bytind_func):
5786         * insdel.c (bytind_to_bufpos_func):
5787         * insdel.c (move_gap):
5788         * intl.c (x_get_composed_input):
5789         * keymap.c (keymap_lookup_directly):
5790         * keymap.c (keymap_delete_inverse_internal):
5791         * keymap.c (ensure_meta_prefix_char_keymapp):
5792         * keymap.c (accessible_keymaps_mapper_1):
5793         * keymap.c (where_is_recursive_mapper):
5794         * lisp.h:
5795         * lisp.h (ABORT):
5796         * lread.c (read_atom):
5797         * lstream.c (Lstream_delete):
5798         * lstream.c (make_lisp_buffer_stream_1):
5799         * macros.c (pop_kbd_macro_event):
5800         * malloc.c (malloc):
5801         * malloc.c (free):
5802         * marker.c (bi_marker_position):
5803         * marker.c (set_bi_marker_position):
5804         * menubar-gtk.c (menu_descriptor_to_widget_1):
5805         * menubar-msw.c (prune_menubar):
5806         * menubar-x.c (set_frame_menubar):
5807         * mule-charset.c (get_unallocated_leading_byte):
5808         * mule-charset.h (CHAR_LEADING_BYTE):
5809         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5810         * nt.c (init_environment):
5811         * nt.c (generate_inode_val):
5812         * ntproc.c (delete_child):
5813         * ntproc.c (_sys_read_ahead):
5814         * ntproc.c (create_child):
5815         * objects.c (color_instantiate):
5816         * objects.c (font_instantiate):
5817         * objects.c (face_boolean_instantiate):
5818         * print.c (printing_major_badness):
5819         * process-nt.c (nt_send_process):
5820         * process-unix.c (unix_send_process):
5821         * process.c (get_process):
5822         * ralloc.c (obtain):
5823         * ralloc.c (relinquish):
5824         * ralloc.c (relocate_blocs):
5825         * ralloc.c (resize_bloc):
5826         * ralloc.c (r_alloc_free):
5827         * ralloc.c (r_re_alloc):
5828         * ralloc.c (r_alloc_thaw):
5829         * ralloc.c (init_ralloc):
5830         * ralloc.c (Free_Addr_Block):
5831         * ralloc.c (r_alloc):
5832         * redisplay-gtk.c (gtk_output_display_block):
5833         * redisplay-msw.c (mswindows_output_display_block):
5834         * redisplay-output.c (get_next_display_block):
5835         * redisplay-output.c (get_cursor_size_and_location):
5836         * redisplay-output.c (redisplay_output_layout):
5837         * redisplay-output.c (redisplay_clear_region):
5838         * redisplay-tty.c (tty_output_display_block):
5839         * redisplay-x.c (x_output_display_block):
5840         * redisplay.c (add_propagation_runes):
5841         * redisplay.c (add_glyph_rune):
5842         * redisplay.c (create_text_block):
5843         * redisplay.c (add_margin_runes):
5844         * redisplay.c (create_left_glyph_block):
5845         * redisplay.c (create_right_glyph_block):
5846         * redisplay.c (create_string_text_block):
5847         * redisplay.c (regenerate_window):
5848         * redisplay.c (REGEN_INC_FIND_START_END):
5849         * redisplay.c (redisplay_frame):
5850         * redisplay.c (point_in_line_start_cache):
5851         * regex.c:
5852         * regex.c (ABORT):
5853         * regex.c (re_compile_fastmap):
5854         * regex.c (re_match_2_internal):
5855         * regex.c (regerror):
5856         * scrollbar-gtk.c (gtk_scrollbar_loop):
5857         * scrollbar-gtk.c (scrollbar_cb):
5858         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
5859         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
5860         * scrollbar-x.c (x_update_scrollbar_instance_status):
5861         * scrollbar-x.c (x_scrollbar_loop):
5862         * scrollbar-x.c (x_update_frame_scrollbars):
5863         * search.c (search_command):
5864         * search.c (Fmatch_data):
5865         * select-x.c (motif_clipboard_cb):
5866         * signal.c (interrupt_signal):
5867         * specifier.c (specifier_add_spec):
5868         * specifier.c (specifier_instance_from_inst_list):
5869         * specifier.c (specifier_instance):
5870         * specifier.h:
5871         * specifier.h (struct specifier_methods):
5872         * strftime.c (add_num_time_t):
5873         * sunplay.c (init_device):
5874         * symbols.c (Fsetplist):
5875         * symbols.c (do_symval_forwarding):
5876         * symbols.c (store_symval_forwarding):
5877         * symbols.c (Fset):
5878         * symbols.c (Fbuilt_in_variable_type):
5879         * symbols.c (decode_magic_handler_type):
5880         * symbols.c (handler_type_from_function_symbol):
5881         * syntax.c (update_syntax_cache):
5882         * sysdep.c (init_baud_rate):
5883         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5884         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5885         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5886         * toolbar.c (get_toolbar_coords):
5887         * ui-gtk.c (build_gtk_boxed):
5888         * ui-gtk.c (describe_gtk_arg):
5889         * ui-gtk.c (gtk_type_to_lisp):
5890         * ui-gtk.c (lisp_to_gtk_type):
5891         * ui-gtk.c (lisp_to_gtk_ret_type):
5892         * ui-gtk.c (lisp_to_flag):
5893         * unexnt.c (read_in_bss):
5894         * unexnt.c (map_in_heap):
5895         * window.c (real_window):
5896         * window.c (window_display_lines):
5897         * window.c (window_display_buffer):
5898         * window.c (set_window_display_buffer):
5899         * window.c (window_modeline_height):
5900         * window.c (unshow_buffer):
5901         * window.c (window_loop):
5902         * window.c (Fget_lru_window):
5903         * window.c (Fsplit_window):
5904         * window.c (Fset_window_configuration):
5905         * window.c (saved_window_index):
5906         * xgccache.c (gc_cache_lookup):
5907         abort() -> ABORT().  Eliminate preprocessor games with abort()
5908         since it creates huge problems in VC7, solvable only by including
5909         massive amounts of files in every compile (and not worth it).
5910
5911         * sysdep.c:
5912         * sysproc.h:
5913         Inclusion of process.h does not need to be before lisp.h any more.
5914         Move later and remove comment about abort().
5915
5916 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
5917
5918         * regex.c (re_match_2_internal):
5919         Correctly initialize loop which clears uninitialized registers.
5920
5921 2005-01-28  Vin Shelton  <acs@xemacs.org>
5922
5923         * sheap.c (more_static_core): Applied Ben's version of the long
5924         string patch.
5925
5926 2005-01-24  Vin Shelton  <acs@xemacs.org>
5927
5928         * sheap.c (more_static_core): Reformatted printf string so
5929         gcc-3.3.3 will compile this on Cygwin.
5930
5931 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
5932
5933         * console.c (function_key_map): Reference `key-binding'.
5934
5935         * keymap.c (Vkey_translation_map): Improve docstring.
5936
5937 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
5938
5939         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
5940         * window.c (window_loop): [fix] Take into account
5941         `allow-deletion-of-last-visible-frame' variable.
5942         * window.c (replace-buffer-in-windows): Ditto.
5943
5944 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
5945
5946         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
5947
5948 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
5949
5950         * event-gtk.c: Recognise AltGr as a valid modifier.
5951
5952 2005-01-12  Ville Skyttä  <scop@xemacs.org>
5953
5954         * console-x.h: #include X11/keysym.h before xintrinsic.h.
5955
5956 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5957
5958         Fix backreference bug caught by test suite.
5959
5960         * regex.c (regex_compile):
5961         Make backref duplicate internal register.
5962
5963 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
5964
5965         Documentation, code clarification, and warning suppression.
5966         
5967         * regex.c (regex_compile):
5968         Improve comments.
5969         (re_match_2_internal):
5970         Improve comments and avoid redundant braces.  [Most of the big hunk
5971         at l. 4710 is indentation; use diff -w to see the real changes.]
5972         (alt_match_null_string_p):
5973         (common_op_match_null_string_p):
5974         Avoid shadowing global on Mac OS X 10.4, at least.
5975
5976 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
5977
5978         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
5979         introduced with shy groups fix).  [Already applied, probably
5980         with the second "fix shy groups" patch of 2004-10-07.] 
5981
5982 2005-01-10  Steve Youngs  <steve@sxemacs.org>
5983
5984         From Andrey Slusar <anrays@gmail.com>:
5985
5986         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
5987
5988 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
5989
5990         * Makefile (RECURSIVE_MAKE): Removed.
5991         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
5992         handling parallel builds.
5993
5994 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
5995
5996         * Makefile.in.in: Enable support for parallel builds.
5997
5998 2005-01-09  Steve Youngs  <steve@sxemacs.org>
5999
6000         From Andrey Slusar <anrays@gmail.com>:
6001
6002         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6003         FreeBSD version is >= 199701 _and_ < 600006.
6004
6005 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6006
6007         * scrollbar.c (compute_scrollbar_instance_usage):
6008         Only call device method compute_scrollbar_instance_usage() if it
6009         is defined.
6010
6011 2004-12-05  Vin Shelton <acs@xemacs.org>
6012
6013         * XEmacs 21.4.16 is released
6014
6015 2004-12-04  Vin Shelton  <acs@xemacs.org>
6016
6017         * depend: Regenerated.
6018
6019 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6020
6021         * regex.c (re_match_2_internal): Map internal to external
6022         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6023         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6024
6025 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6026
6027         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6028         to fix a crash.  Also, check the buffer is live and it
6029         really exists in buffer_list.  If the buffer is not in the list,
6030         prepend it.
6031
6032 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6033
6034         Fix shy groups by implementing recording of all groups for
6035         repetition and backtracking.  Backport from 21.5.
6036         
6037         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6038         external_to_internal_register, external_to_internal_register_size,
6039         and update comments for re_nsub.
6040
6041         * regex.c (re_opcode_t): Update comments.
6042         (print_compiled_pattern): Ouput external_to_internal_register,
6043         external_to_internal_register_size, and re_ngroups for debugging.
6044         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6045         (regex_compile): Update header comment.
6046         Ensure that all groups are recorded so that repeat matches and
6047         backtracking work correctly.  Comment related warning for groups >
6048         255.
6049         (re_search_2): Construct map of API indexes (which count only
6050         nonshy groups) to internal register numbers, and keep it updated.
6051
6052 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6053
6054         * frame-gtk.c (gtk_make_frame_visible):
6055         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6056         show/hide.  This is what X uses and is prevents previously hidden
6057         widgets from suddenly reappearing.
6058         * gtk-xemacs.c (gtk_xemacs_paint):
6059         * gtk-xemacs.c (gtk_xemacs_draw):
6060         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6061         drawable.
6062         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6063         size and location changes so that they can be seen before the next
6064         idle event.  Without this rapid changes to scrollbar properties
6065         are not seen.
6066
6067 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6068
6069         * console-gtk.h:
6070         * console-gtk.h (struct gtk_frame):
6071         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6072           Add hash tables track tab_control callback data.
6073           Added #defines for GTK object data names.
6074           Declaration of gtk_widget_to_frame().
6075         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6076         * frame-gtk.c (gtk_widget_to_frame): New.
6077         * frame-gtk.c (gtk_create_widgets):
6078         * frame-gtk.c (allocate_gtk_frame_struct):
6079         * frame-gtk.c (gtk_mark_frame):
6080         Manage frame callbakc hash tables.
6081         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6082         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6083         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6084         of widget size.
6085         * glyphs-gtk.c (gtk_widget_query_geometry): New
6086         * glyphs-gtk.c (gtk_register_gui_item): New
6087         * glyphs-gtk.c (gtk_add_tab_item): New
6088         * glyphs-gtk.c (gtk_tab_control_callback): New
6089         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6090         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6091         Use correct list when loading item.
6092         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6093         Register new methods.
6094         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6095         default size, for widgets.
6096         * gui-x.c:  Improved comment.
6097         * menubar-gtk.c (__generic_button_callback): Use
6098         gtk_widget_to_frame instead of __get_channel.
6099         * scrollbar-gtk.c:
6100         * ui-gtk.c: Use symbolic names for GTK object data.
6101
6102 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6103
6104         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6105
6106 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6107
6108         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6109
6110 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6111
6112         * malloc.c (morecore): siz is a long because in some architectures
6113         (eg ia-64) an int cannot hold the address range.  Additional patch
6114         from the SuSe distribution.
6115
6116 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6117
6118         * emacs.c:
6119         * malloc.c: lim_data is a long because in some architectures
6120         (eg ia-64) an int cannot hold the address range.
6121         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6122         instead of ulimit() because ulimit() always returns -1.
6123
6124 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6125
6126         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6127
6128 2004-06-11  David Kastrup  <dak@gnu.org>
6129
6130         * search.c (match_limit): Don't flag an error if match-data
6131         exceeding the allocated search_regs.num_regs gets requested, just
6132         return Qnil.
6133
6134 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6135
6136         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6137         replace symbolic color entries with the real colors specified in
6138         xpm-color-symbols, before passing the XPM to gtk.
6139         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6140         instead of a GTK specific field, so that it is used in by generic
6141         code.
6142
6143 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6144
6145        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6146         coredump from deref of NULL ptr (ExtData)
6147
6148 2004-04-19  Jerry James  <james@xemacs.org>
6149
6150         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6151         VALBITS to compute the location of the sign bit.
6152         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6153         of VALBITS with EMACS_INT_MAX.
6154         * events.c (Fevent_timestamp): Ditto.
6155         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6156         compute the halfway point to timestamp wraparound.
6157         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6158         EMACS_INT_MIN instead of using VALBITS.
6159         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6160         incorrect number with VALBITS.
6161         * fns.c (Frandom): Correct number of integer bits in docstring.
6162         Use INT_VALBITS instead of VALBITS to compute the denominator.
6163         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6164         build random numbers.
6165
6166 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6167         * event-gtk.c:
6168         * event-gtk.c (gtk_event_to_emacs_event):
6169         * menubar-gtk.c:
6170         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6171         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6172         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6173         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6174         * menubar-gtk.c (__activate_menu):
6175         * menubar-gtk.c (convert_underscores):
6176         * menubar-gtk.c (remove_underscores):
6177         * menubar-gtk.c (menu_convert):
6178         * menubar-gtk.c (menu_descriptor_to_widget_1):
6179         * menubar-gtk.c (menu_descriptor_to_widget):
6180         * menubar-gtk.c (menu_can_reuse_widget):
6181         * menubar-gtk.c (menu_create_menubar):
6182         * menubar-gtk.c (gtk_popup_menu):
6183         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6184         Added support for Gtk menu bar and menu item mnemonics.
6185
6186 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6187
6188         * sysdll.c: (dll_function): Added support for finding symbols in
6189         Darwin shared libraries as well in Darwin bundles.
6190         * sysdll.c (image_for_address): New
6191         * sysdll.c (my_find_image): New
6192         * sysdll.c (search_linked_libs): New
6193
6194 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6195
6196         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6197         return to GTK requires a different API to marshalling data to use
6198         as GTK parameters.
6199         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6200
6201 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6202
6203         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6204
6205 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6206
6207         * glyphs.c (process_image_string_instantiator):
6208         (Fset_console_type_image_conversion_list):
6209         Stop GCC from warning about shadowing of `exp'.
6210
6211         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6212
6213 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6214
6215         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6216
6217 2004-02-03  Vin Shelton  <acs@xemacs.org>
6218
6219         * glyphs.c (image_instance_layout): Remove pointless assertion.
6220         * regex.c (regex_grow_registers): Return type is void.
6221
6222 2004-02-02  Vin Shelton <acs@xemacs.org>
6223
6224         * XEmacs 21.4.15 is released
6225
6226 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6227
6228         * device-x.c (x_error_handler): Don't call stderr_out
6229
6230 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6231
6232         * buffer.c (other-buffer): Clarify documentation of order of
6233         arguments for FSF Emacs.
6234
6235 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6236
6237         * window.c (Fdelete_window): Dirty the mirror structure _before_
6238         marking the window deleted.
6239
6240 2003-09-15  Jerry James  <james@xemacs.org>
6241
6242         * event-msw.c (debug_mswin_messages): Conditionally compile
6243         messages missing from the Cygwin headers.
6244
6245 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6246
6247         * data.c (eq_with_ebola_notice): Fix typo in comment.
6248         (Ftrue_list_p): Improve docstring.
6249
6250 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6251
6252         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6253
6254 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6255
6256         * search.c (trivial_regexp_p): Regexps containing "\{" are
6257         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6258         Stefan Monnier for suggesting a diagnosis.
6259
6260 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6261
6262         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6263
6264 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6265
6266         * search.c (Fsearch_forward):
6267         (Fsearch_backward):
6268         Document negative count.
6269
6270 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6271
6272         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6273
6274 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6275
6276         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6277
6278 2003-09-15  Vin Shelton  <acs@xemacs.org>
6279
6280         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6281         21.5.
6282
6283 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6284
6285         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6286         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6287         (re_match_2_internal): Use TRANSLATE instead of
6288         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6289         non-ASCII char case conversion.
6290
6291 2003-09-08  Mike Sperber  <mike@xemacs.org>
6292
6293         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6294         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6295
6296 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6297
6298        * .gdbinit (pobj): fix printing of symbol name.
6299
6300 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6301
6302         * frame-x.c (x_layout_widgets): When resizing is about to cause
6303         frame size slip, mark it for redisplay.
6304
6305 2003-08-18  Jerry James  <james@xemacs.org>
6306
6307         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6308
6309 2003-09-03  Vin Shelton <acs@xemacs.org>
6310
6311         * XEmacs 21.4.14 is released
6312
6313 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6314
6315         * config.h.in (REGEX_MALLOC): Make it configure'able.
6316
6317 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6318
6319         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6320         linking.
6321         * sysdll.c (dll_init):
6322         * sysdll.c (dll_open):
6323         * sysdll.c (dll_close):
6324         * sysdll.c (dll_function):
6325         * sysdll.c (dll_variable):
6326         * sysdll.c (dll_error):
6327         Add support for loading bundles using Darwin/MacOSX
6328         native API.
6329
6330 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6331
6332         * process.c (start-process-internal): Document coding systems.
6333
6334 2003-07-30  Jerry James  <james@xemacs.org>
6335
6336         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6337
6338 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6339
6340         * event-msw.c (mswindows_enqueue_mouse_button_event):
6341         * event-msw.c (mswindows_wnd_proc):
6342           enqueue button event when scrollwheel event isn't handled by 
6343           mswindows_handle_mousewheel_event, such as when the scrollbars
6344           are not showing.
6345
6346 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6347
6348         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6349
6350 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6351
6352         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6353
6354 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6355
6356         * regex.c (re_match_2_internal): Fix matching degenerate word
6357         boundaries.
6358
6359 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6360
6361         * XEmacs 21.4.13 is released
6362
6363 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6364
6365         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6366         * lisp.h (<inttypes.h>):
6367         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6368         the definition.
6369
6370 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6371
6372         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6373         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6374         Result: "temacs can only be run in -batch mode."
6375         Fix: Check xemacs executable candidate for directory-ness.
6376
6377 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6378
6379         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6380           they conflict with <sys/types.h>.
6381
6382 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6383
6384         * database.c: Berkeley DB wants __STDC__ to be defined.
6385
6386 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6387
6388         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6389
6390 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6391
6392         * process-unix.c (unix_send_process): Fix C++ compile error.
6393
6394 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6395
6396         * Added .dylib as an acceptable shared library file extension
6397         * to support MacOSX.
6398
6399 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6400
6401         * EmacsFrameP.h (EmacsFramePart):
6402         Kludge to allow compiling with Motif1, but linking with Motif2.
6403
6404 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6405
6406         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6407
6408
6409 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6410
6411         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6412
6413 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6414
6415         * sysdll.c: Included lisp.h to define needed alloca_array.
6416
6417 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6418
6419         Make XEmacs redisplay 10 times faster.
6420         If, that is, you're using a slow X connection and MoveOpaque.
6421         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6422         Use compress_motion = TRUE.
6423         * EmacsFrame.c (emacsFrameClassRec): 
6424         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6425         * EmacsManager.c (emacsManagerClassRec):
6426         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6427
6428 2003-01-30  Vin Shelton  <acs@xemacs.org>
6429
6430         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6431
6432 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6433
6434         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6435         Patch by Martin Buchholz.
6436
6437 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6438
6439         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6440         Thanks to icc for warning and Martin Buchholz for reporting.
6441
6442 2003-01-29  Vin Shelton <acs@xemacs.org>
6443
6444         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6445
6446         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6447         remember to multiply by the element size.
6448
6449 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6450
6451         * XEmacs 21.4.12 "Portable Code" is released.
6452
6453 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6454
6455         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6456         * s/cygwin.sc: new linker file.
6457
6458 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6459
6460         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6461
6462         * redisplay-x.c (x_output_string): Use X11-specified types.
6463         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6464         * emacs.c (__free_hook): Use typeof with Intel compiler.
6465         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6466
6467 2003-01-08  Andy Piper  <andy@xemacs.org>
6468
6469         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6470         reserve size during unexec().
6471
6472 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6473
6474         * process-unix.c (unix_create_process): Don't let outchannel block.
6475
6476 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6477
6478         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6479         Needed for IsBadReadPtr().
6480
6481 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6482
6483         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6484
6485 2002-12-14  Ben Wing  <ben@xemacs.org>
6486
6487         * callint.c: Declaration error.
6488         * dumper.c (pdump):
6489         * dumper.c (pdump_load): Warning fix.
6490         * process.c: GCPRO error.
6491         * glyphs.c (unmap_subwindow):
6492         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6493         * event-stream.c (maybe_kbd_translate): Wrong argument to
6494         character_to_event().
6495
6496         * alloc.c (garbage_collect_1):
6497         * emacs.c:
6498         * emacs.c (debug_can_access_memory):
6499         * emacs.c (fatal_error_signal):
6500         * emacs.c (mswindows_handle_hardware_exceptions):
6501         * emacs.c (main_1):
6502         * emacs.c (main):
6503         * emacs.c (assert_failed):
6504         * emacs.c (syms_of_emacs):
6505         * lisp.h:
6506         * print.c:
6507         * print.c (std_handle_out_va):
6508         * print.c (write_string_to_stdio_stream):
6509         * print.c (write_fmt_string):
6510         * print.c (printing_badness):
6511         * print.c (printing_major_badness):
6512         * print.c (print_internal):
6513         * print.c (debug_print_no_newline):
6514         * print.c (debug_backtrace):
6515         Be more defensive in handling bad values when printing.  Add code
6516         from trunk involving inhibit_non_essential_printing_operations.
6517         When going down or in debug_print(), don't do external conversion
6518         and such and try really, really hard when printing to avoid core
6519         dumping.  Add force-debugging-signal, debug_break().
6520
6521 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6522
6523         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6524         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6525
6526 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6527
6528         * database.c: Fix open_database. Berkeley DB API has changed in
6529         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6530
6531 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6532
6533         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6534
6535 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6536
6537         * event-Xt.c (Xt_timeout):
6538         (Xt_timeout_callback):
6539         (emacs_Xt_add_timeout):
6540         (emacs_Xt_remove_timeout):
6541         (Xt_timeout_to_emacs_event):
6542         Turn completed_timeouts from a stack into a queue.  Fixes
6543         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6544
6545 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6546
6547         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6548         * emacs.c (main): Assert that mmap'd allocation is disabled.
6549
6550 2002-10-14  Andy Piper  <andy@xemacs.org>
6551
6552         * glyphs-widget.c (layout_query_geometry): add in fiddle
6553         factor. Include border text in width layout calculation.
6554         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6555
6556 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6557
6558         * XEmacs 21.4.10 "Military Intelligence" is released.
6559
6560 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6561
6562         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6563         using the NAS private array SoundFileInfo that no longer exists in
6564         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6565         and earlier.  This is broken for some versions between 1.5a and
6566         1.5f.
6567
6568 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6569
6570         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6571
6572         * emacs.c (shut_down_emacs): Improve crash message.
6573
6574 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6575
6576         * file-coding.c (determine_real_coding_system): Check for coding
6577         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6578         shebangs and Python PEP 263.
6579
6580 2002-10-08  Andy Piper  <andy@xemacs.org>
6581
6582         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6583         if static sizes haven't been set.
6584
6585 2002-08-30  Mike Alexander  <mta@arbortext.com>
6586
6587         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6588         to close a socket.
6589
6590 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6591
6592         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6593
6594 2002-09-20  Mike Sperber <mike@xemacs.org>
6595
6596         (This partially gets back my patch from 2002-07-20 without the
6597         bug.)
6598         * callproc.c (child_setup): Remove Ben's comment noting confusion
6599         over the file descriptors >= 3: close_process_descs() doesn't
6600         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6601         * process-unix.c (unix_create_process): Call
6602         begin_dont_check_for_quit to inhibit unwanted interaction (and
6603         thus breaking of X event synchronicity) in the child.
6604
6605 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6606
6607         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6608         widget.
6609
6610 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6611
6612         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6613         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6614         the xemacs process did not exit, but looped infinitely here.  This
6615         fixes that problem.
6616
6617 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6618
6619         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6620         (find_context): Improve comments.
6621
6622         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6623         (re_match_2): An XCHAR_TABLE operation was missing.
6624
6625         Many of the following changes were inspired by Andy Piper's (now
6626         obsolete) patch to make syntax-table text property lookup optional.
6627
6628         [Documentation]
6629
6630         * syntax.h (top level): Document semantics of syntax flags.
6631         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6632         * syntax.c, syntax.h (top level): Document syntax cache better in
6633         comments.
6634
6635         [Instrument syntax caching (temporary change)]
6636
6637         * syntax.h (enum syntax_cache_statistics_functions, struct
6638         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6639         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6640         * syntax.c (scan_words, Fforward_comment, scan_lists,
6641         Fbackward_prefix_characters):
6642         * font-lock.c (find_context):
6643         Use them to instrument syntax caching. 
6644         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6645         syntax_cache_statistics_function_names): New type and variables.
6646         * syntax.c (update_syntax_cache): Update and report statistics.
6647
6648         [Major syntax cache optimizations]
6649
6650         syntax.c (lookup_syntax_properties): Default off.
6651
6652         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6653         * syntax.c (update_syntax_cache):
6654         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6655
6656         [Minor syntax cache optimizations and code clarifications]
6657
6658         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6659         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6660         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6661         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6662         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6663         (Code clarification.)
6664
6665         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6666         scan_lists): Compute code from syncode, use Boolean macros instead
6667         of redundant masking operations.  (Code clarification; any decent
6668         compiler can do this optimization.)
6669
6670         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6671         for clarity.
6672
6673         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6674         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6675         use F*_single_property_change instead of F*_extent_change.
6676         Currently F*_single_property_change is _much_ less efficient.
6677
6678         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6679         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6680         syntax_cache.object properly, don't leave Qt or Qnil.
6681         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6682         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6683         tests for Qt or Qnil.
6684
6685 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6686
6687         * redisplay.c (point_in_line_start_cache): 
6688         * extents.c (print_extent_1):
6689         Fix warnings.
6690
6691         * extents.c (Fset_extent_property): Document `syntax-table' property.
6692
6693         * extents.h (Fnext_single_property_change): EXFUN it.
6694
6695 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6696
6697         * search.c (clear_unused_search_regs): New static function.
6698         (search_buffer): 
6699         (simple_search): 
6700         (boyer_moore):
6701         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6702         Minor clarifications in comments.
6703
6704         * regex.c (re_match_2_internal): Ensure no stale submatches.
6705
6706 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6707
6708         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6709
6710 2002-08-29  Jerry James  <james@xemacs.org>
6711
6712         * lisp.h: structrures -> structures.
6713
6714 2002-06-03  Andy Piper  <andy@xemacs.org>
6715
6716         * frame.c (frame_conversion_internal): add conversion appropriate
6717         for setting frame dimensions in pixels.
6718
6719         * console.h (struct console_methods): add device-specific widget
6720         layout functions.
6721
6722         * emacs.c (main_1): initialize glyph vars.
6723
6724         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6725         (handle_focus_event_2): new function. Allow focus to
6726         be set to a particular window and widget.
6727         (enqueue_focus_event): new function. Create a
6728         synthetic focus event.
6729         (emacs_Xt_handle_magic_event): call
6730         handle_focus_event_2.
6731
6732         * frame.c (Fset_frame_pixel_height): new function. Allow
6733         pixel-based sizing. Does the right thing on character-oriented
6734         displays.
6735         (Fset_frame_pixel_width): ditto.
6736         (Fset_frame_pixel_size): ditto.
6737         (syms_of_frame): declare.
6738
6739         * general-slots.h: add :vertically-justify and
6740         :horizontally-justify.
6741
6742         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6743         (mswindows_widget_border_width): new function.
6744         (mswindows_combo_box_instantiate): set border widths.
6745         (console_type_create_glyphs_mswindows): declare.
6746
6747         * glyphs-widget.c:
6748         (check_valid_justification): allow vertical and horizontal
6749         justification.
6750         (widget_border_width): new function. Call device methods.
6751         (widget_instance_border_width): ditto.
6752         (logical_unit_height): new function. Determine the height of a
6753         logical-unit. Logical units are intended to provide grid-like
6754         layout for subcontrols in a layout. If the layout is
6755         :vertically-justify top then subcontrols will be positioned on
6756         logical-unit boundaries, thus allowing adjacent subcontrols to
6757         line up.
6758         (widget_logical_unit_height): ditto for widgets.
6759         (redisplay_widget): misc cleanup.
6760         (widget_spacing): new function. Call device specific
6761         methods. Intended to be the default gap between adjacent widgets.
6762         (widget_query_geometry): use new spacing functions to determine
6763         appropriate geometry.
6764         (initialize_widget_image_instance): initialize horizontal and
6765         vertical justification.
6766         (widget_instantiate): use logica-units where appropriate for
6767         sizing large widgets.
6768         (button_query_geometry): use widget_instance_border_width.
6769         (tree_view_query_geometry): ditto.
6770         (tab_control_query_geometry): ditto.
6771         (edit_field_query_geometry): new function.
6772         (layout_update): pick up :justify, :horizontally-justify and
6773         :vertically-justify none of which worked previously. :justify is
6774         used as a fallback for both horizontal and vertical justification.
6775         (layout_query_geometry): use logical units to size appropriately.
6776         (layout_layout): ditto.
6777         (Fwidget_logical_to_character_width): new function. Allow users to
6778         convert from logical units to characters so that frame sizes can
6779         be set appropriately.
6780         (Fwidget_logical_to_character_height): ditto.
6781         (syms_of_glyphs_widget): declare.
6782         (image_instantiator_edit_fields): add edit_field_query_geometry.
6783         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6784         :horizontally-justify.
6785         (specifier_vars_of_glyphs_widget): new function. Declare
6786         Vwidget_border_width which is not yet used.
6787
6788         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6789         (x_widget_border_width): new function.
6790         (x_widget_instantiate): create a sensible name for widgets.
6791         (console_type_create_glyphs_x): declare x_widget_border_width.
6792
6793         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6794         (struct Lisp_Image_Instance): add :vertically-justify and
6795         :horizontally-justify.
6796         (LAYOUT_JUSTIFY_TOP): new.
6797         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6798         (ROUND_UP): new macro. Round argument up to next integral
6799         interval.
6800
6801         * redisplay-output.c (redisplay_output_layout): misc formatting.
6802
6803         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6804
6805 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6806
6807         * XEmacs 21.4.9 "Informed Management" is released.
6808
6809 2002-08-19  Andy Piper  <andy@xemacs.org>
6810
6811         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6812         win32 format.
6813
6814         * realpath.c (xrealpath): normalize drive spec also so that dir
6815         sep chars are not mixed on cygwin.
6816
6817 2002-08-06  Jerry James  <james@xemacs.org>
6818
6819         * window.c (Fsplit_window): Count only half of the divider width
6820         against the left window when splitting horizontally. 
6821
6822 2002-06-24  Andy Piper  <andy@xemacs.org>
6823
6824         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6825         toolbar was cleared.
6826
6827         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6828         function. Split out from mswindows_output_frame_toolbars.
6829         (mswindows_output_frame_toolbars): move clear pieces to
6830         mswindows_output_frame_toolbars.
6831
6832         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6833         out from gtk_output_frame_toolbars.
6834         (gtk_output_frame_toolbars): move clear pieces to
6835         gtk_clear_frame_toolbars.
6836
6837         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6838         the frame is cleared. How this ever worked before is a mystery.
6839         (x_output_frame_toolbars): Only output toolbars.
6840         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6841
6842         * gutter.c (update_gutter_geometry):
6843         Mark frame layout changed.
6844         (update_frame_gutter_geometry, update_frame_gutters):
6845         Respect frame_layout_changed.
6846
6847         * console.h (struct console_methods): add
6848         clear_frame_toolbars_method.
6849
6850         * redisplay.c (redisplay_frame): call
6851         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6852
6853         * toolbar.h: declare update_frame_toolbars_geometry.
6854
6855         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6856         out from update_frame_toolbars.  Call clear_frame_toolbars.
6857         (update_frame_toolbars): only output, do not change geometry.
6858
6859         * redisplay.c: add frame_layout_changed.
6860
6861         * redisplay.h: add frame_layout_changed.
6862         (CLASS_RESET_CHANGED_FLAGS): set it.
6863         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6864         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6865         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6866
6867         * device.h (struct device): add frame_layout_changed.
6868         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6869
6870         * frame.h (struct frame): add frame_layout_changed.
6871         (MARK_FRAME_LAYOUT_CHANGED): new.
6872
6873 2002-06-30  Mike Alexander  <mta@arbortext.com>
6874
6875         * event-msw.c (mswindows_need_event): Don't wait for a new message
6876         if the queue is not empty.  Suggested by Paul Moore.
6877
6878 2002-06-12  Andy Piper  <andy@xemacs.org>
6879
6880         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6881         for printing on accurately.
6882
6883 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6884
6885         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6886         WM_ACTIVATE message. Make sure that the frame is visible if the
6887         window is visible. This seemss to fix the problem where XEmacs
6888         appears to freeze after switching desktops with certain virtual
6889         window managers.
6890         (debug_output_mswin_message): Added code to output message
6891         parameters for WM_WINDOWPOSCHANGED, 
6892         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6893
6894 2002-05-25  Andy Piper  <andy@xemacs.org>
6895
6896         * select-x.c (vars_of_select_x): Fix docstring of
6897         x-selection-strict-motif-ownership
6898
6899 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6900
6901         * keymap.c (get_keymap):
6902         Add comment about do_autoload GCPROs own args.
6903
6904 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6905
6906         * bytecode.c (execute_optimized_program): check_opcode ifdef
6907         ERROR_CHECK_BYTE_CODE.
6908
6909 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6910
6911         Thanks to Ben Wing and Michael Sperber.
6912
6913         * eval.c (Fcommand_execute):
6914         (Feval):
6915         (Ffuncall):
6916         (Fmacroexpand_internal):
6917         (function_argcount):
6918         callint.c (Fcall_interactively):
6919         Add comment about do_autoload GCPROs own args.
6920
6921         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6922
6923         * eval.c (Ffuncall): Extra braces to placate GCC.
6924
6925 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6926
6927         * backtrace.h (grow_specpdl):
6928         (SPECPDL_RESERVE):
6929         * EmacsFrame.c (EmacsFrameSetValues):
6930         * eval.c (grow_specpdl):
6931         * ExternalShell.c (hack_event_masks_1):
6932         * glyphs-x.c (convert_EImage_to_XImage): 
6933         (x_finalize_image_instance):
6934         * ralloc.c (page_size):
6935         (r_alloc_sbrk):
6936         * xgccache.c (gc_cache_hash):
6937         Fix unsigned comparison warnings.
6938
6939 2002-07-29  Jerry James  <james@xemacs.org>
6940
6941         * lread.c (locate_file): Any nonnegative return value indicates
6942         success if MODE is nonnegative.
6943
6944 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6945
6946         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6947         argument. 
6948
6949 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6950
6951         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6952
6953         * dumper.c (pdump_get_indirect_count):
6954         (pdump_scan_by_alignment):
6955         (pdump_dump_root_struct_ptrs):
6956         (pdump_dump_rtables):
6957         (pdump_dump_root_objects):
6958         (pdump):
6959         * nas.c (WaveOpenDataForReading):
6960         * fns.c (print_bit_vector):
6961         * font-lock.c (SINGLE_SYNTAX_STYLE):
6962         * glyphs.c (check_for_ignored_expose):
6963         (find_matching_subwindow):
6964         * glyphs-eimage.c:
6965         * imgproc.c (get_histogram):
6966         * redisplay.c (point_in_line_start_cache):
6967         * redisplay-output.c (redisplay_unmap_subwindows):
6968         * symbols.c (defsymbol_massage_name_1):
6969         (defkeyword_massage_name):
6970         (deferror_massage_name_and_message):
6971         * redisplay-x.c (x_output_string): 
6972         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6973         * frame.h (struct frame):
6974         * filelock.c (current_lock_owner):
6975         * doprnt.c (emacs_doprnt_1):
6976         * lisp.h (struct Lisp_Bit_Vector):
6977         (DO_REALLOC):
6978         Fix warnings.
6979
6980 2002-02-13  Ben Wing  <ben@xemacs.org>
6981
6982         * event-stream.c (reset_key_echo):
6983         * event-stream.c (reset_this_command_keys):
6984         * event-stream.c (execute_command_event):
6985         If console is dead as a result of C-x 5 0, then post-command stuff
6986         needs to be careful and do only non-console-specific stuff.
6987
6988 2002-07-01  Mike Sperber <mike@xemacs.org>
6989
6990         * process-unix.c (unix_send_process): Mark coding_outstream as
6991         non-open upon SIGPIPE.
6992
6993         * event-stream.c (Fnext_event): Reorder switch cases to something
6994         that makes sense.
6995
6996 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6997
6998         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6999         Don't bogusly reinitialize ascii_character property.
7000
7001 2002-07-08  Mike Sperber <mike@xemacs.org>
7002
7003         * process.c (Fstart_process_internal): Do error checking before we
7004         fork off the child, so the child can't muck with the state of the
7005         parent.
7006
7007 2002-07-08  Mike Sperber <mike@xemacs.org>
7008
7009         * ralloc.c (init_ralloc): Allocate properly for pdump.
7010
7011 2002-06-12  Andy Piper  <andy@xemacs.org>
7012
7013         * glyphs.c (query_string_geometry): check the string.
7014
7015         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7016         widget names.
7017
7018 2002-06-17  Jerry James  <james@xemacs.org>
7019
7020         * sysdll.c: Remove RTLD_GLOBAL initialization.
7021         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7022
7023 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7024
7025         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7026
7027 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7028
7029         * sysdep.c (sys_rename): Make sys_rename work for the case where
7030         Windows rename sets errno to EACCES if target file exists.
7031
7032 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7033
7034         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7035         Fix detection of metric units to work on Win95
7036
7037 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7038
7039         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7040
7041 2002-04-25  Andy Piper  <andy@xemacs.org>
7042
7043         * redisplay.c (create_text_block): Remove extra comment trailer.
7044
7045 2002-04-24  Andy Piper  <andy@xemacs.org>
7046
7047         * redisplay.c (create_text_block): Don't actually add propagation
7048         data if the line ends after we have added a glyph.
7049
7050 2002-04-22  Andy Piper  <andy@xemacs.org>
7051
7052         * extents.c (extent_fragment_update): check for glyphs we have
7053         previously displayed.
7054         * extents.c (print_extent_1): warning removal.
7055         * extents.h: change prototype.
7056         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7057         widths correctly for wide glyphs.
7058         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7059         * redisplay.c (prop_type): add PROP_GLYPH.
7060         * redisplay.c (struct prop_block): add glyph type
7061         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7062         to the propagation data.
7063         * redisplay.c (create_text_block): if there is a glyph in the
7064         propagation data use it to salt extent_fragment_update.
7065         * redisplay.c (create_string_text_block): ditto.
7066
7067 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7068
7069         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7070         * redisplay-output.c (compare_runes): Compare them.
7071         * redisplay.c: Update copyright date.
7072         * redisplay.c (pos_data): Add need_baseline_computation field.
7073         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7074         need_baseline_computation; zero yoffset. Set max_pixmap_height
7075         for all pixmaps, not just automatically positioned ones.
7076         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7077         * redisplay.c (calculate_baseline): New, compute textual baseline.
7078         * redisplay.c (add_glyph_rune): Call them.
7079         * redisplay.c (create_text_block): Likewise.
7080         * redisplay.c (create_overlay_glyph_block): Likewise.
7081         * redisplay.c (add_margin_runes): Likewise.
7082         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7083
7084         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7085         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7086         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7087         * redisplay-msw.c (mswindows_output_string): Likewise.
7088         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7089         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7090         * redisplay-x.c (x_output_display_block): Likewise.
7091
7092 2002-03-28  Ben Wing  <ben@xemacs.org>
7093
7094         * redisplay.c: Fixed bug in redisplay
7095         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7096         and down of the lines, since they're bigger than the line
7097         size. (It was seen most obviously when there's a horizontal scroll
7098         bar, e.g. do C-h a glyph or something like that.) The problem was
7099         that the glyph-contrib-p setting on glyphs was ignored even if it
7100         was set properly, which it wasn't until now.
7101
7102 2002-04-24  Andy Piper  <andy@xemacs.org>
7103
7104         * lisp.h (Dynarr_end): Fix definition.
7105
7106 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7107
7108         * redisplay.c (mark_redisplay): Remove call to
7109         update_frame_window_mirror.
7110
7111 2001-11-15  Andy Piper  <andy@xemacs.org>
7112
7113         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7114         cygwin (again).
7115
7116 2002-02-13  Andy Piper  <andy@xemacs.org>
7117
7118         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7119         we did in fact enqueue the XM_MAPFRAME event.
7120
7121 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7122
7123         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7124         to fix problem switching between virtual desktops under virtuawin
7125         virtual window manager.
7126
7127 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7128
7129         * event-msw.c: Typo fix.
7130         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7131         magic XM_MAPFRAME event has been sent.
7132
7133 2001-11-23  Andy Piper  <andy@xemacs.org>
7134
7135         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7136
7137 2001-11-21  Andy Piper  <andy@xemacs.org>
7138
7139         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7140         mouse events outside the frame.
7141
7142 2002-03-20  Andy Piper  <andy@xemacs.org>
7143
7144         * menubar-msw.c (mswindows_popup_menu): warning removal.
7145         * dialog-msw.c (dialog_popped_down): ditto.
7146
7147 2001-12-11  Andy Piper  <andy@xemacs.org>
7148
7149         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7150         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7151         popup_up_p.
7152         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7153         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7154         * menubar-msw.c (mswindows_popup_menu): ditto.
7155
7156 2001-10-29  Andy Piper  <andy@xemacs.org>
7157
7158         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7159         cancels.
7160
7161 2002-01-03  Andy Piper  <andy@xemacs.org>
7162
7163         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7164         letters.
7165         (xrealpath): ditto.
7166
7167 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7168
7169         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7170         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7171         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7172         Detect and handle case where machine is set up for metric units
7173
7174 2002-04-02  Andy Piper  <andy@xemacs.org>
7175
7176         * dired-msw.c (mswindows_get_files): 
7177         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7178         completely handled by XEmacs. Suggested by Thomas Vogler
7179         <mail@thomas-vogler.de>.
7180
7181 2001-11-14  Andy Piper  <andy@xemacs.org>
7182
7183         * nt.c (REG_ROOT): change registry key to XEmacs.
7184
7185 2002-04-27  Andy Piper  <andy@xemacs.org>
7186
7187         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7188
7189 2002-04-26  Andy Piper  <andy@xemacs.org>
7190
7191         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7192         behavior.
7193
7194 2002-03-14  Mike Alexander  <mta@arbortext.com>
7195
7196         * event-msw.c (mswindows_unwait_process): New, remove process from
7197         wait list
7198         * process-nt.c (nt_finalize_process_data): Call
7199         mswindows_unwait_process
7200         * console-msw.h: Declare mswindows_unwait_process
7201
7202 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7203
7204         * editfns.c (Fdecode_time):
7205         (Fformat_time_string):
7206         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7207         (make_time): Warning elimination (change arg name).
7208
7209 2001-11-24  Andy Piper  <andy@xemacs.org>
7210
7211         * window.c (Fsplit_window): Doc return type.
7212
7213 2002-04-01  Andy Piper  <andy@xemacs.org>
7214
7215         * emacs.c (Fkill_emacs): Only output message box in interactive
7216         mode.
7217
7218 2002-04-26  Andy Piper  <andy@xemacs.org>
7219  
7220         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7221         cygwin.
7222
7223 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7224
7225         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7226         bit platform.
7227
7228 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7229
7230         * XEmacs 21.4.8 "Honest Recruiter" is released.
7231
7232 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7233
7234         Supersedes 2002-04-17 patch.
7235
7236         * process.h (PROCESS_LIVE_P): Use the process status as
7237         evidence of health, not the state of the input stream.
7238         (PROCESS_READABLE_P): Say if the process is readable
7239         from. (It may be dead nonetheless.)
7240         (CHECK_READABLE_PROCESS): Test for that condition.
7241
7242         * process.c (create_process): Use PROCESS_READABLE_P.
7243         (read_process_output, set_process_filter): Likewise.
7244
7245         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7246         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7247
7248         This code is #if 0'd, this is not the time to add new functions:
7249
7250         * process.c (Fprocess_readable_p): Report readability status.
7251         * process.c (Qprocess_readable_p): New, associated symbol...
7252         * process.c (syms_of_process): ... initialize it.
7253
7254 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7255
7256         * XEmacs 21.4.7 "Economic Science" is released.
7257
7258 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7259
7260         * process.h (PROCESS_LIVE_P): Use the process status as
7261         evidence of health, not the state of the input stream.
7262
7263 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7264
7265         * sysdep.c (sys_siglist): change "signum" to "signal"
7266
7267 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7268
7269         * s/darwin.h: New file.
7270         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7271         
7272 2002-04-23  Andreas Jaeger  <aj@suse.de>
7273
7274         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7275         which use lib64 for 64-bit libs.
7276         (START_FILES): Likewise.
7277
7278 2002-02-11  Mike Sperber  <mike@xemacs.org>
7279
7280         * device-x.c: 
7281         (x_IO_error_handler):
7282         (x_init_device): Temporarily keep device in static variable
7283         `device_being_initialized' so we can recover gracefully from
7284         internal XOpenDevice failure.  (XOpenDevice is documented to
7285         return NULL on failure, but sometimes calls the IO error handler
7286         instead.)
7287
7288 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7289
7290         * dired.c (Ffile_name_all_completions): Change documentation --
7291         remove reference to completion-ignored-extensions.
7292         * dired.c (vars_of_dired): Change documentation for
7293         completion-ignored-extensions -- remove reference to
7294         file-name-all-completions.
7295
7296 2002-03-06  Jerry James  <james@xemacs.org>
7297
7298         * emodules.c (emodules_load): Fix multiple loading of same module.
7299
7300 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7301         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7302         RTLD_LAZY to avoid incorrect symbol binding when using nested
7303         shared libraries on Solaris.
7304
7305 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7306
7307         * fileio.c (Ffind_file_name_handler): Improve docstring.
7308
7309 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * fns.c (Fmapconcat): Improve docstring.
7312
7313 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7314
7315         * device-gtk.c: Add prototype for
7316         emacs_gtk_selection_clear_event_handle.
7317         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7318         selection.  Setup signal handler for "selection_clear_event"
7319         (emacs_gtk_selection_clear_event_handle).
7320
7321         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7322         other applications owning the clipboard (based on
7323         x_handle_selection_clear).
7324
7325 2001-12-23  William M. Perry  <wmperry@gnu.org>
7326
7327         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7328         
7329 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7330
7331         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7332
7333 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7334
7335         * XEmacs 21.4.6 "Common Lisp" is released.
7336
7337 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7338
7339         * search.c (Freplace_match): Add missing sub-expression functionality.
7340
7341         * buffer.c (decode_buffer): Add a check for pointer type to
7342         decode_buffer, before gcc's CSE optimization reorders a
7343         dereference in front of the allow_string test.
7344
7345 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7346
7347         * window.c (window_loop): Fix bug that sometimes prevented
7348         window_loop() from iterating across multiple devices.  Also, at
7349         Ben's request, changed infloop-detecting code to abort() instead
7350         of silently terminating window_loop().
7351
7352 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7353
7354         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7355         * editfns.c (make_time): New function.
7356         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7357         * lisp.h (make_time): Prototype and comment it.
7358         * dired.c (wasteful_word_to_lisp): Deprecate.
7359         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7360
7361 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7362
7363         * fileio.c (auto_save_1): Use current coding system, not
7364         escape-quoted.
7365
7366 2001-11-13  Ben Wing  <ben@xemacs.org>
7367
7368         * window.c:
7369         * window.c (window_truncation_on):
7370         * window.c (syms_of_window):
7371         truncate-partial-width-windows should respect the buffer being
7372         displayed, like other redisplay vars.
7373
7374 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7375
7376         * event-stream.c (Fread_key_sequence): save current buffer.
7377
7378 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7379
7380         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7381
7382 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7383
7384         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7385
7386 2001-10-26  Mike Alexander  <mta@arbortext.com>
7387
7388         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7389
7390 2001-10-25  Andy Piper  <andy@xemacs.org>
7391
7392         * ChangeLog:
7393         * dialog-msw.c (handle_directory_proc): new function.
7394          (handle_directory_dialog_box): new fucntion.
7395          (handle_file_dialog_box): use new directory dialog support.
7396          (mswindows_make_dialog_box_internal): ditto.
7397         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7398         handling.
7399         (mswindows_find_frame): make global.
7400         * fileio.c (Fexpand_file_name): build fix.
7401         * general-slots.h: add Qdirectory.
7402         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7403         handling.
7404         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7405         cygwin not leaving win32 paths unchanged.
7406         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7407         cygwin runtime to do path conversion.
7408         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7409         (syms_of_win32): add new function.
7410         * window.c (window_loop): build fix.
7411
7412 2001-10-15  Andy Piper  <andy@xemacs.org>
7413
7414         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7415
7416 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7417
7418         * XEmacs 21.4.5 "Civil Service" is released.
7419
7420 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7421
7422         * glyphs-x.c: Force buffer-tab highlight update when moving the
7423         buffer, avoiding an ugly black border, used for keyboard focus
7424         indication, on a widget that can never have keyboard focus, the
7425         buffer tab.
7426
7427 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7428
7429         * process-unix.c (unix_open_multicast_group): Remove too much
7430         conversion between host and network byte order.
7431
7432 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7433
7434         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7435         before replacing them.
7436
7437         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7438         operation.
7439
7440         * src/window.c (undedicate_windows): Use it.
7441         * src/window.h: Add prototype.
7442
7443 2001-09-17  Ben Wing  <ben@xemacs.org>
7444
7445         * fileio.c (normalize_filename):
7446         * fileio.c (Fexpand_file_name):
7447         Fix various C++ compile errors in Andy's recent code.
7448         
7449         * callint.c (Fcall_interactively):
7450         * editfns.c (Ftemp_directory):
7451         * editfns.c (Fuser_full_name):
7452         * emacs.c (argmatch):
7453         * lread.c (locate_file_map_suffixes):
7454         * redisplay-x.c (x_ring_bell):
7455         Fix sign-compare warnings.
7456         
7457 2001-09-08  Andy Piper  <andy@xemacs.org>
7458
7459         * fileio.c (normalize_filename): copied from nt.c
7460         * (Ffile_name_directory): enable win32 paths under cygwin.
7461         * (Ffile_name_nondirectory): ditto.
7462         * (directory_file_name): ditto.
7463         * (Fexpand_file_name): ditto.
7464         * (Ffile_truename): ditto.
7465         * (Fsubstitute_in_file_name): ditto.
7466         * (Ffile_name_absolute_p): ditto.
7467         * (Ffile_readable_p): ditto.
7468
7469 2001-09-08  Andy Piper  <andy@xemacs.org>
7470
7471         * device-msw.c (mswindows_finish_init_device): remove dde
7472         initialization.
7473         * device-msw.c (mswindows_init_dde): factor out from
7474         mswindows_finish_init_device()
7475         * device-msw.c (init_mswindows_very_early): new function
7476         initialize but don't enable dde.
7477         * emacs.c (main_1): call init_mswindows_very_early.
7478         * event-msw.c:
7479         * event-msw.c (mswindows_dde_callback): only execute when we are
7480         ready.
7481         * symsinit.h: declare init_mswindows_very_early.
7482
7483 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7484
7485         [sjt: This has been in 21.5 for months with no complaints.]
7486
7487         * console.h (struct console_methods): Added flags member.
7488         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7489         (CONMETH_IMPL_FLAG):
7490         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7491         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7492
7493         * device.c (window_system_pixelated_geometry): Use the above macros.
7494
7495         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7496         implememntation flag.
7497         * device.h (DEVICE_DISPLAY_P): Use it.
7498
7499         * frame.c (delete_frame_internal): Use the above macro.
7500
7501         * redisplay.c (redisplay_device): Use it.
7502         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7503         (redisplay_frame): Ditto.
7504
7505         * device-msw.c (mswindows_device_implementation_flags): Removed.
7506         (msprinter_device_implementation_flags): Removed.
7507         (console_type_create_device_mswindows): Removed references to
7508         implementation_flags methods, set implementation flags here.
7509         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7510
7511         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7512         (console_type_create_device_gtk): Removed method declaration.
7513         Added commented out statement which semantically matches the
7514         commented out statement in the above removed method.
7515
7516 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7517
7518         The attached patch fixes a few warnings. 
7519
7520         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7521         * src/frame-gtk.c: guard against GNOME calls in GTK only
7522         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7523         * src/select-gtk.c: prototype lisp_to_time
7524
7525 2001-06-08  Ben Wing  <ben@xemacs.org>
7526
7527         ------ gc-in-window-procedure fixes ------
7528         
7529         * alloc.c:
7530         * alloc.c (struct post_gc_action):
7531         * alloc.c (register_post_gc_action):
7532         * alloc.c (run_post_gc_actions):
7533         * alloc.c (garbage_collect_1):
7534         Create "post-gc actions", to avoid those dreaded "GC during window
7535         procedure" problems.
7536
7537         * event-msw.c:
7538         Abort, clean and simple, when GC in window procedure.  We want
7539         to flush these puppies out.
7540
7541         * glyphs-msw.c:
7542         * glyphs-msw.c (finalize_destroy_window):
7543         * glyphs-msw.c (mswindows_finalize_image_instance):
7544         Use a post-gc action when destroying subwindows.
7545
7546         * lisp.h:
7547         Declare register_post_gc_action().
7548
7549         * scrollbar-msw.c:
7550         * scrollbar-msw.c (unshow_that_mofo):
7551         Use a post-gc action when unshowing scrollbar windows, if in gc.
7552
7553         * redisplay.c (mark_redisplay):
7554         Add comment about the utter evilness of what's going down here.
7555
7556         ------ cygwin setitimer fixes ------
7557         
7558         * Makefile.in.in (sheap_objs):
7559         * Makefile.in.in (profile_objs):
7560         * Makefile.in.in (objs):
7561         Compile profile.c only when HAVE_SETITIMER.
7562         
7563         * nt.c (mswindows_sigset):
7564         * nt.c (mswindows_sighold):
7565         * nt.c (mswindows_sigrelse):
7566         * nt.c (mswindows_sigpause):
7567         * nt.c (mswindows_raise):
7568         * nt.c (close_file_data):
7569         Style fixes.
7570         
7571         * nt.c:
7572         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7573         
7574         * profile.c:
7575         * profile.c (Fstart_profiling):
7576         * profile.c (Fstop_profiling):
7577         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7578         instead of just plain setitimer().
7579         
7580         * signal.c:
7581         * signal.c (set_one_shot_timer):
7582         * signal.c (alarm):
7583         Define qxe_setitimer() as an encapsulation around setitimer() --
7584         call setitimer() directly unless Cygwin or MS Win, in which case
7585         we use our simulated version in win32.c.
7586         
7587         * systime.h:
7588         * systime.h (struct itimerval):
7589         * systime.h (ITIMER_REAL):
7590         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7591         comment about "qxe" and the policy regarding encapsulation.
7592
7593         * win32.c:
7594         * win32.c (setitimer_helper_proc):
7595         * win32.c (setitimer_helper_period):
7596         * win32.c (setitimer_helper):
7597         * win32.c (mswindows_setitimer):
7598         Move setitimer() emulation here, so Cygwin can use it.
7599         Rename a couple of functions and variables to be longer and more
7600         descriptive.  In setitimer_helper_proc(), send the signal
7601         using either mswindows_raise() or (on Cygwin) kill().  If for
7602         some reason we are still getting lockups, we'll change the kill()
7603         to directly invoke the signal handlers.
7604
7605         ------ windows shell fixes ------
7606         
7607         * callproc.c:
7608         * ntproc.c:
7609         Comments about how these two files must die.
7610
7611         * callproc.c (init_callproc):
7612         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7613         not just COMSPEC. (more correct and closer to FSF.) Don't
7614         force a value for SHELL into the environment. (Comments added
7615         to explain why not.)
7616         
7617         * nt.c (init_user_info):
7618         Don't shove a fabricated SHELL into the environment.  See above.
7619
7620 2001-06-01  Ben Wing  <ben@xemacs.org>
7621
7622         * Makefile.in.in (ldflags):
7623         eliminate that pesky "defaulting to 00401000" warning.
7624         * nt.h:
7625         eliminate warnings.
7626
7627 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7628
7629         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7630         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7631
7632 2001-04-24  Jerry James <james@xemacs.org>
7633
7634         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7635         correct order.
7636
7637 2001-06-01  Ben Wing  <ben@xemacs.org>
7638
7639         * event-msw.c (debug_mswin_messages):
7640         conditionalize the messages that were causing compile errors.
7641         (if only macros could generate #ifdef statements ...)
7642
7643 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7644
7645         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7646
7647 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7648
7649         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7650
7651 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7652
7653         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7654         * process-unix.c (unix_canonicalize_host_name):
7655         sysdep.c (init_system_name):
7656         Use it to conditionally support IPv6 canonicalization.
7657
7658 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7659
7660         * event-msw.c:
7661         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7662
7663 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7664
7665         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7666         attempt is made to scroll when no scroll bar is available.
7667
7668 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7669
7670         * input-method-motif.c (XIM_delete_frame): New callback.
7671         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7672         got deleted from 21.4.3.)
7673
7674 2001-06-01  Ben Wing  <ben@xemacs.org>
7675
7676         * nt.c (mswindows_utime):
7677         * nt.c (close_file_data):
7678         fix off-by-one-indirection error.
7679
7680 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7681
7682         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7683         because set_file_times() now takes Lisp_Object path, instead of
7684         char*.
7685         * nt.c: Include buffer.h.
7686         * nt.c (convert_from_time_t): New.
7687         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7688         not set mtime correctly.
7689         * nt.h: Declare mswindows_utime().
7690         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7691         path, instead of char*.
7692         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7693
7694 2001-05-30  Ben Wing  <ben@xemacs.org>
7695
7696         For 21.4:
7697
7698         (Stephen, just take all event-msw.c patches.  This includes
7699         the "iconify" fix below.)
7700
7701         * event-msw.c:
7702         * event-msw.c (mswindows_dequeue_dispatch_event):
7703         * event-msw.c (assert):
7704         * event-msw.c (emacs_mswindows_quit_p):
7705         * event-msw.c (debug_mswin_messages):
7706         * event-msw.c (debug_output_mswin_message):
7707         * event-msw.c (vars_of_event_mswindows):
7708         Fix yet more problems with C-g handling.
7709         Implement debug-mswindows-events.
7710         
7711 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7712
7713         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7714         
7715 2001-05-23  Ben Wing  <ben@xemacs.org>
7716
7717         * event-msw.c (winsock_writer):
7718         * event-msw.c (winsock_closer):
7719         prior kludgy code was clobbering the buffer, thinking it was
7720         "unused" space to store an unneeded return value; instead, use
7721         the variable we've already got staring us in the face.
7722
7723 2001-05-17  Andy Piper  <andy@xemacs.org>
7724
7725         * sysfile.h: don't assume that file attributes are boolean
7726
7727 2001-05-23  Ben Wing  <ben@xemacs.org>
7728
7729         * device-msw.c (msprinter_init_device):
7730         signal an error rather than crash with an unavailable network
7731         printer (from Mike Alexander).
7732         
7733         * event-msw.c:
7734         * event-msw.c (struct winsock_stream):
7735         * event-msw.c (winsock_writer):
7736         * event-msw.c (winsock_closer):
7737         * event-msw.c (make_winsock_stream_1):
7738         cleanup headers.  fix (hopefully) an error with data corruption
7739         when sending to a network connection.
7740
7741         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7742         to handle the ~user prefix by (a) always assuming we're referencing
7743         ourselves and not even verifying the user -- hence any file with
7744         a tilde as its first char is invalid! (b) if there wasn't a slash
7745         following the filename, the pointer was set *past* the end of
7746         file and we started reading from uninitialized memory.  Now we
7747         simply treat these as files, always.
7748
7749         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7750         
7751 2001-05-19  Ben Wing  <ben@xemacs.org>
7752
7753         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7754
7755         * process-nt.c:
7756         * process-nt.c (vars_of_process_nt):
7757         remove unused mswindows-quote-process-args.  rec for 21.4.
7758         
7759 2001-05-12  Ben Wing  <ben@xemacs.org>
7760
7761         * event-msw.c (mswindows_dde_callback):
7762         * event-msw.c (mswindows_wnd_proc):
7763         eliminate cygwin warnings.
7764
7765 2001-05-06  Ben Wing  <ben@xemacs.org>
7766
7767         * console-msw.h:
7768         * device-msw.c:
7769         * device-msw.c (print_dialog_worker):
7770         * device-msw.c (mswindows_handle_print_dialog_box):
7771         * device-msw.c (syms_of_device_mswindows):
7772         * dialog-msw.c (mswindows_make_dialog_box_internal):
7773         * general-slots.h:
7774         implement printing the selection when it's selected.
7775
7776 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7777
7778         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7779
7780 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7781
7782         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7783         EMACS_INT is signed.
7784
7785 2001-04-15  Michael Lausch  <mla@1012surf.net>
7786
7787         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7788         gtk_widget_request_size() to give scrollbar >0 width for
7789         GTK >1.2.8.
7790
7791 2001-05-30  William M. Perry  <wmperry@gnu.org>
7792
7793         * event-gtk.c: Check for buttons as modifier keys.
7794
7795 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7796
7797         * s\mingw32.h:
7798         Properly find MinGW's <process.h> inside Cygwin's restructured
7799         include directories.  Don't try to include <cygwin/version.h>
7800         since we are dropping support for MinGW in versions of Cygwin
7801         earlier than b21.
7802         * nt.c:
7803         Drop support for MinGW in versions of Cygwin before b21.
7804         * sysdep.c:
7805         Properly find MinGW's <process.h> inside Cygwin's restructured
7806         include directories.
7807         * syswindows.h:
7808         Drop support for MinGW in versions of Cygwin before b21.
7809         * unexcw.c:
7810         Even though a.out.h is no longer detected by configure, allow
7811         MinGW to use it until we figure out how to do the job with Win32.
7812
7813 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7814
7815         * syntax.c (find_start_of_comment):
7816         Fix `unbalanced parentheses' bug when dealing with mixed comment
7817         styles in c++/java/etc. mode
7818
7819 2001-05-29  Mike Alexander  <mta@arbortext.com>
7820
7821         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7822         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7823
7824 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7825
7826         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7827
7828 2001-03-31  Mike Sperber <mike@xemacs.org>
7829
7830         * search.c (Freplace_match): Support FSF-style specification of
7831         match subexpression when applied to a buffer.
7832
7833 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7834
7835         * event-stream.c (is_scrollbar_event): add missing semicolon
7836
7837 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7838
7839         * Makefile.in.in: Use TAR macro instead of hardcoding
7840           tar.  Allows use of GNU tar instead of system tar
7841
7842 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7843
7844         * event-stream.c (is_scrollbar_event): add missing semicolon
7845
7846 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7847
7848         * XEmacs 21.4.3 "Academic Rigor" is released.
7849
7850 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7851
7852         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7853
7854 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7855
7856         * buffer.c (Vcase_fold_search): Remove obsolete
7857           comment about non ASCII case-fold-search.  This
7858           bug has been fixed by case-table changes.
7859
7860 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7861
7862         * event-msw.c: Restore include of events-mod.h.
7863
7864 2001-04-22   zhaoway  <zw@debian.org>
7865
7866         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7867         !HAVE_SCROLLBARS.
7868
7869 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7870
7871         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7872
7873 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7874
7875         * mule-charset.c (Fmake_charset): Add missing else.
7876
7877 2001-04-23  Ben Wing  <ben@xemacs.org>
7878
7879         * event-msw.c (FAKE_MOD_QUIT):
7880         * event-msw.c (mswindows_dequeue_dispatch_event):
7881         * event-msw.c (mswindows_wnd_proc):
7882         * event-msw.c (emacs_mswindows_quit_p):
7883         Get critical quit working.
7884
7885 2001-05-05  Ben Wing  <ben@xemacs.org>
7886
7887         * console-msw.h:
7888         * device-msw.c:
7889         * device-msw.c (mswindows_get_default_margin):
7890         * frame-msw.c (mswindows_size_frame_internal):
7891         * frame-msw.c (msprinter_init_frame_1):
7892         * frame-msw.c (vars_of_frame_mswindows):
7893         Change top/bottom margin defaults to 0.5 inches.
7894
7895 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7896
7897         Fix link error with gcc 3.0 on Linux.
7898         * terminfo.c (UP): Remove.
7899         * terminfo.c (BC): Remove.
7900         * terminfo.c (PC): Remove.
7901         They weren't used, and in any case, these symbols should be
7902         defined in the *library*.
7903
7904 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7905
7906         * s/aix4.h: Fix crash with xlc -O3.
7907         Improve comment explaining how -O3 works.
7908
7909 2001-04-15  Ben Wing  <ben@xemacs.org>
7910
7911         * event-stream.c:
7912         * event-stream.c (Fnext_event):
7913         * event-stream.c (is_scrollbar_event):
7914         * event-stream.c (execute_command_event):
7915         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7916         crash' problem.  His fix introduces other problems.  We filter
7917         out scrollbar events specifically, making them somewhat invisible
7918         to command-building, and not appearing in `this-command-keys'.
7919         More work is still needed (see comments in event-stream.c), but
7920         this fixes all the major problems.
7921
7922 2001-04-20  Ben Wing  <ben@xemacs.org>
7923
7924         * .cvsignore: Added stuff for Windows.
7925
7926 2001-04-28  Ben Wing  <ben@xemacs.org>
7927
7928         * buffer.c (Ferase_buffer):
7929         * editfns.c (buffer_insert1):
7930         * editfns.c (Finsert_before_markers):
7931         * editfns.c (Finsert_string):
7932         * editfns.c (Finsert_char):
7933         * editfns.c (Fdelete_region):
7934         * editfns.c (Fwiden):
7935         * editfns.c (Fnarrow_to_region):
7936         remove bogus lines setting zmacs_region_stays to 0.
7937         
7938 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7939
7940         * process-unix.c (unix_open_network_stream): If connect() fails
7941         invalidate file descriptor after closing it.
7942
7943 2001-03-08  Mike Alexander  <mta@arbortext.com>
7944
7945         * event-msw.c (mswindows_need_event_in_modal_loop):
7946         Don't dispatch a message if we didn't get one.
7947         (mswindows_need_event):
7948         Terminate the correct process when one exits instead of the first
7949         one on Vprocess_list and look for process termination when in
7950         mswindows_protect_modal_loop.
7951
7952 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7953
7954         * XEmacs 21.4.1 "Copyleft" is released.
7955
7956 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7957
7958         * input-method-motif.c (XIM_delete_frame): New callback.
7959         (XIM_init_frame): Register it.
7960
7961 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7962
7963         * XEmacs 21.4.0 "Solid Vapor" is released.
7964
7965 2001-04-15  Ben Wing  <ben@xemacs.org>
7966
7967         * cmdloop.c (call_command_loop):
7968         Fix braino in bit-rotting code.
7969         
7970 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7971
7972         * extents.c (Fset_extent_endpoints): Force creation of extent info
7973         in buffer_or_string.
7974
7975         * extents.c (process_extents_for_insertion_mapper): Correctly
7976         check for open-open zero-length extents.
7977
7978 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7979
7980         * lisp.h: New typedefs Memory_count, Element_count.
7981         * regex.c:
7982         * regex.h:
7983         Sign-compare warning elimination: several unsigned -> signed.
7984         Based on work by Ben Wing <ben@xemacs.org>.
7985
7986 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7987
7988         * XEmacs 21.2.47 "Zephir" is released.
7989
7990 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7991
7992         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7993
7994 2001-04-03  Mike Sperber <mike@xemacs.org>
7995
7996         * search.c: Revert previous patch due because of release.
7997
7998 2001-03-30  Ben Wing  <ben@xemacs.org>
7999
8000         * s\cygwin32.h:
8001         Add missing killpg prototype.
8002
8003         * elhash.c:
8004         Add a comment about fixing problems when a new entry is added
8005         while mapping.
8006
8007         * frame-msw.c (mswindows_init_frame_1):
8008         Fix compile warnings.
8009
8010         * menubar.c (vars_of_menubar):
8011         Provide `menu-accelerator-support' to indicate that we properly
8012         support %_ in menu specifications, so that package code can
8013         conditionalize on this (and remove %_ from menu specifications
8014         on older versions).
8015
8016         * event-msw.c:
8017         * scrollbar-msw.c:
8018         * scrollbar-msw.c (can_scroll):
8019         * scrollbar-msw.h:
8020         Fix handling of mouse wheel under Windows to follow standards --
8021         now scrolls window under pointer, not selected window.
8022
8023 2001-03-31  Mike Sperber <mike@xemacs.org>
8024
8025         * search.c (Freplace_match): Support FSF-style specification of
8026         match subexpression when applied to a buffer.
8027
8028 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8029
8030         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8031         function to modify KEYMAP, so map over a copy of the hash table.
8032
8033 2001-03-21  Martin Buchholz <martin@xemacs.org>
8034
8035         * XEmacs 21.2.46 "Urania" is released.
8036
8037 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8038
8039         * realpath.c (xrealpath): Make file-truename work with symlinks to
8040         /cygdrive paths on cygwin. Always lowercase drive-letters on
8041         native windows.
8042         (cygwin_readlink): Don't try to find canonical filename unless
8043         file exists.
8044
8045 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8046
8047         * ChangeLog: Log GTK merge.
8048
8049         * dumper.c:
8050         * select-x.c:
8051         * specifier.c:
8052         * symeval.h:
8053         Revert gratuitous whitespace changes from GTK merge.
8054
8055         * emacs.c: Document end of complex #ifdef @ l. 1495.
8056
8057
8058 2001-03-12  Andy Piper  <andy@xemacs.org>
8059
8060         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8061         have to do likewise.
8062
8063 2001-03-12  Andy Piper  <andy@xemacs.org>
8064
8065         * sysdep.c: we only support mingw now.
8066
8067 2001-03-09  Andy Piper  <andy@xemacs.org>
8068
8069         * unexcw.c (copy_executable_and_dump_data_section): making approx
8070         overrun a warning only.
8071
8072 2001-03-10  William M. Perry  <wmperry@aventail.com>
8073
8074         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8075         satisfy Stephen's identical-after-cpp plea.
8076
8077 2001-03-02  Ben Wing  <ben@xemacs.org>
8078
8079         * cmds.c:
8080         * cmds.c (Fforward_char):
8081         * syntax.c:
8082         * window.c:
8083
8084         Augment documentation of the most common motion commands to make
8085         note of the shifted-motion support.
8086         
8087 2001-03-02  Ben Wing  <ben@xemacs.org>
8088
8089         * nt.c (mswindows_fstat):
8090         * nt.c (mswindows_stat):
8091         * search.c (boyer_moore):
8092         Fix compile warnings under Windows.
8093         
8094         * sysdep.c (sys_readdir):
8095         Fix buggy filename-conversion code under Mule.
8096
8097 2001-03-09  William M. Perry  <wmperry@aventail.com>
8098
8099         * Makefile.in.in:
8100         * config.h.in:
8101         * console.c:
8102         * console.h:
8103         * device.c:
8104         * device.h:
8105         * dragdrop.c:
8106         * emacs.c:
8107         * event-stream.c:
8108         * events.c:
8109         * events.h:
8110         * faces.c:
8111         * frame.h:
8112         * general-slots.h:
8113         * glyphs.c:
8114         * gutter.c:
8115         * inline.c:
8116         * lisp.h:
8117         * lrecord.h:
8118         * make-src-depend:
8119         * redisplay-output.c:
8120         * redisplay.c:
8121         * symsinit.h:
8122         * sysfile.h:
8123         * toolbar.c:
8124         * window.c:
8125         The Great GTK Merge.
8126
8127         * ChangeLog.GTK:
8128         * console-gtk.c:
8129         * console-gtk.h:
8130         * device-gtk.c:
8131         * emacs-marshals.c:
8132         * emacs-widget-accessors.c:
8133         * event-gtk.c:
8134         * frame-gtk.c:
8135         * gccache-gtk.c:
8136         * gccache-gtk.h:
8137         * glade.c:
8138         * glyphs-gtk.c:
8139         * glyphs-gtk.h:
8140         * gtk-glue.c:
8141         * gtk-xemacs.c:
8142         * gtk-xemacs.h:
8143         * gui-gtk.c:
8144         * gui-gtk.h:
8145         * menubar-gtk.c:
8146         * native-gtk-toolbar.c:
8147         * objects-gtk.c:
8148         * objects-gtk.h:
8149         * redisplay-gtk.c:
8150         * scrollbar-gtk.c:
8151         * scrollbar-gtk.h:
8152         * select-gtk.c:
8153         * toolbar-gtk.c:
8154         * ui-byhand.c:
8155         * ui-gtk.c:
8156         * ui-gtk.h:
8157         The Great GTK Merge: new files.
8158
8159 2001-02-26  Ben Wing  <ben@xemacs.org>
8160
8161         Reapplied Lstream change.
8162
8163 2001-02-26  Ben Wing  <ben@xemacs.org>
8164
8165         Undid the last change, since it is more controversial than I
8166         thought.  It should be back in at some point soon.
8167         
8168 2001-02-25  Ben Wing  <ben@xemacs.org>
8169
8170         * buffer.c:
8171         * callproc.c (Fold_call_process_internal):
8172         * event-msw.c (ntpipe_slurp_reader):
8173         * event-msw.c (ntpipe_shove_writer):
8174         * event-msw.c (winsock_reader):
8175         * event-msw.c (winsock_writer):
8176         * file-coding.c:
8177         * file-coding.c (detect_eol_type):
8178         * file-coding.c (detect_coding_type):
8179         * file-coding.c (determine_real_coding_system):
8180         * file-coding.c (Fdetect_coding_region):
8181         * file-coding.c (decoding_reader):
8182         * file-coding.c (decoding_writer):
8183         * file-coding.c (mule_decode):
8184         * file-coding.c (Fdecode_coding_region):
8185         * file-coding.c (encoding_reader):
8186         * file-coding.c (encoding_writer):
8187         * file-coding.c (mule_encode):
8188         * file-coding.c (Fencode_coding_region):
8189         * file-coding.c (detect_coding_sjis):
8190         * file-coding.c (decode_coding_sjis):
8191         * file-coding.c (encode_coding_sjis):
8192         * file-coding.c (detect_coding_big5):
8193         * file-coding.c (decode_coding_big5):
8194         * file-coding.c (encode_coding_big5):
8195         * file-coding.c (detect_coding_ucs4):
8196         * file-coding.c (decode_coding_ucs4):
8197         * file-coding.c (encode_coding_ucs4):
8198         * file-coding.c (detect_coding_utf8):
8199         * file-coding.c (decode_coding_utf8):
8200         * file-coding.c (encode_coding_utf8):
8201         * file-coding.c (detect_coding_iso2022):
8202         * file-coding.c (decode_coding_iso2022):
8203         * file-coding.c (encode_coding_iso2022):
8204         * file-coding.c (decode_coding_no_conversion):
8205         * file-coding.c (encode_coding_no_conversion):
8206         * glyphs-x.c (write_lisp_string_to_temp_file):
8207         * gpmevent.c (tty_get_foreign_selection):
8208         * lisp.h:
8209         * lstream.c:
8210         * lstream.c (Lstream_flush_out):
8211         * lstream.c (Lstream_adding):
8212         * lstream.c (Lstream_write_1):
8213         * lstream.c (Lstream_write):
8214         * lstream.c (Lstream_raw_read):
8215         * lstream.c (Lstream_read_more):
8216         * lstream.c (Lstream_read):
8217         * lstream.c (Lstream_unread):
8218         * lstream.c (Lstream_fputc):
8219         * lstream.c (stdio_reader):
8220         * lstream.c (stdio_writer):
8221         * lstream.c (filedesc_reader):
8222         * lstream.c (filedesc_writer):
8223         * lstream.c (lisp_string_reader):
8224         * lstream.c (struct fixed_buffer_stream):
8225         * lstream.c (make_fixed_buffer_input_stream):
8226         * lstream.c (make_fixed_buffer_output_stream):
8227         * lstream.c (fixed_buffer_reader):
8228         * lstream.c (fixed_buffer_writer):
8229         * lstream.c (struct resizing_buffer_stream):
8230         * lstream.c (resizing_buffer_writer):
8231         * lstream.c (dynarr_writer):
8232         * lstream.c (lisp_buffer_reader):
8233         * lstream.c (lisp_buffer_writer):
8234         * lstream.h:
8235         * lstream.h (lstream_implementation):
8236         * lstream.h (struct lstream):
8237         * md5.c (Fmd5):
8238         * process-nt.c (nt_send_process):
8239         * process-unix.c (unix_send_process):
8240         
8241         Correct Lstream lossage due to mixing of signed and unsigned
8242         quantities.  All Lstream uses of size_t and ssize_t are now a
8243         single signed data type Lstream_data_count.  This fixes problems
8244         under Windows with sending large quantities of data to a process,
8245         and may well fix other subtle bugs.
8246
8247 2001-02-23  Martin Buchholz <martin@xemacs.org>
8248
8249         * XEmacs 21.2.45 "Thelxepeia" is released.
8250
8251 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8252
8253         * lisp-union.h (XSETINT): 
8254         (XSETCHAR):
8255         (XSETOBJ): 
8256         Reverse previous change of 2001-02-06.
8257
8258 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8259
8260         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8261         buffers.
8262         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8263         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8264         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8265         * regex.c (POS_AS_IN_BUFFER): removed
8266         * regex.c (re_search_2):
8267         * regex.c (re_match_2):
8268         Don't use an offset of 1 when calculating buffer positions, since
8269         `BI_BUF_BEGV' does it already.
8270
8271 2001-02-18  Wim Dumon  <wim@easics.be>
8272
8273         * insdel.c (prepare_to_modify_buffer): Also check for
8274         supersession when clash-detection is enabled. 
8275
8276 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8277
8278         * regex.c (re_match_2_internal):
8279         Convert temp characters from 'const unsigned char' to 're_char'.
8280         Fix crashing bug with extended characters under mule.
8281         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8282         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8283         font-lock, pdump, and new syntax-table code.
8284         * syntax.c (find_start_of_comment):
8285         (find_end_of_comment):
8286         (forward-comment):
8287         Fix crashing bugs involving moving beyond end of buffer.
8288         * syntax.c (find_start_of_comment):
8289         Fixed logic to allow proper detection of cases where the same
8290         character is used to end both a two-char comment start and a
8291         two-char comment end sequence. Fixes `(forward-comment -1)'.
8292         * syntax.c (find_start_of_comment):
8293         Return position just past last comment-end character for all cases
8294         (previously was only done for two-char comment-end sequences).
8295         * syntax.c (forward-comment):
8296         Take value returned from `find_end_of_comment', rather than
8297         incrementing it.
8298         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8299         Properly deal with BUFFERP (syntax_cache.object)
8300
8301 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8302
8303         * alloc.c (Fgarbage_collect): 
8304         * alloc.c (make_bit_vector_from_byte_vector):
8305         -Wsign-compare-correctness.
8306
8307 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8308
8309         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8310         (XSETCHAR): Likewise.
8311         (XSETOBJ): Likewise.
8312
8313 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8314
8315         * mule-canna.c (canna-func-delete_previous): 
8316         Rename to canna-func-delete-previous.
8317
8318 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8319
8320         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8321
8322 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8323
8324         * font-lock.c (find_context): Fix C++ compile errors introduced by
8325         recent patch
8326
8327 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8328
8329         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8330         pragma, but earlier ones barf on the same pragma.
8331
8332 2001-02-06  Mike Sperber <mike@xemacs.org>
8333
8334         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8335         `configure-mule-lisp-directory'.
8336
8337 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8338
8339         Make sure dump-id.c is compiled in the same way as other .c's.
8340         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8341         * dump-id.h: Remove.
8342         * emacs.c: Move dump-id.h into dumper.h.
8343         * dumper.h: Move dump-id.h into dumper.h.
8344         * Makefile.in.in:
8345         Use standard .c.o rule for building dump-id.o.
8346         Remove preprocessor flags from link command.
8347         Add dump-id.o to ${otherobjs} if PDUMP.
8348
8349 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8350
8351         Port FSF 20.7 syntax table improvements.
8352         * syntax.c.
8353         * syntax.h.
8354
8355         Fixups for new syntax table stuff.
8356         * dired.c: Include syntax.c.
8357         (Fdirectory_files): Initialize regex_match_object and
8358         regex_emacs_buffer.
8359         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8360         and Fget_char_property.
8361
8362         Use ported FSF 20.7 syntax table improvements.
8363         * font-lock.c.
8364         * regex.c.
8365         * search.c.
8366         
8367 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8368
8369         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8370         Unixware's enum boolean from sys/types.h.
8371
8372 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8373
8374         Fix support for building with latest Purify.
8375         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8376         (PURIFY_FLAGS): Likewise.
8377
8378 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8379
8380         * fileio.c (lisp_string_set_file_times): New.
8381         * fileio.c (Fcopy_file): Use it.
8382         Fixes bug:
8383         (copy-file filename non-ascii-filename t t)
8384         ==> No such file or directory, non-ascii-filename
8385
8386 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8387
8388         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8389         USHRT_MAX seems clearer than ~0 anyways.
8390
8391 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8392
8393         dumper improvements.  Inspired by Olivier.
8394         * dumper.c (pdump_max_align): New.
8395         * dumper.c (pdump_add_entry): Use pdump_max_align.
8396         * dumper.c (pdump_get_entry_list): Likewise.
8397         * dumper.c (pdump_scan_by_alignment): Likewise.
8398         Don't iterate through unnecessary alignments.
8399         * dumper.c (pdump_file_get): No need to align result of malloc().
8400         * dumper.c (pdump_mallocadr): Remove.  
8401         The result of malloc() is guaranteed to be maximally aligned.
8402         * dumper.c: s/elmt/elt/g;
8403         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8404         * dumper.c (pdump_alert_undump_object): Likewise.
8405         * dumper.c (pdump_align_table): 
8406         Don't support alignments > 64.
8407         Store ALIGNOF's, not shift counts, in table.
8408
8409 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8410
8411         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8412         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8413         * systime.h: Use HAVE_UTIME.
8414         * sysdep.c (struct utimbuf): Remove.
8415         * sysdep.c (set_file_times): Prefer utime() to utimes().
8416         * config.h.in (HAVE_UTIME): New.
8417         * config.h.in (HAVE_UTIME_H): Remove.
8418         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8419
8420 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8421
8422         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8423
8424 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8425
8426         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8427
8428 2001-02-08  Martin Buchholz <martin@xemacs.org>
8429
8430         * XEmacs 21.2.44 "Thalia" is released.
8431
8432 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8433
8434         Fixes crashes in kill-emacs on some systems.
8435         * process-unix.c (unix_kill_child_process):
8436         It's OK for kill() to fail with ESRCH.
8437
8438 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8439
8440         Contortions to make .gdbinit tricks work on most systems.
8441         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8442         * alloc.c (dbg_valmask): Make non-const.
8443         * alloc.c (dbg_typemask): Make non-const.
8444         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8445         * alloc.c (dbg_valbits): Make non-const.
8446         * alloc.c (dbg_gctypebits): Make non-const.
8447         * .gdbinit (decode_object): Make it work with AIX cc.
8448
8449 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8450
8451         * elhash.c (make_general_lisp_hash_table):
8452         Use simpler and more efficient calloc to clear entries.
8453
8454 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8455
8456         * window.c (window_scroll): Work around an AIX C compiler bug.
8457         Fixes 'scroll-up' does nothing problem with xlC.
8458
8459 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8460
8461         * .gdbinit: Remove obsolete comment.
8462
8463 2001-01-31  Mike Alexander  <mta@arbortext.com>
8464
8465         * select.c (Fown_selection_internal): Set owned_p for device
8466         method correctly.
8467
8468 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8469
8470         Port to g++ 2.97.
8471         "not" cannot be used as a macro name as it is an operator in C++
8472         * config.h.in: Stop #defining `not'.
8473         * chartab.c (check_category_char): not ==> not_p
8474         * chartab.h: Likewise.
8475         * regex.c (re_match_2_internal): Likewise.
8476
8477 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8478
8479         * lisp-disunion.h: Fix up comments.
8480
8481 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8482
8483         * keymap.c (define_key_check_and_coerce_keysym):
8484         (syms_of_keymap):
8485         Support mouse-6 and mouse-7 bindings in the obvious way.
8486
8487 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8488
8489         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8490
8491 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8492
8493         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8494         Previous patch missed DEFVAR_INT_MAGIC.
8495         Make sure future DEFVAR_foo use correct types.
8496         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8497         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8498         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8499         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8500         * (DEFVAR_INT): Likewise.
8501         * redisplay.c (vertical_clip): Should be of type Fixnum.
8502         * redisplay.c (horizontal_clip): Likewise.
8503         * lisp.h (dump_add_opaque_int): New.
8504         (dump_add_opaque_fixnum): New.
8505
8506 2001-01-29  Andy Piper  <andy@xemacs.org>
8507
8508         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8509         since they can be eval'ed
8510
8511 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8512
8513         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8514         Oops, XEmacs redefines `class'.  Use `typename' instead.
8515
8516 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8517
8518         * dumper.c: Fix C++ compile errors.
8519
8520 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8521
8522         * tparam.c: Use correct prototypes.
8523
8524 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8525
8526         * sysproc.h: #include util.h for NetBSD's openpty.
8527
8528 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8529
8530         More 64-bit correctness.
8531         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8532         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8533         Fix up comments.
8534         This finally finishes the 64-bit SGI port.
8535         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8536         * symbols.c: Fix up comments and type casts.
8537         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8538         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8539         * symeval.h (Fixnum): New type.
8540         * symeval.h (symbol_value_type): Fix up comment.
8541
8542         * commands.h:
8543         * nt.c:
8544         * emacs.c:
8545         * data.c:
8546         * redisplay.c:
8547         * abbrev.c:
8548         * dired-msw.c:
8549         * event-Xt.c:
8550         * eldap.c:
8551         * window.c:
8552         * sound.c:
8553         * event-stream.c:
8554         * eval.c:
8555         * buffer.c:
8556         * mule-canna.c: A million DEFVAR_INTs here...
8557         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8558         * extents.c:
8559         * cmdloop.c:
8560         * lisp.h:
8561         * select-x.c:
8562         * console-x.h:
8563         * event-msw.c:
8564         * mule-wnnfns.c:
8565         * hpplay.c:
8566         * ralloc.c:
8567         * alloc.c:
8568         * keymap.c:
8569         * profile.c:
8570         s/int/Fixnum/g in DEFVAR_INT declarations.
8571
8572 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8573
8574         Port pdump to SGI alignment-sensitive environment.
8575         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8576         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8577         properly aligned.
8578         Define and use aligned reading and writing macros.
8579         Use buffered stdio instead of posix i/o for faster dumping.
8580         Eliminate kludgy 256 byte space for header.
8581         Read and write from dump file using structs for alignment safety.
8582         * dumper.c (pdump_align_stream): New.
8583         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8584         * dumper.c (PDUMP_READ_ALIGNED): New.
8585         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8586         * dumper.c (pdump_static_Lisp_Object): New struct.
8587         * dumper.c (pdump_static_pointer): New struct.
8588         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8589         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8590         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8591         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8592
8593         * dumper.c (pdump_backtrace):
8594         * dumper.c (pdump_get_indirect_count):
8595         * dumper.c (pdump_register_object):
8596         * dumper.c (pdump_register_struct):
8597         * dumper.c (pdump_reloc_one):
8598         * dumper.c (pdump_scan_by_alignment):
8599         * dumper.c (pdump_dump_from_root_struct_ptrs):
8600         * dumper.c (pdump_dump_opaques):
8601         * dumper.c (pdump_dump_rtables):
8602         * dumper.c (pdump_dump_from_root_objects):
8603         * dumper.c (pdump):
8604         * dumper.c (pdump_load_finish):
8605         Use aligned reading and writing.
8606
8607         * dumper.c (pdump_free): Make static.
8608         * dumper.c (pdump_hFile): Likewise.
8609         * dumper.c (pdump_hMap): Likewise.
8610
8611 2001-01-26  Martin Buchholz <martin@xemacs.org>
8612
8613         * XEmacs 21.2.43 "Terspichore" is released.
8614
8615 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8616
8617         Type fiddling for window_config.saved_windows_count
8618         * window.c (struct window_config): 
8619         Make saved_windows_count member unsigned.
8620         * window.c (sizeof_window_config_for_n_windows): 
8621         Make parameter unsigned.
8622         * window.c (mark_window_config):
8623         * window.c (window_config_equal):
8624         * window.c (free_window_configuration):
8625         * window.c (Fset_window_configuration):
8626         * window.c (count_windows):
8627         * window.c (Fcurrent_window_configuration):
8628         * window.c (reinit_vars_of_window):
8629         Update all callers and users.
8630
8631 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8632
8633         Alignment correctness for flexible arrays.
8634         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8635         Make alignment-correct. Add interesting comments.
8636         * alloc.c (size_vector):
8637         * alloc.c (make_vector_internal):
8638         * alloc.c (make_bit_vector_internal):
8639         * alloc.c (sweep_bit_vectors_1):
8640         * fns.c (size_bit_vector):
8641         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8642         * window.c (sizeof_window_config_for_n_windows): 
8643         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8644
8645 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8646
8647         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8648
8649 2001-01-23  Andy Piper  <andy@xemacs.org>
8650
8651         * select.c (Fown_selection_internal): pass owned_p
8652
8653         * select-msw.c (mswindows_own_selection): New Signature.
8654
8655         * console.h (struct console_methods): add owned_p to
8656         _own_selection.
8657
8658         * select-x.c (x_own_selection): pass owned_p
8659         (hack_motif_clipboard_selection): use owned_p
8660         (vars_of_select_x): new variable -
8661         x_selection_strict_motif_ownership.
8662
8663 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8664
8665         * specifier.h (specifier_data_offset): Remove pointless parens.
8666         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8667
8668 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8669
8670         Make Lisp_Object sizeof methods be alignment-correct.
8671         pdump must restore objects to the same alignment as the C compiler
8672         assumes.  It really matters on SGIs.
8673         * lstream.c (aligned_sizeof_lstream): New.
8674         (sizeof_lstream): Use aligned_sizeof_lstream.
8675         (Lstream_new): Likewise.
8676         * opaque.c (aligned_sizeof_opaque): New.
8677         (sizeof_opaque): Use aligned_sizeof_opaque.
8678         (make_opaque): Likewise.
8679         * specifier.c (aligned_sizeof_specifier): New.
8680         (sizeof_specifier): Use aligned_sizeof_specifier.
8681         (make_specifier_internal): Likewise.
8682
8683 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8684
8685         * lstream.h (struct lstream): Use max_align_t for trailing data.
8686         * specifier.h (struct Lisp_Specifier): Likewise.
8687
8688 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8689
8690         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8691         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8692         (CCL_SUSPEND): Likewise.
8693         (CCL_INVALID_CMD): Likewise.
8694         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8695         (ccl_driver): Likewise.
8696         (CCL_WRITE_CHAR): Macro hygiene.
8697         (CCL_WRITE_STRING): Macro hygiene.
8698
8699 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8700
8701         Port "portable" dumper to SunOS 4 and HP-UX.
8702         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8703         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8704         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8705
8706 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8707
8708         * lisp.h (ALIGNOF): A better definition for C++.
8709
8710 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8711
8712         Macro hygiene.
8713         Fix printf warnings: int format, long int arg.
8714         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8715         (PUSH_FAILURE_POINT): Use correct printf formats.
8716         (POP_FAILURE_POINT): Use correct printf formats.  
8717         Use do {...} while (0)
8718
8719 2001-01-20  Martin Buchholz <martin@xemacs.org>
8720
8721         * XEmacs 21.2.42 "Poseidon" is released.
8722
8723 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8724
8725         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8726
8727 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8728
8729         De-kludgify FIXED_TYPE free list frobbing.
8730         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8731         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8732         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8733         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8734         * alloc.c (LRECORD_FREE_P): New.
8735         * alloc.c (MARK_LRECORD_AS_FREE): New.
8736         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8737         * alloc.c (STRUCT_FREE_P): Deleted.
8738         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8739         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8740         * alloc.c (STRING_CHARS_FREE_P): New.
8741         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8742         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8743         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8744         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8745         * alloc.c (resize_string): Use new definitions.
8746         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8747         * alloc.c (verify_string_chars_integrity): Use new definitions.
8748         * alloc.c (compact_string_chars): Use new definitions.
8749         * alloc.c: Update monster comments.
8750         * lrecord.h (lrecord_type): Add some new lrecord types for
8751         alloc.c's use.
8752
8753 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8754
8755         Improve alignment hackery.
8756         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8757         (max_align_t): Moved from opaque.h - general purpose.
8758         (ALIGN_PTR): Use size_t, not long.
8759         * opaque.h (max_align_t): Move to lisp.h.
8760
8761 2001-01-18  Norbert Koch  <nk@LF.net>
8762
8763         * gui.h: Fix and add prototypes to fix build problems.
8764
8765 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8766
8767         temacs is going away, so `dump-temacs' is now a bad name.
8768         * .dbxrc (dump-temacs): Rename to `dmp'.
8769         * .gdbinit (dump-temacs): Rename to `dmp'.
8770
8771 2001-01-17  Andy Piper  <andy@xemacs.org>
8772
8773         * glyphs.c (print_image_instance): comment to make martin happy.
8774
8775         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8776         change.
8777
8778         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8779         activation.
8780         (mswindows_tab_control_redisplay): warning suppression.
8781
8782         * glyphs-widget.c (widget_update): re-write to cope with updated
8783         items.
8784         (widget_instantiate): use new gui_item functions.
8785         (tab_control_update): deleted.
8786         (progress_gauge_update): deleted.
8787         (image_instantiator_progress_guage): take out update reference.
8788         (image_instantiator_tree_view): ditto.
8789         (image_instantiator_tab_control): ditto.
8790
8791         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8792         Right the new way.
8793         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8794         return whether anything was changed.
8795         (update_gui_item_keywords): as it sounds.
8796
8797         * gui.h: declare widget_gui_parse_item_keywords.
8798
8799         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8800         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8801
8802 2001-01-17  Martin Buchholz <martin@xemacs.org>
8803
8804         * XEmacs 21.2.41 "Polyhymnia" is released.
8805
8806 2001-01-16  Didier Verna  <didier@xemacs.org>
8807
8808         * glyphs.c (image_instantiate): don't use fallbacks when
8809         instantiating a face's background pixmap by inheritance.
8810
8811 2001-01-14  Mike Sperber <mike@xemacs.org>
8812
8813         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8814         Conditionalize accordingly.
8815
8816 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8817
8818         * dumper.c (pdump_file_get): Fix a compiler warning.
8819
8820 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8821
8822         Make Purify happy when pdumping.
8823         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8824         iniitalizing all bits of new lisp object memory.
8825         * symbols.c (Fmake_local_variable): Likewise.
8826         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8827         * symbols.c (Fdefvaralias): Likewise.
8828         * mule-charset.c (vars_of_mule_charset): Likewise.
8829
8830 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8831         Add the `-nd' flag when running pre-dump operations under the debugger.
8832         * .dbxrc (run-temacs): Add `-nd'.
8833         * .dbxrc (update-elc): Likewise.
8834         * .dbxrc (dump-temacs): Likewise.
8835         * .gdbinit (run-temacs): Likewise.
8836         * .gdbinit (check-temacs): Likewise.
8837         * .gdbinit (update-elc): Likewise.
8838         * .gdbinit (dump-temacs): Likewise.
8839
8840 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8841
8842         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8843         export OBJECT_MODE=64
8844         configure --pdump --use-union-type=no
8845         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8846         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8847
8848         * miscplay.c (sndcnv8U_2mono):
8849         Avoid two uses of `++' in the same expression.
8850         Suppresses a GCC warning.
8851
8852 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8853
8854         Make sure future compilers don't miscompile alloc.c.
8855         * alloc.c:
8856         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8857         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8858
8859 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8860
8861         * dumper.c: A little post-pdump-rename comment fixup.
8862
8863 2001-01-09  Jerry James  <james@eecs.ku.edu>
8864
8865         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8866
8867 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8868
8869         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8870         script:
8871         #!/bin/sh
8872         replace_symbol () {
8873           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8874         }
8875
8876         replace_symbol pdump_wire_lists pdump_weak_object_chains
8877         replace_symbol pdump_wire_list dump_add_weak_object_chain
8878
8879         replace_symbol pdump_wires pdump_root_objects
8880         replace_symbol pdump_wire dump_add_root_object
8881
8882         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8883         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8884
8885         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8886         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8887         replace_symbol dumpstructinfo pdump_root_struct_ptr
8888         replace_symbol dumpstruct dump_add_root_struct_ptr
8889
8890         replace_symbol dumpopaque dump_add_opaque
8891         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8892         replace_symbol dumpopaqueinfos pdump_opaques
8893         replace_symbol dumpopaqueinfo pdump_opaque
8894
8895         replace_symbol nb_structdump nb_root_struct_ptrs
8896         replace_symbol nb_opaquedump nb_opaques
8897
8898         replace_symbol align_table pdump_align_table
8899         replace_symbol dump_header pdump_header
8900
8901         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8902         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8903
8904
8905 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8906
8907         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8908         optimizing bytecount_to_charcount().
8909
8910 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8911
8912         * config.h.in:
8913         (HAVE_DLFCN_H): Removed.
8914         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8915
8916 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8917
8918         Portable dumper maintainability improvements.
8919         * alloc.c (staticpro):
8920         * alloc.c (staticpro_nodump):
8921         * alloc.c (garbage_collect_1):
8922         * alloc.c (reinit_alloc_once_early):
8923         * alloc.c (init_alloc_once_early):
8924         * alloc.c: Move dumper functions to alloc.c.
8925         * dumper.c (pdump_backtrace):
8926         * dumper.c (pdump_dump_structs):
8927         * dumper.c (pdump_dump_opaques):
8928         * dumper.c (pdump_dump_rtables):
8929         * dumper.c (pdump_dump_wired):
8930         * dumper.c (pdump):
8931         * dumper.c (pdump_load_check):
8932         * dumper.c (pdump_load_finish):
8933         * dumper.c (pdump_file_unmap):
8934         * dumper.c (pdump_file_get):
8935         * dumper.c (pdump_resource_free):
8936         * dumper.c (pdump_resource_get):
8937         * dumper.c (pdump_file_free):
8938         * dumper.c (pdump_file_try):
8939         * dumper.c (pdump_load):
8940         Remove fixed size limits on staticpro(), staticpro_nodump(),
8941         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8942         Remove custom code for dumping lrecord_implementations_table - use
8943         dumpopaque instead.
8944         Remove (most of the) custom code for dumping staticpros - dump it
8945         like any other dynarr.
8946
8947         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8948         * dumper.c: Moved functions from alloc.c.
8949         * alloc.c (dumpstruct): Moved to dumper.c.
8950         * alloc.c (dumpopaque): Likewise.
8951         * alloc.c (pdump_wire): Likewise.
8952         * alloc.c (pdump_wire_list): Likewise.
8953
8954         * lisp.h (Dynarr_sizeof): New.
8955         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8956         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8957         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8958
8959         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8960         * lisp.h (dumpopaque): ditto.
8961         * lisp.h (pdump_wire): ditto.
8962         * lisp.h (pdump_wire_list): ditto.
8963
8964 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8965
8966         * make-src-depend (PrintPatternDeps):
8967         Use `sort' to make output independent of perl version.
8968
8969 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8970
8971         Port to Netbsd 1.5.
8972         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8973         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8974
8975 2001-01-03  Didier Verna  <didier@xemacs.org>
8976
8977         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8978         that `focus_frame' is alive before thinking of calling
8979         `redisplay_redraw_cursor' on it.
8980
8981 2001-01-08  Martin Buchholz <martin@xemacs.org>
8982
8983         * XEmacs 21.2.40 is released.
8984
8985 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8986
8987         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8988
8989 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8990
8991         * alloc.c (dbg_valmask): Make const.
8992         * alloc.c (dbg_typemask): Make const.
8993         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8994         * alloc.c (dbg_valbits): Make const.
8995         * alloc.c (dbg_gctypebits): Make const.
8996
8997 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8998
8999         * redisplay-x.c (x_bevel_area):
9000         redisplay.h (struct rune):
9001         Typo fixes in comments.
9002
9003 2001-01-05  Andy Piper  <andy@xemacs.org>
9004
9005         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9006         adjustment.
9007
9008         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9009
9010 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9011
9012         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9013
9014         * mule-ccl.c (stack_idx_of_map_multiple):
9015         Non const global data must not be initialized!
9016         Found by MIYASHITA Hisashi.
9017
9018 2001-01-02  Andy Piper  <andy@xemacs.org>
9019
9020         * frame.c (change_frame_size): make sure frame size is always
9021         marked as changed.
9022
9023         * glyphs.c (image_instance_layout): minor code reuse.
9024
9025         * window.c (Fcurrent_window_configuration): revert previous
9026         change.
9027
9028 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9029
9030         * glyphs.h:
9031         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9032
9033 2000-12-31  Andy Piper  <andy@xemacs.org>
9034
9035         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9036         when widget gets unmapped.
9037
9038         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9039         function. Make sure widgets losing focus don't just drop it.
9040         (handle_focus_event_1): record the widget with focus.
9041
9042 2000-12-31  Andy Piper  <andy@xemacs.org>
9043
9044         * window.c (allocate_window): use
9045         make_image_instance_cache_hash_table.
9046         (make_dummy_parent): ditto.
9047         (Fset_window_configuration): ditto.
9048
9049         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9050
9051         * glyphs.c (process_image_string_instantiator): use
9052         INSTANTIATOR_TYPE.
9053         (get_image_instantiator_governing_domain): ditto.
9054         (normalize_image_instantiator): ditto.
9055         (instantiate_image_instantiator): ditto.
9056         (make_image_instance_1): ditto.
9057         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9058         (instantiator_eq_equal): new function for use with instance hash
9059         tables.
9060         (instantiator_eq_hash): ditto.
9061         (make_image_instance_cache_hash_table): create a suitable hash
9062         table for storing image instances.
9063
9064         * elhash.h (hash_table_weakness): new internal weakness type
9065         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9066         declare new functions.
9067
9068         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9069         another weakness type for glyphs.
9070         (make_standard_lisp_hash_table): new function split out from
9071         make_general_lisp_hash_table.
9072         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9073         (hash_table_instantiate): ditto.
9074         (Fmake_hash_table): ditto.
9075
9076 2000-12-31  Martin Buchholz <martin@xemacs.org>
9077
9078         * XEmacs 21.2.39 is released.
9079
9080 2000-12-29  Andy Piper  <andy@xemacs.org>
9081
9082         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9083
9084         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9085         the frame has changed so that we pick up geometry changes such as
9086         menubar visibility.
9087
9088 2000-12-28  Andy Piper  <andy@xemacs.org>
9089
9090         * lastfile.c (my_ebss): make a char array so we can pad the
9091         bss. Fixes cygwin unexec.
9092
9093         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9094
9095 2000-12-26  Andy Piper  <andy@xemacs.org>
9096
9097         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9098         comments and try and be more precise about a non-/SIGIO world.
9099         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9100         SIGIO.
9101
9102         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9103         we don't normalize to zero width or height.
9104
9105 2000-12-24  Andy Piper  <andy@xemacs.org>
9106
9107         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9108
9109 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9110
9111         * s/sco5.h: SCO 5 has pty support.
9112
9113 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9114
9115         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9116         input-method-xlib.c contains whole contents of input-method-xfs.c,
9117         so we can use input-method-xlib.c's code for USE_XFONTSET
9118         using #ifdefs.
9119         * input-method-xfs.c: removed.
9120
9121 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9122
9123         * file-coding.h (enum coding_category_type): reorder enumerators to
9124         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9125         (now one greater than largest real coding_category_type enumerator).
9126         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9127         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9128         Fcoding_category_list, Fset_coding_priority_list,
9129         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9130         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9131
9132 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9133
9134         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9135         * redisplay-output.c (redisplay_output_window): Clear top of window
9136         when face is changed.
9137         * redisplay-x.c (x_redraw_exposed_window): Call
9138         redisplay_clear_top_of_window.
9139         * redisplay.h: Publish redisplay_clear_top_of_window.
9140
9141 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9142
9143         * buffer.c (Fkill_buffer): Map over all devices.
9144         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9145         (list_windows): New function.
9146         (list_all_windows): Ditto.
9147         (Freplace_buffer_in_windows): Use them.
9148
9149 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9150
9151         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9152         (Fopen_database): Use `db_create' instead of `db_open'.
9153         (syms_of_database): Initialize Qqueue.
9154
9155 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9156
9157         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9158         buffer_local_face_property.
9159         * buffer.h (struct buffer): New member buffer_local_face_property.
9160         * window.c (Fset_window_buffer):  Mark window's face as changed
9161         when buffer has buffer local face.
9162         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9163         * objects.c (color_after_change): Set buffer_local_face_property
9164         when locale of face specifier is buffer.
9165         * objects.c (font_after_change): Ditto.
9166         * objects.c (face_boolean_after_change): Ditto.
9167         * glyphs.c (image_after_change): Ditto.
9168
9169 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9170
9171         * nt.c (mswindows_fstat): Report file permissions, volume serial
9172         number, etc. Code adapted from FSF Emacs 20.7.
9173
9174 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9175
9176         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9177         of stat when we don't have symbolic links, to make sure
9178         mswindows_stat is called on mswindows.
9179
9180 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9181
9182         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9183
9184 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9185
9186         * doprnt.c (emacs_doprnt_1): More printing fixes.
9187         Make printing of numbers compatible with libc and FSF Emacs.
9188         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9189         Use the system printf to do most of the hard work of formatting,
9190         instead of doprnt_1().
9191         Calculate memory to allocate for format string.
9192         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9193         (doprnt_1): Cleaner code and documentation.
9194
9195 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9196
9197         * Makefile.in.in: Use the loop variable to install headers.
9198
9199 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9200
9201         * window.c (Fsplit_window): Don't invalidate face cache.
9202
9203 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9204
9205         * minibuf.c (Fall_completions): Undo the previous change
9206         which removed checking elements start with space.
9207
9208 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9209
9210         * mule-canna.c: Didier suppression.
9211
9212 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9213
9214         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9215         (warning suppression).  Add English comment translations.
9216
9217 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9218
9219         * unexelfsgi.c (unexec): Better test for mmap failure.
9220
9221 2000-12-05  Martin Buchholz <martin@xemacs.org>
9222
9223         * XEmacs 21.2.38 is released.
9224
9225 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9226
9227         * redisplay.c (bar-cursor): Make a user variable.
9228
9229         * symsinit.h: Add init_postgresql_from_environment.
9230
9231 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9232
9233         * regex.c: Convert to clean C.
9234
9235 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9236
9237         * realpath.c:
9238         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9239         initialization.
9240         (sys_readlink): renamed to system_readlink to avoid conflict with
9241         the other sys_readlink.
9242
9243 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9244
9245         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9246
9247 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9248
9249         * postgresql.c (init_postgresql_from_environment): new function.
9250         (vars_of_postgresql): Move code initializing Lisp variables out and
9251         into init_postgresql_from_environment.
9252         emacs.c (main_1): Call init_postgresql_from_environment if and only
9253         if running a dumped XEmacs.
9254
9255 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9256
9257         * buffer.c: Make find-file-compare-truenames default to true on
9258         windows.
9259
9260         * realpath.c (win32_abs_start):
9261         (cygwin_readlink):
9262         (win32_readlink): New functions.
9263         (xrealpath): Return really real filenames on windows.
9264
9265         * fileio.c (Ffile_truename): Make file-truename work on windows.
9266
9267 2000-11-29  Didier Verna  <didier@xemacs.org>
9268
9269         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9270         * faces.c (update_face_cachel_data): use it.
9271         * faces.c (add_face_cachel): use it. Complete background pixmap
9272         frobbing in face cache if `update_face_cachel_data' has not done so.
9273
9274 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9275
9276         * search.c (string_match_1): Don't set last_thing_searched
9277         when search failed.
9278
9279 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9280
9281         * buffer.c: Include casetab.h
9282         (common_init_complex_vars_of_buffer): Use new case-table object.
9283         * buffer.h: Include casetab.h
9284         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9285         (DOWNCASE_TABLE_OF): Ditto.
9286         * bufslots.h: Remove char-tables and add case-table.
9287         * casetab.c: Include casetab.h
9288         (CASE_TABLE_P): Removed.
9289         (mark_case_table): New function.
9290         (allocate_case_table): New function.
9291         (Fcase_table_p): Use new case-table.
9292         (case_table_char): New function.
9293         (Fget_case_table): Ditto.
9294         (Fput_case_table): Ditto.
9295         (Fput_case_table_pair): Ditto.
9296         (Fcopy_case_table): Ditto.
9297         (Fcurrent_case_table): Return case-table.
9298         (Fstandard_case_table): Return case-table.
9299         (Fset_case_table): Fix doc-string.
9300         (set_case_table): Use case-table
9301         (syms_of_casetab): DEFSUBR new functions.
9302         (complex_vars_of_casetab): Set up standard case-table.
9303         * casetab.h: New file.
9304         * editfns.c: Include casetab.h
9305         (Fcompare_buffer_substrings): Use case-table.
9306         * inline.c: Include casetab.h
9307         * lisp.h: Remove bogus extern.
9308         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9309         * search.c: Include casetab.h
9310         (TRANSLATE_ASCII): Removed.
9311         (TRANSLATE): Unconditionally translate character.
9312         (looking_at_1): Use case-table.
9313         (string_match_1): Ditto.
9314         (fast_string_match): Ditto.
9315         (search_command): Ditto.
9316         (search_buffer): Separate boyer_moore.  Check whether
9317         boyer_moore is possible.
9318         (simple_search): New function.
9319         (boyer_moore): Separated from search_buffer. Translate char.
9320
9321 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9322
9323         * regex.c (RE_TR_ASCII): Removed.
9324         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9325         (PATFETCH): Call PATFETCH_RAW.
9326         (PATFETCH_RAW): Fetch Emchar.
9327         (PATUNFETCH): Decrement charptr.
9328         (GET_BUFFER_SPACE): Rename b to buf_end.
9329         (BUF_PUSH): Ditto.
9330         (BUF_PUSH_2): Ditto.
9331         (BUF_PUSH_3): Ditto.
9332         (EXTEND_BUFFER): Ditto.
9333         (SET_LIST_BIT): Ditto.
9334         (regex_compile): Ditto.  Translate non ASCII char.
9335         (compile_range): Ditto.
9336         (re_search_2): Ditto.
9337         (re_match_2_internal): Compare Emchar.
9338         (bcmp_translate): Ditto.
9339
9340 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9341
9342         * lisp.h (basic char/int typedefs):  comment improvement.
9343
9344 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9345
9346         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9347         unstomp inhibit_site_lisp.  Improve comments.
9348
9349 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9350
9351         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9352
9353 2000-11-28  Andy Piper  <andy@xemacs.org>
9354
9355         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9356         clipped display for windows in the gutter also.
9357         (redisplay_display_boxes_in_window_p): change semantics of return
9358         codes to be more intuitive.
9359
9360         * gutter.h: declare display_boxes_in_gutter_p.
9361
9362         * gutter.c (display_boxes_in_gutter_p): new function for
9363         redisplay.
9364
9365 2000-11-22  Andy Piper  <andy@xemacs.org>
9366
9367         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9368         autodetect domain.
9369
9370 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9371
9372         * callproc.c (Fold_call_process_internal):
9373         * gpm.c (Freceive_gpm_event):
9374         (tty_get_foreign_selection): Might be just warning supression.
9375         * fileio.c (Fwrite_region_internal):
9376         (Fset_visited_file_modtime):
9377         * keymap.c (event_matches_key_specifier_p):
9378         Initialize GCPROed variable.
9379
9380         * menubar-x.c (command_builder_find_menu_accelerator):
9381         Initialize before use.
9382
9383 2000-11-23  Andy Piper  <andy@xemacs.org>
9384
9385         * unexcw.c (unexec): make the resulting executable executable.
9386
9387 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9388
9389         * doc.c (get_doc_string):
9390         Use size_t, not int, for result of XSTRING_LENGTH.
9391
9392         * cmds.c (Fdelete_char):
9393         * cmds.c (Fpoint_at_eol):
9394         * cmds.c (Fself_insert_command):
9395         Use EMACS_INT, not int, for result of XINT.
9396         Someday, someone will want to insert more than 2**31 identical characters.
9397
9398         * cmds.c (Fdelete_char):
9399         * cmds.c (Fdelete_backward_char):
9400         * syntax.c (Fforward_word):
9401         * syntax.c (Fforward_comment):
9402         Make COUNT argument optional, for consistency with forward-char et al.
9403
9404 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9405
9406         * lisp.h:
9407         * print.c (long_to_string):
9408         Return a useful value: the pointer at end of data written.
9409
9410         * doprnt.c:
9411         Use `static const char * const' for constant strings.
9412         (union printf_arg): Delete `i', `ui' members.
9413         (get_doprnt_args):
9414         (emacs_doprnt_1):
9415         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9416         Do all printf-ing via the `l' specifier.
9417         Use EMACS_INT instead of int.
9418         Optimize.
9419
9420 2000-11-20  Didier Verna  <didier@xemacs.org>
9421
9422         * faces.c (update_face_cachel_data): don't frob the background
9423         pixmap when the window is being created. The face is needed but
9424         does not exist yet.
9425
9426 2000-11-20  Andy Piper  <andy@xemacs.org>
9427
9428         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9429         messing with a debug environment.
9430
9431 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9432
9433         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9434
9435 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9436
9437         * casetab.c (Fcase_table_p): Fix compile error and crash.
9438
9439 2000-11-18  Philip Aston  <philipa@mail.com>
9440
9441         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9442
9443 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9444
9445         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9446         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9447
9448 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9449
9450         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9451         * unexelf.c: Use HAVE_ELF_H.
9452         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9453         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9454         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9455         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9456         for testing.
9457         So this is an unexelfsgi.c from a different line of development.
9458
9459 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9460
9461         * regex.c (RE_TR_ASCII): New function.
9462         (RE_TRANSLATE): Call it.
9463
9464 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9465
9466         * buffer.h (TRT_TABLE_OF): Remove assert.
9467         (IN_TRT_TABLE_DOMAIN): Removed.
9468
9469 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9470
9471         * free-hook.c (log_gcpro):
9472         (show_gcprohist): Add support for GCPRO5.
9473
9474 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9475
9476         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9477
9478 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9479
9480         * symeval.h: Declare flush_all_buffer_local_cache.
9481
9482         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9483         (flush_buffer_local_cache): Added.
9484         (flush_all_buffer_local_cache): Added.
9485
9486         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9487
9488         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9489         (pdump_dump_data): Ditto.
9490         (pdump_reloc_one): Ditto.
9491         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9492         before dumping.
9493
9494
9495 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9496
9497         * buffer.c: Remove if 0'ed entry.
9498         * buffer.h: Rewrite TRT to use char-table.
9499         * bufslots.h: Remove mirror tables.
9500         * casetab.c: Remove mirror tables.
9501         (CASE_TABLE_P): New macro.
9502         (Fcase_table_p): Element of a case table is string or char-table.
9503         (make_mirror_trt_table): Removed.
9504         (set_case_table): Setup char-table from strings for backward
9505         compatibility.
9506         * dired.c (Fdirectory_files):
9507         * dired-msw.c: (mswindows_get_files):
9508         * lisp.h: Change prototype of re_pattern_buffer.
9509         * regex.c: (RE_TRANSLATE): New macro.
9510         (TRANSLATE_P): Ditto.
9511         Change translate to type RE_TRANSLATE_TYPE.
9512         * regex.h: Define RE_TRANSLATE_TYPE
9513         * search.c (TRANSLATE): New macro.
9514         (TRANSLATE_ASCII): New macro.
9515         Translate table is changed to Lisp_Object.
9516         (signal_failure): Inhibit return.
9517
9518 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9519
9520         * device-msw.c:
9521         * eldap.c:
9522         * event-Xt.c:
9523         * event-stream.c:
9524         * print.c:
9525         Do UNGCPRO before return.
9526
9527 2000-11-14  Martin Buchholz <martin@xemacs.org>
9528
9529         * XEmacs 21.2.37 is released.
9530
9531 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9532
9533         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9534         Add comments about discarded return value.
9535
9536 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9537
9538         * callint.c:
9539         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9540
9541 2000-10-27  Andy Piper  <andy@xemacs.org>
9542
9543         * gutter.c (Fset_default_gutter_position): default left and right
9544         gutters to visible.
9545         (calculate_gutter_size): calculate resonable heuristic for left
9546         and right gutter sizes.
9547         (specifier_vars_of_gutter): change left and right gutter sizes to
9548         autodetect.
9549         (calculate_gutter_size_from_display_lines): new function.
9550         (output_gutter): check for resizing on left and right gutters.
9551         (clear_gutter): don't special case top and left gutters.
9552         (specifier_vars_of_gutter): use new signature for
9553         set_specifier_caching.
9554
9555         * glyphs-x.c (x_redisplay_widget): spelling fix.
9556         * glyphs.c (specifier_vars_of_glyphs):
9557         * menubar.c (specifier_vars_of_menubar):
9558         * redisplay.c (specifier_vars_of_redisplay):
9559         * toolbar.c (specifier_vars_of_toolbar):
9560         * window.c (specifier_vars_of_window):
9561         * scrollbar.c (specifier_vars_of_scrollbar):
9562         (complex_vars_of_scrollbar): use new signature for
9563         set_specifier_caching.
9564
9565         * specifier.c (set_specifier_caching): include recompute flag.
9566         (recompute_one_cached_specifier_in_window): always recompute if
9567         flag set.
9568         (recompute_one_cached_specifier_in_frame): ditto.
9569
9570         * specifier.h (struct specifier_caching): add recompute flag.
9571
9572 2000-10-24  Andy Piper  <andy@xemacs.org>
9573
9574         * unexcw.c (copy_executable_and_dump_data_section): add new
9575         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9576         5.0 happy.
9577
9578 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9579
9580         * console-x.h (x_device): New member modifier_release_time.
9581         * event-Xt.c (x_handle_sticky_modifiers):
9582         Bound interval modifier keys are sticky.
9583         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9584         * events.h: extern it.
9585
9586 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9587
9588         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9589
9590 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9591
9592         * event-stream.c (execute_command_event): Preserve current_events
9593         and the like when event is misc-user-event.
9594         Inhibit quit during the call to maybe_echo_keys.
9595
9596 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9597
9598         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9599         symlink when buffer is killed.
9600         (inhibit_clash_detection): New variable.
9601
9602 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9603
9604         * console.c (Fset_input_method): Trigger redisplay on tty.
9605
9606 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9607
9608         * process.c (Fprocess_status): Revert to previous behavior:
9609         (process-status "nosuchprocess") ==> nil
9610
9611 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9612
9613         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9614         Work around another GCC 2.95.2 optimizer bug.
9615
9616 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9617
9618         * process.c (Fget_process): Use LIST_LOOP_2.
9619         (kill_buffer_processes): Use LIST_LOOP_2.
9620
9621         * minibuf.c (Fall_completions):
9622         Delete old non-functional code for FSF fourth argument.
9623
9624         * frame.c (frame_matches_frame_spec):
9625         Renamed from `frame_matches_frametype'.  Update all callers.
9626         (device_matches_device_spec):
9627         Renamed from 'device_matches_console_spec'.  Update all callers.
9628
9629         * doc.c (Fsubstitute_command_keys):
9630         Remove buffer overflow crash.  Small code cleanups.
9631
9632         * casetab.c (check_case_table): Simpler code.
9633
9634         * window.c (Freplace_buffer_in_windows):
9635         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9636         (and similar implementation) as Fdelete_windows_on.
9637         Update all callers.
9638
9639         * alloc.c (Fmake_list):
9640         * alloc.c (make_vector):
9641         * alloc.c (Fmake_vector):
9642         * alloc.c (make_bit_vector):
9643         * alloc.c (Fmake_bit_vector):
9644         * alloc.c (Fbit_vector):
9645         * alloc.c (Fmake_string):
9646         * alloc.c (Fpurecopy):
9647         * alloc.c (Fmemory_limit):
9648         * buffer.c:
9649         * buffer.c (Fget_buffer):
9650         * buffer.c (Fkill_buffer):
9651         * buffer.c (complex_vars_of_buffer):
9652         * bytecode.c (Fcompiled_function_stack_depth):
9653         * callint.c (Fprefix_numeric_value):
9654         * event-stream.c:
9655         * event-stream.c (Fread_key_sequence):
9656         * casetab.c:
9657         * casetab.c (Fcase_table_p):
9658         * casetab.c (check_case_table):
9659         * casetab.c (Fset_case_table):
9660         * casetab.c (Fset_standard_case_table):
9661         * chartab.c:
9662         * chartab.c (Fchar_table_type):
9663         * chartab.c (Freset_char_table):
9664         * chartab.c (Fget_char_table):
9665         * chartab.c (Fget_range_char_table):
9666         * chartab.c (Fput_char_table):
9667         * chartab.c (Fmap_char_table):
9668         * chartab.c (Fcategory_table_p):
9669         * chartab.c (Fcheck_category_at):
9670         * chartab.c (Fchar_in_category_p):
9671         * chartab.c (Fcategory_table):
9672         * chartab.c (Fcopy_category_table):
9673         * chartab.c (Fset_category_table):
9674         * chartab.c (Fcategory_designator_p):
9675         * chartab.c (Fcategory_table_value_p):
9676         * cmds.c (Fdelete_char):
9677         * cmds.c (Fdelete_backward_char):
9678         * cmds.c (Fself_insert_command):
9679         * cmds.c (Fself_insert_internal):
9680         * console.c (Fvalid_console_type_p):
9681         * console.c (Fcdfw_console):
9682         * console.c (Fconsole_type):
9683         * console.c (Fconsole_name):
9684         * console.c (Fconsole_device_list):
9685         * console.c (Fconsole_on_window_system_p):
9686         * data.c:
9687         * data.c (Feq):
9688         * data.c (Fold_eq):
9689         * data.c (Fsubr_interactive):
9690         * data.c (Fchar_to_int):
9691         * data.c (Fint_to_char):
9692         * data.c (Fsetcar):
9693         * data.c (Fsetcdr):
9694         * data.c (Fnumber_to_string):
9695         * data.c (Fstring_to_number):
9696         * data.c (Frem):
9697         * database.c (mark_database):
9698         * database.c (finalize_database):
9699         * database.c (Fdatabase_live_p):
9700         * database.c (Fdatabasep):
9701         * device-x.c (Fx_get_resource):
9702         * device.c (Fdfw_device):
9703         * dired.c:
9704         * dired.c (Ffile_name_completion):
9705         * dired.c (Ffile_name_all_completions):
9706         * dired.c (Fuser_name_completion):
9707         * dired.c (Fuser_name_completion_1):
9708         * dired.c (Fuser_name_all_completions):
9709         * doc.c (Fdocumentation):
9710         * doc.c (Fdocumentation_property):
9711         * doc.c (Fsubstitute_command_keys):
9712         * editfns.c:
9713         * editfns.c (Fchar_to_string):
9714         * editfns.c (Fstring_to_char):
9715         * editfns.c (Ftemp_directory):
9716         * editfns.c (Finsert_char):
9717         * editfns.c (Fbuffer_substring_no_properties):
9718         * editfns.c (Fnarrow_to_region):
9719         * editfns.c (Fchar_equal):
9720         * editfns.c (Fchar_Equal):
9721         * editfns.c (Ftranspose_regions):
9722         * emacs.c (Fdump_emacs):
9723         * eval.c (Fthrow):
9724         * eval.c (Fcommand_execute):
9725         * eval.c (Fautoload):
9726         * eval.c (Fbacktrace):
9727         * eval.c (Fbacktrace_frame):
9728         * events.c:
9729         * events.c (Fcopy_event):
9730         * events.c (Fcharacter_to_event):
9731         * events.c (Fevent_button):
9732         * events.c (Fevent_process):
9733         * extents.c:
9734         * extents.c (Fnext_extent_change):
9735         * extents.c (Fextent_property):
9736         * faces.c (Ffacep):
9737         * faces.c (Fmake_face):
9738         * file-coding.c:
9739         * file-coding.c (Fencode_shift_jis_char):
9740         * file-coding.c (Fencode_big5_char):
9741         * fileio.c (Ffile_name_directory):
9742         * fileio.c (Ffile_name_nondirectory):
9743         * fileio.c (Ffile_name_as_directory):
9744         * fileio.c (Fdirectory_file_name):
9745         * fileio.c (Ffile_truename):
9746         * fileio.c (Fsubstitute_in_file_name):
9747         * fileio.c (Ffile_modes):
9748         * fileio.c (Fset_file_modes):
9749         * fileio.c (Fset_default_file_modes):
9750         * fileio.c (Fverify_visited_file_modtime):
9751         * floatfns.c (Facos):
9752         * floatfns.c (Fasin):
9753         * floatfns.c (Fatan):
9754         * floatfns.c (Fcos):
9755         * floatfns.c (Fsin):
9756         * floatfns.c (Ftan):
9757         * floatfns.c (Fbessel_j0):
9758         * floatfns.c (Fbessel_j1):
9759         * floatfns.c (Fbessel_jn):
9760         * floatfns.c (Fbessel_y0):
9761         * floatfns.c (Fbessel_y1):
9762         * floatfns.c (Fbessel_yn):
9763         * floatfns.c (Ferf):
9764         * floatfns.c (Ferfc):
9765         * floatfns.c (Flog_gamma):
9766         * floatfns.c (Fexp):
9767         * floatfns.c (Fexpt):
9768         * floatfns.c (Flog):
9769         * floatfns.c (Flog10):
9770         * floatfns.c (Fsqrt):
9771         * floatfns.c (Fcube_root):
9772         * floatfns.c (Facosh):
9773         * floatfns.c (Fasinh):
9774         * floatfns.c (Fatanh):
9775         * floatfns.c (Fcosh):
9776         * floatfns.c (Fsinh):
9777         * floatfns.c (Ftanh):
9778         * floatfns.c (Fabs):
9779         * floatfns.c (Ffloat):
9780         * floatfns.c (Flogb):
9781         * floatfns.c (Fceiling):
9782         * floatfns.c (Ffloor):
9783         * floatfns.c (Fround):
9784         * floatfns.c (Ftruncate):
9785         * floatfns.c (Ffceiling):
9786         * floatfns.c (Fffloor):
9787         * floatfns.c (Ffround):
9788         * floatfns.c (Fftruncate):
9789         * fns.c (Fstring_equal):
9790         * fns.c (Fstring_lessp):
9791         * fns.c (concat2):
9792         * fns.c (concat3):
9793         * fns.c (vconcat2):
9794         * fns.c (vconcat3):
9795         * fns.c (Fsubstring):
9796         * fns.c (Fassoc):
9797         * fns.c (Fold_assoc):
9798         * fns.c (assoc_no_quit):
9799         * fns.c (Fassq):
9800         * fns.c (Fold_assq):
9801         * fns.c (assq_no_quit):
9802         * fns.c (Frassoc):
9803         * fns.c (Fold_rassoc):
9804         * fns.c (Frassq):
9805         * fns.c (Fold_rassq):
9806         * fns.c (rassq_no_quit):
9807         * fns.c (Fremassoc):
9808         * fns.c (remassoc_no_quit):
9809         * fns.c (Fremassq):
9810         * fns.c (remassq_no_quit):
9811         * fns.c (Fremrassoc):
9812         * fns.c (Fremrassq):
9813         * fns.c (remrassq_no_quit):
9814         * fns.c (Fsort):
9815         * fns.c (Fplist_get):
9816         * fns.c (Fplist_put):
9817         * fns.c (Fplist_remprop):
9818         * fns.c (Fplist_member):
9819         * fns.c (Flax_plist_get):
9820         * fns.c (Flax_plist_put):
9821         * fns.c (Flax_plist_remprop):
9822         * fns.c (Flax_plist_member):
9823         * fns.c (Fequal):
9824         * fns.c (Fold_equal):
9825         * fns.c (Frequire):
9826         * fns.c (Fbase64_encode_region):
9827         * fns.c (Fbase64_encode_string):
9828         * fns.c (Fbase64_decode_region):
9829         * frame.c:
9830         * frame.c (frame_matches_frame_spec):
9831         * frame.c (device_matches_device_spec):
9832         * frame.c (next_frame):
9833         * frame.c (previous_frame):
9834         * frame.c (Fnext_frame):
9835         * frame.c (Fprevious_frame):
9836         * frame.c (Fframe_property):
9837         * frame.c (Fset_frame_height):
9838         * frame.c (Fset_frame_size):
9839         * frame.h:
9840         * glyphs.c:
9841         * glyphs.c (if):
9842         * glyphs.c (decode_error_behavior_flag):
9843         * glyphs.c (Fmake_image_instance):
9844         * indent.c (Findent_to):
9845         * intl.c (Fignore_defer_gettext):
9846         * keymap.c (Fkeymapp):
9847         * keymap.c (Flookup_key):
9848         * lread.c:
9849         * lread.c (Fload_internal):
9850         * lread.c (Feval_buffer):
9851         * lread.c (Feval_region):
9852         * macros.c (Fexecute_kbd_macro):
9853         * marker.c (set_marker_internal):
9854         * marker.c (Fset_marker):
9855         * marker.c (set_marker_restricted):
9856         * marker.c (Fcopy_marker):
9857         * marker.c (noseeum_copy_marker):
9858         * menubar.c:
9859         * menubar.c (Fpopup_menu):
9860         * minibuf.c:
9861         * mule-charset.c (Fcharset_name):
9862         * mule-charset.c (Fchar_charset):
9863         * mule-charset.c (Fchar_octet):
9864         * mule-charset.c (Fsplit_char):
9865         * mule-wnnfns.c (Fwnn_open):
9866         * mule-wnnfns.c (Fwnn_dict_comment):
9867         * mule-wnnfns.c (Fwnn_quit_henkan):
9868         * mule-wnnfns.c (Fwnn_word_toroku):
9869         * mule-wnnfns.c (Fwnn_word_sakujo):
9870         * mule-wnnfns.c (Fwnn_word_use):
9871         * mule-wnnfns.c (Fwnn_hindo_set):
9872         * objects.c:
9873         * objects.c (Fmake_color_instance):
9874         * objects.c (Fmake_font_instance):
9875         * print.c (Fwrite_char):
9876         * process.c:
9877         * process.c (mark_process):
9878         * process.c (print_process):
9879         * process.c (get_process_from_usid):
9880         * process.c (Fprocessp):
9881         * process.c (Fprocess_live_p):
9882         * process.c (Fget_process):
9883         * process.c (Fget_buffer_process):
9884         * process.c (get_process):
9885         * process.c (Fprocess_id):
9886         * process.c (Fprocess_name):
9887         * process.c (Fprocess_command):
9888         * process.c (init_process_io_handles):
9889         * process.c (start_process_unwind):
9890         * process.c (Fstart_process_internal):
9891         * process.c (Fopen_multicast_group_internal):
9892         * process.c (Fset_process_window_size):
9893         * process.c (read_process_output):
9894         * process.c (send_process):
9895         * process.c (Fprocess_tty_name):
9896         * process.c (Fset_process_buffer):
9897         * process.c (Fprocess_buffer):
9898         * process.c (Fprocess_mark):
9899         * process.c (set_process_filter):
9900         * process.c (Fset_process_filter):
9901         * process.c (Fprocess_filter):
9902         * process.c (Fprocess_send_region):
9903         * process.c (Fprocess_send_string):
9904         * process.c (exec_sentinel):
9905         * process.c (Fset_process_sentinel):
9906         * process.c (Fprocess_sentinel):
9907         * process.c (status_notify):
9908         * process.c (Fprocess_status):
9909         * process.c (Fprocess_exit_status):
9910         * process.c (process_send_signal):
9911         * process.c (Fprocess_send_eof):
9912         * process.c (deactivate_process):
9913         * process.c (remove_process):
9914         * process.c (Fdelete_process):
9915         * process.c (kill_buffer_processes):
9916         * process.c (Fprocess_kill_without_query):
9917         * process.c (Fprocess_kill_without_query_p):
9918         * rangetab.c:
9919         * rangetab.c (Fget_range_table):
9920         * rangetab.c (Fput_range_table):
9921         * rangetab.c (Fremove_range_table):
9922         * rangetab.c (Fclear_range_table):
9923         * search.c:
9924         * search.c (Fskip_chars_forward):
9925         * search.c (Fskip_chars_backward):
9926         * search.c (Fskip_syntax_forward):
9927         * search.c (Fskip_syntax_backward):
9928         * search.c (search_command):
9929         * search.c (Freplace_match):
9930         * search.c (Fregexp_quote):
9931         * select.c (Fown_selection_internal):
9932         * select.c (Fselection_owner_p):
9933         * select.c (Fselection_exists_p):
9934         * select.c (Fget_selection_internal):
9935         * specifier.c:
9936         * symbols.c:
9937         * symbols.c (Fintern):
9938         * symbols.c (Fintern_soft):
9939         * symbols.c (Funintern):
9940         * symbols.c (Fapropos_internal):
9941         * symbols.c (Fset_default):
9942         * syntax.c:
9943         * syntax.c (Fsyntax_table_p):
9944         * syntax.c (Fcopy_syntax_table):
9945         * syntax.c (Fset_syntax_table):
9946         * syntax.c (Fchar_syntax):
9947         * syntax.c (syntax_match):
9948         * syntax.c (Fmatching_paren):
9949         * syntax.c (Fforward_word):
9950         * syntax.c (scan_lists):
9951         * syntax.c (Fscan_lists):
9952         * syntax.c (Fscan_sexps):
9953         * syntax.c (Fparse_partial_sexp):
9954         * toolbar.c (Fcheck_toolbar_button_syntax):
9955         * tooltalk.doc:
9956         * window.c:
9957         * window.c (Fwindowp):
9958         * window.c (Fwindow_live_p):
9959         * window.c (Fwindow_point):
9960         * window.c (Fdelete_window):
9961         * window.c (Fnext_window):
9962         * window.c (Fprevious_window):
9963         * window.c (Fother_window):
9964         * window.c (window_loop):
9965         * window.c (Fget_lru_window):
9966         * window.c (Fsplit_window):
9967         * window.c (Fenlarge_window):
9968         * window.c (Fenlarge_window_pixels):
9969         * window.c (Fshrink_window):
9970         * window.c (Fshrink_window_pixels):
9971         * window.c (change_window_height):
9972         * window.c (Fwindow_configuration_p):
9973         * window.c (Fcurrent_window_configuration):
9974         * window.h:
9975         * casefiddle.c (casify_object):
9976         * casefiddle.c (Fupcase):
9977         * casefiddle.c (Fdowncase):
9978         * casefiddle.c (Fcapitalize):
9979         * casefiddle.c (Fupcase_initials):
9980         * casefiddle.c (casify_region_internal):
9981         * casefiddle.c (casify_region):
9982         * casefiddle.c (Fupcase_region):
9983         * casefiddle.c (Fdowncase_region):
9984         * casefiddle.c (Fcapitalize_region):
9985         * casefiddle.c (Fupcase_initials_region):
9986         * casefiddle.c (Fupcase_word):
9987         * casefiddle.c (Fdowncase_word):
9988         * casefiddle.c (Fcapitalize_word):
9989         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9990         Replace 0 with '\0' when working with bytes.
9991         Replace initial "(" with "\(" in docstrings.
9992
9993 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9994
9995         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9996
9997         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9998
9999 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10000
10001         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10002
10003 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10004
10005         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10006         correctly.
10007
10008 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10009
10010         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10011         (inhibit_auto_save_session): New variable.
10012         (vars_of_fileio): Declare and initialize them.
10013         * fileio.c (Fdo_auto_save): Don't create session file if
10014         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10015
10016 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10017
10018         * sgiplay.c (play_internal): C++ compilability.
10019         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10020         * callproc.c (Fold_call_process_internal):
10021         Remove unused vars `env', `first'.
10022         * scrollbar.c (update_scrollbar_instance):
10023         #### unused var `current_window'.
10024         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10025         etc. within #ifdef NOT_YET.
10026         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10027         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10028         * specifier.c (specifier_instance):
10029         #### unused var `tag'.
10030         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10031
10032 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10033
10034         * fns.c (Fbutlast):
10035         * fns.c (list_sort):
10036         * fns.c (Ffillarray):
10037         * fns.c (bytecode_nconc2):
10038         * fns.c (Fnconc):
10039         * fns.c (mapcar1):
10040         * fns.c (Fmapconcat):
10041         Be pedantically 64-bit correct.  For the time when someone will
10042         want to have a list with length > 2**32.
10043
10044         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10045         Work around MIPSpro compiler bug.
10046
10047         * process-unix.c (unix_kill_child_process): Add snarky comment.
10048         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10049
10050         * config.h.in: Oops, _getpt ==> _getpty
10051
10052 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10053
10054         * config.h.in:
10055         * regex.c:
10056         Use void*, not char*, as return type of alloca().
10057
10058         * alloc.c (free_marker): Side effect inside assert expression!
10059
10060 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10061
10062         * mule-charset.c (Fset_charset_ccl_program): To check
10063         if the given ccl program is valid, use setup_ccl_program()
10064         instead of CHECK_VECTOR().
10065         (Fmake_charset): Likewise.
10066
10067 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10068
10069         * faces.c (get_extent_fragment_face_cache_index):
10070         Fix cachel.merged_faces memory leak.
10071
10072 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10073
10074         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10075         Reset MSB of octets obtained by DECODE_SJIS
10076         because of the incompatibility with Emacs.
10077         (ccl_driver)<CCL_ENCODE_SJIS>:
10078         Set MSB of octets before passing them to
10079         ENCODE_SJIS because of the incompatibility
10080         with Emacs.
10081
10082 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10083
10084         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10085         (DECLARE_LRECORD): Undo the last change.
10086         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10087
10088 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10089
10090         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10091         the implementation to lrecord_implementations_table.
10092
10093 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10094
10095         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10096         initial value of `lrecord_type_##c_name' and
10097         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10098         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10099         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10100         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10101         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10102
10103 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10104
10105         * miscplay.c (sndcnv8S_2mono):
10106         (sndcnv2monounsigned):
10107         (sndcnvULaw_2linear):
10108         (sndcnv16swap):
10109         Remove implementation-defined behavior.
10110
10111 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10112
10113         * input-method-xlib.c: Warning suppression.
10114
10115 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10116
10117         * mule-ccl.c: Sync up with Emacs 21.0.90.
10118         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10119         Do nothing.
10120         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10121         Likewise.
10122         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10123         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10124         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10125         leading char belongs to official 2-dimensional charset.
10126         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10127         write the given character as is.  Otherwise,
10128         if it is a multibyte char, convert it by
10129         non_ascii_set_charptr_emchar, then write it.
10130         (CCL_WRITE_STRING): Likewise.
10131         (ccl_get_compiled_code): New function.
10132         (setup_ccl_program): When ccl_prog is invalid,
10133         return -1.
10134         (Fregister_code_conversion_map): New function.
10135         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10136
10137         * mule-ccl.h: Sync up with Emacs 21.0.90.
10138         (Fregister_ccl_program): export it.
10139
10140         * redisplay-msw.c (separate_textual_runs):
10141         If ccl program is not valid, don't do ccl conversion.
10142
10143         * redisplay-x.c (separate_textual_runs): Ditto.
10144
10145         * file-coding.c (Fmake_coding_system):
10146         When type is ccl and value is vector, register it
10147         with a proper symbol.  And checks whether the
10148         given ccl program is valid.
10149         (mule_decode): When calling ccl_driver, if src indicates
10150         NULL pointer, set an empty string instead.
10151         (mule_encode): Likewise.
10152
10153 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10154
10155         The following large batch of changes gets us back to a state of
10156         C++ compilability.  Extbyte is now a char, which means that
10157         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10158
10159         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10160
10161         * sound.c (Fplay_sound): Type correctness.
10162
10163         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10164         (x_get_window_property): Type correctness.
10165         (receive_incremental_selection): unsigned char ==> Extbyte
10166         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10167         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10168         (Fx_store_cutbuffer_internal): Type correctness.
10169
10170         * process-unix.c (try_to_initialize_subtty): Type correctness.
10171
10172         * objects-x.c (x_print_color_instance): Type correctness.
10173         (x_print_font_instance): Type correctness.
10174         (x_list_fonts): SExtbyte ==> Extbyte.
10175         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10176         (x_find_charset_font): SExtbyte ==> Extbyte.
10177         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10178         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10179         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10180         Use bufbyte_strcmp.
10181
10182         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10183         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10184         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10185         (BYTE_C0_P): Use bit ops for char-signedness safety.
10186         (BYTE_C1_P): Use bit ops for char-signedness safety.
10187         (CHARSET_BY_LEADING_BYTE):
10188         (CHARSET_BY_ATTRIBUTES):
10189         Always use inline function.
10190         Use type_checking_assert.
10191         Hide chlook.
10192
10193         * mule-charset.c (non_ascii_charptr_copy_char):
10194         Modify to work with both ASCII and non-ASCII characters.
10195         Improve docs and variable names.
10196         Replace over-clever fall-through switch with a simple loop.
10197         (Lstream_get_emchar_1):
10198         Replace over-clever fall-through switch with a simple loop.
10199
10200         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10201         Warning suppression.
10202
10203         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10204         the return value of Lstream_getc, which could be EOF as well.
10205
10206         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10207
10208         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10209         APIs can be used on Extbytes without casts.  Risky!
10210         (SExtbyte): Remove.
10211         (UExtbyte): Remove.
10212
10213         * input-method-xlib.c (XIM_init_device):
10214         Use Xlib.h instead of IntrinsicP.h.
10215         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10216         which will break in X11R7.
10217         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10218         to call XRegisterIMInstantiateCallback with correct types.
10219
10220         * gui-x.c (button_item_to_widget_value): Type correctness.
10221
10222         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10223
10224         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10225         (xbm_instantiate_1): Type correctness.
10226         (BUILD_GLYPH_INST):  Type correctness.
10227
10228         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10229
10230         * file-coding.c:
10231         (decode_coding_sjis):
10232         (decode_coding_big5):
10233         (decode_coding_ucs4):
10234         (decode_coding_utf8):
10235         (decode_coding_iso2022):
10236         (decode_coding_no_conversion):
10237         Make all decoding functions take an Extbyte * arg.
10238         (encode_coding_sjis):
10239         (encode_coding_big5):
10240         (encode_coding_ucs4):
10241         (encode_coding_utf8):
10242         (encode_coding_iso2022):
10243         (encode_coding_no_conversion):
10244         Make all encoding functions take a Bufbyte * arg.
10245         Use size_t instead of unsigned int for memory sizes.
10246         Only cast to unsigned char whenever dereferencing Extbyte *.
10247
10248         * doc.c (unparesseuxify_doc_string): Type correctness.
10249
10250         * console-x.c (split_up_display_spec):
10251         Rewrite without using details of internal string representation.
10252         (x_semi_canonicalize_device_connection): Type correctness.
10253
10254         * config.h.in:
10255         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10256         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10257         (HAVE_XFREE386): Removed.
10258
10259         * buffer.h (DEC_CHARPTR): `const' correctness.
10260         (bufbyte_strcmp): New.
10261         (bufbyte_memcmp): New.
10262
10263         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10264
10265         * buffer.h (XCHAR_OR_CHAR_INT):
10266         Always use inline function.
10267         Remove redundant type checking assert() - XINT will abort quite nicely.
10268
10269 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10270
10271         * search.c (Freplace_match): Set newtext to an empty string.
10272
10273 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10274
10275         * s/decosf1-3.h: Remove #include of stropts.h
10276         * s/ptx.h: Remove #include of stropts.h
10277         * s/usg5-4.h: Remove #include of stropts.h
10278         * sysproc.h:
10279         * config.h.in:
10280         Use stropts.h, not sys/stropts.h.
10281         Use strtio.h, not sys/strtio.h.
10282
10283 2000-10-04  Martin Buchholz <martin@xemacs.org>
10284
10285         * XEmacs 21.2.36 is released.
10286
10287 2000-09-21  Andy Piper  <andy@xemacs.org>
10288
10289         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10290         changes still involve copying the widget tree.
10291         (update_widget_face): make sure a change is register in the widget
10292         tree. Call update_tab_widget_face appropriately.
10293         (update_tab_widget_face): ditto.
10294         (x_tab_control_redisplay): make sure non-structural changes still
10295         involve copying the widget tree.
10296
10297 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10298
10299         * lread.c (locate_file): Check the path element is non-nil.
10300
10301 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10302
10303         * lisp.h: Warning suppression for SCO compilers.
10304
10305         * redisplay-tty.c (reset_tty_modes): Fix crash.
10306         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10307
10308 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10309
10310         Big signal/process handling overhaul.  Bugs fixed:
10311         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10312         M-x comint-kill-subjob should work for both values nil and t of
10313         process-connection-type. It was broken on most platforms.
10314         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10315         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10316         * process-unix.c: Signal/Process handling overhaul.
10317         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10318         (allocate_pty): Use all available modern methods of allocating
10319         ptys, falling back to old style BSD allocation as a last resort.
10320         Use allegedly more secure Unix98 pty allocation by default.
10321         (allocate_pty_the_old_fashioned_way): New. the last resort.
10322         (unix_create_process): Push ptem, ldterm, ttcompat where
10323         available.  Autoconfiscate.
10324         (try_to_initialize_subtty): New.
10325         (unix_kill_child_process): Proper signal handling for ptys on most
10326         platforms, using special knowledge of AIX, BSD, etc...
10327         (unix_create_process): Always disconnect_controlling_terminal() for
10328         subprocesses, whether using ptys or not.
10329         * process.h: Remove old getpt-dependent PTY code.
10330         * process.c (Fprocess_send_signal): New, obvious generic function.
10331         (decode_signal): New.
10332         (Finterrupt_process):
10333         (Fkill_process):
10334         (Fquit_process):
10335         (Fstop_process):
10336         (Fcontinue_process):
10337         (Fsignal_process): Use decode_signal.
10338         (process_send_signal):
10339         Many docstring corrections.
10340         Allow any signal to be sent to a process object.
10341         * config.h.in: Add symbols for big signal/process overhaul.
10342         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10343         * sysproc.h: Include process-related headers, where available:
10344         sys/stropts.h sys/strtio.h pty.h libutil.h
10345         * s/irix4-0.h:
10346         * s/irix5-0.h:
10347         * s/cygwin32.h:
10348         * s/gnu.h:
10349         * s/linux.h:
10350         * s/hpux.h:
10351         * s/aix3-1.h:
10352         Remove old S&M pty stuff.
10353         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10354         * systty.h: Simplify cpp hackery, improve comments.
10355         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10356
10357         * editfns.c (Fformat_time_string):
10358         Be a little more paranoid with the return value of ctime.
10359
10360         * fileio.c (check_executable):
10361         (check_writable):
10362         Use symbolic constants X_OK, W_OK.
10363
10364         * console-x.c (split_up_display_spec): Fix a warning.
10365
10366 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10367
10368         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10369         * ntproc.c (sys_spawnve): make_string ==> build_string
10370         Small clarity improvements.
10371
10372 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10373
10374         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10375
10376         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10377
10378         * config.h.in (HAVE_STRCASECMP): Remove.
10379
10380 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10381
10382         * redisplay-output.c (redisplay_output_pixmap):
10383         Cleaner and possibly more 64-bit correct code.
10384
10385 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10386
10387         * dumper.c (pdump_load_finish): move restoration of
10388         `noninteractive1' to emacs.c (main_1).
10389         * emacs.c (main_1): protect LISP-visible command-line flags
10390         from pdump_load().
10391
10392 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10393
10394         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10395         DUMP_TARGET instead of literal program names.
10396
10397 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10398
10399         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10400
10401 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10402
10403         * *: Spelling mega-patch
10404
10405 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10406
10407         * fns.c (bad_bad_turtle):
10408         Delete "Eek!" comment, since we fixed the bug to which it refers.
10409
10410 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10411
10412         * alloca.c: Replace REGISTER with register.
10413
10414 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10415
10416         * file-coding.c (ucs_to_char): Use countof.
10417
10418 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10419
10420         * file-coding.c: (ucs_to_char):
10421         (complex_vars_of_file_coding):
10422         Use countof instead of sizeof.
10423         Use CHECK_NATNUM instead of CHECK_INT.
10424
10425         * sysdep.c (strcasecmp): Remove.
10426         * device-x.c (ascii_strcasecmp): New.
10427         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10428         Avoid using non-standard non-portable strcasecmp.
10429
10430 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10431
10432         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10433         * font-lock.c: remove reference to emacsfns.h.
10434         * search.c: small doc improvement.
10435         * event-Xt.c: correct file names in comments.
10436         * console-x.h Correct file names in comments.
10437         * frame.c: Correct file names in comments.
10438         * event-stream.c: remove Energize from comments.
10439
10440 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10441
10442         * symeval.h (DEFERROR_STANDARD):
10443         (DEFERROR):
10444         (DEFSYMBOL):
10445         (DEFSYMBOL_NO_DUMP):
10446         (DEFSYMBOL_MULTIWORD_PREDICATE):
10447         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10448         (DEFKEYWORD):
10449         The construct &##name is not sensible C.
10450         Fixes compilation errors with Unixware native compiler.
10451
10452 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10453
10454         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10455         (next_frame_internal): Removed.  We now just have next_frame.
10456         (next_frame):
10457         Write a simpler and cleaner one-pass algorithm.
10458         Remove called_from_delete_device arg and #ifdefed-out code.
10459         (previous_frame):
10460         Renamed from prev_frame.  Update callers.
10461         Cleaned up to have an analogous implementation to next_frame.
10462         (other_visible_frames_internal): Remove the
10463         called_from_delete_device bogus arg, and hence, remove this
10464         function.  Just use other_visible_frames().
10465
10466         * window.c (Fnext_window):
10467         Prettify docstring.
10468         Since next_frame() is guaranteed to return a frame, remove check
10469         for nil inserted in previous patch.
10470         (Fprevious_window):
10471         Prettify docstring.
10472         Make code look more like Fnext_window.
10473         (window_loop):
10474         Respect the `console' arg when iterating through windows.
10475         Fixes bug: (get-buffer-window buffer t device) not respecting
10476         the `device' arg.
10477         This function needs more work, as others have pointed out.
10478
10479         * frame.h: Rename prev_frame to previous_frame.
10480         device_matches_console_spec no longer takes a `frame' arg.
10481
10482         * s/gnu.h:
10483         * s/linux.h:
10484         * s/hpux.h:
10485         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10486         From "Golubev I. N." <gin@mo.msk.ru>.
10487
10488         * make-src-depend: Fix typo.
10489
10490 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10491
10492         * window.c (Fnext_window):
10493         next_frame() might return nil, not a frame.
10494         Fixes this crash:
10495         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10496
10497         * frame.c (next_frame_internal):
10498         We've passed a frame if we've passed its device.
10499         Fixes this crash:
10500         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10501 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10502
10503 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10504
10505         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10506         Allow option to suppress accelerators in menu/dialog items.
10507         (populate_or_checksum_helper): Pass dialog title through above.
10508
10509 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10510
10511         * event-msw.c (mswindows_key_to_emacs_keysym):
10512         Add "pause" key, fix "menu" key.
10513
10514 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10515
10516         * eval.c (reinit_vars_of_eval):
10517         Increase max_lisp_eval_depth to 1000,
10518         required for thai-xtis.el to byte-compile under some circumstances.
10519
10520 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10521
10522         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10523         From Kenichi Handa.
10524
10525 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10526
10527         * make-src-depend: Make the generated Makefiles smaller.
10528
10529         * s/hpux.h (SETUP_SLAVE_PTY):
10530         Provide a %d in the format string for the errno argument.
10531
10532         * editfns.c (Ftemp_directory):
10533         Warning fix.
10534         Avoid buffer overrun on very long file name.
10535
10536         * input-method-xlib.c (XIM_init_device):
10537         6th parameter of XRegisterIMInstantiateCallback has different
10538         pointer types on different OSes, so simply cast to (void *).
10539
10540         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10541
10542         * sysdll.c (dll_open):
10543         shl_load will hang hard if passed a NULL filename.
10544         Simply return NULL for compatibility with dlopen.
10545         * sysdll.c: Conform to XEmacs coding standards.
10546
10547         * sysdep.c (get_pty_max_bytes):
10548         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10549
10550 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10551
10552         * tooltalk.c: Add #include <syssignal.h>
10553
10554 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10555
10556         * s/hpux.h: Don't use undefined function sigunblock().
10557
10558 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10559
10560         * config.h.in: Add HAVE_BALLOON_HELP.
10561         * emacs.c: Use HAVE_BALLOON_HELP.
10562         * Makefile.in.in (x_objs):
10563         Make Balloon Help conditional on finding shape.h.
10564
10565 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10566
10567         * syntax.c (regex_emacs_buffer_p): New variable.
10568         * syntax.h (regex_emacs_buffer_p): extern.
10569         * search.c (looking_at_1):
10570         (string_match_1):
10571         (fast_string_match):
10572         (search_buffer): Set regex_emacs_buffer_p.
10573         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10574         when before_dot, at_dot, after_dot.
10575
10576 2000-08-23  Andy Piper  <andy@xemacs.org>
10577
10578         * gui-x.c (popup_selection_callback): Only set action_occurred
10579         when we really have an image instance.
10580         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10581
10582 2000-08-23  Andy Piper  <andy@xemacs.org>
10583
10584         * gui-msw.c (mswindows_handle_gui_wm_command): set
10585         action_occurred.
10586         * gui-x.c (popup_selection_callback): ditto.
10587
10588         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10589         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10590         (struct Lisp_Image_Instance): add action_occurred flag.
10591
10592         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10593         (image_instance_changed): ditto.
10594         (reset_frame_subwindow_instance_cache): only unmap windows - do
10595         not remove them from the cache also.
10596
10597         * glyphs-widget.c (tab_control_update): better debug.
10598         (progress_gauge_update): ditto.
10599         (layout_update): ditto.
10600         (layout_instantiate): ditto.
10601         (tab_control_order_only_changed): cope with null pending items.
10602
10603         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10604         debug. Force selection of an item when an action occurred. Cope
10605         with null pending_items.
10606         (mswindows_progress_gauge_redisplay): better debug.
10607         * glyphs-x.c (x_tab_control_redisplay): ditto.
10608
10609         * redisplay.c (redisplay_frame): reset the frame cache if the
10610         frame is garbaged.
10611
10612         * window.c (Fset_window_configuration): potentially re-enable
10613         frame cache reset.
10614         (window_unmap_subwindows): need to finalize instances here since
10615         it is only used in mark_window_as_deleted.
10616
10617 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10618
10619         * nas.c (SndOpenDataForReading):
10620         nas.c (WaveOpenDataForReading):
10621         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10622         Somehow escaped from the 2000-08-14 patch.
10623
10624 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10625
10626         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10627         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10628
10629 2000-08-21  Andy Piper  <andy@xemacs.org>
10630
10631         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10632         window if it is not already displayed.
10633
10634         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10635         it is not already displayed.
10636
10637         * window.c (Fset_window_configuration): don't reset the frame
10638         cache.
10639
10640         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10641         instances from the frame cache if we are actually finalizing them.
10642         (reset_frame_subwindow_instance_cache): reset frame cache only
10643         after unmapping everything.
10644         (map_subwindow): set displayed flag after mapping.
10645
10646 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10647
10648         * data.c (indirect_function):
10649         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10650
10651         * eval.c (function_argcount):
10652         Use original function when signaling errors.
10653
10654 2000-08-18  Andy Piper  <andy@xemacs.org>
10655
10656         * frame.c (delete_frame_internal): use new
10657         free_frame_subwindow_instances name.
10658
10659         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10660         (add_tab_item): make return type correct.
10661         (mswindows_tab_control_instantiate): assert index of tab.
10662         (mswindows_tab_control_redisplay): Re-code to use
10663         gui_item_equal_sans_selected and gui_item_list_find_selected.
10664
10665         * glyphs-widget.c (tab_control_update): Correct comment.
10666
10667         * window.c (window_unmap_subwindows): use new
10668         unmap_subwindow_instance_cache_mapper.
10669         (window_unmap_subwindows_cache_mapper): deleted.
10670         (Fset_window_configuration): comparisons should now be with
10671         EQ. Preserve the subwindow instance cache across configuration
10672         changes.
10673         (allocate_window): ditto.
10674         (make_dummy_parent): ditto.
10675
10676         * glyphs.c (free_frame_subwindow_instances): rename from
10677         free_frame_subwindow_instance_cache. finalize all instances rather
10678         than just those in the display cache.
10679         (finalize_all_subwindow_instances): walk windows unmapping and
10680         finalizing subwindows.
10681         (unmap_subwindow_instance_cache_mapper): moved from
10682         window.c. Allow finalization as well as unmapping.
10683
10684         * gui.c (gui_item_list_find_selected): new function.
10685
10686         * gui.h (gui_item_list_find_selected): declare.
10687
10688         * glyphs-x.c (x_tab_control_redisplay): pick tab
10689         explicitly. Re-code to use gui_item_equal_sans_selected and
10690         gui_item_list_find_selected.
10691
10692         * glyphs-x.h: add lwlib-utils.h
10693
10694         * buffer.c (Frecord_buffer): undo previous change.
10695
10696 2000-08-09  Vin Shelton  <acs@xemacs.org>
10697
10698         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10699         possible.  Create temporary files more securely.  The patch was
10700         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10701         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10702         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10703         for details.
10704
10705 2000-08-07  Ben Wing  <ben@xemacs.org>
10706
10707         * getloadavg.c: remove duplicate (and windows-breaking)
10708         includes of fcntl.h and sys/file.h.
10709
10710         * nt.c: remove duplicate getloadavg() definition.
10711
10712         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10713         encodings.
10714
10715 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10716
10717         * eval.c (function_argcount): If function needs to be autoloaded
10718         actually use the loaded definition.
10719         GCPRO function.
10720
10721 2000-08-05  Ben Wing  <ben@xemacs.org>
10722
10723         * getloadavg.c: add prototype for getloadavg().  remove
10724         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10725         of the code).  remove duplicate header includes.
10726
10727         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10728
10729         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10730         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10731         useful load average.
10732
10733         * alloc.c (reinit_alloc_once_early): removed references to
10734         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10735         the lisp vars are the only things referencing the malloc_sbrk_*
10736         vars, and they were already if 0'd out.  these vars only exist
10737         in the older malloc.c, which is basically unused, and they're
10738         only for informational purposes.
10739
10740         * m\*.h: removed useless VIRT_ADDR_VARIES.
10741
10742         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10743
10744 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10745
10746         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10747         color if the image is a mono pixmap.
10748
10749 2000-07-30  Ben Wing  <ben@xemacs.org>
10750
10751         * Makefile.in.in (release):
10752         Remove stray @.
10753
10754         * buffer.c (directory_is_current_directory):
10755         * dired-msw.c (mswindows_get_files):
10756         * dired.c:
10757         * dired.c (Fdirectory_files):
10758         * dired.c (file_name_completion_stat):
10759         * dired.c (Ffile_attributes):
10760         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10761         preprocessor tricks, to avoid problems on some machines
10762         (e.g. SCO).
10763
10764         * callproc.c (egetenv): GC docs.
10765
10766         * console-msw.h:
10767         * console-msw.h (struct mswindows_dialog_id):
10768         * lrecord.h (lrecord_type):
10769         New object for use with MSW dialogs.
10770
10771         * console.h (struct console_methods):
10772         New enable/disable frame methods, for proper modal dialogs.
10773
10774         * device-msw.c (msprinter_default_printer): Fix to follow
10775         proper Mule conventions.
10776
10777         * device-msw.c:
10778         * device-msw.c (signal_open_printer_error):
10779         * device-msw.c (msprinter_init_device):
10780         * device-msw.c (ensure_not_printing):
10781         * device-msw.c (plist_get_margin):
10782         * device-msw.c (Fmsprinter_select_settings):
10783         * device-msw.c (finalize_devmode):
10784         * device-msw.c (Fmsprinter_settings_despecialize):
10785         * device-msw.c (signal_enum_priner_error):
10786         * extents.c (decode_extent):
10787         * extents.c (decode_map_extents_flags):
10788         * extents.c (decode_extent_at_flag):
10789         * extents.c (Fextent_at):
10790         * extents.c (Fextents_at):
10791         * extents.c (symbol_to_glyph_layout):
10792         [[[[2]]]] Use structured errors.
10793
10794         * dialog-msw.c:
10795         * dialog-msw.c (mswindows_is_dialog_msg):
10796         * dialog-msw.c (mark_mswindows_dialog_id):
10797         * dialog-msw.c (dialog_proc):
10798         * dialog-msw.c (handle_question_dialog_box):
10799         * dialog-msw.c (syms_of_dialog_mswindows):
10800         Define new object to clean up marking; use it as a dialog identifier.
10801         Call new delete-dialog-box-hook.
10802
10803         * dialog-x.c (dbox_selection_callback):
10804         * dialog-x.c (dbox_descriptor_to_widget_value):
10805         * dialog-x.c (x_make_dialog_box_internal):
10806         Call new delete-dialog-box-hook.
10807         Return an id.
10808
10809         * dialog.c:
10810         * dialog.c (syms_of_dialog):
10811         * dialog.c (vars_of_dialog):
10812         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10813
10814         * eval.c:
10815         * eval.c (signal_call_debugger):
10816         when noninteractive, output stack traces on the console instead
10817         of in a (never-seen) buffer.
10818
10819         * eval.c (signal_type_error):
10820         * eval.c (invalid_argument_2):
10821         * lisp.h:
10822         new funs for use w/structured errors.
10823
10824         * event-Xt.c:
10825         * event-Xt.c (x_to_emacs_keysym):
10826         * event-Xt.c (describe_event):
10827         * event-Xt.c (emacs_Xt_event_handler):
10828         * event-Xt.c (vars_of_event_Xt):
10829         * event-msw.c:
10830         * event-msw.c (mswindows_wnd_proc):
10831         * event-msw.c (vars_of_event_mswindows):
10832         rename {x,mswindows}-debug-events to debug-{}-events for
10833         consistency with other debug-foo variables.
10834
10835         * event-stream.c:
10836         document next-event more clearly.
10837
10838         * fileio.c (Ffile_name_directory):
10839         * fileio.c (Ffile_name_nondirectory):
10840         * fileio.c (Funhandled_file_name_directory):
10841         * fileio.c (file_name_as_directory):
10842         * fileio.c (Ffile_name_as_directory):
10843         * fileio.c (directory_file_name):
10844         * fileio.c (Fdirectory_file_name):
10845         * fileio.c (Fmake_temp_name):
10846         * fileio.c (Ffile_truename):
10847         * fileio.c (Fsubstitute_in_file_name):
10848         * fileio.c (expand_and_dir_to_file):
10849         * fileio.c (barf_or_query_if_file_exists):
10850         * fileio.c (check_executable):
10851         * fileio.c (Ffile_exists_p):
10852         * fileio.c (Ffile_writable_p):
10853         * fileio.c (Ffile_directory_p):
10854         * fileio.c (Ffile_regular_p):
10855         * fileio.c (Ffile_modes):
10856         * fileio.c (Ffile_newer_than_file_p):
10857         * fileio.c (Fverify_visited_file_modtime):
10858         * fileio.c (Fset_visited_file_modtime):
10859         * fileio.c (auto_save_1):
10860         (1). (2).
10861         fix up gcpro's.
10862
10863         * frame-msw.c:
10864         * frame-msw.c (mswindows_init_frame_1):
10865         * frame-msw.c (mswindows_enable_frame):
10866         * frame-msw.c (error_frame_unsizable):
10867         * frame-msw.c (msprinter_init_frame_1):
10868         * frame-msw.c (msprinter_init_frame_3):
10869         * frame-msw.c (console_type_create_frame_mswindows):
10870         (2).
10871         implement new enable/disable frame methods.
10872
10873         * frame-x.c:
10874         * frame-x.c (x_enable_frame):
10875         * frame-x.c (console_type_create_frame_x):
10876         implement new enable/disable frame methods.
10877
10878         * frame.c:
10879         * frame.c (Fdisable_frame):
10880         * frame.c (syms_of_frame):
10881         * frame.h (struct frame):
10882         implement new enable/disable frame methods/functions.
10883
10884         * general-slots.h:
10885         add initial-focus.
10886
10887         * glyphs-msw.c (mswindows_widget_instantiate):
10888         comment that initial-focus should be implemented.
10889
10890         * glyphs-widget.c:
10891         * glyphs-widget.c (check_valid_instantiator):
10892         * glyphs-widget.c (check_valid_orientation):
10893         * glyphs-widget.c (check_valid_tab_orientation):
10894         * glyphs-widget.c (check_valid_justification):
10895         * glyphs-widget.c (check_valid_border):
10896         * glyphs-widget.c (check_valid_callback):
10897         * glyphs-widget.c (check_valid_int_or_function):
10898         * glyphs-widget.c (check_valid_string_or_vector):
10899         * glyphs-widget.c (check_valid_item_list_1):
10900         * glyphs-widget.c (widget_validate):
10901         * glyphs-widget.c (combo_box_validate):
10902         * glyphs-widget.c (widget_instantiate):
10903         * glyphs-widget.c (syms_of_glyphs_widget):
10904         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10905         * glyphs-widget.c (image_instantiator_combo_box):
10906         * glyphs-widget.c (image_instantiator_scrollbar):
10907         * glyphs-widget.c (image_instantiator_tab_control):
10908         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10909         (2).
10910         support (unimplemented) keyword initial-focus.
10911         reindent long macros.
10912
10913         * glyphs-x.c (x_redisplay_widget):
10914         * glyphs-x.c (x_button_instantiate):
10915         * glyphs-x.c (x_button_redisplay):
10916         * glyphs-x.c (x_progress_gauge_instantiate):
10917         * glyphs-x.c (x_edit_field_instantiate):
10918         * glyphs-x.c (x_combo_box_instantiate):
10919         * glyphs-x.c (x_tab_control_instantiate):
10920         * glyphs-x.c (x_label_instantiate):
10921         * gui-x.c:
10922         * gui-x.c (button_item_to_widget_value):
10923         * gui-x.c (gui_items_to_widget_values_1):
10924         * gui-x.c (gui_item_children_to_widget_values):
10925         * gui-x.c (gui_items_to_widget_values):
10926         * gui-x.h:
10927         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10928         add new flag to gui-parsing routines to indicate whether
10929         accelerator specs should be supported.
10930
10931         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10932
10933         * glyphs.h (struct Lisp_Image_Instance):
10934         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10935         add initial-focus flag.
10936
10937         * gui.c:
10938         * gui.c (syms_of_gui):
10939         * gui.c (vars_of_gui):
10940         clean up menu-no-selection-hook.
10941
10942         * gui.h:
10943         support delete-dialog-box-hook.
10944
10945         * lread.c (Fload_internal):
10946         * lread.c (locate_file_in_directory_mapper):
10947         (1).
10948
10949         * lrecord.h:
10950         * lrecord.h (struct toolbar_button):
10951         * lrecord.h (syms_of_toolbar):
10952         document how to create a new object.
10953
10954         * menubar-msw.c (mswindows_char_is_accelerator):
10955         may be called on frames w/o menus.
10956
10957         * menubar.c (vars_of_menubar):
10958         clean up :filter docs.
10959
10960         * nt.c (readdir):
10961         * ntproc.c:
10962         (1).
10963
10964         * process-nt.c:
10965         * process-nt.c (validate_signal_number):
10966         * process-nt.c (signal_cannot_launch):
10967         * process-nt.c (nt_create_process):
10968         * process-nt.c (nt_send_process):
10969         * process-nt.c (nt_kill_child_process):
10970         * process-nt.c (nt_open_network_stream):
10971         * process-nt.c (syms_of_process_nt):
10972         (2).
10973         delete quote-handling.  call new lisp code that does it better.
10974
10975         * process-unix.c (connect_to_file_descriptor):
10976         * process-unix.c (allocate_pty):
10977         * process-unix.c (unix_send_process):
10978         * process-unix.c (unix_kill_child_process):
10979         * process-unix.c (unix_open_network_stream):
10980         * process-unix.c (unix_open_multicast_group):
10981         (1). (2).
10982
10983         * process.c:
10984         * process.c (Fstart_process_internal):
10985         (2).  need to canonicalize process path even if absolute.
10986
10987         * select-msw.c (symbol_to_ms_cf):
10988         * select-msw.c (ms_cf_to_symbol):
10989         * select-msw.c (cf_is_autofreed):
10990         * select-msw.c (mswindows_destroy_selection):
10991         * select.c:
10992         * select.c (syms_of_select):
10993         * select.h:
10994         support dibv5, fix bugs. (from Mike Alexander)
10995
10996         * select.c (Fget_selection_internal):
10997         * select.c (select_convert_out):
10998
10999         * sysdep.c:
11000         * sysdep.c (xemacs_stat):
11001         renamed.
11002
11003         * sysdep.c (mkdir):
11004         * sysdep.c (rmdir):
11005         but keep original stat() here because we provide encapsulation
11006         around these funs.
11007
11008         * sysfile.h:
11009         * sysfile.h (fstat):
11010         remove stat garbage.
11011
11012         * syswindows.h:
11013         fix X/MSW conflict.
11014         don't include tchar.h.  it's inappropriate because it makes
11015         compile-time distinctions when we want runtime distinctions.
11016         (we provide our own tchar replacements)
11017
11018         * toolbar.c:
11019         use default object printer for toolbar-button.
11020
11021         * unexcw.c:
11022         make sure we don't encapsulate.
11023
11024         * window.c (vars_of_window):
11025         emphasize that temp-buffer-show-hook is obsolete.
11026
11027 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11028
11029         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11030         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11031
11032         * events.c (Fevent_timestamp_lessp):
11033         Not 64-bit clean.  Use EMACS_INT, not int.
11034
11035 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11036
11037         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11038         unsigned int and changed the last enum to
11039         lrecord_type_last_built_in_type.
11040         (lrecord_implementations_table): changed prototype to know how
11041         long the array is supposed to be.
11042         (lrecord_type_count): new unsigned int to keep track of the
11043         current number of lisp lrecord types.
11044         (DEFINE_EXTERNAL_LRECORD):
11045         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11046         dynamic-modules to declare new lisp types. They are the same
11047         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11048         int for each new type, and increment lrecord_type_count by 1.
11049
11050         * alloc.c (lrecord_implementations_table): Changed to reference
11051         lrecord_type_last_built_in_type for the size of the array.
11052         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11053
11054 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11055
11056         * glyphs.h (check_valid_item_list): Renamed from
11057         check_valid_item_list_1.
11058
11059 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11060
11061         * select.c (Qselect_coerce): New.
11062         * select.c (Vselection_coercion_alist): New.
11063         * select.c (syms_of_select): Declare.
11064         * select.c (get-selection-internal): Use it.
11065         Use the new select-coerce functionality.
11066
11067         * select.c (select_coerce): New.
11068         * select.h (select_coerce): Declare.
11069         New function to coerce one type of data into another.
11070
11071 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11072
11073         * callproc.c (Fcall_process_internal):
11074         (Fcall_process_internal):
11075         * process-unix.c (unix_create_process):
11076         Save and restore the value of errno, so that error messages are accurate.
11077
11078 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11079
11080         * elhash.c (print_hash_table):
11081         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11082         Prettify docstrings and indentation.
11083
11084 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11085
11086         * window.c (Fwindow_pixel_edges): Subtract frame border and
11087         gutter size.
11088
11089 2000-07-31  Andy Piper  <andy@xemacs.org>
11090
11091         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11092         will acknowledge the change.
11093
11094         * glyphs.h: declare tab_control_order_only_changed.
11095
11096         * glyphs-x.c (x_tab_control_redisplay): use
11097         tab_control_order_only_changed.
11098
11099         * glyphs-widget.c (tab_control_order_only_changed): new function.
11100
11101         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11102         tab_control_order_only_changed.
11103
11104         * gui.c (gui_item_equal_sans_selected): new function.
11105         (gui_item_equal): use it.
11106
11107         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11108         :properties in favor of :items..
11109
11110         * glyphs-widget.c (check_valid_item_list): rename from
11111         check_valid_item_list_1.
11112         (check_valid_item_list_1): renamed.
11113         (combo_box_validate): deprecate :properties in favor of :items.
11114         (widget_instantiate): ditto.
11115         (tab_control_update): ditto.
11116         (image_instantiator_combo_box): ditto.
11117         (image_instantiator_tree_view): ditto.
11118         (image_instantiator_tab_control): ditto.
11119         (layout_post_instantiate): remove dead code.
11120
11121         * print.c (debug_print_no_newline): only write to debugger if in
11122         WIN32_NATIVE.
11123
11124         * elhash.c (Fmake_hash_table): update doc string.
11125
11126         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11127         messages whilst in GC. This at least stops XEmacs crashing but has
11128         the potential for wierd behaviour.
11129
11130 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11131
11132         * config.h.in:
11133         Make existence of s&m files optional.
11134
11135         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11136         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11137         * s/gnu.h: Remove HAVE_GETLOADAVG.
11138         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11139         * s/sol2.h: Remove HAVE_GETLOADAVG.
11140         * lisp.h: Remove getloadavg() declaration.
11141         * fns.c:
11142         Include <sys/loadavg.h> if available.
11143         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11144         * config.h.in:  Group together getloadavg()-related macros.
11145         Use only configure-time tests to detect getloadavg().
11146
11147 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11148
11149         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11150
11151 2000-07-25  Andy Piper  <andy@xemacs.org>
11152
11153         * syswindows.h: add tchar.h for native builds.
11154
11155         * frame.c (syms_of_frame): remove set-glyph-image.
11156
11157         * general-slots.h: add Qset_glyph_image.
11158
11159         * glyphs-widget.c (layout_update): add domain arg to
11160         set-glyph-image.
11161         (syms_of_glyphs_widget): remove set-glyph-image.
11162
11163 2000-07-23  Ben Wing  <ben@xemacs.org>
11164
11165         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11166         Vpopup_frame_list.
11167
11168 2000-07-22  Andy Piper  <andy@xemacs.org>
11169
11170         * symsinit.h: add syms_of_win32().
11171
11172         * gui-msw.c (syms_of_gui_mswindows): remove
11173         Fmswindows_shell_execute.
11174         (Fmswindows_shell_execute): moved to win32.c.
11175
11176         * emacs.c (main_1): add syms_of_win32 ().
11177
11178         * win32.c (init_potentially_nonexistent_functions): rewrite in
11179         compiler-friendly terms.
11180         (Fmswindows_shell_execute): move here from gui-msw.c.
11181         (syms_of_win32): new.
11182
11183         * device-msw.c (Fmswindows_printer_list): clean up args to
11184         EnumPrinters.
11185         Don't include tchar under cygwin or mingw.
11186         (msprinter_default_printer): make cygwin-friendly.
11187
11188 2000-07-21  Andy Piper  <andy@xemacs.org>
11189
11190         * glyphs-widget.c (image_instantiator_tree_view): use tab
11191         control's update function.
11192         (layout_property): new function. Retrieve items.
11193
11194         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11195         function. Re-populate the tree view from the pending items.
11196
11197         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11198         is designated the parent if the domain is an image instance. This
11199         is needed so that dirtiness can be cascade up the hierarchy and
11200         thus for layout children to be redisplayed correctly.
11201         (allocate_image_instance): rename glyph -> parent.
11202
11203         * redisplay.h: change redisplay_output_layout signature.
11204
11205         * redisplay-msw.c (mswindows_output_display_block): use domain
11206         arg.
11207
11208         * redisplay-x.c (x_output_display_block): use domain arg.
11209
11210 2000-07-10  Andy Piper  <andy@xemacs.org>
11211
11212         * window.c (Fset_window_configuration): add comment.
11213
11214         * redisplay-output.c (compare_runes):
11215         (redisplay_output_subwindow): redisplay rather than update subwindow.
11216         (redisplay_output_layout): ditto.
11217
11218         * redisplay-msw.c (mswindows_frame_output_end):
11219         (mswindows_frame_output_end): make defer window pos optional.
11220
11221         * lisp.h: add Flast.
11222
11223         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11224         normalize method. Change update method to be for changed
11225         instantiators. Add redisplay method. Change signature of layout
11226         method.
11227         (struct Lisp_Image_Instance): add instantiator.
11228         (IMAGE_INSTANCE_INSTANTIATOR): new.
11229         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11230         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11231         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11232
11233         * glyphs.c:
11234         (find_instantiator_differences): new function.
11235         (Fset_instantiator_property): new convenience function.
11236         (check_image_instance_structure): strictly check for vector
11237         instantiators.
11238         (normalize_image_instantiator): make non-static.
11239         (instantiate_image_instantiator): pass on dest_mask and use new
11240         signatures for image_instance_layout and friends.
11241         (mark_image_instance): mark the instantiator. Mark the subwindow
11242         face not the widget face.
11243         (image_instance_equal): add instantiator.
11244         (image_instance_hash): ditto.
11245         (allocate_image_instance): ditto.
11246         (Fset_image_instance_property): removed.
11247         (Fimage_instance_file_name): ditto.
11248         (Fcolorize_image_instance): ditto.
11249         (image_instance_layout): add offsets to be set.
11250         (update_image_instance): new function. update an image instance
11251         from its changed instantiator.
11252         (inherit_normalize): add dest_mask.
11253         (xbm_normalize): ditto.
11254         (xface_normalize): ditto.
11255         (xpm_normalize): ditto.
11256         (text_update): set_property -> update.
11257         (image_instantiate): use the glyph identity as a hash key, not the
11258         instantiator.
11259         (glyph_width): use new image_instance_layout signature.
11260         (glyph_ascent): ditto.
11261         (glyph_descent): ditto.
11262         (glyph_height): ditto.
11263         (glyph_query_geometry): ressurrect.
11264         (glyph_layout): ditto.
11265         (redisplay_subwindow): update -> redisplay.
11266         (syms_of_glyphs): add Fset_instantiator_property.
11267         (image_instantiator_format_create): set_property -> update.
11268
11269         * glyphs-x.c:
11270         (autodetect_normalize): add dest_maks to signature.
11271         (x_redisplay_subwindow): update -> redisplay.
11272         (x_redisplay_widget): ditto.
11273         (x_button_redisplay): ditto.
11274         (x_progress_gauge_redisplay): ditto.
11275         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11276         stacking order.
11277         (console_type_create_glyphs_x): update -> redisplay.
11278         (image_instantiator_format_create_glyphs_x): ditto.
11279
11280         * glyphs-widget.c:
11281         (check_valid_instantiator): disallow glyphs in the instantiator,
11282         they must now be vectors.
11283         (check_valid_instantiator_list): ditto.
11284         (glyph_instantiator_to_glyph): use internal symbol rather than
11285         intern.
11286         (widget_update): renamed from widget_set_property. Call cascaded
11287         update methods.
11288         (redisplay_widget): renamed from update_widget.
11289         (widget_layout): image_instance_layout now takes position as well
11290         as size.
11291         (widget_normalize): ditto.
11292         (widget_instantiate): ditto.
11293         (tab_control_query_geometry) ditto.:
11294         (tab_control_update): renamed from tab_control_set_property.
11295         (progress_gauge_update): set_property -> update.
11296         (layout_normalize): rewrite so that child instantiators are
11297         normalized also.
11298         (layout_update): new function. Create glyphs from the normalized
11299         children and cope with any other layout keywords. We do not
11300         instantiate children here that will be take care of by
11301         redisplay_output_layout.
11302         (layout_instantiate): call layout_update and not much else.
11303         (layout_post_instantiate): not sure whether this is needed
11304         anymore.
11305         (layout_query_geometry): query glyph geometry rather than
11306         image_instance geometry.
11307         (layout_layout): set offsets from pass in parameters. Use glyph
11308         geometry and layout functions rather than image instance ones.
11309         (native_layout_layout): ditto.
11310         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11311         (image_instantiator_widget): set_property -> update.
11312         (image_instantiator_buttons): ditto.
11313         (image_instantiator_progress_guage): ditto.
11314         (image_instantiator_tab_control): ditto.
11315         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11316         (image_instantiator_layout): add update method.
11317
11318         * glyphs-msw.c (bmp_normalize):
11319         (mswindows_resource_normalize): add dest_mask so that it can be
11320         proprogated by layout_normalize.
11321         (begin_defer_window_pos): make optional because it may not be the
11322         right thing to do and it introduces differences with X.
11323         (mswindows_unmap_subwindow): ditto.
11324         (mswindows_map_subwindow): ditto.
11325         (mswindows_redisplay_subwindow): renamed from
11326         mswindows_update_subwindow.
11327         (mswindows_redisplay_widget): ditto.
11328         (mswindows_button_redisplay): renamed from
11329         mswindows_button_update. Update is now what the instantiation
11330         function does for a changed instantiator.
11331         (mswindows_progress_gauge_instantiate): set the progress value
11332         here if appropriate.
11333         (mswindows_tab_control_redisplay): cope with re-ordering of the
11334         members of the tab widget by simply selecting the new top
11335         widget. This makes things appear ok if you click on a tab.
11336         (mswindows_combo_box_instantiate): image_instance_layout now takes
11337         position as well as size.
11338         (mswindows_progress_gauge_redisplay): renamed from
11339         mswindows_progress_gauge_update.
11340         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11341         (image_instantiator_format_create_glyphs_mswindows): ditto.
11342
11343         * glyphs-eimage.c (jpeg_normalize):
11344         (gif_normalize):
11345         (png_normalize):
11346         (tiff_normalize): add dest_mask so that it can be proprogated by
11347         layout_normalize.
11348
11349         * elhash.c:
11350         (print_hash_table):
11351         (hash_table_weakness_validate):
11352         (decode_hash_table_weakness):
11353         (Fhash_table_weakness):
11354         (Fhash_table_type):
11355         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11356
11357         * console.h (struct console_methods): move update_* to
11358         redisplay_*.
11359
11360 2000-07-20  Ben Wing  <ben@xemacs.org>
11361
11362         * *.[ch] (XSETOBJ): remove unused middle argument.
11363         lisp-disunion.h: correct wrap_object() to one argument.
11364
11365 2000-07-15  Ben Wing  <ben@xemacs.org>
11366
11367         * s/cygwin32.h:
11368         * s/cygwin32.h (CYGWIN_CONV_PATH):
11369         Add missing logb prototype for v1.1.
11370         Use post-b20 names and alias to pre-b20 names when pre-b20.
11371
11372         * s/windowsnt.h: [5].
11373
11374 2000-07-15  Ben Wing  <ben@xemacs.org>
11375
11376         * Makefile.in.in (x_objs):
11377         * Makefile.in.in (sheap_objs):
11378         * Makefile.in.in (objs):
11379         added win32.o, cosmetic cleanups.
11380
11381         * alloc.c (Fmake_byte_code):
11382         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11383         etc. macros which declare their own args now.
11384
11385         * alloc.c (syms_of_alloc):
11386         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11387
11388         * buffer.c:
11389         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11390
11391         * buffer.c (Fget_file_buffer):
11392         Fixed GCPRO problem.
11393
11394         * buffer.c (get_truename_buffer):
11395         Fixed comment about GC checking.
11396
11397         * buffer.c (syms_of_buffer):
11398         Undeclared those dedicated frame funs.
11399         [2].
11400
11401         * buffer.h:
11402         Define convenience macros for internal/external conversions.
11403         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11404         and Qenvironment_variable_encoding for cleaner code.
11405
11406         * bufslots.h:
11407         Remove dedicated-frame; in lisp.
11408
11409         * bytecode.c (funcall_compiled_function):
11410         [1].
11411
11412         * bytecode.c (syms_of_bytecode):
11413         [2].
11414
11415         * console-msw.c:
11416         * console-msw.c (mswindows_show_console): Rewrote.
11417
11418         * console-msw.c (Fmswindows_debugging_output): New.
11419         Sends to OutputDebugString (special MSWin debugger interface).
11420
11421         * console-msw.c (Fmswindows_message_box):
11422         Fixed stupid bugs so it works when called from kill-emacs.
11423
11424         * console-msw.c (syms_of_console_mswindows):
11425         Declare Fmswindows_debugging_output.
11426
11427         * console-msw.h:
11428         New MSWin prototypes.
11429
11430         * console-msw.h (struct mswindows_frame):
11431         New entry last-click-mods for improved button-modifier support.
11432
11433         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11434         New struct entry `popup' with corresponding accessor.
11435
11436         * console-x.c:
11437         * console-x.c (split_up_display_spec):
11438         * console-x.c (get_display_arg_connection):
11439         * console-x.c (x_semi_canonicalize_console_connection):
11440         * console-x.c (x_canonicalize_device_connection):
11441         [[[6]]]: Change char to more specific type.
11442         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11443
11444         * console-x.c (x_semi_canonicalize_console_connection):
11445         * console-x.c (x_canonicalize_device_connection):
11446         [[[9]]]: Fix up error signalling to use new structured error system.
11447
11448         * console-x.h:
11449         [[[4]]]: Define codesys aliases:
11450         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11451         Qx_color_name_encoding, Qx_display_name_encoding.
11452
11453         * console.h (struct console_methods):
11454         New method make_dialog_box_internal supersedes older
11455         popup_dialog_box method.
11456
11457         * data.c:
11458         Define many new errors, part of new structured errors.
11459
11460         * data.c (init_errors_once_early):
11461         * data.c (syms_of_data):
11462         [2].
11463
11464         * device-msw.c (mswindows_init_device):
11465         [[[5]]]: Cleanup to support NT 3.51.
11466
11467         * device-msw.c (decode_devmode): Cleanup.
11468
11469         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11470         * device-msw.c (mswindows_handle_print_dialog_box):
11471         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11472         * device-msw.c (syms_of_device_mswindows):
11473         Delete the dialog box primitives recently introduced by Kirill and
11474         instead interface to general dialog box interface.
11475
11476         * device-x.c:
11477         * device-x.c (compute_x_app_name):
11478         * device-x.c (x_init_device):
11479         * device-x.c (Fx_valid_keysym_name_p):
11480         * device-x.c (Fx_set_font_path):
11481         [6].
11482         [7].
11483
11484         * device.h (wrap_device): New.
11485         First of its kind; meant to replace XSETDEVICE.
11486
11487         * dialog-msw.c: Many file-dialog symbols.
11488
11489         * dialog-msw.c (mswindows_register_popup_frame): New.
11490         * dialog-msw.c (mswindows_is_dialog_msg): New.
11491         For supporting kbd traversal in dialog boxes.
11492
11493         * dialog-msw.c (dialog_proc):
11494         Support hitting ESC in dialogs.
11495
11496         * dialog-msw.c (struct):
11497         Common dialog box errors.
11498
11499         * dialog-msw.c (handle_file_dialog_box): New.
11500         Add file dialog code.
11501
11502         * dialog-msw.c (handle_question_dialog_box):
11503         Redo existing code to support new question dialog syntax.
11504
11505         * dialog-msw.c (console_type_create_dialog_mswindows):
11506         We support new dialog console method.
11507
11508         * dialog-msw.c (syms_of_dialog_mswindows):
11509         * dialog-msw.c (vars_of_dialog_mswindows):
11510         New file dialog symbols, vars.
11511
11512         * dialog-x.c:
11513         * dialog-x.c (maybe_run_dbox_text_callback):
11514         * dialog-x.c (dbox_descriptor_to_widget_value):
11515         * dialog-x.c (x_make_dialog_box_internal):
11516         * dialog-x.c (console_type_create_dialog_x):
11517         Mule-ize entire file.
11518         Redo to support question dialog syntax.
11519         [6].
11520
11521         * dialog.c:
11522         * dialog.c (Fmake_dialog_box_internal):
11523         * dialog.c (syms_of_dialog):
11524         Kill old popup-dialog-box, replace with new primitive.
11525         Just call device method or signal error.
11526
11527         * eldap.c (Fldap_open):
11528         * eldap.c (Fldap_search_basic):
11529         * eldap.c (Fldap_add):
11530         * eldap.c (Fldap_modify):
11531         [1].
11532         [7].
11533
11534         * emacs.c:
11535         * emacs.c (make_arg_list_1):
11536         * emacs.c (make_arg_list):
11537         Mule-ize call to dll_init().
11538         [6].
11539         [8].
11540
11541         * emacs.c (make_argc_argv):
11542         * emacs.c (free_argc_argv):
11543         * emacs.c (init_cmdargs):
11544         * emacs.c (main_1):
11545         * emacs.c (Fkill_emacs):
11546         * emacs.c (Fdump_emacs):
11547         Update comments about what can be used in syms_* etc.
11548         Call init_win32() when necessary.
11549         Fix up MS Win dialog box in kill-buffer to actually work right.
11550         [7].
11551
11552         * eval.c:
11553         * eval.c (For):
11554         * eval.c (Fand):
11555         * eval.c (Fprogn):
11556         * eval.c (Fprog1):
11557         * eval.c (Fprog2):
11558         * eval.c (FletX):
11559         * eval.c (Flet):
11560         * eval.c (condition_case_3):
11561         * eval.c (Feval):
11562         * eval.c (function_argcount):
11563         * eval.c (funcall_lambda):
11564         [1].
11565
11566         * eval.c (type_error): New.
11567         * eval.c (maybe_type_error): New.
11568         * eval.c (continuable_type_error): New.
11569         * eval.c (maybe_continuable_type_error): New.
11570         * eval.c (type_error_with_frob): New.
11571         * eval.c (maybe_type_error_with_frob): New.
11572         * eval.c (continuable_type_error_with_frob): New.
11573         * eval.c (maybe_continuable_type_error_with_frob): New.
11574         New functions for use with structured errors.
11575
11576         * event-Xt.c:
11577         * event-Xt.c (x_event_to_emacs_event):
11578         Buttons are now modifiers too.
11579
11580         * event-Xt.c (emacs_Xt_current_event_timestamp):
11581         Implement new event method.
11582         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11583
11584         * event-msw.c:
11585         * event-msw.c (ntpipe_shove_writer): [5].
11586         * event-msw.c (mswindows_enqueue_mouse_button_event):
11587         * event-msw.c (mswindows_drain_windows_queue):
11588         * event-msw.c (mswindows_wnd_proc): [7].
11589         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11590         * event-msw.c (mswindows_modifier_state):
11591         Throughout: support new button modifiers.
11592
11593         * event-msw.c (emacs_mswindows_current_event_timestamp):
11594         Implement new event method.
11595         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11596
11597         * event-stream.c:
11598         * event-stream.c (event_stream_current_event_timestamp): New.
11599         * event-stream.c (maybe_kbd_translate): New functionality.
11600         * event-stream.c (vars_of_event_stream):
11601         Document new kbd-translate-table functionality.
11602
11603         * event-stream.c (Fcurrent_event_timestamp): New.
11604         New primitive for use in fabricated events.
11605         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11606
11607         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11608
11609         * events.c:
11610         * events.c (Fmake_event):
11611         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11612         [1].
11613         [9].
11614
11615         * events.c (format_event_object): fix gcc warnings.
11616
11617         * events.c (Fevent_timestamp): Document new primitives.
11618
11619         * events.c (TIMESTAMP_HALFSPACE): New.
11620
11621         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11622         comparing timestamps correctly (half-space algorithm).
11623
11624         * events.c (Fevent_modifier_bits): Doc fix.
11625
11626         * events.c (Fevent_modifiers): Major doc addition.
11627         * events.c (event_x_y_pixel_internal): Typo fix.
11628         * events.c (syms_of_events): Declare new primitives.
11629
11630         * events.h:
11631         Update long comment for button modifiers, timestamps.
11632
11633         * events.h (struct event_stream):
11634         New current_event_timestamp method.
11635
11636         * extents.c:
11637         * extents.c (extent_in_region_p):
11638         * extents.c (decode_extent):
11639         * extents.c (Fset_extent_parent):
11640         * extents.c (decode_map_extents_flags):
11641         Fix gcc warnings.
11642         [9].
11643
11644         * extents.c (struct extent_at_arg):
11645         * extents.c (decode_extent_at_flag):
11646         * extents.c (extent_at_mapper):
11647         * extents.c (extent_at_bytind):
11648         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11649         * extents.c (Fextents_at): New primitive. [9].
11650         * extents.c (symbol_to_glyph_layout): [9].
11651         Support new primitive `extents-at'.
11652
11653
11654         * extents.c (get_text_property_bytind):
11655         extent_at_bytind has another arg.
11656         [9].
11657
11658         * extents.c (syms_of_extents): New primitive.
11659
11660         * file-coding.c (Fmake_coding_system): [1].
11661         * file-coding.c (subsidiary_coding_system): fix gcc warning
11662         * file-coding.c (syms_of_file_coding): [2].
11663
11664         * fileio.c (Fexpand_file_name):
11665         * fileio.c (Fsysnetunam):
11666         * fileio.c (Ffile_exists_p):
11667         * fileio.c (Ffile_executable_p):
11668         * fileio.c (Fverify_visited_file_modtime):
11669         Clean up GCPROing.
11670
11671         * fileio.c (syms_of_fileio): [2].
11672
11673         * filelock.c (lock_file_1):
11674         * filelock.c (current_lock_owner):
11675         * filelock.c (lock_if_free):
11676         * filelock.c (lock_file):
11677         * filelock.c (unlock_file):
11678         Clean up GCPROing.
11679
11680         * fns.c (concat): Fix gcc warning.
11681
11682         * fns.c (Fmember):
11683         * fns.c (Fold_member):
11684         * fns.c (Fmemq):
11685         * fns.c (Fold_memq):
11686         * fns.c (memq_no_quit):
11687         * fns.c (Fassoc):
11688         * fns.c (Fold_assoc):
11689         * fns.c (Fassq):
11690         * fns.c (Fold_assq):
11691         * fns.c (assq_no_quit):
11692         * fns.c (Frassoc):
11693         * fns.c (Fold_rassoc):
11694         * fns.c (Frassq):
11695         * fns.c (Fold_rassq):
11696         * fns.c (rassq_no_quit):
11697         * fns.c (Fdelete):
11698         * fns.c (Fold_delete):
11699         * fns.c (Fdelq):
11700         * fns.c (Fold_delq):
11701         * fns.c (delq_no_quit):
11702         * fns.c (Fremassoc):
11703         * fns.c (Fremassq):
11704         * fns.c (remassq_no_quit):
11705         * fns.c (Fremrassoc):
11706         * fns.c (Fremrassq):
11707         * fns.c (remrassq_no_quit):
11708         * fns.c (Freverse):
11709         * fns.c (mapcar1):
11710         [1].
11711
11712         * frame-msw.c (mswindows_init_frame_1):
11713         * frame-msw.c (mswindows_delete_frame):
11714         Register popups with dialog code so keyboard traversing works.
11715
11716         * frame-tty.c (tty_raise_frame_no_select): [1].
11717
11718         * frame-x.c:
11719         * frame-x.c (x_set_frame_text_value):
11720         * frame-x.c (x_set_frame_properties):
11721         * frame-x.c (x_create_widgets):
11722         [7].
11723
11724         * frame.c:
11725         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11726
11727         * frame.h (wrap_frame): New.
11728         Macro like wrap_device.
11729
11730         * general.c:
11731         * general.c (SYMBOL):
11732         * general.c (syms_of_general):
11733         Major reorg.  This is now just a wrapper and symbols themselves
11734         are listed in general-slots.h.
11735
11736         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11737         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11738
11739         * glyphs-msw.c (mswindows_native_layout_instantiate):
11740         Add DS_CONTROL so keyboard traversal will work.
11741
11742         * glyphs-widget.c:
11743         * glyphs-widget.c (syms_of_glyphs_widget):
11744         Move some symbols to general-slots.h.
11745
11746         * glyphs-x.c:
11747         * glyphs-x.c (xbm_instantiate_1):
11748         * glyphs-x.c (x_xbm_instantiate):
11749         * glyphs-x.c (x_xface_instantiate):
11750         * glyphs-x.c (autodetect_instantiate):
11751         * glyphs-x.c (cursor_font_instantiate):
11752         * glyphs-x.c (x_update_widget):
11753         * glyphs-x.c (x_widget_instantiate):
11754         * glyphs.c (bitmap_to_lisp_data):
11755         * glyphs.c (pixmap_to_lisp_data):
11756         [7].
11757
11758         * glyphs.c (syms_of_glyphs):
11759         [2].
11760
11761         * gui-x.c:
11762         * gui-x.c (print_widget_value):
11763         * gui-x.c (menu_separator_style_and_to_external):
11764         * gui-x.c (add_accel_and_to_external):
11765         * gui-x.c (button_item_to_widget_value):
11766         * gui-x.c (gui_items_to_widget_values_1):
11767         * gui-x.c (gui_items_to_widget_values):
11768         * gui-x.c (syms_of_gui_x):
11769         * gui-x.c (vars_of_gui_x):
11770         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11771         [9].
11772
11773         * gui-x.h:
11774         Muleize, prototype changes matching gui-x.c.
11775
11776         * gui.c:
11777         * gui.c (separator_string_p):
11778         * gui.c (gui_item_add_keyval_pair):
11779         * gui.c (make_gui_item_from_keywords_internal):
11780         * gui.c (signal_too_long_error):
11781         * gui.c (parse_gui_item_tree_item):
11782         * gui.c (syms_of_gui):
11783         * gui.c (vars_of_gui):
11784         * gui.h:
11785         menu-no-selection-hook moved here (used by MSWin).
11786         Move some symbols to general-slots.h.
11787         [6].
11788         [9].
11789
11790         * insdel.c (get_buffer_pos_char):
11791         * insdel.c (get_buffer_range_char):
11792         Add GC comments.
11793
11794         * keymap.c (keymap_lookup_directly):
11795         * keymap.c (keymap_store):
11796         * keymap.c (ensure_meta_prefix_char_keymapp):
11797         * keymap.c (describe_map):
11798         * keymap.h:
11799         Support new button modifiers.
11800
11801         * lisp-disunion.h (wrap_object):
11802         * lisp-disunion.h (XSETOBJ):
11803         Rename make_obj to wrap_object.
11804
11805         * lisp-union.h:
11806         * lisp-union.h (make_int):
11807         * lisp-union.h (make_char):
11808         Support wrap_object.
11809
11810         * lisp.h:
11811         * lisp.h (LIST_LOOP):
11812         * lisp.h (EXTERNAL_LIST_LOOP):
11813         * lisp.h (LIST_LOOP_2):
11814         * lisp.h (EXTERNAL_LIST_LOOP_1):
11815         * lisp.h (EXTERNAL_LIST_LOOP_2):
11816         * lisp.h (EXTERNAL_LIST_LOOP_3):
11817         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11818         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11819         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11820         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11821         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11822         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11823         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11824         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11825         * lisp.h (struct Lisp_Symbol):
11826         * lisp.h (maybe_continuable_error_with_frob):
11827         Fix up section comments.
11828         Add new types for char to indicate usage.
11829         Delete symbols auto-generated from general-slots.h.
11830         Add prototypes for structured error functions.
11831         Add long comments describing looping macros and change interface
11832         so that lvalues are automatically declared.
11833         Add NO_DECLARE macro in case callers want to declare lvalues
11834         themselves.
11835
11836         * lread.c (read_syntax_error):
11837         * lread.c (continuable_read_syntax_error):
11838         * lread.c (read_structure):
11839         * lread.c (sequence_reader):
11840         * lread.c (read_list_conser):
11841         * lread.c (read_compiled_function):
11842         Rename syntax_error and continuable_syntax_error to avoid clash
11843         with same-named structured error functions.
11844
11845         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11846         * menubar-msw.c (populate_menu_add_item):
11847         * menubar-msw.c (populate_or_checksum_helper):
11848         [5].
11849         [9].
11850
11851         * menubar-x.c:
11852         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11853         Mule-ize whole file.
11854
11855         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11856
11857         * mule-charset.c (Fmake_charset):
11858         * mule-wnnfns.c (Fwnn_set_param):
11859         [1].
11860
11861         * ntproc.c (create_child):
11862         * ntproc.c (Fwin32_set_current_locale):
11863         Add comments portending doom.
11864
11865         * objects-msw.c:
11866         * objects-msw.c (old_font_enum_callback_2):
11867         * objects-msw.c (font_enum_callback_1):
11868         * objects-msw.c (mswindows_enumerate_fonts):
11869         [5].
11870
11871         * objects-x.c:
11872         * objects-x.c (allocate_nearest_color):
11873         * objects-x.c (x_parse_nearest_color):
11874         * objects-x.c (x_initialize_color_instance):
11875         * objects-x.c (x_print_color_instance):
11876         * objects-x.c (x_finalize_color_instance):
11877         * objects-x.c (x_valid_color_name_p):
11878         * objects-x.c (x_initialize_font_instance):
11879         * objects-x.c (x_print_font_instance):
11880         * objects-x.c (valid_x_font_name_p):
11881         * objects-x.c (truename_via_FONT_prop):
11882         * objects-x.c (truename_via_random_props):
11883         * objects-x.c (truename_via_XListFonts):
11884         * objects-x.c (x_font_truename):
11885         * objects-x.c (x_font_instance_truename):
11886         * objects-x.c (x_font_instance_properties):
11887         * objects-x.c (x_list_fonts):
11888         * objects-x.c (x_find_charset_font):
11889         Mule-ize entire file.
11890         [7].
11891
11892         * objects-x.h:
11893         Mule-verify.
11894
11895         * print.c:
11896         * print.c (std_handle_out_external):
11897         * print.c (debug_print_no_newline):
11898         * print.c (syms_of_print):
11899         Output to all debugger kinds in debug-print.
11900         Fix console-output code under MSWin to actually work.
11901
11902         * process-nt.c (send_signal):
11903         * process-nt.c (nt_create_process):
11904         Use newer Unicode macros.
11905
11906         * process-unix.c (unix_create_process):
11907         * process-unix.c (unix_canonicalize_host_name):
11908         * process-unix.c (unix_open_network_stream):
11909         [7].
11910
11911         * scrollbar-x.c:
11912         Mule-verify.
11913
11914         * search.c (syms_of_search):
11915         [2].
11916
11917         * select-msw.c (mswindows_destroy_selection):
11918         Use LIST_LOOP_2.
11919
11920         * select-x.c (symbol_to_x_atom):
11921         [7].
11922
11923         * select.c (syms_of_select):
11924         [2].
11925
11926         * sound.c (Fplay_sound_file):
11927         [7].
11928
11929         * specifier.c:
11930         * specifier.c (decode_specifier_type):
11931         * specifier.c (Fvalid_specifier_locale_type_p):
11932         * specifier.c (check_valid_locale_or_locale_type):
11933         * specifier.c (decode_locale):
11934         * specifier.c (decode_locale_type):
11935         * specifier.c (decode_locale_list):
11936         * specifier.c (check_valid_domain):
11937         * specifier.c (decode_specifier_tag_set):
11938         * specifier.c (Fcanonicalize_tag_set):
11939         * specifier.c (Fdefine_specifier_tag):
11940         * specifier.c (Fspecifier_tag_predicate):
11941         * specifier.c (check_valid_inst_list):
11942         * specifier.c (check_valid_spec_list):
11943         * specifier.c (decode_how_to_add_specification):
11944         * specifier.c (check_modifiable_specifier):
11945         * specifier.c (specifier_add_spec):
11946         * specifier.c (boolean_validate):
11947         * specifier.c (display_table_validate):
11948         [9].
11949
11950         * specifier.c (syms_of_specifier):
11951         Move some symbols to general-slots.h.
11952         [2].
11953
11954         * symbols.c:
11955         * symbols.c (Fmapatoms):
11956         * symbols.c (Fapropos_internal):
11957         Add GCPROs.
11958
11959         * symbols.c (set_default_buffer_slot_variable):
11960         * symbols.c (set_default_console_slot_variable):
11961         [1].
11962
11963         * symbols.c (defsymbol_massage_name_1):
11964         * symbols.c (defkeyword_massage_name):
11965         * symbols.c (deferror_1):
11966         * symbols.c (deferror):
11967         * symbols.c (deferror_massage_name_and_message):
11968         * symeval.h:
11969         * symeval.h (DEFSYMBOL):
11970         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11971
11972         * symbols.c (syms_of_symbols):
11973         [2].
11974
11975         * symsinit.h:
11976         * symsinit.h (init_win32): New.
11977         Also new is syms_of_dialog_mswindows.
11978
11979         * syswindows.h:
11980         Add new Unicode macros, missing Cygwin wide-char functions,
11981         convenience conversion macros for Qmswindows_tstr, macros for
11982         encapsulating required MSWin <-> Cygwin filename conversions,
11983         prototype for dynamically-extracted (not in NT 3.51) functions.
11984
11985         * toolbar-x.c:
11986         Mule-verify.
11987
11988         * tooltalk.c (Fadd_tooltalk_message_arg):
11989         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11990         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11991         [7].
11992
11993         * tooltalk.c (syms_of_tooltalk):
11994         [2].
11995
11996         * unexnt.c:
11997         * unexnt.c (unexec):
11998         Fix up headers, declaration of unexec() to be more standard.
11999
12000 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12001
12002         * offix.h: Revert change to guard macros - they're used in offix.c!
12003
12004 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12005
12006         * lisp.h: Defsubred Fdelete.
12007
12008         * console-msw.h:  (msprinter_default_printer): Added.
12009
12010         * console-msw.c (msprinter_canonicalize_console_connection):
12011         (msprinter_canonicalize_device_connection): Added.
12012
12013         * device-msw.c (msprinter_default_printer):
12014         (Fmswingows_get_default_printer):
12015         (signal_enum_priner_error):
12016         (Fmswingows_printer_list): Added.
12017
12018 2000-07-19  Martin Buchholz <martin@xemacs.org>
12019
12020         * XEmacs 21.2.35 is released.
12021
12022 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12023
12024         * select-x.c (x_handle_selection_request):
12025         Text selected in xemacs and pasted into xterm failed to appear.
12026         Spelling fixes and cosmetic changes.
12027
12028 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12029
12030         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12031         XEmacs frame (fix for doubling chars in dialog boxes).
12032
12033 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12034
12035         * select.c (select_convert_in, select_convert_out):
12036         Don't call intern() every time.
12037
12038         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12039         * select.c (vars_of_select): Initialise them.
12040
12041 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12042
12043         * select.c (selection-coercible-types): New.
12044
12045         * select.c (own-selection-internal):
12046         * select.c (get-selection-internal):
12047         MULE bug fix - these should default to COMPOUND_TEXT and not
12048         STRING for MULE. I think.
12049
12050         * select.c (select_convert_out): Use selection-coercible-types
12051         to find types that we can attempt to perform coercions on.
12052
12053 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12054
12055         * mule-wnnfns.c:
12056         * mule-canna.c:
12057         Add coding: cookie to identify encoding.
12058
12059         * mule-canna.c (CANNA_mode_keys): make static.
12060         Use proper prototypes, even for functions of no arguments.
12061         Remove external prototype for Fding().
12062
12063         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12064
12065         * select.c (syms_of_select): Add missing DEFSUBR.
12066
12067 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12068
12069         * select.c (get_selection_internal, own_selection_internal):
12070         Make the type default to STRING, rather than placing a nil type
12071         into Vselection_alist.
12072
12073 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12074
12075         * gpmevent.c (tty_selection_exists_p):
12076         * gpmevent.c (tty_own_selection):
12077         Updated parameter lists.
12078
12079 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12080
12081         * select.h (selection-alist): Removed declaration.
12082
12083         * select.h (get_local_selection):
12084         * select.c (get_local_selection):
12085         Made static.
12086
12087         * select.h (convert_selection): Removed declaration.
12088         * select.c (convert_selection): Removed.
12089         This function belongs in Lisp.
12090
12091         * select.h (select_convert_in): Declare.
12092         * select.h (select_convert_out): Declare.
12093         * select.c (select_convert_in): New.
12094         * select.c (select_convert_out): New.
12095         New conversion functions for other files to call.
12096
12097         * select.h (select_notify_buffer_kill): Declare.
12098         * select.c (select_notify_buffer_kill): New.
12099         New functions that get called from kill-buffer.
12100
12101         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12102         X-specific lisp code.
12103
12104         * select.h: Declare some of the lisp-visible functions for
12105         external use.
12106
12107         * select.c (clean_local_selection_data): Removed. This was
12108         a disgusting function, and previously should have been in
12109         select-x.c in any case. The functionality is now provided
12110         in select-convert-from-integer (select.el).
12111
12112         * select.c (available-selection-types): Fixed stupidity where
12113         INTEGER and ATOM got added twice. Also add STRING when we see an
12114         extent.
12115
12116         * select.c (get-selection-internal): Removed symbol stripping. No
12117         longer causes conversion when data comes from the internal cache.
12118
12119         * select.c (syms_of_select): Added new functions.
12120
12121         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12122         error checking - previously this called abort!
12123
12124         * select-x.c (x_own_selection): Changed comment.
12125
12126         * select-x.c (x_handle_selection_request): Use select_convert_out.
12127         Don't mess with selection-alist; it's an internal variable of select.c.
12128
12129         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12130
12131         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12132         rather than messing with selection-alist.
12133
12134         * select-msw.c (mswindows_get_foreign_selection):
12135         Use TO_INTERNAL_FORMAT rather than hacking.
12136
12137 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12138
12139         * process-unix.c (unix_open_multicast_group):
12140         (unix_open_multicast_group): Remove useless casts.
12141
12142 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12143
12144         * sound.c (Fplay_sound): Fix `unused variable' warning.
12145
12146         * emacs.c (main): Use correct type for _environ on SCO5.
12147
12148 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12149
12150         * console.h (own_selection_method):
12151         * console.h (selection_exists_p_method):
12152         * console.h (available_selection_types_method): New.
12153         * console.h (register_selection_data_type_method): New.
12154         * console.h (selection_data_type_name): New.
12155
12156         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12157         function & alist to track GlobalAlloc()'d handles that need
12158         releasing when the clipboard data gets replaced or emptied.
12159
12160         * event-msw.c (mswindows_wnd_proc): Call it.
12161
12162         * lisp.h, general.c (Qappend): New symbol representing a
12163         `how-to-add' mode.
12164
12165         * select.c (own-selection-internal):
12166         * select.c (selection-exists-p):
12167         * select.c (available-selection-types): New.
12168         * select.c (register-selection-data-type): New.
12169         * select.c (selection-data-type-name): New.  New functions to deal
12170         with device-specific selection data formats.
12171         * select.c (selection-converter-out-alist): Renamed.
12172         * select.c (selection-converter-in-alist): New.
12173         * select.c (selection-appender-alist): New.  Added new alists.
12174         * select.c (syms_of_select, vars_of_select): Added new symbols &
12175         variables.
12176         * select.c (get_local_selection): Split.
12177         * select.c: Removed spurious type checking - selections may now be
12178         of any type, not just strings.
12179         * select.c (own-selection-internal):
12180
12181         * select.h, select.c (convert_selection): New. Created
12182         convert_selection() function based on get_local_selection().
12183         * select.h, select.c (QCF_*): New symbols representing mswindows
12184         clipboard formats.
12185         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12186         symbols representing `how-to-add' modes.
12187
12188         * select-msw.c (x_sym_p): New.
12189         * select-msw.c (symbol_to_ms_cf): New.
12190         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12191         symbols & clipboard formats. Can also handle string names.
12192         * select-msw.c (mswindows_own_selection):
12193         * select-msw.c (mswindows_selection_exists_p):
12194         Added `data-type' parameter. Use it.
12195         * select-msw.c (mswindows_available_selection_types): New.
12196         * select-msw.c (mswindows_register_selection_data_type): New.
12197         * select-msw.c (mswindows_selection_data_type_name): New.
12198         * select-msw.c (mswindows_own_selection):
12199         * select-msw.c (mswindows_get_foreign_selection):
12200         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12201         * select-msw.c (console_create_select_mswindows): Added new methods.
12202         * select-msw.c (mswindows_destroy_selection): New.
12203         * select-msw.c (Vhandle_alist): New list.
12204         * select-msw.c (mswindows_own_selection):
12205
12206         * select-x.c (x_own_selection):
12207         * select-x.c (x_selection_exists_p):
12208         * select-x.c: Added some comments about maybe using new
12209         functionality.
12210         * select-x.c (x_own_selection):
12211
12212         * specifier.c: Remove definition of Qappend (now in general.c)
12213         * specifier.c (syms_of_specifier): Remove Qappend.
12214
12215 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12216
12217         * config.h.in: Add socklen_t.
12218
12219         * s/decosf4-0.h: No special compiler flags needed or desired.
12220         In particular, undefine _BSD for DEC OSF 4.0.
12221
12222 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12223
12224         * redisplay-msw.c (msprinter_frame_output_end): Added.
12225         (console_type_create_redisplay_mswindows): Referred the above.
12226
12227         * frame.c (setup_frame_without_minibuffer): Do not create a
12228         default minibuffer frame on a printer device.
12229
12230         * frame-msw.c (apply_dc_geometry): Added.
12231         (msprinter_start_page):
12232         (msprinter_init_frame_3):
12233         (msprinter_eject_page): Use it.
12234
12235         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12236         and removed residual duplex and orientation properties.
12237
12238 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12239
12240         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12241
12242         * unexalpha.c: Remove system prototypes from C sources!
12243
12244 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12245
12246         * eval.c: Remove references to M-x edit-options in DEFUNs for
12247         `defvar' and `defconst'.
12248
12249 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12250
12251         * config.h.in: Remove SMART_INCLUDE hackery.
12252
12253         PostgreSQL hacking:
12254         * config.h.in: Don't use SMART_INCLUDE.
12255
12256         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12257         * inline.c: Simply #include "postgresql.h"
12258         * postgresql.c:
12259         - Don't use SMART_INCLUDE
12260         - Use simply "const".
12261         - Use standard doc string conventions.
12262         - Use correct type for result of PQstatus.
12263
12264 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12265
12266         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12267
12268         C++ compilation changes.
12269         * config.h.in (EXTERN_C): Define.
12270         * config.h.in (not): This is also a C++ keyword.
12271         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12272         * cm.c: Use EXTERN_C.
12273         * redisplay-tty.c: Use EXTERN_C.
12274         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12275
12276 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12277
12278         * general.c: Remove duplicate definition for Qfunction.
12279
12280 2000-07-08  Ben Wing  <ben@xemacs.org>
12281
12282         * device-msw.c (msprinter_init_device):
12283         * device-msw.c (sync_printer_with_devmode):
12284         * device-msw.c (handle_devmode_changes):
12285         * device-msw.c (print_dialog_worker):
12286         * device-msw.c (Fmsprinter_apply_settings):
12287         * device-msw.c (hash_devmode):
12288         * device-msw.c (Fmsprinter_settings_despecialize):
12289         use Qmswindows_tstr, not Qctext.
12290
12291         * vm-limit.c (check_memory_limits):
12292         avoid infinite loop printing warning messages.
12293
12294 2000-07-05  Craig Lanning  <lanning@scra.org>
12295
12296         * Makefile.in.in: Add support for including the Windows resources
12297         when building with the cygwin and mingw targets.
12298
12299         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12300         not set or not correct.
12301         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12302         (init_initial_directory): Don't try to use $PWD on the
12303         WIN32_NATIVE target.
12304
12305         * s\cygwin32.h:
12306         [[Add -mwindows to eliminate console window.]] not required --ben
12307         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12308         (MAIL_USE_POP): removed; now handled by configure.
12309
12310         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12311         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12312         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12313         (MAIL_USE_POP): removed; now handled by configure.
12314         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12315         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12316         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12317         constant string.
12318         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12319         up from <winsock.h> via systime.h.
12320         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12321         (getpagesize): from Dan Holmsand, added.
12322         Added #endif which was left dangling by Ben's mega patch; added
12323         comment to help prevent this in the future.
12324
12325         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12326
12327 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12328
12329         * console-msw.h (struct mswindows_device): Removed unnecessary
12330         cached device geometry values.
12331         Added update_tick and an accessor macro.
12332         (Lisp_Devmode): Added lrecord declaration.
12333         (struct msprinter_device): Contain devmode as a Lisp object.
12334         Added mswindows_get_selected_frame_hwnd();
12335
12336         * console.h (struct console_methods): Indentation nitpicking.
12337
12338         * device-msw.c (mswindows_init_device): Do not initialize geometry
12339         cache. Initialize update tick.
12340         (mswindows_device_system_metrics): Ask the device for its geometry.
12341         (global_free_2_maybe):
12342         (devmode_to_hglobal):
12343         (handle_printer_changes):
12344         (ensure_not_printing):
12345         (print_dialog_worker):
12346         (Fmsprinter_print_setup_dialog):
12347         (Fmsprinter_print_dialog):
12348         (plist_get_margin):
12349         (plist_set_margin):
12350         (Fmsprinter_page_setup_dialog): Added functions.
12351         (sync_printer_with_devmode):
12352         (handle_devmode_changes):
12353         (Fmsprinter_get_settings):
12354         (Fmsprinter_select_settings):
12355         (Fmsprinter_apply_settings):
12356         (allocate_devmode):
12357         (Fmsprinter_settings_copy):
12358         (Fmsprinter_settings_despecialize):
12359         (print_devmode):
12360         (finalize_devmode):
12361         (equal_devmode):
12362         (hash_devmode): Added functions
12363         (syms_of_device_mswindows): Init devmode lrecord class.
12364
12365         * device.h: Added an exfun for find-device.
12366
12367         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12368         geometry; although, recreate the device compatible DC.
12369
12370         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12371         (msprinter_init_frame_3):
12372         (msprinter_frame_property):
12373         (msprinter_internal_frame_property_p):
12374         (msprinter_frame_properties):
12375         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12376         print job properties (will move to device settings).
12377
12378         * lisp.h: Added symbols.
12379
12380         * general.c (syms_of_general): Declared them.
12381
12382         * hash.c (string_hash): Added.
12383
12384         * lrecord.h (lrecord_type): Added devmode lrecord type.
12385
12386 2000-07-02  Mike Sperber <mike@xemacs.org>
12387
12388         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12389         FreeBSD 4.0.
12390
12391 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12392
12393         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12394         integer.
12395
12396 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12397
12398         * data.c (Fstring_to_number): Don't recognize floating point if
12399         base is not 10.
12400
12401 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12402
12403         * glyphs-widget.c (tab_control_query_geometry):
12404         (widget_query_geometry):
12405         (button_query_geometry):
12406         * glyphs.c (text_query_geometry):
12407         Enforce type correctness.
12408
12409 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12410
12411         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12412         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12413
12414 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12415
12416         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12417         conflicts with gcc's fixincluded version of FOO.h.
12418
12419         * glyphs.h (image_instance_geometry): Remove trailing `,'
12420
12421 2000-06-08  Mike Alexander  <mta@arbortext.com>
12422
12423         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12424         (shove_thread): Don't write the same output twice
12425         (make_ntpipe_output_stream): Increase priority of shove thread
12426         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12427         chance to run
12428         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12429         it.
12430
12431 2000-06-12  Ben Wing  <ben@xemacs.org>
12432
12433         * s\mingw32.h (sigset):
12434         * s\windowsnt.h (sigset):
12435         rename msw_ to mswindows_ for consistency with general convention.
12436
12437 2000-06-12  Ben Wing  <ben@xemacs.org>
12438
12439         * console-msw.c:
12440         * console-msw.c (mswindows_get_console_hwnd):
12441         * console-msw.c (mswindows_ensure_console_allocated):
12442         * console-msw.c (mswindows_hide_console):
12443         * console-msw.c (mswindows_show_console):
12444         * console-msw.c (mswindows_ensure_console_buffered):
12445         * console-msw.c (mswindows_output_console_string):
12446         * console-msw.c (mswindows_windows9x_p):
12447         * console-msw.h:
12448         * device-msw.c (mswindows_get_workspace_coords):
12449         * device-msw.c (mswindows_device_system_metrics):
12450         * dialog-msw.c (mswindows_popup_dialog_box):
12451         * event-msw.c (mswindows_wnd_proc):
12452         * frame-msw.c (mswindows_size_frame_internal):
12453         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12454         * menubar-msw.c (displayable_menu_item):
12455         * menubar-msw.c (mswindows_char_is_accelerator):
12456         * nt.c:
12457         * nt.c (mswindows_sigset):
12458         * nt.c (mswindows_sigrelse):
12459         * nt.c (mswindows_sigpause):
12460         * nt.c (mswindows_raise):
12461         * nt.c (timer_proc):
12462         * ntproc.c:
12463         * ntproc.c (find_child_console):
12464         * ntproc.c (sys_kill):
12465         * print.c:
12466         * print.c (std_handle_out_external):
12467         * process-nt.c (find_child_console):
12468         * process-nt.c (send_signal_the_95_way):
12469         * process-nt.c (ensure_console_window_exists):
12470         * process-nt.c (nt_create_process):
12471         * syssignal.h:
12472         rename msw_ to mswindows_ for consistency with general convention.
12473
12474         * emacs.c:
12475         * dumper.c:
12476         include nt.h, not syswindows.h.
12477
12478         * nt.c (mswindows_fstat):
12479         * nt.c (mswindows_stat):
12480         prefix mswindows_ instead of attempting to directly override the
12481         library functions.  fix declarations.
12482
12483         * nt.h:
12484         include syswindows.h.  move some sysdep.h stuff here.
12485
12486         * ntheap.h:
12487         include syswindows.h, not <windows.h>.
12488
12489         * ntplay.c:
12490         clean up headers.
12491
12492         * sysdep.c:
12493         clean up headers.
12494
12495         * sysdep.c (sys_fstat):
12496         * sysdep.c (sys_stat):
12497         call mswindows versions when appropriate.
12498
12499         * sysdep.h:
12500         move mswin decls to nt.h.
12501
12502         * syswindows.h:
12503         add long comment describing appropriate use of the various windows
12504         headers.
12505
12506 2000-06-11  Ben Wing  <ben@xemacs.org>
12507
12508         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12509
12510 2000-06-10  Ben Wing  <ben@xemacs.org>
12511
12512         * Makefile.in.in (release):
12513         Correction to make sure xemacs.exe always dumped when correct.
12514
12515         * alloca.c:
12516         * balloon_help.c:
12517         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12518
12519         * buffer.c (set_buffer_internal):
12520         [[[[2]]]]: Remove HAVE_FEP code.
12521
12522         * buffer.c (init_initial_directory):
12523         [3].
12524
12525         * bytecode.c:
12526         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12527         individual files.
12528
12529         * callproc.c:
12530         * callproc.c (call_process_cleanup):
12531         * callproc.c (Fold_call_process_internal):
12532         * callproc.c (child_setup):
12533         * callproc.c (getenv_internal):
12534         * callproc.c (init_callproc):
12535         * callproc.c (vars_of_callproc):
12536         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12537         __CYGWIN32__ -> CYGWIN.
12538         DOS_NT -> WIN32_NATIVE.
12539         Remove MSDOS support/references, converting to WIN32_NATIVE
12540           where correct.
12541         __MINGW32__ -> MINGW.
12542         Fix windows.h includes.
12543         Remove bogus HAVE_NTGUI.
12544
12545         * config.h.in:
12546         [2].
12547
12548         * console-msw.c:
12549         mswindows_message_outputted added for use in allowing startup
12550         errors on the console to be seen.
12551
12552         * console-msw.c (msw_ensure_console_allocated):
12553         * console-msw.c (msw_output_console_string):
12554         * console-msw.c (DHEADER):
12555         * console-msw.c (DOPAQUE_DATA):
12556         * console-msw.c (DEVENT):
12557         * console-msw.c (DCONS):
12558         * console-msw.c (DCONSCDR):
12559         * console-msw.c (DSTRING):
12560         * console-msw.c (DVECTOR):
12561         * console-msw.c (DSYMBOL):
12562         * console-msw.c (DSYMNAME):
12563         Fix warnings.
12564
12565         * console-stream.c (stream_init_console):
12566         Fix text/binary problems.
12567
12568         * device-msw.c:
12569         * device-msw.c (mswindows_finish_init_device):
12570         * device-msw.c (mswindows_delete_device):
12571         [1].
12572
12573         * device.c (handle_asynch_device_change):
12574         [3].
12575
12576         * dgif_lib.c:
12577         * dgif_lib.c (DGifOpenFileName):
12578         * dgif_lib.c (DGifOpenFileHandle):
12579         * dgif_lib.c (DGifGetLine):
12580         * dgif_lib.c (DGifGetPixel):
12581         Added config.h/lisp.h, fix up includes.
12582         [1].
12583
12584         * dired-msw.c:
12585         [4].
12586
12587         * dired.c:
12588         * dired.c (file_name_completion):
12589         * dired.c (Ffile_attributes):
12590         * dired.c (syms_of_dired):
12591         [1].
12592
12593         * dumper.c:
12594         * dumper.c (pdump_file_unmap):
12595         * dumper.c (pdump_load):
12596         [1].
12597
12598         * editfns.c:
12599         * editfns.c (Ftemp_directory):
12600         * editfns.c (user_login_name):
12601         * editfns.c (Fuser_real_login_name):
12602         * editfns.c (get_home_directory):
12603         [1].
12604
12605         * elhash.c (finish_marking_weak_hash_tables):
12606         [[[[5]]]]: Fix GCC warnings.
12607
12608         * emacs.c:
12609         * emacs.c (mswindows_handle_hardware_exceptions):
12610         * emacs.c (make_arg_list_1):
12611         * emacs.c (main_1):
12612         * emacs.c (Fkill_emacs):
12613         * emacs.c (Fdump_emacs):
12614         [1].
12615         Fix problems with nested crashes, add long comment.
12616
12617         * event-Xt.c (init_event_Xt_late):
12618         [1].
12619
12620         * event-msw.c:
12621         * event-msw.c (mswindows_dde_callback):
12622         * event-msw.c (mswindows_handle_sticky_modifiers):
12623         * event-msw.c (mswindows_wnd_proc):
12624         [1].
12625         [5].
12626
12627         * events.c (character_to_event):
12628         [1].
12629
12630         * fileio.c:
12631         * fileio.c (Ffile_name_directory):
12632         * fileio.c (Ffile_name_nondirectory):
12633         * fileio.c (directory_file_name):
12634         * fileio.c (Fexpand_file_name):
12635         * fileio.c (Fsubstitute_in_file_name):
12636         * fileio.c (Ffile_name_absolute_p):
12637         * fileio.c (check_executable):
12638         * fileio.c (Ffile_readable_p):
12639         * fileio.c (Ffile_accessible_directory_p):
12640         * fileio.c (Ffile_modes):
12641         * fileio.c (Funix_sync):
12642         * fileio.c (vars_of_fileio):
12643         [1]. [4].
12644
12645         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12646
12647         Expand getdefdir defn.
12648         Fix bogus rename() comment.
12649
12650         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12651         to use standard XEmacs include files, e.g. sysfile.h, rather
12652         than system-specific includes.
12653
12654         * fns.c:
12655         * fns.c (Fsubseq):
12656         [5]. [6].
12657
12658         * frame.c (vars_of_frame):
12659         [1].
12660
12661         * getloadavg.c:
12662         * getloadavg.c (getloadavg):
12663         [1]. [6].
12664         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12665         (We don't use it elsewhere in the code; just add a comment.)
12666
12667         * gif_io.c:
12668         [6].
12669         Add config.h.
12670
12671         * glyphs-msw.c:
12672         * glyphs-msw.c (mswindows_resource_instantiate):
12673         [1].
12674
12675         * glyphs-x.c (x_native_layout_instantiate):
12676         [5].
12677
12678         * gui-msw.c (Fmswindows_shell_execute):
12679         [1].
12680
12681         * insdel.c:
12682         [4].
12683
12684         * lisp.h:
12685         [4]. [5].
12686
12687         * lread.c (locate_file_in_directory_mapper):
12688         [1].
12689
12690         * lstream.c:
12691         [4].
12692
12693         * mem-limits.h:
12694         * mem-limits.h (get_lim_data):
12695         [1].
12696
12697         * menubar-msw.c:
12698         [4].
12699
12700         * ndir.h:
12701         [1].
12702
12703         * nt.c:
12704         * nt.c (getwd):
12705         * nt.c (closedir):
12706         * nt.c (rva_to_section):
12707         * nt.c (mswindows_executable_type):
12708         [1]. [6].
12709         Fix closedir() defn.
12710
12711         * nt.h:
12712         [[[[8]]]]: *_OK defs moved to sysfile.h.
12713
12714         * ntproc.c:
12715         [6]. [7].
12716
12717         * objects-x.c:
12718         [4].
12719
12720         * print.c:
12721         * print.c (std_handle_out_external):
12722         [1]. [4].
12723
12724         * process-nt.c:
12725         * process-nt.c (nt_create_process):
12726         [6].
12727         try to fix process quoting somewhat.
12728
12729         * process-unix.c (unix_create_process):
12730         [1].
12731
12732         * process.c:
12733         * process.c (vars_of_process):
12734         Add Vnull_device.
12735
12736         * process.h:
12737         [1].
12738
12739         * realpath.c:
12740         * realpath.c (xrealpath):
12741         [1].
12742
12743         * redisplay-tty.c (init_tty_for_redisplay):
12744         [3].
12745
12746         * redisplay.c:
12747         [4]. [6].
12748
12749         * scrollbar-msw.c:
12750         [4].
12751
12752         * sheap.c:
12753         * sheap.c (more_static_core):
12754         * sheap.c (report_sheap_usage):
12755         [5]. [6].
12756
12757         * signal.c:
12758         * signal.c (alarm_signal):
12759         [1]. [6].
12760
12761         * sound.c:
12762         [6].
12763
12764         * strftime.c:
12765         * strftime.c (zone_name):
12766         [1]. [5].
12767
12768         * symsinit.h (init_sunpro):
12769         [1].
12770
12771         * syscommctrl.h:
12772         commctrl.h not in Cygwin b20.1.
12773
12774         * sysdep.c:
12775         * sysdep.c (endif):
12776         * sysdep.c (sys_subshell):
12777         * sysdep.c (init_baud_rate):
12778         * sysdep.c (emacs_get_tty):
12779         * sysdep.c (emacs_set_tty):
12780         * sysdep.c (tty_init_sys_modes_on_device):
12781         * sysdep.c (init_system_name):
12782         * sysdep.c (sys_open):
12783         * sysdep.c (interruptible_open):
12784         * sysdep.c (sys_fopen):
12785         * sysdep.c (sys_mkdir):
12786         * sysdep.c (sys_rename):
12787         * sysdep.c (get_process_times_1):
12788         [1]. [6].
12789
12790         * sysdep.h:
12791         [1].
12792
12793         * sysdir.h:
12794         * sysdir.h (DIRENTRY_NONEMPTY):
12795         [1]. [6].
12796
12797         * sysdll.c (dll_init):
12798         * sysdll.h:
12799         [1].
12800
12801         * sysfile.h:
12802         [1]. [6]. [8].
12803         added text/binary defs.
12804
12805         * sysfloat.h:
12806         [1].
12807
12808         * sysproc.h:
12809         * sysproc.h (EDESTADDRREQ):
12810         * sysproc.h (poll_fds_for_input):
12811         [1]. [6].
12812
12813         * syspwd.h:
12814         [6].
12815
12816         * syssignal.h:
12817         [1].
12818
12819         * systime.h:
12820         [1]. [6].
12821
12822         * systty.h:
12823         [1].
12824
12825         * syswindows.h:
12826         [1].
12827         Always define WIN32_LEAN_AND_MEAN.
12828
12829         * unexcw.c (unexec):
12830         [5].
12831
12832         * unexec.c:
12833         * unexec.c (copy_text_and_data):
12834         * unexec.c (adjust_lnnoptrs):
12835         [1].
12836
12837         * unexnt.c:
12838         * unexnt.c (_start):
12839         [1].
12840
12841 2000-06-07  Ben Wing  <ben@xemacs.org>
12842
12843         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12844         was used only as a model.  We've long since extracted any useful
12845         logic or code out of this. (I just did an exhaustive search.)
12846
12847         * s\msdos.h: Removed.
12848
12849         * s\windows95.h: Removed.
12850
12851 2000-06-10  Ben Wing  <ben@xemacs.org>
12852
12853         * s\cygwin32.h:
12854         [1]. [5].
12855         Don't use extern with fun defs.
12856
12857         * s\mingw32.h:
12858         [1]. [7].
12859         Remove nt\inc include.
12860         Remove getdisk, getdefdir. (The former is unused, the latter
12861         expanded in fileio.h.)
12862
12863         * s\windowsnt.h:
12864         * s\windowsnt.h (WIN32_NATIVE):
12865         * s\windowsnt.h (HAVE_STRCASECMP):
12866         [1]. [7].
12867         Add long comment about preprocessor changes.
12868         Remove getdisk, getdefdir. (The former is unused, the latter
12869         expanded in fileio.h.)
12870
12871 2000-06-10  Ben Wing  <ben@xemacs.org>
12872
12873         * m\arm.h:
12874         * m\delta.h:
12875         * m\intel386.h:
12876         * m\sequent.h:
12877         * m\template.h:
12878         * m\windowsnt.h:
12879         [1].
12880         Remove bogus/unused NO_SOCK_SIGIO.
12881
12882 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12883
12884         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12885         not an Emchar.
12886
12887 2000-06-04  Mike Sperber <mike@xemacs.org>
12888
12889         * casetab.c (set_case_table): For `set-standard-case-table',
12890         actually deposit the new case tables where the rest of XEmacs can
12891         see them.
12892
12893 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12894
12895         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12896
12897 2000-06-05  Ben Wing  <ben@xemacs.org>
12898
12899         * callproc.c (child_setup): Don't do close_load_descs() under
12900         MS Windows.  Put in a comment explaining why.
12901
12902 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12903
12904         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12905         Toolkit shell" which breaks `kill-compilation' on Windows NT
12906         native, retaining STDERR handling improvements.
12907
12908 2000-06-01  Andreas Jaeger  <aj@suse.de>
12909
12910         * s/s390.h: Support for S390, based on a patch by Martin
12911         Schwidefsky <schwidefsky@de.ibm.com>.
12912
12913 2000-05-30  Andy Piper  <andy@xemacs.org>
12914
12915         * window.c (allocate_window):
12916         (make_dummy_parent):
12917         (Fset_window_configuration): use new hashtable type.
12918
12919         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12920         (struct image_instantiator_methods):
12921         (struct Lisp_Image_Instance): make instance geometry signed.
12922
12923         * glyphs.c (instantiate_image_instantiator):
12924         (image_instance_query_geometry):
12925         (image_instance_layout):
12926         (image_instance_layout):
12927         (query_string_geometry):
12928         (text_query_geometry):
12929         (image_instantiate):
12930         (image_instantiate):
12931         (cache_subwindow_instance_in_frame_maybe):
12932         (subwindow_query_geometry): make instance geometry signed.
12933
12934         * glyphs-widget.c (widget_query_geometry):
12935         (widget_layout):
12936         (button_query_geometry):
12937         (tree_view_query_geometry):
12938         (tab_control_query_geometry):
12939         (layout_query_geometry):
12940         (layout_layout):
12941         (native_layout_layout): make instance geometry signed.
12942
12943 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12944
12945         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12946         constant.
12947
12948         * general.c (syms_of_general): Add Qfull_assoc symbol.
12949
12950         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12951         correctly.
12952         (decode_weak_list_type): Decode full-assoc type.
12953         (encode_weak_list_type): Encode full-assoc type.
12954         (Fmake_weak_list): Update doc string.
12955
12956 2000-05-30  Andy Piper  <andy@xemacs.org>
12957
12958         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12959
12960         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12961         (decode_hash_table_weakness): ditto.
12962         (Fhash_table_weakness): ditto.
12963         (Fhash_table_type): ditto.
12964         (finish_marking_weak_hash_tables): ditto.
12965         (hash_table_weakness_validate): ditto.
12966         (syms_of_elhash): ditto.
12967
12968 2000-05-28  Martin Buchholz <martin@xemacs.org>
12969
12970         * XEmacs 21.2.34 is released.
12971
12972 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12973
12974         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12975         start cache.
12976         (updating_line_start_cache): Gone.
12977         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12978         generic code to force a minimum of 1 line laid out in the
12979         CMOTION_DISP case.
12980
12981 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12982
12983         * glyphs.c (instantiate_image_instantiator): Check for initialized
12984         height & width no longer special cases IMAGE_NOTHING.
12985         (nothing_instantiate): Set height and width of instance.
12986
12987 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12988
12989         * unexelf.c (unexec): Search for ".data" section.
12990         Initialize new_data2_offset from old_data_index.
12991         Remove redundant check for ElfW.
12992
12993 2000-05-23  Andy Piper  <andy@xemacs.org>
12994
12995         * glyphs.c (get_image_instantiator_governing_domain): allow more
12996         specific domains as the governing domain rather than expecting an
12997         exact match. This fixes problems with layouts.
12998
12999 2000-05-22  Andy Piper  <andy@xemacs.org>
13000
13001         * redisplay-output.c (compare_runes): check for non-images
13002
13003         * glyphs.c (set_glyph_dirty_p): ditto.
13004         (update_glyph_cachel_data): ditto.
13005
13006         * glyphs-widget.c (layout_post_instantiate): ditto.
13007         (layout_post_instantiate): ditto.
13008
13009         * event-msw.c (mswindows_wnd_proc): warning removal.
13010
13011 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13012
13013         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13014
13015         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13016
13017         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13018
13019         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13020         (mswindows_executable_type): mingw32 now has enough headers for
13021         this to work.
13022
13023 2000-05-20  Andy Piper  <andy@xemacs.org>
13024
13025         * console-msw.c (mswindows_output_last_error): ; -> ,
13026
13027 2000-05-12  Andy Piper  <andy@xemacs.org>
13028
13029         * console-msw.c (FROB): compare ints with ints.
13030
13031 2000-05-11  Andy Piper  <andy@xemacs.org>
13032
13033         * glyphs-x.c (x_finalize_image_instance): make minimal build
13034         happy.
13035
13036 2000-05-20  Ben Wing  <ben@xemacs.org>
13037
13038         * event-Xt.c:
13039         * event-Xt.c (vars_of_event_Xt):
13040         move modifier-keys-are-sticky to event-stream.c.
13041
13042         * event-msw.c:
13043         * event-msw.c (mswindows_enqueue_mouse_button_event):
13044         * event-msw.c (key_needs_default_processing_p):
13045         * event-msw.c (XEMSW_LCONTROL):
13046         * event-msw.c (mswindows_handle_sticky_modifiers):
13047         * event-msw.c (FROB):
13048         * event-msw.c (clear_sticky_modifiers):
13049         * event-msw.c (output_modifier_keyboard_state):
13050         * event-msw.c (output_alt_keyboard_state):
13051         * event-msw.c (mswindows_wnd_proc):
13052         * event-msw.c (mswindows_modifier_state):
13053         * event-msw.c (emacs_mswindows_handle_magic_event):
13054         implement sticky modifiers.
13055
13056         * event-stream.c:
13057         * event-stream.c (vars_of_event_stream):
13058         move modifier-keys-are-sticky here.
13059
13060         * lisp.h:
13061         add CHECK_FUNCTION.
13062
13063         * rangetab.c:
13064         implement map-range-table.
13065
13066
13067 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13068
13069         * redisplay-tty.c (reset_tty_modes):
13070         (tty_redisplay_shutdown): Adjust argument type to
13071         tty_frame_output_end.
13072
13073 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13074
13075         * eval.c (Fbacktrace): Don't output a line with only right
13076         parenthesis.
13077
13078 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13079
13080         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13081         (Fpq_reset_poll): Ditto.
13082
13083 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13084
13085         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13086
13087 2000-05-16  Ben Wing  <ben@xemacs.org>
13088
13089         * buffer.c:
13090         * buffer.c (dfc_convert_to/from_internal_format):
13091         * buffer.c (reinit_vars_of_buffer):
13092         Fix conversion functions to allow reentrancy.
13093
13094         * console-msw.c:
13095         * console-msw.c (mswindows_output_last_error):
13096         New fun, generally useful -- output a human-readable
13097         version of GetLastError() on the console.
13098
13099         * console-msw.h:
13100         * console-msw.h (struct mswindows_frame):
13101         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13102
13103         * console-stream.c (stream_output_begin):
13104         * console-stream.c (stream_output_end):
13105         * console-stream.c (stream_output_vertical_divider):
13106         * console-stream.c (stream_clear_region):
13107         * console-stream.c (stream_flash):
13108         * console-stream.c (console_type_create_stream):
13109         Delete blank stream methods, not needed.
13110
13111         * console.h (struct console_methods):
13112         Split begin/end methods into window and frame.
13113
13114         * event-msw.c:
13115         * event-msw.c (mswindows_handle_paint):
13116         * event-msw.c (output_alt_keyboard_state):
13117         * event-msw.c (mswindows_wnd_proc):
13118         * event-msw.c (vars_of_event_mswindows):
13119         Comment about problems with ignored-expose.
13120         Define mswindows-debug-events; not really implemented.
13121
13122         * frame-msw.c (mswindows_init_frame_1):
13123         random cleanups.
13124
13125         * glyphs-msw.c:
13126         * glyphs-msw.c (begin_defer_window_pos):
13127         * glyphs-msw.c (mswindows_unmap_subwindow):
13128         * glyphs-msw.c (mswindows_map_subwindow):
13129         * glyphs-msw.c (mswindows_resize_subwindow):
13130         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13131
13132         * glyphs.c (make_image_instance_1):
13133         Fix crash.
13134
13135         * gutter.c (Fredisplay_gutter_area):
13136         Use new begin/end methods.
13137
13138         * lisp.h (Dynarr_new2):
13139         New creation fun.
13140
13141         * redisplay-msw.c:
13142         * redisplay-msw.c (mswindows_frame_output_begin):
13143         * redisplay-msw.c (mswindows_frame_output_end):
13144         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13145         New begin/end methods -- handle DeferWindowPos.
13146
13147         * redisplay-output.c (redisplay_move_cursor):
13148         * redisplay-output.c (redraw_cursor_in_window):
13149         * redisplay-output.c (redisplay_update_line):
13150         * redisplay-output.c (redisplay_output_window):
13151         New begin/end methods.
13152
13153         * redisplay-tty.c:
13154         * redisplay-tty.c (tty_frame_output_begin):
13155         * redisplay-tty.c (tty_frame_output_end):
13156         * redisplay-tty.c (console_type_create_redisplay_tty):
13157         New begin/end methods.
13158
13159         * redisplay-x.c:
13160         * redisplay-x.c (x_window_output_begin):
13161         * redisplay-x.c (x_window_output_end):
13162         * redisplay-x.c (console_type_create_redisplay_x):
13163         New begin/end methods.
13164
13165         * redisplay.c (redisplay_frame):
13166         * redisplay.c (Fredisplay_echo_area):
13167         New begin/end methods.
13168         use MAYBE_DEVMETH for clear_frame; it may not exist.
13169
13170         * window.h (WINDOW_XFRAME):
13171         WINDOW_XFOO macros -- get locale and decode struct pointer.
13172
13173
13174 2000-05-12  Ben Wing  <ben@xemacs.org>
13175
13176         * emacs.c:
13177         * emacs.c (ensure_no_quitting_from_now_on):
13178         * emacs.c (fatal_error_signal):
13179         * emacs.c (mswindows_handle_hardware_exceptions):
13180         * emacs.c (main):
13181         * emacs.c (Fkill_emacs):
13182         * emacs.c (shut_down_emacs):
13183         * emacs.c (assert_failed):
13184         various improvements in fatal error handling.
13185
13186         * eval.c:
13187         move preparing_for_armageddon to emacs.c.
13188
13189         * lisp.h:
13190         declare fatal_error_in_progress.
13191
13192         * print.c:
13193         * print.c (std_handle_out_external):
13194         * print.c (std_handle_out_va):
13195         * print.c (stderr_out):
13196         * print.c (stdout_out):
13197         use console under mswin when no standard output.
13198         don't do code conversion during fatal error.
13199
13200         * scrollbar.c (Fscrollbar_page_up):
13201         * scrollbar.c (Fscrollbar_page_down):
13202         fix missing else.  reindent.
13203
13204 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13205
13206         Emergency fix.
13207
13208         * glyphs.h (GLYPH_CACHEL_DESCENT):
13209         (GLYPH_CACHEL_DESCENT):
13210         (GLYPH_CACHEL_DESCENT):
13211         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13212         used in case these are inline functions.
13213         Use more absurd values to error check.
13214
13215         include window.h for error check functions.
13216
13217 2000-05-11  Ben Wing  <ben@xemacs.org>
13218
13219         * cmdloop.c (Freally_early_error_handler):
13220         Display message box under windows; otherwise, message will disappear
13221         before it can be viewed.
13222
13223         * console-msw.c:
13224         * console-msw.c (Fmswindows_message_box):
13225         * console-msw.c (FROB):
13226         * console-msw.c (syms_of_console_mswindows):
13227         Define new fun `mswindows-message-box'.
13228         #### I will merge this into `popup-dialog-box'; just give me
13229         a bit of time.
13230
13231         * general.c:
13232         * general.c (syms_of_general):
13233         Some new symbols used in `mswindows-message-box'.
13234
13235         * glyphs.c:
13236         * glyphs.c (Fset_image_instance_property):
13237         put warning in this fun.
13238
13239         * glyphs.h:
13240         * glyphs.h (GLYPH_CACHEL_WIDTH):
13241         * glyphs.h (GLYPH_CACHEL_ASCENT):
13242         * glyphs.h (GLYPH_CACHEL):
13243         * glyphs.h (GLYPH_CACHEL_GLYPH):
13244         define error-checking versions to try to catch a bug i've seen --
13245         redisplay gets in an infinite loop because the glyph width of the
13246         continuation glyph is 65535.
13247
13248         * lisp.h:
13249         Extern message-box stuff.
13250
13251         * window.c (allocate_window):
13252         * window.c (make_dummy_parent):
13253         * window.c (Fset_window_configuration):
13254         Use EQUAL not EQ for subwindow caches to make them work a bit
13255         better. (Something is still very broken.)
13256
13257
13258 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13259
13260         * glyphs.c (image_instantiate): Suppress gcc warnings.
13261         (Fmake_image_instance): Fix doc string.
13262         * specifier.c (Fmake_specifier): Ditto.
13263
13264 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13265
13266         * paths.h.in (PATH_LOCK): Removed.
13267         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13268         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13269
13270 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13271
13272         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13273         Document (featurep '(and xemacs 21.02)).
13274
13275 2000-05-09  Ben Wing  <ben@xemacs.org>
13276
13277         * buffer.c (complex_vars_of_buffer):
13278         update modeline-format doc.
13279
13280         * device.h:
13281         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13282
13283         * emacs.c:
13284         timeline of all released versions of Emacs, for use in creating
13285         authorship comments and in synching up.
13286
13287         * glyphs-widget.c (image_instantiator_buttons):
13288         * glyphs-widget.c (image_instantiator_edit_fields):
13289         * glyphs-widget.c (image_instantiator_combo_box):
13290         * glyphs-widget.c (image_instantiator_scrollbar):
13291         * glyphs-widget.c (image_instantiator_progress_guage):
13292         * glyphs-widget.c (image_instantiator_tree_view):
13293         * glyphs-widget.c (image_instantiator_tab_control):
13294         * glyphs-widget.c (image_instantiator_labels):
13295         * glyphs-widget.c (image_instantiator_layout):
13296         * glyphs-widget.c (image_instantiator_native_layout):
13297         rename decode_domain method to governing_domain.
13298
13299         * glyphs.c:
13300         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13301         * glyphs.c (add_entry_to_device_ii_format_list):
13302         make sure we don't put an entry more than once into the list.
13303         * glyphs.c (check_instance_cache_mapper):
13304         *************************************************************
13305         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13306         HAVE BEEN GETTING.
13307         *************************************************************
13308         * glyphs.c (get_image_instantiator_governing_domain):
13309         clean up, expand on new concept of governing domain.
13310         * glyphs.c (instantiate_image_instantiator):
13311         * glyphs.c (allocate_image_instance):
13312         use governing_domain instead of cache_domain in naming.
13313         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13314         * glyphs.c (make_image_instance_1):
13315         * glyphs.c (Fmake_image_instance):
13316         allow for any domain (not just device), and process the
13317         governing domain correctly.  very big doc fix.
13318         * glyphs.c (Fimage_instance_domain):
13319         new primitive, to retrieve the governing domain of an image instance.
13320         * glyphs.c (image_instantiate):
13321         use new governing_domain stuff.  this fixes a crash you could get
13322         by instantiating certain widget glyphs in frame locales. (should
13323         signal an error instead of crashing.)
13324         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13325         * glyphs.c (Fglyphp): clean up doc.
13326         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13327         * glyphs.c (syms_of_glyphs):
13328         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13329         * glyphs.c (image_instantiator_format_create): add some comments about
13330         bogus code.
13331         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13332         for current-display-table. (Apparently Hrjove implemented in 1998 a
13333         design I wrote up in 1996, but didn't update the doc string.)
13334
13335         * glyphs.h: clean up a doc string.
13336         * glyphs.h (governing_domain):
13337         * glyphs.h (struct image_instantiator_methods):
13338         changes for governing_domain stuff.
13339
13340         * gutter.c:
13341         * gutter.c (Fgutter_specifier_p):
13342         * gutter.c (Fgutter_size_specifier_p):
13343         * gutter.c (Fgutter_visible_specifier_p):
13344         * objects.c:
13345         * objects.c (Fcolor_specifier_p):
13346         * objects.c (Ffont_specifier_p):
13347         * objects.c (Fface_boolean_specifier_p):
13348         doc strings moved to make-*-specifier.
13349
13350         * redisplay.c (add_disp_table_entry_runes_1):
13351         * redisplay.c (generate_fstring_runes):
13352         * redisplay.c (screen):
13353         add random comments and doc strings.
13354
13355         * specifier.c:
13356         * specifier.c (Fmake_specifier):
13357         major overhaul of this doc string.
13358
13359         * specifier.c (Fvalid_specifier_domain_p):
13360         comment about the bogosity of image instances being domains.
13361         * specifier.c (decode_domain):
13362         now non-static, used in glyphs.c.
13363         * specifier.c (specifier_instance):
13364         comment about the bogosity of image instances being domains.
13365         * specifier.c (Fgeneric_specifier_p):
13366         move doc string to make-generic-specifier.
13367         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13368         rebackslashify.
13369
13370         * specifier.h:
13371         * specifier.h (DOMAIN_FRAME):
13372         * specifier.h (DOMAIN_LIVE_P):
13373         * specifier.h (DOMAIN_XDEVICE):
13374         rebackslashify.
13375         add comments about problems with these macros.
13376         prototype for decode_domain.
13377
13378         * toolbar.c:
13379         * toolbar.c (Ftoolbar_specifier_p):
13380         move doc string to `make-toolbar-specifier'.
13381
13382         * window.c (window_unmap_subwindows_cache_mapper):
13383         *************************************************************
13384         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13385         HAVE BEEN GETTING.
13386         *************************************************************
13387
13388 2000-05-09  Andy Piper  <andy@xemacs.org>
13389
13390         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13391
13392         * window.c (Fset_window_configuration): reset the frame subwindow
13393         cache and re-initialize the window subwindow caches.
13394
13395         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13396
13397 2000-05-09  Ben Wing  <ben@xemacs.org>
13398
13399         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13400         DWORD.
13401
13402 2000-04-26  Mike Woolley  <mike@bulsara.com>
13403
13404         * ntheap.c: Changed recreate_heap to limit the amount reserved
13405         for the heap to that which is actually available. Also now
13406         displays a message box (with some dignostics) in the event that
13407         it still can't start.
13408
13409 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13410
13411         * callproc.c (Fold_call_process_internal): GCPRO path
13412
13413 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13414
13415         Patch by Bill Perry.
13416
13417         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13418         back data instead of #ifdef.
13419         (Fscrollbar_page_down): ditto.
13420
13421 2000-05-07  Ben Wing  <ben@xemacs.org>
13422
13423         * buffer.h:
13424         Kludge for defining Qmswindows_tstr.
13425
13426         * nt.c:
13427         * nt.c (open_input_file):
13428         * nt.c (open_output_file):
13429         * nt.c (rva_to_section):
13430         * nt.c (mswindows_executable_type):
13431         Move all memory-mapped-file routines here (some were in unexnt.c,
13432         which is bad because they are used by process-nt.c, and unexnt
13433         won't be around when portable dumping).  Synched the above routines
13434         with FSF 20.6.
13435
13436         * nt.h:
13437         Removed ifdef'd out bogus code.
13438         Fixed some prototypes.
13439
13440         * nt.h (file_data):
13441         * nt.h (OFFSET_TO_RVA):
13442         * nt.h (RVA_TO_OFFSET):
13443         * nt.h (RVA_TO_PTR):
13444         Moved the memory-mapped-file structures, macros and prototypes
13445         here, to parallel nt.c.  ntheap.h should really be removed
13446         entirely, and it's a non-portable-dumper specific file.
13447
13448         * ntheap.h (round_to_next):
13449         Moved the memory-mapped-file structures, macros and prototypes
13450         to nt.h.
13451
13452         * ntproc.c (compare_env):
13453         Moved rva_to_section and mswindows_executable_type to nt.c.
13454         Moved compare_env to process-nt.c.
13455         ntproc.c will die, one day.
13456
13457         * ntproc.c (sys_spawnve):
13458         Account for win32_ -> mswindows_.
13459
13460         * process-nt.c:
13461         * process-nt.c (struct nt_process_data):
13462         * process-nt.c (ensure_console_window_exists):
13463         * process-nt.c (compare_env):
13464         * process-nt.c (nt_create_process):
13465         * process-nt.c (nt_kill_process_by_pid):
13466         * process-nt.c (syms_of_process_nt):
13467         * process-nt.c (vars_of_process_nt):
13468         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13469         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13470         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13471         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13472         Move compare_env here from ntproc.c.
13473
13474         * process.c (Fprocess_send_region):
13475         Takes an optional fourth argument, BUFFER, which should fix some
13476         problems with call-process.
13477
13478         * syscommctrl.h:
13479         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13480
13481         * syswindows.h:
13482         Move ICC_BAR_CLASSES to syscommctrl.h.
13483         Add preliminary macros for MSWindows/Mule.  More to come.
13484
13485         * unexnt.c:
13486         * unexnt.c (unexec):
13487         open_output_file moved to nt.c.
13488
13489
13490 2000-05-05  Andy Piper  <andy@xemacs.org>
13491
13492         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13493         instance from the frame cache also since GC may catch up too late
13494         to make frame deletion sane.
13495
13496 2000-05-04  Andy Piper  <andy@xemacs.org>
13497
13498         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13499         (x_finalize_image_instance): ungcpro on deletion.
13500
13501         * glyphs.c (image_instantiator_format_create): give pointers a
13502         query geometry method so that the geometry is at least set.
13503
13504         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13505         initialize layouts if using widgets.
13506
13507 2000-05-03  Andy Piper  <andy@xemacs.org>
13508
13509         * nt.c: remove bogus reference to sysmmsystem.h
13510
13511         * gui-x.c (popup_selection_callback): fix no selection abort.
13512
13513 2000-05-02  Andy Piper  <andy@xemacs.org>
13514
13515         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13516         (mswindows_widget_instantiate): ditto.
13517
13518         * glyphs-widget.c (initialize_widget_image_instance): initialize
13519         children correctly.
13520         (widget_instantiate): cope with children and items in the same
13521         instance.
13522
13523         * glyphs.c (mark_image_instance): cope with children as a first
13524         class member.
13525         (image_instance_equal): ditto.
13526         (image_instance_hash): ditto.
13527         (image_instance_changed): ditto.
13528
13529 2000-04-30  Andy Piper  <andy@xemacs.org>
13530
13531         * glyphs.c (subwindow_query_geometry): new function. Return some
13532         defaults.
13533         (subwindow_instantiate): don't assign dimensions if none have been
13534         given.
13535         (image_instantiator_format_create): add subwindow_query_geometry.
13536         (print_image_instance): cope with layouts as widgets.
13537
13538 2000-04-29  Andy Piper  <andy@xemacs.org>
13539
13540         * frame.c (delete_frame_internal): call
13541         free_frame_subwindow_instance_cache so that all subwindows are
13542         finalized before their parent.
13543         (mark_frame): remove subwindow_cachels.
13544         (Fmake_frame): remove subwindow_cachel manipulation.
13545         (allocate_frame_core): subwindow_instance_cache is a weak list.
13546         (delete_frame_internal): set subwindow_instance_cache to nil.
13547
13548         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13549         finalization safe.
13550         (mswindows_finalize_image_instance): use the device
13551         not the domain as the domain may have died already.
13552
13553         * glyphs-x.c (x_finalize_image_instance): ditto.
13554         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13555         HEIGHT.
13556
13557         * redisplay-output.c (redisplay_unmap_subwindows): update for
13558         subwindow instance cache as a weak list.
13559         (redisplay_unmap_subwindows_maybe): ditto.
13560         (redisplay_unmap_subwindows_except_us): ditto.
13561
13562         * glyphs.c (unmap_subwindow): error checking will check the domain
13563         so don't deal with it here. Don't use cachels anymore.
13564         (map_subwindow): ditto.
13565         (update_subwindow_cachel_data): remove old accessor names.
13566         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13567         (Fresize_subwindow): don't update cachel.
13568         (mark_subwindow_cachels):
13569         (update_subwindow_cachel_data):
13570         (add_subwindow_cachel):
13571         (get_subwindow_cachel_index):
13572         (update_subwindow_cachel):
13573         (reset_subwindow_cachels):
13574         (mark_subwindow_cachels_as_not_updated): deleted.
13575         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13576         subwindow instance to the frame cache.
13577         (find_matching_subwindow): update for subwindow instance cache as
13578         a weak list.
13579         (update_widget_instances): ditto.
13580         (image_instance_type_to_mask):inlined.
13581         (free_frame_subwindow_instance_cache): new function. finalize all
13582         subwindows that are instantiated.
13583
13584         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13585         of cachel information.
13586         (IMAGE_INSTANCE_DISPLAY_X):
13587         (IMAGE_INSTANCE_DISPLAY_Y):
13588         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13589         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13590         (XIMAGE_INSTANCE_DISPLAY_X):
13591         (XIMAGE_INSTANCE_DISPLAY_Y):
13592         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13593         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13594         remove subwindow_cachel structure and function references.
13595         (image_instance_type_to_mask): inline from glyphs.c
13596
13597         * redisplay.c (redisplay_frame): remove subwindow_cachel
13598         references.
13599
13600         * frame.h (struct frame): remove subwindow_cachels.
13601         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13602
13603         * frameslots.h: add subwindow_instance_cache.
13604
13605         * window.c (replace_window): check subwindow cache of replacement.
13606         (window_unmap_subwindows_cache_mapper):
13607         (window_unmap_subwindows): new functions. Unmap all subwindows
13608         cached on this window.
13609         (mark_window_as_deleted): unmap all subwindows.
13610
13611 2000-04-27  Andy Piper  <andy@xemacs.org>
13612
13613         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13614
13615         * glyphs-widget.c (widget_layout): return something.
13616         (layout_layout): return something. Fail if not initialized.
13617         (layout_query_geometry): ditto.
13618         (image_instantiator_native_layout): new function. Initialized the
13619         native layout type.
13620         (widget_instantiate): don't do layout stuff here.
13621
13622         * glyphs.c (instantiate_image_instantiator): reorded calling or
13623         instantiate and post_instantiate with layout in between.
13624         (image_instance_layout): be more selective about deciding whether
13625         the layout has been done or not.
13626
13627         * glyphs.h (struct image_instantiator_methods): return a value
13628         from layout_method.
13629
13630 2000-04-26  Andy Piper  <andy@xemacs.org>
13631
13632         * glyphs.c (allocate_image_instance): make initial width and
13633         height unspecified. Set initialized to 0.
13634
13635         * syscommctrl.h new file. Encapsulates commctrl.h.
13636
13637         * syswindows.h new file. Encapsulates windows.h.
13638
13639         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13640         * nt.c: ditto.
13641         * console-msw.h: ditto.
13642
13643         * redisplay-tty.c (tty_output_display_block): remove layout references.
13644
13645         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13646         window handle rather than just the frame.
13647
13648         * glyphs.c (mark_image_instance): remove layout references.
13649         (print_image_instance): ditto.
13650         (image_instance_equal): ditto.
13651         (image_instance_hash): ditto.
13652         (decode_image_instance_type): ditto.
13653         (encode_image_instance_type): ditto.
13654         (image_instantiate): ditto.
13655         (allocate_glyph): ditto.
13656         (Fimage_instance_height): ditto.
13657         (Fimage_instance_width): ditto.
13658         (update_subwindow): ditto.
13659
13660         * redisplay-x.c (x_output_display_block): recode for layouts as
13661         widgets.
13662
13663         * redisplay-output.c (redisplay_output_layout): recode for layouts
13664         as widgets.
13665         (compare_runes): remove layout references.
13666
13667         * redisplay-msw.c (mswindows_output_display_block): recode for
13668         layouts as widgets.
13669
13670         * glyphs-widget.c (image_instantiator_layout): remove
13671         layout_possible_dest_types.
13672         (layout_possible_dest_types): deleted.
13673
13674         * glyphs.h (image_instance_type): remove layout references.
13675         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13676         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13677         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13678
13679 2000-04-25  Andy Piper  <andy@xemacs.org>
13680
13681         * glyphs-widget.c (image_instantiator_buttons):
13682         (image_instantiator_edit_fields):
13683         (image_instantiator_combo_box):
13684         (image_instantiator_scrollbar):
13685         (image_instantiator_progress_guage):
13686         (image_instantiator_tree_view):
13687         (image_instantiator_tab_control):
13688         (image_instantiator_labels):
13689         (image_instantiator_layout): call default post_instantiate method.
13690         (widget_post_instantiate): new function. Simply lays out the
13691         widgets.
13692
13693         * glyphs.h (struct image_instantiator_methods): add
13694         post_instantiate method.
13695
13696         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13697         method calls.
13698
13699 2000-04-23  Andy Piper  <andy@xemacs.org>
13700
13701         * glyphs.h (struct image_instantiator_methods): add
13702         decode_domain_method.
13703         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13704         derived from the domain.
13705         (IMAGE_INSTANCE_FRAME): new accessor.
13706         (XIMAGE_INSTANCE_FRAME): ditto.
13707
13708         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13709         instead of _SUBWINDOW_FRAME.
13710         (finalize_image_instance): ditto.
13711         (Fimage_instance_foreground): ditto.
13712         (Fimage_instance_background): ditto.
13713         (image_instantiate): ditto.
13714         (update_subwindow_cachel): ditto.
13715         (update_subwindow): ditto.
13716         (unmap_subwindow): ditto.
13717         (map_subwindow): ditto
13718         (subwindow_instantiate): ditto.
13719         * glyphs-msw.c (mswindows_update_widget): ditto.
13720         (mswindows_progress_gauge_instantiate): ditto.
13721         (mswindows_tab_control_update): ditto.
13722         * glyphs-x.c (x_update_widget): ditto.
13723         (x_widget_instantiate): ditto.
13724         (x_tab_control_instantiate): ditto.
13725         (x_tab_control_update): ditto.
13726         * event-msw.c (mswindows_wnd_proc): ditto
13727
13728         * glyphs-widget.c (image_instantiator_layout): use
13729         subwindow_decode_domain.
13730         (image_instantiator_buttons): ditto.
13731         (image_instantiator_edit_fields): ditto.
13732         (image_instantiator_combo_box): ditto.
13733         (image_instantiator_scrollbar): ditto.
13734         (image_instantiator_progress_guage): ditto.
13735         (image_instantiator_tree_view): ditto.
13736         (image_instantiator_tab_control): ditto.
13737         (image_instantiator_labels): ditto.
13738         (image_instantiator_layout): ditto.
13739
13740         * glyphs.c: add instance error checking to many functions.
13741         (instantiate_image_instantiator): decode device from cache_domain.
13742         (image_instantiate): partially rewrite by using
13743         decode_image_instantiator_domain to determine what domain the
13744         instance needs to be cached in.
13745         (decode_image_instantiator_domain): new function. Determine what
13746         domain the image needs to be cached in.
13747         (check_window_subwindow_cache): new error checking function.
13748         (check_instance_cache_mapper): ditto.
13749         (check_image_instance_structure): ditto.
13750         (subwindow_decode_domain): new function. Encodes a window as a
13751         subwindow's cache domain.
13752         (image_instantiator_format_create): use it for text and
13753         subwindows.
13754
13755 2000-04-21  Andy Piper  <andy@xemacs.org>
13756
13757         * glyphs.c (image_instance_device): new function.
13758         (image_instance_frame): new function.
13759         (image_instance_window): new function.
13760         (image_instance_live_p): new function.
13761
13762         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13763         cache to nil.
13764
13765         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13766         (IMAGE_INSTANCE_DOMAIN): new accessor.
13767         (XIMAGE_INSTANCE_DOMAIN): ditto.
13768
13769         * glyphs-x.c (x_finalize_image_instance): device->domain.
13770
13771         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13772         (mswindows_finalize_image_instance): ditto.
13773
13774         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13775         (gif_instantiate): ditto.
13776         (png_instantiate): ditto.
13777         (tiff_instantiate): ditto.
13778
13779         * glyphs.c (instantiate_image_instantiator): use domain rather
13780         than device.
13781         (mark_image_instance): device -> domain.
13782         (print_image_instance): ditto.
13783         (finalize_image_instance): ditto.
13784         (image_instance_equal): ditto.
13785         (allocate_image_instance): ditto.
13786         (Fcolorize_image_instance): ditto.
13787         (query_string_geometry): ditto.
13788         (image_instantiate): ditto
13789         (query_string_font): ditto.
13790         (image_instantiate): ditto.
13791         (update_subwindow): ditto.
13792         (unmap_subwindow): ditto.
13793         (map_subwindow): ditto.
13794         (subwindow_instantiate): ditto.
13795
13796         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13797         (DOMAIN_FRAME): ditto.
13798         (DOMAIN_WINDOW): ditto.
13799         (DOMAIN_LIVE_P): ditto.
13800         (XDOMAIN_DEVICE): ditto.
13801         (XDOMAIN_FRAME): ditto.
13802         (XDOMAIN_WINDOW): ditto.
13803
13804         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13805         a valid specifier domain.
13806
13807 2000-04-19  Andy Piper  <andy@xemacs.org>
13808
13809         * glyphs-widget.c (syms_of_glyphs_widget): remove
13810         widget-callback-current-channel.
13811         (vars_of_glyphs_widget): ditto.
13812         * glyphs.h: ditto
13813
13814         * gui.c (get_gui_callback): revert to previous behaviour.
13815
13816 2000-04-18  Andy Piper  <andy@xemacs.org>
13817
13818         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13819         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13820         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13821
13822         * glyphs.c (image_instance_equal): add margin_width.
13823         (image_instance_hash): ditto.
13824
13825         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13826         (layout_query_geometry): ditto.
13827         (layout_layout): ditto.
13828         (syms_of_glyphs_widget): add margin-width.
13829         (image_instantiator_layout): allow margin-width.
13830
13831         * glyphs.c (update_widget_instances): make a normal function.
13832         (syms_of_glyphs): remove Qupdate_widget_instances.
13833         * glyphs.h: ditto.
13834
13835         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13836         so that we don't corrupt ideas about the last event or
13837         command. Remove widget-callback-current-channel fiddling.
13838         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13839
13840 2000-05-01  Martin Buchholz <martin@xemacs.org>
13841
13842         * XEmacs 21.2.33 is released.
13843
13844 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13845
13846         * make-src-depend: Allow dots in header file name.
13847
13848 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13849
13850         * mule-charset.h (struct charset_lookup): Add
13851         next_allocated_1_byte_leading_byte and
13852         next_allocated_2_byte_leading_byte.
13853         * mule-charset.c: Move above two variables so that those values
13854         will be dumped.
13855
13856 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13857
13858         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13859         when string length is zero.
13860         (find_charsets_in_emchar_string): Ditto.
13861
13862 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13863
13864         * lisp.h: extern Qdialog and Qmenubar.
13865
13866         * gui-x.c: added events.h.
13867                 also fixed typo which made the file uncompilable.
13868
13869         * general.c: Added Qmenubar and Qdialog
13870
13871 2000-04-28  Ben Wing  <ben@xemacs.org>
13872
13873         * frame-msw.c (mswindows_init_frame_1):
13874         * frame-msw.c (mswindows_mark_frame):
13875         * event-msw.c (mswindows_enqueue_dispatch_event):
13876         * console-msw.h:
13877         * console-msw.h (struct mswindows_frame):
13878         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13879         there are now three hash tables for callbacks.
13880         mswindows_enqueue_dispatch_event is no longer static.
13881
13882         * dialog-x.c (maybe_run_dbox_text_callback):
13883         * dialog-x.c (dbox_descriptor_to_widget_value):
13884         switch to new cons3 form for callbacks.
13885
13886         * glyphs-msw.c (mswindows_register_gui_item):
13887         * glyphs-msw.c (mswindows_widget_instantiate):
13888         * glyphs-msw.c (add_tree_item):
13889         * glyphs-msw.c (add_tab_item):
13890         new image instance parameter, so it can be passed to callback-ex.
13891         respect :callback-ex as well as :callback.
13892
13893         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13894         add :callback-ex.
13895
13896         * glyphs.c (print_image_instance):
13897         prettify, e.g. now prints widget type.
13898
13899         * gui-x.h:
13900         certain funs have new image instance parameter.
13901
13902         * gui.c:
13903         * gui.c (get_gui_callback):
13904         * gui.c (gui_item_add_keyval_pair):
13905         * gui.c (gui_item_init):
13906         * gui.c (gui_add_item_keywords_to_plist):
13907         * gui.c (mark_gui_item):
13908         * gui.c (gui_item_hash):
13909         * gui.c (gui_item_equal):
13910         * gui.c (copy_gui_item):
13911         * gui.c (syms_of_gui):
13912         recognize callback-ex in a number of places.
13913         also, fix the annoying "can't get out of yes-no dialog" bug.
13914
13915         * gui.h:
13916         * gui.h (struct Lisp_Gui_Item):
13917         recognize callback-ex in a number of places.
13918
13919         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13920         new parameter in button_item_to_widget_value.
13921
13922         * glyphs-x.c (x_update_widget):
13923         * glyphs-x.c (x_button_instantiate):
13924         * glyphs-x.c (x_button_update):
13925         * glyphs-x.c (x_progress_gauge_instantiate):
13926         * glyphs-x.c (x_edit_field_instantiate):
13927         * glyphs-x.c (x_combo_box_instantiate):
13928         * glyphs-x.c (x_tab_control_instantiate):
13929         * glyphs-x.c (x_label_instantiate):
13930         new image instance parameter in various places.
13931
13932         * event-Xt.c:
13933         * event-Xt.c (enqueue_Xt_dispatch_event):
13934         this fun gets exported.
13935
13936         * gui-msw.c:
13937         * gui-msw.c (mswindows_handle_gui_wm_command):
13938         handle both :callback and :callback-ex, and generate our own
13939         event because it's one of the callback-ex arguments.
13940
13941         * gui-x.c:
13942         * gui-x.c (popup_selection_callback):
13943         handle both :callback and :callback-ex, and generate our own
13944         event because it's one of the callback-ex arguments.
13945         * gui-x.c (button_item_to_widget_value):
13946         * gui-x.c (gui_items_to_widget_values_1):
13947         * gui-x.c (gui_item_children_to_widget_values):
13948         * gui-x.c (gui_items_to_widget_values):
13949         new image instance parameter in various places.
13950
13951         * fns.c (Freplace_list):
13952         fix small typo in doc string.
13953
13954         * lisp.h:
13955         declare enqueue_Xt_dispatch_event.
13956
13957 2000-04-28  Ben Wing  <ben@xemacs.org>
13958
13959         * buffer.c:
13960         * buffer.c (Frecord_buffer):
13961         * buffer.c (syms_of_buffer):
13962         delete record-buffer-hook.
13963
13964         * fns.c:
13965         * fns.c (Freplace_list):
13966         * fns.c (syms_of_fns):
13967         new primitive replace-list.
13968
13969         * frameslots.h:
13970         slot for old buffer-alist.
13971
13972         * lisp.h:
13973         exfun replace-list.
13974
13975         * redisplay.c:
13976         * redisplay.c (redisplay_frame):
13977         * redisplay.c (syms_of_redisplay):
13978         * redisplay.c (vars_of_redisplay):
13979         new hook buffer-list-changed-hook.
13980         call it.
13981
13982 2000-04-27  Ben Wing  <ben@xemacs.org>
13983
13984         * extents.h: extern in_modeline_generation.
13985
13986         * redisplay.c (generate_formatted_string_db): set
13987         in_modeline_generation.
13988
13989         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13990         flags if in modeline generation.  otherwise frame-modified-tick
13991         is ticked far too often.
13992         Declare in_modeline_generation.
13993
13994 2000-04-26  Ben Wing  <ben@xemacs.org>
13995
13996         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13997         option.
13998         (vars_of_emacs): add quick-build as an error-checking option.
13999         A bit kludgy, but there doesn't seem much point in creating
14000         a real var for this.
14001
14002         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14003
14004 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14005
14006         * redisplay.h (struct display_line): Add a new variable,
14007         line_continuation.
14008
14009         * redisplay.c (create_text_block): Set dl->line_continuation if
14010         the line continues.
14011         (create_string_text_block): Ditto.
14012         (regenerate_window_incrementally): Use line_continuation instead
14013         of searching continuation glyph.
14014         (add_margin_runes): Call add_glyph_rune.
14015         (add_glyph_rune): Handle margin glyph.
14016
14017 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14018
14019         * filelock.c (fill_in_lock_file_name):
14020         ANSIfy.
14021         Check for IS_ANY_SEP instead of '/'.
14022         (lock_file_1):
14023         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14024         Never check errno without first seeing that system call failed.
14025         (unlock_file): Add GCPRO.
14026         (Flock_buffer): Fix docstring.
14027         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14028
14029 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14030
14031         * sysdep.c (get_pty_max_bytes):
14032         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14033         strings longer than 252 bytes.
14034
14035         * md5.c: Unconditionally include ANSI header <limits.h>
14036
14037         * glyphs-x.c (convert_EImage_to_XImage):
14038         * lisp-union.h (union Lisp_Object):
14039         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14040
14041 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14042
14043         * filelock.c (current_lock_owner): Remove unused variable o, p.
14044
14045 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14046
14047         * callint.c: Remove multiply defined symbol Qlet
14048         (syms_of_callint): ditto.
14049
14050 2000-04-14  Andy Piper  <andy@xemacs.org>
14051
14052         * general.c (syms_of_general): add last-command, this-command, let
14053         and funcall.
14054
14055         * lisp.h: declare various symbols.
14056
14057         * glyphs.h: declare Qwidget_callback_current_channel;
14058
14059         * glyphs-widget.c (syms_of_glyphs_widget): add
14060         Qgui_callback_current_channel.
14061         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14062
14063         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14064         widget-callback-current-channel when invoking the interactive
14065         arg. Also bind last-command and next-command when invoking the
14066         widget updates.
14067         * gui-x.c (popup_selection_callback): ditto.
14068
14069         * gui.c (get_gui_callback): massage args so that we are always
14070         calling eval. This allows us to add our own variable bindings
14071         outside.
14072
14073         * glyphs-x.c (x_button_instantiate): use
14074         gui_items_to_widget_values since this is GC safe.
14075         (x_progress_gauge_instantiate): ditto.
14076         (x_edit_field_instantiate): ditto.
14077         (x_label_instantiate): ditto.
14078
14079         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14080         (emacs_Xt_event_widget_focus_out): new function
14081         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14082         focus.
14083         (emacs_Xt_event_add_widget_actions): new function. add focus
14084         functions as actions.
14085         (init_event_Xt_late): use it.
14086
14087 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14088
14089         * event-stream.c (Fdispatch_event): Doc fix.
14090
14091 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14092
14093         * postgresql.c: Remove all references to PQsetenv*.
14094
14095         * postgresql.h: Remove references to PGsetenvHandler object.
14096         * lrecord.h (lrecord_type): Ditto.
14097
14098 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14099
14100         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14101         real_heigh and real_width members, and accessor macros for these.
14102
14103         * glyphs-msw.c (init_image_instance_geometry): New function.
14104         (init_image_instance_from_dibitmap): Use it.
14105         (mswindows_resource_instantiate): Use it.
14106         (init_image_instance_from_xbm_inline): Use it.
14107         (mswindows_initialize_image_instance_mask): Use real bitmap
14108         geometry.
14109         (mswindows_create_resized_bitmap): Ditto.
14110         (mswindows_create_resized_mask): Ditto.
14111
14112         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14113         and bitmap to their surface size.
14114
14115 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14116
14117         * process-unix.c (unix_send_process): Guard against process MIA
14118         after Faccept_process_output.
14119
14120 2000-04-11  Ben Wing  <ben@xemacs.org>
14121
14122         * eval.c (unbind_to_hairy): fix brokenness introduced by
14123         nanosecond speed improvements.
14124
14125 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14126
14127         * sunplay.c (init_device): To play sounds correctly, the device
14128         apparently needs to be initialized at least once by XEmacs.  Make
14129         it so.
14130
14131 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14132
14133         * redisplay.c (add_margin_runes): Add text image glyph
14134           handling.
14135
14136 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14137
14138         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14139         gcc is newer than 2.5.
14140
14141 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14142
14143         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14144
14145         * fns.c (size_bit_vector):
14146         * alloc.c (size_vector):
14147         (make_vector_internal):
14148         (make_bit_vector_internal):
14149         (sweep_bit_vectors_1):
14150         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14151
14152 2000-04-06  Andy Piper  <andy@xemacs.org>
14153
14154         * gmalloc.c (malloc): undo previous change.
14155         (malloc): ditto.
14156         (free): ditto.
14157         (realloc): ditto.
14158
14159 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14160
14161         * line-number.c (buffer_line_number): Revert to former version.
14162
14163 2000-04-06  Andy Piper  <andy@xemacs.org>
14164
14165         * gmalloc.c (malloc): add error checking.
14166         (malloc): ditto.
14167         (free): ditto.
14168         (realloc): ditto.
14169
14170         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14171         button_item_to_widget_value arg.
14172
14173         * glyphs-x.c (x_button_instantiate): add extra
14174         button_item_to_widget_value arg.
14175         (x_progress_gauge_instantiate): ditto.
14176         (x_edit_field_instantiate): ditto.
14177         (x_label_instantiate): ditto.
14178
14179         * gui-x.c (gui_items_to_widget_values_1): add extra
14180         button_item_to_widget_value arg.
14181         (button_item_to_widget_value): add extra menu_item_p arg.
14182
14183         * gui-x.h: change signature of button_item_to_widget_value.
14184
14185         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14186         button_item_to_widget_value arg.
14187
14188 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14189
14190         * buffer.h (struct buffer): auto_save_modified should be long.
14191
14192 2000-04-05  Andy Piper  <andy@xemacs.org>
14193
14194         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14195         type.
14196         (button_query_geometry): give a little more room so that athena
14197         buttons fit.
14198
14199 2000-04-05  Andy Piper  <andy@xemacs.org>
14200
14201         * faces.c (complex_vars_of_faces): The widget face should inherit
14202         the font of the gui-element face.
14203
14204 2000-04-04  Andy Piper  <andy@xemacs.org>
14205
14206         * glyphs-x.c (x_button_update): new function. unconditionally
14207         update a button's state when the instance is dirty.
14208         (image_instantiator_format_create_glyphs_x): add x_button_update.
14209         (x_widget_instantiate): remove old resize cruft.
14210
14211 2000-04-02  Andy Piper  <andy@xemacs.org>
14212
14213         * frame.c (change_frame_size_1): The introduction of gutters means
14214         that we need to allow 0 as a potential frame dimension.
14215
14216 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14217
14218         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14219         image glyph if allow_cursor.
14220         (add_hscroll_rune): Don't allow cursor to border glyph.
14221         (create_text_block): Ditto.
14222
14223         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14224         text not in buffer.
14225         (redisplay_output_layout): Call ensure_face_cachel_complete for
14226         text image glyph.
14227
14228
14229 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14230
14231         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14232
14233         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14234         not in buffer
14235
14236         * redisplay-tty.c (tty_output_display_block): Delete the routine
14237         for text image glyph
14238         * redisplay-x.c (x_output_display_block): ditto
14239         * redisplay-msw.c (mswindows_output_display_block): ditto
14240
14241 2000-02-02  Mike Alexander  <mta@arbortext.com>
14242
14243         Note: Some of these were committed by accident as part of other
14244         patches.
14245
14246         * regex.c (regex_compile): Avoid compiler warnings.
14247
14248         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14249
14250         * nt.h: Declare term_ntproc correctly.
14251
14252         * nt.c: Remove incorrect declaration of get_home_directory which
14253         is declared correctly in lisp.h.
14254
14255         * keymap.c (get_keyelt): Avoid compiler warnings.
14256         (raw_lookup_key_mapper): Avoid compiler warnings.
14257
14258         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14259
14260         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14261
14262         * filemode.c (mode_string): Avoid compiler warnings.
14263
14264         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14265         avoid warning.
14266
14267         * events-mod.h: Undef some things that winuser.h defines differently.
14268
14269         * data.c (Faset): Avoid compiler warnings.
14270
14271         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14272
14273 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14274
14275         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14276         Fall through to simple beep on error.
14277         Replace "extern" by real header file.
14278
14279         * linuxplay.c: Use nativesound.h
14280         (play_sound_data): Return error code. Be less verbose on error.
14281
14282         * sunplay.c: Use nativesound.h
14283         (play_sound_data): Return error code. Be less verbose on error.
14284
14285         * ntplay.c: Use nativesound.h
14286         (play_sound_data): Return fake error code
14287
14288         * sgiplay.c: Use nativesound.h
14289         (play_sound_data): Return error code
14290
14291         * hpplay.c: Use nativesound.h, partially implement
14292         new error code. Break compilation until finished.
14293         (play_sound_data): error code.
14294
14295         * nativesound.h (play_sound_file):
14296           (play_sound_data): Prototype in new header.
14297
14298 2000-03-31  Andy Piper  <andy@xemacs.org>
14299
14300         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14301         for toggle and radio buttons.
14302         (image_instantiator_buttons): use it.
14303
14304 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14305
14306         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14307         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14308         found. Scrollbar event probably belonged to some old config.
14309
14310 2000-03-31  Andy Piper  <andy@xemacs.org>
14311
14312         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14313         than 1.
14314         (initialize_widget_image_instance): default layout to
14315         LAYOUT_HORIZONTAL rather than 0.
14316         (widget_instantiate): reverse the item list at the end rather than
14317         every iteration.
14318         (layout_layout): re-code for the border text at the front of the
14319         item list rather than at the end.
14320         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14321         provided by the user.
14322         (widget_query_geometry): comment.
14323
14324 2000-03-30  Andy Piper  <andy@xemacs.org>
14325
14326         * glyphs-widget.c (image_instantiator_layout): allow standard
14327         widget keywords in layouts.
14328
14329         * gutter.c (output_gutter): cope with nil gutter contents.
14330
14331         * frame.c (Fset_frame_properties): add gutter docs.
14332
14333 2000-03-29  Andy Piper  <andy@xemacs.org>
14334
14335         * toolbar-msw.c (TBSTYLE_FLAT): add.
14336         (mswindows_output_toolbar): minor fiddling.
14337
14338 2000-03-29  Andy Piper  <andy@xemacs.org>
14339
14340         * gutter.c (output_gutter): force gutter size recalculation if
14341         what we are trying to display won't fit.
14342         (update_gutter_geometry): new function. A per-gutter version of
14343         update_frame_gutter_geometry.
14344         (update_frame_gutter_geometry): use it.
14345         (redraw_exposed_gutter): add extra debugging output.
14346
14347 2000-03-28  Mike Alexander  <mta@arbortext.com>
14348
14349         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14350         (pdump_file_unmap): Implement it on Windows
14351         (pdump_file_get): Save alocated handles for pdump_file_unmap
14352
14353 2000-03-28  Andy Piper  <andy@xemacs.org>
14354
14355         * gui.c (get_gui_callback): treat Quit specially.
14356
14357 2000-03-27  Andy Piper  <andy@xemacs.org>
14358
14359         * glyphs.c (image_instantiate): be careful to check in the same
14360         way we assigned.
14361
14362 2000-03-27  Didier Verna  <didier@xemacs.org>
14363
14364         * config.h.in: define the proper SMART_INCLUDE macro.
14365         handle renaming of `foo_h_path' to `foo_h_file'.
14366
14367         * database.c: ditto.
14368
14369         * emacs.c: ditto.
14370
14371         * linuxplay.c: ditto.
14372
14373         * terminfo.c: ditto.
14374
14375         * tooltalk.h: ditto.
14376
14377 2000-03-27  Andy Piper  <andy@xemacs.org>
14378
14379         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14380         gets updated whenever the face might have changed.
14381
14382 2000-03-26  Mike Alexander  <mta@arbortext.com>
14383
14384         * dumper.c (pdump_resource_free): Fix the comment.
14385
14386 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14387
14388         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14389
14390 2000-03-22  Mike Alexander  <mta@arbortext.com>
14391
14392         * dumper.c: Include Windows headers on Windows
14393         (pdump_resource_free): Add a body to the function
14394         (pdump_load): exe_name -> exe_path and add some comments.
14395
14396 2000-03-25  Mike Alexander  <mta@arbortext.com>
14397
14398         * gui.c (copy_gui_item_tree): Return a value in all cases
14399
14400 2000-03-21  Didier Verna  <didier@xemacs.org>
14401
14402         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14403         lwlib/config.h.in.
14404         (SMART_INCLUDE): new macro.
14405         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14406         the proper location.
14407
14408         * postgresql.c: use it.
14409
14410         * inline.c: ditto.
14411
14412 2000-03-24  Andy Piper  <andy@xemacs.org>
14413
14414         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14415         do this.
14416
14417 2000-03-24  Andy Piper  <andy@xemacs.org>
14418
14419         * redisplay-output.c (compare_runes): use image_instance_changed
14420         to detect changes. Do not depend on glyphs_changed, only depend on
14421         dirtiness.
14422          (redisplay_output_layout): add debug messages.
14423         (compare_runes): ditto.
14424
14425         * glyphs.h: declare new functions.
14426         (struct Lisp_Image_Instance): remove percent and associated
14427         accessors.
14428
14429         * gui.h: declare new copying functions.
14430
14431         * gui.c (copy_gui_item_tree): new function.
14432         (copy_gui_item): new function.
14433         (gui_item_id_hash): revert to standard hash.
14434         (gui_item_hash): ditto.
14435         (gui_item_hash_internal): deleted.
14436         (mark_gui_item): mark value.
14437         (gui_item_add_keyval_pair): add value.
14438         (gui_item_init): ditto.
14439         (gui_add_item_keywords_to_plist): ditto.
14440         (gui_item_equal): ditto.
14441         (syms_of_gui): add Q_value.
14442
14443         * glyphs-x.c (x_progress_gauge_update): use pending items and
14444         value for setting the state.
14445         (x_update_widget): don't set items from pending here.
14446
14447         * glyphs-widget.c (update_widget): update items here.
14448         (progress_gauge_set_property): use items for storing value. Put
14449         new value in pending items.
14450
14451         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14452         items for new value. Convert percent -> value.
14453         (mswindows_tab_control_update): don't update items here.
14454
14455         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14456         (update_subwindow): ditto.
14457         (image_instance_changed): new function. Compare hash values and
14458         past and present widget items.
14459         (image_instantiate): We more careful about where we instantiate
14460         things.
14461         (image_instantiate): add error checking.
14462
14463         * gutter.c (syms_of_gutter): use -hook.
14464
14465 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14466
14467         * console-tty.c (Fset_console_tty_input_coding_system): Use
14468         Qkeyboard.
14469         (Fset_console_tty_output_coding_system): Use Qterminal.
14470         (tty_init_console): Use Qkeyboard and Qterminal.
14471
14472 2000-03-21  Ben Wing  <ben@xemacs.org>
14473
14474         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14475         From Mike Alexander <mta@arbortext.com>.
14476
14477 2000-03-21  Ben Wing  <ben@xemacs.org>
14478
14479         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14480         process brokenness.  Proper implementation to come.
14481         * callproc.c:
14482         Rename call-process-internal to old-call-process-internal.
14483         New impl. in process.el.
14484
14485 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14486
14487         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14488
14489 2000-03-20  Andy Piper  <andy@xemacs.org>
14490
14491         * glyphs.c (full_list_hash): make hashes of the same elements in
14492         different orders return different values.
14493
14494 2000-03-20  Martin Buchholz <martin@xemacs.org>
14495
14496         * XEmacs 21.2.32 is released.
14497
14498 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14499
14500         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14501         (DFC_MALLOC_USE_CONVERTED_DATA):
14502         Add aliasing-safe casts to allow use with char* or unsigned char*
14503         lvalues.
14504
14505         * eldap.c (Fldap_open):
14506         (Fldap_search_basic):
14507         (Fldap_add):
14508         (Fldap_modify):
14509         Make C++-compilable.
14510         Make sure GCPRO'ed variables are initialized.
14511         Use temp variables to avoid repeated calls to Flength.
14512
14513 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14514
14515         * sysfile.h:
14516         Make sure PATH_MAX is always defined.
14517         Include limits.h for PATH_MAX.
14518         Deprecate use of MAXPATHLEN.
14519
14520 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14521
14522         * emacs.c: Add reinit_vars_of_fileio.
14523         * symsinit.h: Add reinit_vars_of_fileio.
14524         * fileio.c (reinit_vars_of_fileio): New.
14525         * fileio.c (Fmake_temp_name):
14526         Initialize temp_name random number from microseconds to make
14527         collisions even less likely.  Initialize always at process startup
14528         time.  (make-temp-name) used to return the same file name twice in
14529         a row when PDUMP.
14530         Random stylistic fiddling.
14531         Comment fixes.
14532
14533 2000-03-20  Andy Piper  <andy@xemacs.org>
14534
14535         * glyphs.c (image_instantiate): allow text glyphs to be
14536         instantiated in the minibuffer window.
14537
14538 2000-03-19  Andy Piper  <andy@xemacs.org>
14539
14540         * glyphs.c (image_instance_hash): be careful about which items we
14541         hash on.
14542
14543         * glyphs-widget.c (tab_control_set_property): record into pending
14544         items rather than the actual items.
14545
14546         * glyphs-x.c (x_update_widget): use pending items to update with.
14547
14548         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14549         to update with.
14550
14551         * glyphs.c (mark_image_instance): mark pending items.
14552
14553         * window.c (Fset_window_configuration): record the buffer.
14554         (Fselect_window): totally revert previous change which breaks many
14555         things.
14556
14557 2000-03-18  Andy Piper  <andy@xemacs.org>
14558
14559         * glyphs-msw.c (mswindows_tab_control_update): force selected
14560         item.
14561
14562         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14563         window domain cache, otherwise we get inconsistencies at
14564         startup. There is something fishy at startup which can lead to the
14565         minibuffer being the selected window when the gutter content is
14566         instantiated.
14567
14568         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14569         gcpros.
14570         (parse_gui_item_tree_children): ditto.
14571         (parse_gui_item_tree_item): ditto.
14572
14573         * glyphs.c (Fupdate_widget_instances): return something.
14574
14575 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14576
14577         * window.c (Fselect_window): Undo 2000-03-17 change.
14578
14579 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14580
14581         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14582         against v7.0 libraries.  Insta-coredump city until the postgres
14583         folks fix it.
14584
14585 2000-03-17  Andy Piper  <andy@xemacs.org>
14586
14587         * faces.c (complex_vars_of_faces): don't give the widget face an
14588         inherited background pixmap.
14589
14590         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14591         selected item.
14592
14593         * event-stream.c (Fdispatch_non_command_events): return something.
14594
14595         * gutter.c (output_gutter): use widget face.
14596         (clear_gutter): ditto.
14597
14598         * NEWS: adjust again.
14599
14600         * window.c (Fselect_window): make sure this runs to completion to
14601         avoid oddities with Fset_window_configuration.
14602         (Fcurrent_window_configuration): in general do not save the
14603         minibuffer as the selected window.
14604
14605         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14606
14607 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14608
14609         * emacs.c (Frunning_temacs_p): Revert previous patch.
14610         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14611
14612 2000-03-16  Andy Piper  <andy@xemacs.org>
14613
14614         * glyphs-x.c (x_tab_control_update): if no widget values then
14615         return.
14616
14617         * NEWS: update for new features.
14618
14619         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14620         synthetic event to the native system.
14621         (reinit_vars_of_event_Xt): set force_event_pending to
14622         emacs_Xt_force_event_pending.
14623
14624         * events.h (struct event_stream): add force_event_pending.
14625
14626         * specifier.c (recompute_one_cached_specifier_in_window): add
14627         comment.
14628
14629         * redisplay.c (redisplay_frame): don't call
14630         update_frame_subwindows. Reset subwindow cachels when
14631         subwindows_changed, removing this was an optimization too far.
14632
14633         * redisplay-output.c (compare_runes): reorganize so that we catch
14634         glyph changes when we want them. Set optimize_output when this
14635         would help layouts.
14636         (redisplay_output_layout): remove frame_really_changed, use
14637         optimize_output instead.
14638
14639         * redisplay-msw.c (mswindows_output_display_block): reset
14640         optimize_output after outputting a glyph.
14641         * redisplay-x.c (x_output_display_block): ditto.
14642         * redisplay-tty.c (tty_output_display_block): ditto.
14643
14644         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14645         functions.
14646         (gutter_specs_changed): do specific gutter positions.
14647         (top_gutter_specs_changed): new function. Only update the
14648         specified gutter specs.
14649         (bottom_gutter_specs_changed): ditto.
14650         (left_gutter_specs_changed): ditto.
14651         (right_gutter_specs_changed): ditto.
14652
14653         * gui.c (gui_item_hash_internal): new function, does a real hash.
14654         (gui_item_id_hash): use it.
14655         (gui_item_hash): hash the eval'ed gui_item.
14656
14657         * gui-x.c (popup_selection_callback): send an eval event to call
14658         Fupdate_widget_instances.
14659
14660         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14661         to call Fupdate_widget_instances.
14662
14663         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14664         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14665
14666         * glyphs.c: (update_frame_subwindows): deleted.
14667         (Fupdate_widget_instances): new function for updating the dirty
14668         state of widgets that might have changed.
14669         (syms_of_glyphs): add Qupdate_widget_instances.
14670         (full_list_hash): hash a list completely.
14671         (image_instance_hash): use it for items and properties.
14672
14673         * frame-msw.c (mswindows_size_frame_internal): remove unused
14674         variable.
14675
14676         * faces.h (struct face_cachel): fix comment.
14677
14678         * event-stream.c (Fdispatch_non_command_events): new
14679         function. Process non-command events, forcing an event cycle
14680         beforehand.
14681         (syms_of_event_stream): declare.
14682         (event_stream_force_event_pending): new function. Force an event
14683         on the native event queue so that an event cycle will occur next
14684         time we check.
14685
14686         * event-msw.c:
14687         (struct ntpipe_shove_stream):
14688         (mswindows_enqueue_dispatch_event):
14689         (mswindows_dequeue_dispatch_event):
14690         (mswindows_cancel_dispatch_event):
14691         (mswindows_pump_outstanding_events):
14692         (mswindows_drain_windows_queue):
14693         (mswindows_handle_paint):
14694         (mswindows_wnd_proc):
14695         (mswindows_key_to_emacs_keysym):
14696         (get_process_input_waitable):
14697         (emacs_mswindows_delete_stream_pair): re-indent file.
14698         (mswindows_need_event): do not process further fds if the windows
14699         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14700         fixes the 100% cpu problem.
14701         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14702
14703 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14704
14705         * alloc.h: New.
14706         * dumper.h: New.
14707         * dumper.c: New.
14708
14709         * emacs.c: Moved dump file searching to dumper.c.
14710         (Frunning_temacs_p): Fixed.
14711
14712         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14713         last_lrecord_type_index_assigned.
14714
14715 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14716
14717         * symsinit.h: Added reinit parameter to init_console_stream
14718         declaration.
14719
14720         * lisp.h: Added file parameter to pdump_load declaration.
14721
14722         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14723         support.  Added dump file searching.
14724
14725         * config.h.in: Added EMACS_PROGNAME.
14726
14727         * console-stream.c (init_console_stream): Fix reinitialisation
14728         when running from temacs.
14729
14730         * alloc.c (pdump): Add id support.
14731         (pdump_load): Add file parameter and signature/id support.
14732
14733         * Makefile.in.in: Add full pdump support.
14734
14735 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14736
14737         * postgresql.c: Update documentation to reflect latest code
14738         status.
14739         (print_result): Show tuple counts in printed representation when
14740         appropriate.
14741         (Fpq_put_nbytes): MULE-ize.
14742         (Fpq_get_line_async): Ditto.
14743
14744 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14745
14746         * postgresql.c (Fpq_lo_import): Fix return value.
14747         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14748
14749 2000-03-13  Ben Wing  <ben@xemacs.org>
14750
14751         * alloc.c (pdump_load):
14752         Fix compile warning under mswin.
14753
14754 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14755
14756         * postgresql.c: Mule-ization, bug fixes.
14757         Use PG_CODING to encapsulate coding system name changes.
14758         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14759         (pg-coding-system): Create.
14760
14761         (Fpq_conn_defaults): Mule-ize.
14762         (Fpq_connectdb): Mule-ize & bug fix.
14763         (Fpq_connect_start): Mule-ize.
14764         (Fpq_set_client_encoding): Mule-ize.
14765         (Fpq_finish): Document `DEAD' connection status.
14766         (Fpq_clear): Ditto.
14767         (Fpq_pgconn): Mule-ize.
14768         (Fpq_exec): Mule-ize & bug fix.
14769         (Fpq_send_query): Ditto.
14770         (Fpq_get_result): Ditto.
14771         (Fpq_res_status): Mule-ize.
14772         (Fpq_result_error_message): Mule-ize.
14773         (Fpq_ntuples): fix comments.
14774         (Fpq_fname): Mule-ize.
14775         (Fpq_fnumber): Mule-ize.
14776         (Fpq_ftype): fix comments.
14777         (Fpq_get_value): Mule-ize.
14778         (Fpq_cmd_status): Ditto.
14779         (Fpq_cmd_tuples): Ditto.
14780         (Fpq_oid_value): Ditto.
14781         (Fpq_notifies): Ditto.
14782         (Fpq_lo_import): Ditto.
14783         (Fpq_lo_export): Ditto.
14784         (Fpq_get_line): Ditto.
14785         (Fpq_put_line): Mule-ize and bug fix.
14786         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14787
14788 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14789
14790         * postgresql.c (vars_of_postgresql): Mule-ize.
14791         (Fpq_conn_defaults): Ditto.
14792
14793 2000-03-12  Ben Wing  <ben@xemacs.org>
14794
14795         * alloc.c (Fmake_byte_code):
14796         * alloc.c (debug_string_purity_print):
14797         * alloc.c (pdump_backtrace):
14798         * alloc.c (pdump_get_indirect_count):
14799         * alloc.c (pdump_register_sub):
14800         * alloc.c (pdump_register_object):
14801         * alloc.c (pdump_register_struct):
14802         * alloc.c (pdump_dump_data):
14803         * alloc.c (pdump_reloc_one):
14804         Minor cleanups.
14805
14806         * console-msw.c:
14807         * console-msw.c (GetConsoleHwnd):
14808         * console-msw.c (msw_hide_console):
14809         * console-msw.c (msw_show_console):
14810         * console-msw.c (msw_ensure_console_buffered):
14811         * console-msw.c (msw_output_console_string):
14812         * console-msw.c (console_type_create_mswindows):
14813
14814         a) Added functions to manipulate the console window for use with
14815         shell support.
14816
14817         b) Added support for writing text to the console, which is now
14818         used under Windows when xemacs is not being run non-interactively,
14819         to write text that would otherwise be destined for stdout because
14820         under these circumstances, text written to stdout tends to
14821         disappear and not be seen.
14822
14823         * console-msw.h:
14824         * event-Xt.c:
14825         * event-Xt.c (x_event_to_emacs_event):
14826         * event-Xt.c (describe_event_window):
14827         * events-mod.h (XEMACS_MOD_CONTROL):
14828         * events.c:
14829         * events.c (Fmake_event):
14830         * events.c (character_to_event):
14831         * events.c (event_to_character):
14832         * events.c (format_event_object):
14833         * events.c (Fevent_modifiers):
14834         * events.h:
14835         * events.h (struct key_data):
14836         * events.h (struct button_data):
14837         * events.h (struct misc_user_data):
14838         * frame-x.c (Fcde_start_drag_internal):
14839         * frame-x.c (Foffix_start_drag_internal):
14840         * gpmevent.c (Freceive_gpm_event):
14841         * keymap.c:
14842         * keymap.c (bucky_sym_to_bucky_bit):
14843         * keymap.c (control_meta_superify):
14844         * keymap.c (make_key_description):
14845         * keymap.c (keymap_lookup_directly):
14846         * keymap.c (create_bucky_submap):
14847         * keymap.c (keymap_store):
14848         * keymap.c (define_key_check_and_coerce_keysym):
14849         * keymap.c (define_key_parser):
14850         * keymap.c (define_key_alternate_name):
14851         * keymap.c (Fdefine_key):
14852         * keymap.c (raw_lookup_key_mapper):
14853         * keymap.c (struct map_keymap_unsorted_closure):
14854         * keymap.c (map_keymap_unsorted_mapper):
14855         * keymap.c (map_keymap_sort_predicate):
14856         * keymap.c (map_keymap_sorted):
14857         * keymap.c (accessible_keymaps_mapper_1):
14858         * keymap.c (where_is_recursive_mapper):
14859         * keymap.c (describe_map_mapper):
14860         * keymap.c (describe_map_sort_predicate):
14861         * keymap.c (describe_map):
14862         * keymap.c (complex_vars_of_keymap):
14863         And a number of other files, the key modifier preprocessor
14864         constants that xemacs uses have names that conflict with constants
14865         defined under MS Windows for other purposes, so they were renamed
14866         to begin with the prefix XEMACS_. The variables that hold such
14867         modifiers were changed to consistently be of type int to fix
14868         various compile warnings.
14869
14870         * console.c (complex_vars_of_console):
14871         * device.c:
14872         * device-msw.c:
14873         * device-msw.c (mswindows_finish_init_device):
14874         * device-msw.c (msw_get_workspace_coords):
14875         * device-msw.c (mswindows_device_system_metrics):
14876         and various other files, added support for a new
14877         device property called offset-workspace which returns the position
14878         of the upper left corner of the workspace area and goes along with
14879         the existing size-workspace property.
14880
14881         * dialog-msw.c:
14882         * dialog-msw.c (push_bufbyte_string_as_unicode):
14883         * dialog-msw.c (mswindows_popup_dialog_box):
14884         Added support for XEmacs-style accelerator specifications in
14885         button text.  Note: I didn't add support for this under X Windows,
14886         and somebody needs to do this.
14887
14888         * dialog.c:
14889         * dialog.c (Fpopup_dialog_box):
14890         Documented the support for accelerators that was just mentioned.
14891
14892         editfns.c (get_home_directory): Changed behavior under Windows
14893         when HOME not defined; former behavior was irretrievably broken.
14894
14895         * emacs.c:
14896         * emacs.c (main_1):
14897         * emacs.c (main):
14898         * minibuf.c (clear_echo_area_internal):
14899         * minibuf.c (echo_area_append):
14900         * print.c:
14901         * print.c (std_handle_out_external):
14902         * print.c (std_handle_out_va):
14903         * print.c (fatal):
14904         * print.c (write_string_to_stdio_stream):
14905         * print.c (output_string):
14906         * print.c (debug_print):
14907         * print.c (debug_backtrace):
14908         * print.c (debug_short_backtrace):
14909         Cleaned up the code that prints text to stdout so that this can be
14910         changed to output into a console window instead under MS Windows,
14911         as described above.
14912
14913         * eval.c:
14914         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14915         * eval.c (internal_catch):
14916         * eval.c (unwind_to_catch):
14917         * eval.c (throw_or_bomb_out):
14918         * eval.c (condition_case_1):
14919         * eval.c (signal_1):
14920         * eval.c (check_error_state_sanity):
14921         * eval.c (call_with_suspended_errors_1):
14922         * eval.c (call_with_suspended_errors):
14923         * eval.c (reinit_vars_of_eval):
14924         Added code to catch throw loops and check for a pesky bug that may
14925         be gone now.
14926
14927         * event-msw.c:
14928         * event-msw.c (key_needs_default_processing_p):
14929         * event-msw.c (mswindows_wnd_proc):
14930         * event-msw.c (mswindows_modifier_state):
14931         * event-msw.c (emacs_mswindows_quit_p):
14932         * event-msw.c (vars_of_event_mswindows):
14933         a) Added support for using the alt key to select menu items as is
14934         standard under MS Windows.  This is controlled using the variable
14935         menu-accelerator-enabled, just like under X Windows.  There is an
14936         option on the options menu to turn this support on.  I really
14937         think that it should be on by default under Windows, but I'm not
14938         going to make this change yet.
14939
14940         b)  Added support for dynamic display size changes under Windows.
14941
14942         * event-stream.c:
14943         * event-stream.c (maybe_echo_keys):
14944         * event-stream.c (Fnext_event):
14945         * event-stream.c (command_builder_find_leaf):
14946         * event-stream.c (lookup_command_event):
14947         * event-stream.c (execute_command_event):
14948         * event-stream.c (pre_command_hook):
14949         * event-stream.c (post_command_hook):
14950         * event-stream.c (syms_of_event_stream):
14951         * event-stream.c (vars_of_event_stream):
14952         * event-stream.c (complex_vars_of_event_stream):
14953         * events.h (struct command_builder):
14954
14955         a) Tried to clean up a little bit the horribly written x-specific
14956         accelerator code that crept into this file.  I moved this code
14957         into menubar-x.c where it belongs. I also needed to move the
14958         command builder structure into the file events.h because it is
14959         accessed directly by this accelerator code.  What I didn't do, but
14960         which should be done at some point, is to properly abstract this
14961         code using device methods instead of the kludgy way that it
14962         currently hooks into the event code.
14963
14964         b) Added the lisp variables this-command-properties and
14965         last-command- properties, which should be used to synchronize two
14966         adjacent commands in preference to playing games with the variable
14967         this-command, which is typically what happens.
14968
14969         c) Added some slightly nasty code to hook into the lisp support
14970         for shifted- motion-key selection.  This is actually necessary for
14971         somewhat complicated reasons, which are described in
14972         simple.el. (NB: I think the proper thing would be to have the code
14973         that calls the pre and post command hooks also call out to generic
14974         lisp functions in simple.el, where all built-in stuff could be
14975         added.  I will think about this more.)
14976
14977         * event-unixoid.c (poll_fds_for_input):
14978         * lread.c (readchar):
14979         * redisplay-tty.c (tty_clear_frame):
14980         * redisplay-x.c (x_get_gc):
14981         * signal.c (interrupt_signal):
14982         And a whole bunch of other files: fixed up places that printed
14983         directly to stderr to instead call the function stderr_out so that
14984         the changes I made under Windows work correctly.
14985
14986         * filemode.c (mode_string):
14987         Warning fixes.
14988
14989         * frame-msw.c:
14990         * frame-msw.c (mswindows_size_frame_internal):
14991         Fixed the computation of frame size and position to keep the frame
14992         within the workspace area, rather than within the physical
14993         dimensions of the screen, so that the frame doesn't overlap window
14994         manager decorations, such as the start menu and toolbar, typically
14995         at the bottom of the screen.
14996
14997         * frame.c (vars_of_frame):
14998         Changed the default frame title format under MS Windows to consist
14999         of buffername-XEmacs, which is standard under MS Windows.  I think
15000         it might be a good idea to change this everywhere because I think
15001         it is superior to the current frame title format, but this is the
15002         kind of change that is likely to cause some people to get annoyed,
15003         so I'm not making it.
15004
15005         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15006
15007         * gui-msw.c (mswindows_handle_gui_wm_command):
15008         Fixed compile warnings.
15009
15010         * gui-x.c:
15011         * gui-x.c (strdup_and_add_accel):
15012         * gui-x.c (button_item_to_widget_value):
15013         * gui-x.h:
15014         Added code to automatically put an accelerator onto the beginning
15015         of menu items that don't have one as is now the standard, and is
15016         described more later.  Also fixed things so that the menu item
15017         name can be an evaluated expression, again a new standard.
15018
15019         * gui.c:
15020         * gui.c (gui_item_add_keyval_pair):
15021         * gui.c (make_gui_item_from_keywords_internal):
15022         * gui.c (gui_add_item_keywords_to_plist):
15023         * gui.c (gui_item_accelerator):
15024         * gui.c (gui_name_accelerator):
15025         * gui.c (gui_item_included_p):
15026         * gui.c (gui_item_display_flush_left):
15027         * gui.c (gui_item_display_flush_right):
15028         * gui.c (parse_gui_item_tree_item):
15029         * gui.c (parse_gui_item_tree_children):
15030         * gui.c (parse_gui_item_tree_list):
15031         Mule-ized.  Cleanup.  GCPRO addition.
15032
15033         * line-number.c (buffer_line_number):
15034         * lisp.h:
15035         * lisp.h (EMACS_INT_MAX):
15036         Added the manifest constant EMACS_INT_MIN corresponding to the
15037         existing constant EMACS_INT_MAX.  This is partially to fix compile
15038         warnings under Windows, and partly for cleanliness.
15039
15040         * menubar-msw.c:
15041         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15042         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15043         * menubar-msw.c (displayable_menu_item):
15044         * menubar-msw.c (populate_menu_add_item):
15045         * menubar-msw.c (populate_or_checksum_helper):
15046         * menubar-msw.c (populate_menu):
15047         * menubar-msw.c (update_frame_menubar_maybe):
15048         * menubar-msw.c (prune_menubar):
15049         * menubar-msw.c (msw_char_is_accelerator):
15050         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15051         * menubar-msw.c (mswindows_handle_wm_command):
15052         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15053         * menubar-msw.c (mswindows_handle_wm_initmenu):
15054         * menubar-msw.c (mswindows_update_frame_menubars):
15055         * menubar-msw.c (mswindows_free_frame_menubars):
15056         * menubar-msw.c (mswindows_popup_menu):
15057         Fixed a bug in handling accelerators where an extra character
15058         would be displayed in the menu item.  Also generalized the
15059         function displayable_menu_item because it is now used by the
15060         dialog box code as well.  And finally, added code in the functions
15061         that create the menubar to extract a list of accelerators for the
15062         top level menubar, which is used in the event code to determine
15063         whether a particular alt-key combination should be used to invoke
15064         a menu item, or should be passed through to access the standard
15065         XEmacs keymap binding for this key combination.
15066
15067         Much needed GCPROing.
15068
15069         * menubar-x.c:
15070         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15071         * menubar-x.c (menu_item_descriptor_to_widget_value):
15072         * menubar-x.c (restore_in_menu_callback):
15073         * menubar-x.c (x_popup_menu):
15074         * menubar-x.c (menu_move_up):
15075         * menubar-x.c (menu_move_down):
15076         * menubar-x.c (menu_move_left):
15077         * menubar-x.c (menu_move_right):
15078         * menubar-x.c (menu_select_item):
15079         * menubar-x.c (command_builder_operate_menu_accelerator):
15080         * menubar-x.c (menu_accelerator_junk_on_error):
15081         * menubar-x.c (command_builder_find_menu_accelerator):
15082         * menubar-x.c (Faccelerate_menu):
15083         * menubar.h:
15084         Moved a whole bunch of code here that was previously in
15085         event-stream.c as described above.  There is also code connected
15086         to the new standard of adding an accelerator to the beginning of
15087         menu items that don't have one as described above and below.
15088
15089         * menubar.c:
15090         * menubar.c (menu_parse_submenu_keywords):
15091         * menubar.c (Fmenu_find_real_submenu):
15092         * menubar.c (Fnormalize_menu_item_name):
15093         * menubar.c (syms_of_menubar):
15094         * menubar.c (vars_of_menubar):
15095         * menubar.c (complex_vars_of_menubar):
15096
15097         a) Cleaned up a bunch of documentation and improved it.
15098
15099         b) XEmacs now automatically adds an accelerator onto the beginning
15100         of any menu items that don't have one.  I did this because there
15101         will inevitably be some menu items on the main menubar that don't
15102         have accelerators on them because the package that adds that
15103         particular menu item hasn't yet been fixed up to have accelerators
15104         in them and it looked rather strange to have some items with and
15105         some items without accelerators, especially since even in items
15106         without accelerators, you can, at least under windows, still
15107         access the item through an accelerator corresponding to the first
15108         character in the item's name.  If people don't like this behavior,
15109         I can add a variable to turn it off optionally, but I'm not sure
15110         this is a good idea because we really do need to have accelerators
15111         on all of the menu items, and if a package doesn't like the
15112         accelerators being put on the first character, then it should put
15113         the accelerators where they belong.
15114
15115         c) I made a behavior change, which is that the descriptor that
15116         specifies the text of the menu item, which formerly was just a
15117         string, can now also be an evaluated expression.  This makes this
15118         descriptor parallel with all of the others, which could also be
15119         evaluated expressions.  This also obviates the need for the
15120         keyword :label, which was previously listed in the documentation
15121         as unimplemented, and which was for the same purpose.
15122
15123         d) GCPROing.
15124
15125         * ntproc.c:
15126         * ntproc.c (new_child):
15127         * ntproc.c (sys_spawnve):
15128         * ntproc.c (find_child_console):
15129         * ntproc.c (sys_kill):
15130         Fixed compile warnings.  By the way, this file should really go
15131         away entirely, and this will happen as soon as Kirill makes his
15132         final round of process cleanups, which affect the function
15133         call-process.
15134
15135         * process-nt.c:
15136         * process-nt.c (struct nt_process_data):
15137         * process-nt.c (find_process_from_pid):
15138         * process-nt.c (send_signal_the_nt_way):
15139         * process-nt.c (enable_child_signals):
15140         * process-nt.c (find_child_console):
15141         * process-nt.c (send_signal_the_95_way):
15142         * process-nt.c (nt_finalize_process_data):
15143         * process-nt.c (ensure_console_window_exists):
15144         * process-nt.c (nt_create_process):
15145         * process-nt.c (nt_kill_child_process):
15146         * process-nt.c (nt_kill_process_by_pid):
15147         * process-nt.c (nt_open_network_stream):
15148         * process-nt.c (vars_of_process_nt):
15149         Copied over code from Emacs 20.5 to correctly send signals to sub-
15150         processes under Windows 95.  Also added code to automatically
15151         create and hide console window when a sub-process is created under
15152         Windows 95, which obviates the need for the separate runemacs.exe
15153         executable, and finally implemented some variables that were
15154         implemented in Emacs 20.5, but previously not in XEmacs.  These
15155         include mswindows- start-process-share-console and
15156         mswindows-start-process-inherit-error-mode. (Both of these only
15157         apply to Windows 95.)
15158
15159         * regex.c (regex_compile): Fixed a compile warning.
15160
15161         * select-msw.c:
15162         * select-msw.c (mswindows_own_selection):
15163         * select-msw.c (mswindows_get_foreign_selection):
15164         * select-msw.c (mswindows_disown_selection):
15165         * select-msw.c (console_type_create_select_mswindows):
15166         * select-msw.c (syms_of_select_mswindows):
15167         Cleaned up the file and implemented the device method
15168         selection_exists_p, which had accidentally been left out.  Also
15169         removed four lisp functions that were remnants from before the
15170         time when the selection code was properly device abstracted.
15171         These functions are no longer needed because there are generic
15172         equivalents, and because they were added recently and don't exist
15173         in FSF Emacs, I don't think there's any problem with just deleting
15174         them.
15175
15176         * sysdep.c:
15177         * sysdep.c (sys_subshell):
15178         Fixed a compile warning, although in this case there's probably
15179         something wrong with this code, and it ought to be looked into
15180         more thoroughly by somebody who understands it.
15181
15182         * window.c:
15183         * window.c (Fwindow_text_area_height):
15184         * window.c (Fwindow_width):
15185         * window.c (Fwindow_full_width):
15186         * window.c (Fwindow_pixel_width):
15187         * window.c (debug_print_window):
15188         * window.c (syms_of_window):
15189         Added functions window-text-area-height and window-full-width,
15190         which are functions for returning various width and height
15191         characteristics of a window. (One of these functions is necessary
15192         for making the file dialog box work correctly, and the other one
15193         was added for completeness.)  Also added a table to the
15194         documentation for window-height which describes the entire scheme
15195         for accessing width and height characteristics of a window.
15196
15197 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15198
15199         * nt.c (fstat): Added a comment for another problem with
15200         non-encapsulated [f]stat(), reported by Adrian Aichner
15201         <aichner@ecf.teradyne.com>.
15202
15203 2000-03-11  Andy Piper  <andy@xemacs.org>
15204
15205         * window.c (make_dummy_parent): initialize subwindow instance
15206         cache.
15207         (Fset_window_configuration): zero extent_modiff.
15208
15209 2000-03-10  Andy Piper  <andy@xemacs.org>
15210
15211         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15212         more changes can be triggered.
15213         (Fredisplay_frame): ditto.
15214         (Fredraw_device): ditto.
15215         (Fredisplay_device): ditto.
15216         (redisplay_frame): make non-static.
15217         (redisplay_frame): call update_frame_gutter_geometry outside of
15218         display proper.
15219
15220         * gutter.h: declare update_frame_gutter_geometry.
15221
15222         * redisplay.h: declare redisplay_frame.
15223
15224         * gutter.c (update_frame_gutter_geometry): move geometry changes
15225         in update_frame_gutters here. Geometry changes can only occur
15226         outside of redisplay.
15227         (update_frame_gutters): remove geometry change code.
15228         (Fredisplay_gutter_area): make sure that we are in display when we
15229         update and that we have flushed any size changes.
15230
15231 2000-03-11  Andy Piper  <andy@xemacs.org>
15232
15233         * alloc.c (pdump_dump_data): remove i & count shadows.
15234
15235 2000-02-27  Mike Alexander  <mta@arbortext.com>
15236
15237         * sysdep.h: Declare pdump_read_file
15238
15239         * sysdep.c (pdump_read_file): New function
15240
15241         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15242         dump data
15243
15244 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15245
15246         * lrecord.h: add `lrecord_type_pgsetenv'.
15247
15248 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15249
15250         * symsinit.h: declare (vars|syms)_of* functions.
15251         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15252
15253 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15254
15255         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15256
15257         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15258         GCCs.
15259
15260         * emacs.c (main_1): Call postgres initialization code.
15261
15262         * postgresql.h: New file.  PostgreSQL RDBMS support.
15263         * postgresql.c: New file.
15264
15265 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15266
15267         * redisplay-output.c (redisplay_output_display_block): Disable
15268         redundant code.
15269
15270 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15271
15272         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15273         (Fcanna_henkan_next): Ditto.
15274         (Fcanna_bunsetu_henkou): Ditto.
15275         (Fcanna_henkan_kakutei): Ditto.
15276         (Fcanna_henkan_end): Ditto.
15277         (Fcanna_henkan_quit): Ditto.
15278         (Fcanna_henkan_next): Set retun value correctly.
15279         (c2mu): Use unsigned char instead of signed char.
15280
15281 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15282
15283         * emacs.c (main_1): Always call syms_of_gui.
15284         * inline.c: include gui.h
15285
15286 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15287
15288         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15289         converted to Lisp_Object.
15290         (Qtop_bottom): New variable.
15291         (syms_of_redisplay): Initialize it.
15292         * redisplay.h (Vvisible_bell): Ditto.
15293         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15294         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15295         only flash top and bottom.
15296
15297 2000-03-08  Andy Piper  <andy@xemacs.org>
15298
15299         * buffer.c (Frename_buffer): record new buffer name the right way.
15300
15301 2000-03-08  Andy Piper  <andy@xemacs.org>
15302
15303         * glyphs.c (update_subwindow): increase hash depth so that widget
15304         items get picked up properly.
15305
15306         * redisplay-output.c (compare_runes): increase hash depth so that
15307         widget items get picked up properly.
15308
15309 2000-03-08  Andy Piper  <andy@xemacs.org>
15310
15311         * gutter.c (output_gutter): add some debug.
15312
15313         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15314         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15315         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15316
15317         * redisplay-output.c (compare_runes): use display_hash to
15318         determine if glyphs really are not the same.
15319
15320         * glyphs.c (update_subwindow): check display_hash to see if
15321         anything really needs to be updated. If not then do
15322         nothing. Record the display_hash after updating.
15323         (image_instance_equal): compare the image_instance face also.
15324
15325 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15326
15327         * redisplay.h: Fix comment style.
15328
15329 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15330
15331         * consle-msw.h (struct mswindows_frame):
15332         Added new member paint_pending to indicate whether a WM_PAINT
15333         magic event has been queued for this frame.
15334
15335         * event-msw.c (mswindows_drain_windows_queue):
15336         Don't queue a WM_PAINT magic event if one is already queued.
15337         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15338
15339         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15340
15341 2000-03-07  Didier Verna  <didier@xemacs.org>
15342
15343         * dired.c: #include `regex.h' after `sysfile.h'.
15344
15345 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15346
15347         * sound.c (init_nas_sound): Fix compiler warning.
15348
15349         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15350         (FREE_STRUCT_P):
15351         (MARK_STRUCT_AS_FREE):
15352         (MARK_STRUCT_AS_NOT_FREE):
15353         Make `gcc -fstrict-aliasing' work properly.
15354
15355 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15356
15357         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15358         (mswindows_delete_device): Call CoUnnitialize().
15359
15360         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15361
15362 2000-02-25    <CraigL@DyCon.com>
15363
15364         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15365         <errno.h>.
15366
15367         * sysdep.c: This extern declaration for environ prevents MinGW
15368         from finding the variable in CRTDLL.DLL.
15369
15370         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15371         windows headers.
15372         (SHGFI_EXETYPE): ..
15373         (WM_MOUSEWHEEL): ..
15374         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15375         definitions.
15376         (MMRESULT): Removed, now defined in cygwin's windows headers.
15377         (TIMECAPS): ..
15378         (uid_t,gid_t,pid_t,ssize_t): ..
15379         (_timeb): Removed, MinGW defines both _timeb and timeb.
15380         (HAVE_H_ERRNO): Added.
15381         (HAVE_TZNAME): Added, configure is not detecting this.
15382
15383 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15384
15385         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15386         * syntax.c (syntax_match): Use it.
15387
15388         * cmds.c: Import auto-fill-chars from FSF Emacs.
15389         (Vauto_fill_chars): New variables.
15390         (internal_self_insert): Check Vauto_fill_chars.
15391         (vars_of_cmds):
15392         Declare auto-fill-chars as a Lisp variable and initialize it.
15393
15394 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15395
15396         * fileio.c (Fmake_symbolic_link):
15397         (Ffile_symlink_p):
15398         Run handlers even if local machine doesn't have symlinks.
15399
15400 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15401
15402         * event-msw.c (mswindows_drain_windows_queue):
15403         Don't generate paint magic events for non-XEmacs frames.
15404
15405 2000-03-05  Andy Piper  <andy@xemacs.org>
15406
15407         * redisplay.c (redisplay_frame): generate_displayable_area and
15408         friends assumes that we are not in GC, we therefore have to make
15409         sure that this doesn't happen.
15410
15411         * gutter.c (calculate_gutter_size): generate_displayable_area
15412         assumes that we are not in GC, we therefore have to make sure that
15413         this doesn't happen.
15414
15415 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15416
15417         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15418
15419 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15420
15421         * redisplay.c (regenerate_window): Make sure we set a sane value
15422         for end_pos even if we jump out of the loop.
15423         (regenerate_window): Answer Ben's question :-).
15424         (start_end_of_last_line): Add may_error argument.
15425         (start_of_last_line):
15426         (end_of_last_line): Pass may_error = 0.
15427         (end_of_last_line_may_error): New function.
15428         (pixel_to_glyph_translation): Use it, so we don't crash in
15429         event_to_glyph.
15430
15431 2000-03-04  Andy Piper  <andy@xemacs.org>
15432
15433         * window.h (struct window): add gutter_extent_modiff.
15434
15435         * window.c (allocate_window): zero out gutter_extent_modiff.
15436
15437         * redisplay.h: declare sync_display_line_structs.
15438
15439         * redisplay.c (add_glyph_rune): add a better comment.
15440
15441         * redisplay-output.c (sync_display_line_structs): made non-static.
15442         (compare_runes): remove unneccesary glyph cachel access.
15443
15444         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15445
15446         * gutter.c (output_gutter): don't output the gutter if extent
15447         changes only involve extents in buffers. use 4 sets of display
15448         lines.
15449         (gutter_extent_signal_changed_region_maybe): new function. Mark
15450         extents in gutters as changed.
15451         (update_frame_gutters): use 4 sets of display lines.
15452         (reset_gutter_display_lines): ditto.
15453         (free_frame_gutters): ditto.
15454         (redraw_exposed_gutter): force output of gutters.
15455
15456         * frame.h (struct frame): add 4 sets of gutter display lines.
15457
15458         * extents.c: (extent_changed_for_redisplay): signal changes to
15459         extents in strings in the gutter as well as extents in buffers.
15460
15461 2000-03-02  Andy Piper  <andy@xemacs.org>
15462
15463         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15464
15465         * frame.c (Fmake_frame): make sure the gutters get initialized
15466         after the frame is visible.
15467         (set_frame_selected_window): re-arrange compilation macros a
15468         little.
15469         (change_frame_size_1): mark gutters changed.
15470
15471         * device.c (Fset_device_class): mark gutters changed.
15472
15473 2000-03-01  Andy Piper  <andy@xemacs.org>
15474
15475         * window.c (window_top_frame_gutter_height): deleted.
15476         (window_bottom_frame_gutter_height): ditto.
15477         (window_left_frame_gutter_height): ditto.
15478         (window_right_frame_gutter_height): ditto.
15479         (window_top_gutter_height): don't use them.
15480         (window_bottom_gutter_height): ditto.
15481         (window_left_gutter_width): ditto.
15482         (window_right_gutter_width): ditto.
15483         (Fsplit_window): ditto.
15484         (Fwindow_pixel_edges): don't use border dimensions here.
15485
15486         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15487         (update_scrollbar_instance): ditto.
15488
15489         * redisplay.c (generate_modeline): don't take gutters into account.
15490         (generate_modeline): ditto.
15491         (redisplay_frame): small gutter display optimization.
15492
15493         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15494
15495         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15496         gutters into account.
15497
15498         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15499         for window position and type.
15500
15501         * gutter.c (get_gutter_coords): fix for frame gutters.
15502         (update_frame_gutters): update frame geometry if the gutters have
15503         changed.
15504         (init_frame_gutters): record current gutter geometries.
15505
15506         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15507         var.
15508         (mswindows_widget_instantiate): ditto.
15509
15510         * frame.h (struct frame): add current_gutter_bounds.
15511
15512         * frame.c (change_frame_size_1): position window and minibuffer
15513         appropriately taking into account the frame gutters.
15514
15515         * frame-x.c: (x_initialize_frame_size): take into account the
15516         frame gutters.
15517
15518 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15519
15520         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15521
15522 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15523
15524         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15525
15526 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15527
15528         * file-coding.c (reset_decoding_stream): Clear previous
15529         detection state when autodetect.
15530
15531 2000-02-29  Didier Verna  <didier@xemacs.org>
15532
15533         * extents.c (set_extent_glyph_1): don't require extents to be
15534         attached.
15535
15536 2000-02-27  Andy Piper  <andy@xemacs.org>
15537
15538         * gutter.c (Fset_default_gutter_position): don't default left and
15539         right gutter visibility to t.
15540         (Fset_default_gutter_position): run
15541         default-gutter-position-changed-hook.
15542         (syms_of_gutter): add default-gutter-position-changed-hook.
15543
15544 2000-02-26  Andy Piper  <andy@xemacs.org>
15545
15546         * specifier.c (Fmake_specifier): add gutter references.
15547
15548         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15549
15550         * lisp.h: declare Fvalid_plist_p.
15551
15552         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15553         as changed.
15554         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15555         well as its visibility so that it gets reconstructed.
15556         (construct_window_gutter_spec): new function. Construct a string
15557         to be displayed in the gutter from a plist of strings. Take care
15558         to only use elements that are declared as visible.
15559         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15560         WINDOW_GUTTER.
15561         (gutter_validate): allow plists of strings in the specifier.
15562         (gutter_specs_changed): construct the real_gutter from the gutter
15563         specs using construct_window_gutter_spec.
15564         (gutter_visible_validate): gutter-visible is a new specifier type.
15565         (Fgutter_visible_specifier_p): new function for the new specifier.
15566         (syms_of_gutter): declare gutter-visible and
15567         Fgutter_visible_specifier_p.
15568         (specifier_type_create_gutter): intitalize new gutter-visible
15569         specifier.
15570         (reinit_specifier_type_create_gutter): ditto.
15571         (specifier_vars_of_gutter): use new specifier type for gutter
15572         visibility.
15573         (init_frame_gutters): construct real_gutter correctly.
15574         (Fgutter_specifier_p): beef up documentation.
15575         (Fgutter_size_specifier_p): ditto.
15576
15577         * winslots.h: add real_gutter slots.
15578
15579 2000-02-25  Andy Piper  <andy@xemacs.org>
15580
15581         * device-msw.c: Be kind to older cygwin versions. From Raymond
15582         Toy <toy@rtp.ericsson.se>.
15583
15584         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15585         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15586
15587 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15588
15589         * elhash.c (MARK_OBJ): Practice macro hygiene.
15590
15591 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15592
15593         * miscplay.c: s/__inline__/inline/g;
15594         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15595         (get_device_compdc): INLINE ==> static inline
15596         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15597         find -name '*.h' | \
15598         xargs global-replace \
15599         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15600
15601 2000-02-25  Andy Piper  <andy@xemacs.org>
15602
15603         * window.c (window_top_frame_gutter_height): new function.
15604         (window_top_window_gutter_height): ditto.
15605         (window_top_gutter_height): use them.
15606         (window_bottom_frame_gutter_height): new function.
15607         (window_bottom_window_gutter_height): ditto.
15608         (window_bottom_gutter_height): use them.
15609         (window_left_window_gutter_width): new function.
15610         (window_left_frame_gutter_width): ditto.
15611         (window_left_gutter_width): use them.
15612         (window_right_window_gutter_width): new function.
15613         (window_right_frame_gutter_width): ditto.
15614         (window_right_gutter_width): use them.
15615         (window_pixel_height): new function. calulate window pixel height
15616         with frame gutter involvement.
15617         (Fsplit_window): calculate new sizes taking frame gutters into
15618         account.
15619         (window_char_height_to_pixel_height): don't include frame gutters.
15620         (window_char_height): use window_pixel_height.
15621         (window_pixheight): rename from window_pixel_height.
15622         (change_window_height): use it.
15623         (window_pixel_height_to_char_height): don't include frame gutters.
15624         (window_char_width_to_pixel_width): ditto.
15625
15626 2000-02-25  Andy Piper  <andy@xemacs.org>
15627
15628         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15629         if it is.
15630
15631 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15632
15633         * alloc.c (staticpro):
15634         (staticpro_nodump):
15635         (dumpstruct):
15636         (dumpopaque):
15637         (pdump_wire):
15638         (pdump_wire_list):
15639         (compact_string_chars):
15640         (pdump_dump_wired):
15641         Convert:  if (foo) abort();  ==>  assert (! foo);
15642
15643         * eldap.c (Fldap_search_basic):
15644         (Fldap_add):
15645         (Fldap_modify):
15646         (Fldap_delete):
15647         Fix compiler warnings, and possible crashes if (random) return
15648         value were to be used.
15649
15650 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15651
15652         * device-msw.c: Workaround ResetDC failure.
15653
15654         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15655         applying a devmode.
15656
15657         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15658         (mswindows_text_width): Do not start printer page.
15659
15660         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15661
15662         * glyphs-msw.c: Added image methods to msprinter console and
15663         msprinter-specific image instantiation.
15664
15665 2000-02-20  Mike Alexander  <mta@arbortext.com>
15666
15667         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15668         to avoid crashes when selection-sets-clipboard is on
15669         (mswindows_own_selection): ditto
15670
15671 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15672
15673         * glyphs-msw.c:
15674         * redisplay-msw.c (get_frame_dc):
15675         (get_frame_compdc):
15676         * console-msw.h:
15677         * device-msw.c (mswindows_init_device):
15678         (mswindows_delete_device):
15679         (msprinter_init_device):
15680         (msprinter_delete_device):
15681         * frame-msw.c (mswindows_init_frame_1):
15682         (mswindows_delete_frame):
15683         (msprinter_init_frame_3):
15684         (msprinter_delete_frame): Move compatible DC to device object from
15685         frame object, for both mswindows and msprinter. Only one at a time
15686         is needed, it is a real waste to have one per frame!
15687
15688 2000-02-23  Andy Piper  <andy@xemacs.org>
15689
15690         * glyphs.c: add dynamic width and height elements.
15691         (image_instance_equal): ditto.
15692
15693         * glyphs-widget.c (widget_query_geometry): calculate width and
15694         height dynamically if required.
15695         (initialize_widget_image_instance): initialize dynamic dimensions.
15696         (widget_instantiate): pick-up dynamic dimensions.
15697
15698         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15699         dynamic determination. Add appropriate macros.
15700
15701         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15702         dimensions safe.
15703         (WINDOW_GUTTER_SIZE): ditto.
15704         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15705
15706         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15707         inline.
15708         (get_frame_dc): ditto.
15709
15710         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15711         here.
15712
15713 2000-02-23  Martin Buchholz <martin@xemacs.org>
15714
15715         * XEmacs 21.2.31 is released.
15716
15717 2000-02-22  Ben Wing <ben@xemacs.org>
15718
15719         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15720
15721 2000-02-22  Andy Piper  <andy@xemacs.org>
15722
15723         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15724
15725 2000-02-21  Mike Sperber <mike@xemacs.org>
15726
15727         * .dbxrc:
15728         * .gdbinit:
15729         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15730         variables.
15731
15732 2000-02-21  Mike Sperber <mike@xemacs.org>
15733
15734         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15735
15736 2000-02-21  Martin Buchholz <martin@xemacs.org>
15737
15738         * XEmacs 21.2.30 is released.
15739
15740 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15741
15742         Performance hacking.
15743         * *.c (syms_of_*):
15744         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15745         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15746         * emacs.c (main_1):
15747         * lisp.h (DEFUN):
15748         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15749         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15750         * symeval.h (DEFVAR_SYMVAL_FWD):
15751         * symbols.c (guts_of_unbound_marker):
15752         Make all c_readonly objects also lisp_readonly and marked for life.
15753         * lrecord.h (struct lrecord_implementation):
15754         Document flags better.
15755         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15756         * lrecord.h (DECLARE_LRECORD):
15757         * lrecord.h (XSETRECORD):
15758         * lrecord.h (RECORDP):
15759         * lrecord.h (RECORD_TYPEP):
15760         * lrecord.h (RECORD_MARKER): New.
15761         * lrecord.h (error_check_*):
15762         * lrecord.h (CONCHECK_NONRECORD):
15763         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15764         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15765         * lrecord.h (set_lheader_implementation):
15766         * lrecord.h (enum lrecord_type): New.
15767         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15768         * alloc.c (disksave_object_finalization_1):
15769         * alloc.c (mark_object):
15770         * alloc.c (lrecord_type_index):
15771         * alloc.c (tick_lcrecord_stats):
15772         * alloc.c (Fgarbage_collect):
15773         * alloc.c (init_alloc_once_early):
15774         * alloc.c (pdump_load):
15775         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15776         * alloc.c (lrecord_type_index): Delete.
15777         Make lisp object type indexes be constant.
15778           Makes (byte-compile) 5% faster.
15779         Put all marker functions into their own array.
15780           Makes (garbage-collect) 5% faster.
15781         Optimize SYMBOL_VALUE_MAGIC_P.
15782           Makes (byte-compile) 2-3% faster.
15783         * config.h.in (gc_checking_assert): New.
15784         * alloc.c: Use gc_checking_assert().
15785         * .dbxrc: Make compatible with new object type implementation.
15786         * .gdbinit: Make compatible with new object type implementation.
15787         * alloc.c: Delete all symbols defined only for debugging, such as
15788         Lisp_Type_Vector and lrecord_charset.
15789
15790 2000-02-21  Andy Piper  <andy@xemacs.org>
15791
15792         * gui-msw.c (Fmswindows_shell_execute): fix file location
15793         problems.
15794
15795         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15796         unshowing so that set_window_buffer doesn't undo
15797         kill_buffer_hook's hard work.
15798
15799         * glyphs-widget.c (tab_control_query_geometry): don't count the
15800         first item when calculating geometry.
15801
15802         * glyphs.c (map_subwindow): remove redundant code.
15803         (update_frame_subwindows): be more circumspect about when to
15804         update subwindows.
15805
15806         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15807         when items haven't changed. Update faces if faces have changed as
15808         well as just the widget face.
15809         (x_tab_control_update): Update faces if faces have changed as well
15810         as just the widget face.
15811
15812 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15813
15814         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15815         registration.
15816         (build_syscolor_string): Use mswindows_color_to_string to try to
15817         get a named color.
15818         (mswindows_device_system_metrics): Reverse the foreground and
15819         background colors so that they match the documentation.
15820
15821         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15822         they match the default Windows palette.
15823         (mswindows_color_to_string): New function.
15824
15825 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15826
15827         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15828
15829 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15830
15831         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15832         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15833
15834         * symbols.c (init_symbols_once_early): Removed obsolete
15835         DATA_SEG_BITS related kludge.
15836         (defvar_magic): Ditto.
15837
15838         * malloc.c: Removed obsolete DATA_SEG_BITS
15839         * ralloc.c: Ditto.
15840         * mem-limits.h: Ditto.
15841
15842         * Makefile.in.in: Removed obsolete HAVE_SHM
15843         * emacs.c: Ditto.
15844
15845 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15846
15847         *  device-msw.c (mswindows_delete_device): Free DDE string
15848         handles.
15849
15850 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15851
15852         * keymap.c (get_keyelt):
15853         * unexnt.c (unexec):
15854         * vm-limit.c (memory_warnings):
15855         * ntheap.c (recreate_heap):
15856         * ntheap.h (UNINIT_PTR):
15857         * select-msw.c (Fmswindows_get_clipboard):
15858         (Fmswindows_set_clipboard):
15859         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15860         * objects-msw.c:
15861         * menubar-msw.c (displayable_menu_item):
15862         * glyphs-msw.c:
15863         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15864         * sysdep.c (sys_subshell):
15865         * process-nt.c (nt_create_process):
15866         * nt.c (normalize_filename):
15867         (dostounix_filename):
15868         (unixtodos_filename):
15869         * ntproc.c (win32_executable_type):
15870         * ntplay.c (play_sound_data_1):
15871         (play_sound_file):
15872         * editfns.c (get_home_directory):
15873         * event-msw.c (struct winsock_stream):
15874         (mswindows_dde_callback):
15875         * device-msw.c (msprinter_init_device):
15876         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15877
15878         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15879         mswindows_clear_toolbar were swapped!
15880
15881         * objects-msw.c:(colormap_t):
15882         (fontmap_t):
15883         * emacs.c (struct standard_args): Fixed const jumble.
15884
15885         * glyphs-widget.c (update_widget): Fixed comparison notation.
15886
15887         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15888
15889         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15890         __declspec(noreturn) syntax.
15891
15892 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15893
15894         * eldap.c (Fldap_open):
15895         (Fldap_search_basic):
15896         (Fldap_add):
15897         (Fldap_modify):
15898         Use new coding system conversion macros.
15899
15900 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15901
15902         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15903
15904 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15905
15906         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15907         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15908
15909         * eldap.c (Qadd, Qreplace): New constant symbols
15910         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15911         interruptions by XEmacs signals
15912         Remove unnecessary calls to slow_down_interrupts and
15913         speed_up_interrupts
15914         (Fldap_search_basic): Renamed from Fldap_search_internal
15915         Added new optional parameter VERBOSE that triggers the
15916         display of progress messages
15917         Remove unnecessary calls to slow_down_interrupts and
15918         speed_up_interrupts
15919         LDAP result code analysis rewritten
15920         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15921         (syms_of_eldap): Define the new symbols and functions
15922
15923
15924 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15925
15926         * realpath.c: Determine PATH_MAX maximally portably.
15927
15928         * insdel.c (bytecount_to_charcount): Optimize.
15929         The function used to be optimized for entirely ASCII sequences.
15930         Now it is optimized for successive characters from the same
15931         charset.  This also wins big for _mostly_ ASCII sequences.
15932
15933         * fileio.c (Ffile_truename): convert return from realpath() using
15934         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15935         - Rewrite GCPROing slightly.
15936
15937         * sysdep.c (sys_open): Do filename conversion, like all other
15938         sys_* functions.  Fixes bug:
15939         (let ((file-name-coding-system 'iso-8859-2))
15940            (write-region x y latin2-name))
15941         ==> writes filename using internal encoding.
15942
15943 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15944
15945         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15946         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15947         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15948         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15949         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15950         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15951         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15952         (CONST_IF_NOT_DEBUG): Delete.
15953         * alloc.c (this_one_is_unmarkable): Delete.
15954         (mark_object): Don't check for this_one_is_unmarkable. Use the
15955         c_readonly flag instead.
15956         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15957
15958 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15959
15960         * event-msw.c (mswindows_drain_windows_queue):
15961         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15962         away redundant repaint events.
15963
15964 2000-02-17  Andy Piper  <andy@xemacs.org>
15965
15966         * redisplay.h: declare mark_redisplay_structs.
15967
15968         * redisplay.c (redisplay_window):
15969         (redisplay_frame): don't check subwindows_state_changed.
15970         (mark_redisplay): mark gutters here.
15971
15972         * glyphs.c: (instantiate_image_instantiator): always layout if we
15973         haven't done so already.
15974         (allocate_image_instance): don't mark as dirty.
15975         (update_subwindow): bind inhibit_quit.
15976
15977         * gutter.c (mark_gutters): new function.
15978
15979         * glyphs-x.c (x_update_widget): Always resize to get round a
15980         widget bug.
15981
15982         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15983         breaking absolutely everything.
15984
15985         * gutter.h: declare mark_gutters.
15986
15987 2000-02-16  Martin Buchholz <martin@xemacs.org>
15988
15989         * XEmacs 21.2.29 is released.
15990
15991 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15992
15993         * fns.c (size_bit_vector): Fix computation of the size.
15994
15995 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15996
15997         * *.[ch]: Change CONST to const globally.
15998         find -name '*.[ch]' | \
15999         xargs global-replace \
16000         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16001         - Remove vestigial references to CONST_IS_LOSING
16002
16003 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16004
16005         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16006         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16007         events instead of dispatching them directly.
16008         (mswindows_handle_paint): New function to do repainting.
16009         (mswindows_wnd_proc):
16010         (emacs_mswindows_handle_magic_event): Call above function.
16011
16012 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16013
16014         * objects-msw.c (mswindows_create_font_variant): Return the new
16015         font handle.
16016         (initialize_font_instance): Get font metrics from the underlined
16017         variant of the font to cope with the case where the underlined
16018         font has a bigger descent.
16019
16020 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16021
16022         * gui.c (gui_item_accelerator): Return the first underlined
16023         character in item name.
16024
16025 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16026
16027         * lisp.h: Added Qprinter.
16028
16029         * general.c (syms_of_general): Initialized it.
16030
16031         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16032         (get_frame_dc):
16033         (get_frame_compdc): Made inline.
16034
16035         * console.h (struct console_methods): Added eject_page method.
16036
16037         * frame.h: Added FRAME_DISPLAY_P and friends.
16038         Aligned backslahes in many macros in more readable fashion.
16039         Added page_number to struct frame, and an accessor macro
16040         for it.
16041
16042         * defice.h: Added DEVICE_DISPLAY_P and friends.
16043
16044         * device.c (Fdevice_printer_p): Used these.
16045
16046         * frame.c (allocate_frame_core): Initialize page number.
16047         (Fprint_job_page_number):
16048         (Fprint_job_eject_page): Implemented.
16049
16050         * frame-msw.c (msprinter_eject_page): Added method.
16051         (msprinter_start_page): Added.
16052
16053         * window.c (Fwindow_truncated_p): Fixed docstring.
16054         (Fwindow_last_line_visible_height): Implemented.
16055
16056 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16057
16058         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16059
16060 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16061
16062         * syntax.c (scan_words): Always advance at least one character.
16063
16064 2000-02-13  Andy Piper  <andy@xemacs.org>
16065
16066         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16067         to make sure the glyph is in the cachels.
16068
16069         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16070         global image instance flag.
16071         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16072         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16073
16074         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16075         (Fset_image_instance_property): mark layout as changed.
16076         (invalidate_glyph_geometry_maybe): mark layout as changed.
16077         (glyph_width): use new NEEDS_LAYOUT macro.
16078         (glyph_ascent): ditto.
16079         (glyph_descent): ditto.
16080         (glyph_height): ditto.
16081         (image_instance_layout): mark layout as clean after laying out.
16082         (update_subwindow): don't mark layout as clean here.
16083
16084         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16085         should no longer be needed.
16086
16087         * glyphs-x.c (x_update_widget): sanitize asserts.
16088         (x_finalize_image_instance): sanitize assignment to widgets.
16089
16090         * glyphs-widget.c (widget_instantiate): don't need to clear the
16091         layout flag here.
16092
16093 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16094
16095         * sysdep.c (getcwd): Use standard prototype.
16096         * sysdep.h (getcwd): Use standard prototype.
16097
16098         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16099         (sequence, start, end).
16100         Remove redundant type checking.
16101         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16102         view of `caller-protects') to avoid a crash where the real fix was
16103         found elsewhere.
16104
16105 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16106
16107         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16108
16109         * s/sol2.h: Remove feature macro initialization.
16110
16111         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16112         (vector_hash): New.  Code from internal_hash.
16113         * lrecord.h:
16114         Fix up allocation subsystem comments.
16115
16116         * config.h.in: Add __EXTENSIONS__ for Solaris.
16117
16118         * systime.h (EMACS_GETTIMEOFDAY): New.
16119         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16120         Remove Solaris-specific code.
16121         Use void* for the (ignored) second arg for gettimeofday().
16122
16123         * elhash.c (hash_table_hash): Implement it, finally.
16124         * elhash.c:  Use hashcode_t.
16125
16126         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16127         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16128
16129         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16130         * fns.c (size_bit_vector):
16131         * alloc.c (size_vector):
16132         (make_vector_internal):
16133         (make_bit_vector_internal):
16134         (sweep_bit_vectors_1):
16135         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16136
16137 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16138
16139         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16140         Include strings.h to avoid warnings for bzero and strcasecmp.
16141
16142 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16143
16144         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16145         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16146
16147         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16148         sequence.
16149
16150 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16151
16152         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16153         use a value field instead.
16154         (symbol_value_forward_forward): Use value field.
16155         (DEFVAR_SYMVAL_FWD): Use value field.
16156         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16157         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16158         (DEFVAR_CONST_INT): Ditto.
16159         (DEFVAR_BOOL): Ditto.
16160         (DEFVAR_CONST_BOOL): Ditto.
16161         (DEFVAR_INT_MAGIC): Ditto.
16162         (DEFVAR_BOOL_MAGIC): Ditto.
16163
16164         * symbols.c (guts_of_unbound_marker): Use value field.
16165         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16166         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16167
16168         * lisp.h: Declare dumpopaque and noninteractive1.
16169
16170         * alloc.c (dumpopaque): Added.
16171         (pdump_dump_opaquevec): Added.
16172         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16173         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16174         noninteractive.
16175
16176 2000-02-10  Andy Piper  <andy@xemacs.org>
16177
16178         * glyphs.c (image_instance_layout): if the size changes, mark it
16179         as such.
16180
16181         * redisplay-output.c (redisplay_output_layout): Update the
16182         subwindow here.
16183         (redisplay_output_subwindow): ditto.
16184
16185         * glyphs.c (update_subwindow): make sure we reset flags for
16186         layouts as well as everything else.
16187
16188         * glyphs-widget.c (layout_layout): don't need to set the instances
16189         dimensions here.
16190
16191 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16192
16193         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16194         not HAVE_DLOPEN, which is a lower-level thing.
16195
16196         * .cvsignore: Ignore gmon.out
16197
16198 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16199
16200         * .cvsignore: Ignore portable dumper xemacs.dmp file
16201
16202 2000-02-09  Andy Piper  <andy@xemacs.org>
16203
16204         * redisplay-output.c (redisplay_output_layout): be more clever
16205         about when we output based on the changed flags.
16206
16207         * glyphs.h (struct image_instantiator_methods): add update_method.
16208         (struct Lisp_Image_Instance): add changed flags. Declare new
16209         macros for manipulating them.
16210
16211         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16212         (image_instance_parent_glyph): find an image_instance's parent
16213         glyph or image_instance.
16214         (image_instance_layout): mark the size as changed.
16215         (set_image_instance_dirty_p): new function. mark an image
16216         instance, plus all of its parents, as dirty.
16217         (Fset_image_instance_property): use it.
16218         (Fglyph_animated_timeout_handler): use it.
16219         (update_subwindow): call update_widget and device methods for
16220         update_subwindow. Mark all changed flags as clean.
16221         (Fresize_subwindow): mark size as changed.
16222
16223         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16224         failures.
16225         (x_update_subwindow): only resize subwindows here.
16226         (x_update_widget): new function. Update all changed properties of
16227         a widget.
16228         (x_resize_subwindow): deleted.
16229         (x_widget_set_property): deleted.
16230         (x_progress_gauge_set_property): deleted.
16231         (x_progress_gauge_update): new function. Implement recorded
16232         changes.
16233         (x_tab_control_update): ditto.
16234         (x_tab_control_set_property): deleted.
16235         (console_type_create_glyphs_x): declare new functions.
16236         (image_instantiator_format_create_glyphs_x): ditto.
16237
16238         * glyphs-widget.c (widget_set_property): mark text changed.
16239         (update_widget): new function. Update properties of a widget.
16240         (widget_instantiate): for layouts make sure we set their
16241         children's parent correctly.
16242         (tab_control_set_property): new function. Record changes that will
16243         take place under redisplay's control.
16244         (progress_gauge_set_property): ditto.
16245         (image_instantiator_progress_guage): declare new functions.
16246         (image_instantiator_tab_control): ditto.
16247
16248         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16249         now.
16250         (mswindows_update_widget): new function. Update all properties on
16251         a widget that have changed.
16252         (mswindows_button_update): new function. Update a button's set
16253         state.
16254         (mswindows_tab_control_update): new function. Update the items in
16255         a tab.
16256         (mswindows_tab_control_set_property): deleted.
16257         (mswindows_progress_gauge_update): new function. Update the
16258         progress gauge's progress.
16259         (mswindows_widget_set_property): deleted. This is all done
16260         asynchronously now.
16261         (mswindows_progress_gauge_set_property): ditto.
16262         (console_type_create_glyphs_mswindows): declare new methods.
16263         (image_instantiator_format_create_glyphs_mswindows): ditto.
16264
16265         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16266         (msprinter_set_frame_properties): ditto.
16267
16268         * console.h (struct console_methods): Add update_widget_method.
16269
16270 2000-02-09  Andy Piper  <andy@xemacs.org>
16271
16272         * gui-msw.c (Fmswindows_shell_execute): Make
16273         mswindows-shell-execute industrial strength.
16274
16275 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16276
16277         * lrecord.h: Make macro argument `props' match member function `plist'.
16278         * fns.c (Fget):
16279         * fns.c (Fput):
16280         * fns.c (Fremprop):
16281         * fns.c (Fobject_plist):
16282         * alloc.c:
16283         * symbols.c:
16284         Object property list frobbing cleanup.
16285         - Allow any lisp object (compared with `eq'), not just symbols, as
16286           keys in object plists.
16287         - Move symbol plist frobbing into symbols.c, where it belongs.
16288         - Move string plist frobbing into alloc.c, where it belongs.
16289         - Everything's an lrecord now, so no need to test for symbolp, etc.
16290         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16291
16292         * extents.c: Reorder code to remove declarations.
16293
16294         * frame.h (store_in_alist): Remove useless declaration.
16295
16296 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16297
16298         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16299         * config.h.in: Add HAVE_XCONVERTCASE.
16300
16301 2000-02-07  Andy Piper  <andy@xemacs.org>
16302
16303         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16304         it breaks many things.
16305
16306 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16307
16308         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16309         actually can start a common comment type.
16310         * src/syntax.h (SYNTAX_END_P): ditto for end.
16311
16312 2000-02-07  Martin Buchholz <martin@xemacs.org>
16313
16314         * XEmacs 21.2.28 is released.
16315
16316 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16317
16318         * event-Xt.c (x_keysym_to_character): New.
16319         (maybe_define_x_key_as_self_inserting_character): New.
16320         (x_has_keysym): New.
16321         Auto-define all keys on the keyboard as self-insert-key.
16322
16323 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16324
16325         * menubar.c (vars_of_menubar): A small code simplification.
16326
16327         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16328
16329         * ExternalShell.c:
16330         * ExternalClient.c:
16331         * EmacsShell-sub.c:
16332         * EmacsManager.c:
16333         * EmacsFrame.c:
16334         Use consistent style for specifying X resources.
16335
16336         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16337         This makes (dontusethis-set-symbol-value-handler) actually usable.
16338
16339         * lrecord.h (lrecord_decription_type):
16340         * alloc.c (pdump_register_sub):
16341         (pdump_dump_data):
16342         (pdump_reloc_one):
16343         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16344         Comply with XEmacs coding style.
16345         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16346         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16347
16348         * keymap.c (Faccessible_keymaps):
16349         Make (accessible-keymaps map "\C-h") do the Right Thing.
16350         Make (accessible-keymaps map []) do the Right Thing.
16351         Make (accessible-keymaps map "") do the Right Thing.
16352         (check_keymap_definition_loop): New function.
16353         (keymap_store_internal): Keep luser from shooting self in foot,
16354           via (define-key ctl-x-4-map "p" global-map).
16355         Remove fullness slot from struct Lisp_Keymap, since hash tables
16356         are now reliable.
16357         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16358
16359 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16360
16361         * redisplay.c (init_redisplay): Fix small memory leak.
16362         * elhash.h:
16363         * elhash.c (pdump_reorganize_hash_table):
16364         Rename from reorganize_hash_table. Change prototype.
16365         Reuse the original memory for hentries.  Save 100k.
16366         * alloc.c (PDUMP_READ): new macro.
16367         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16368         * alloc.c: No need to #ifndef before #undef.
16369
16370         * print.c: Allow debug_print() to print readably by modifying
16371         debug_print_readably.  Use consistent variable names.
16372
16373         * .dbxrc: Try to get things to work even if stopped in a function
16374         without source available by explicitly specifying source files.
16375 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16376
16377         * unexnt.c (_start): Removed bogus code which caused loading heap
16378         from differrent executable file.
16379         Removed bogus assignment to _fmode, which caused inconsistencies.
16380
16381 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16382
16383         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16384         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16385         Do not preliminary `#define signal sigset'.
16386
16387         * systime.h: Do not prototype environ on windows nt and cygwin,
16388         this conflicts with system header.
16389
16390         * syssignal.h: Use correct define for WINDOWSNT
16391
16392         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16393         with system header.
16394
16395         * sysdep.c (near start of file): Fixed commentary and rearranged
16396         ifdefs in readable order.
16397         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16398         (start_of_text):
16399         (end_of_text):
16400         (end_of_data): Do not compile in if using PDUMP.
16401
16402         * symsinit.h: Prototyped vars_of_nt().
16403
16404         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16405         (find_child_console): Use it.
16406         (sys_kill): Use it.
16407
16408         * ntheap.h: Do not extern os_subtype.
16409
16410         * ntheap.c (cache_system_info): Do not cache unneeded:
16411         nt_major_version, nt_minor_version and os_subtype.
16412         (recreate_heap): Do not compile in when PDUMPing.
16413
16414         * nt.c (geteuid and friends): Use the new varibale
16415         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16416         (init_user_info): Removed the above mentioned hackery.
16417         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16418         stat has been fixed in the C runtime.
16419         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16420
16421         * file-coding.c (struct file_coding_dump): Do not define
16422         ucs_to_mule_table in the struct if not MULE.
16423         (struct struct lrecord_description fcd_description_1): Do not dump
16424         the above.
16425
16426         * emacs.c (main_1): Call vars_of_nt().
16427         (right before Fdump_emacs_data): Don't need lastfile if using both
16428         portabe dumper and system malloc.
16429
16430         * alloc.c (Fmemory_limit): Conditionalized out.
16431         (pdump): Use OPEN_BINARY for the portable dump file.
16432         (pdump_load): Ditto.
16433
16434 2000-02-02  Mike Alexander  <mta@arbortext.com>
16435
16436         * nt.c (convert_time): Set tm_isdst before calling mktime and
16437         avoid calling it at all if the compiler supports 64 bit integers.
16438         Also initialize utc_base_ft before using it.
16439
16440 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16441
16442         * frame.c (change_frame_size_1): Take f->internal_border_width
16443         into consideration when calculating the width of the frame.
16444
16445 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16446
16447         * window.c (frame_min_height):
16448         (frame_size_valid_p):
16449         (frame_pixsize_valid_p): Added.
16450         (check_frame_size): Generalized.
16451
16452         * window.h: Prototyped the above.
16453
16454         * lisp.h:
16455         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16456         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16457         Deleted Vwin32_* and Vbinary_process_* unused variables.
16458
16459         * device-msw.c (msprinter_init_device): Do not get printer font
16460         list; Added DEVMODE functions.
16461
16462         * frame-msw.c: Added lots of printer code.
16463
16464         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16465         general.c.
16466
16467         * console-msw.h: Added more msprinter device private slots.
16468
16469 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16470
16471         * event-msw.c (key_needs_default_processing_p): Added.
16472         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16473
16474 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16475
16476         * glyphs.c (image_instance_layout): Mark image instance as clean
16477         after layout.
16478         (glyph_dirty_p): Removed redundant function.
16479         (invalidate_glyph_geometry_maybe): Added.
16480         (update_glyph_cachel_data): Call it.
16481
16482         * glyphs.h: Prototyped it.
16483
16484         * redisplay.c (add_glyph_rune): Call it.
16485         (redisplay_window): Reset glyphs cachels when frame faces have
16486         changed, thus forcing recomputation of built-in border glyphs.
16487
16488 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16489
16490         * Makefile.in.in: Make portable dumper and purify play well together.
16491         Add imperfect, but better than nothing, support for pdump.
16492         Remove xemacs.dmp when temacs is re-generated.
16493         Don't ignore errors when dumping xemacs.
16494
16495         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16496
16497 2000-01-28  Andy Piper  <andy@xemacs.org>
16498
16499         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16500         (setup_normal_frame): ditto.
16501         (setup_frame_without_minibuffer): ditto.
16502         (setup_minibuffer_frame): ditto.
16503         (delete_frame_internal): ditto.
16504         (Fmake_frame_invisible): ditto.
16505         (Ficonify_frame): ditto.
16506
16507         * window.h: change Fset_window_buffer signature.
16508
16509         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16510         (Fset_window_buffer): allow recording of buffer if the window is
16511         the selected window.
16512         (window_loop): Use new Fset_window signature.
16513
16514 2000-01-23  Daniel Pittman  <daniel@danann.net>
16515
16516         * config.h.in: Added template for `HAVE_ATHENA_3D'
16517
16518 2000-01-29  Andy Piper  <andy@xemacs.org>
16519
16520         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16521
16522         * gutter.c (output_gutter): Don't output if the window isn't live.
16523
16524 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16525
16526         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16527         of 01/12/00: Moved SetFocus back here where it belongs.
16528
16529 2000-01-23  Andy Piper  <andy@xemacs.org>
16530
16531         * s/cygwin32.h: declare printer things.
16532
16533 2000-01-26  Andy Piper  <andy@xemacs.org>
16534
16535         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16536         Alexander.
16537
16538 2000-01-24  Andy Piper  <andy@xemacs.org>
16539
16540         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16541         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16542
16543         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16544
16545         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16546
16547         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16548
16549         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16550         (mswindows_output_display_block): Avoid local shadows.
16551
16552         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16553         (mswindows_enqueue_mouse_button_event): ditto.
16554         (mswindows_handle_gui_wm_command): remove declaration.
16555
16556         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16557         warnings.
16558
16559         * console-msw.h: Avoid shadows.
16560         (mswindows_get_toolbar_button_text):
16561         (emacs_mswindows_create_stream_pair):
16562         (emacs_mswindows_delete_stream_pair):
16563         (mswindows_handle_toolbar_wm_command): declare.
16564
16565         * device-msw.c (build_syscolor_string): Avoid shadows.
16566
16567 2000-01-23  Andy Piper  <andy@xemacs.org>
16568
16569         * glyphs-widget.c (widget_instantiate): reverse the items for
16570         layouts so that children are in the expected order.
16571
16572 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16573
16574         * ralloc.c: safe_bcopy ==> memmove
16575         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16576         * s/msdos.h: Remove BCOPY macros.
16577         * insdel.c (gap_right): Remove BCOPY conditional code.
16578         * insdel.c (gap_left): Remove BCOPY conditional code.
16579         XEmacs demands a working ANSI C compiler - hence memmove.
16580
16581         * regex.c (regex_compile): Remove accidental use of trigraphs.
16582
16583 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16584
16585         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16586         event timestamp.
16587
16588 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16589
16590         * event-msw.c (mswindows_drain_windows_queue): Added the
16591         parameter.
16592         (mswindows_need_event): Commented the call to
16593         mswindows_drain_windows_queue().
16594         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16595         only.
16596
16597         * console-msw.h: Moved a few function prototypes here from
16598         event-msw.c.
16599
16600         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16601         parameter from unsigned short to unsigned long.
16602         (Fmswindows_shell_execute): Added return value.
16603
16604 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16605
16606         * sysdep.c (init_system_name):
16607           process-unix.c (unix_canonicalized_host_name):
16608         Don't call freeaddrinfo() if getaddrinfo() fails.
16609
16610         * process-unix.c (unix_open_unix_network_stream):
16611         Moved the code to get a port # into address loop.
16612
16613 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16614
16615         * buffer.c (reinit_vars_of_buffer):
16616         The right place to initialize conversion_in_dynarr and
16617         conversion_out_dynarr.
16618
16619         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16620
16621         * process-unix.c (unix_canonicalize_host_name): Muleize.
16622         (unix_open_network_stream): Muleize.
16623
16624         * buffer.h: Fix up prototypes for ralloc.c functions.
16625
16626 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16627         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16628         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16629                 instead of gethostbyname()
16630         * process-unix.c: In unix_canonicalize_host_name() and
16631                 unix_open_network_stream(), add code to use getaddrinfo()
16632                 instead of gethostbyname().
16633
16634 2000-01-27  Daniel Pittman <daniel@danann.net>
16635
16636         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16637         libs when built with flat Athena.
16638
16639 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16640
16641         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16642         Use coding standards for function prototypes.
16643
16644 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16645
16646         * dialog-msw.c (push_lisp_string_as_unicode):
16647         * doc.c (unparesseuxify_doc_string):
16648         * dired.c (Fuser_name_completion_1):
16649         * dired.c (Fuser_name_all_completions):
16650         * dired.c (free_user_cache):
16651         * dired.c (user_name_completion):
16652         * console-x.c (get_display_arg_connection):
16653         * minibuf.c (clear_echo_area_internal):
16654         * minibuf.c (echo_area_append):
16655         * eldap.c (Fldap_open):
16656         * eldap.c (Fldap_search_internal):
16657         * frame-x.c (x_set_frame_text_value):
16658         * frame-x.c (x_set_frame_properties):
16659         * frame-x.c (x_create_widgets):
16660         * redisplay-tty.c (term_get_fkeys_1):
16661         * objects-x.c (x_parse_nearest_color):
16662         * objects-x.c (x_valid_color_name_p):
16663         * objects-x.c (x_initialize_font_instance):
16664         * objects-x.c (x_list_fonts):
16665         * objects-x.c (x_find_charset_font):
16666         * tooltalk.c (Fadd_tooltalk_message_arg):
16667         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16668         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16669         * process-unix.c (unix_create_process):
16670         * ntproc.c (sys_spawnve):
16671         * sound.c (Fplay_sound_file):
16672         * sound.c (Fplay_sound):
16673         * buffer.c (init_initial_directory):
16674         * buffer.c (init_buffer):
16675         * editfns.c (init_editfns):
16676         * editfns.c (Ftemp_directory):
16677         * editfns.c (Fuser_full_name):
16678         * editfns.c (uncache_home_directory):
16679         * editfns.c (get_home_directory):
16680         * editfns.c (Fuser_home_directory):
16681         * editfns.c (Fformat_time_string):
16682         * editfns.c (Fcurrent_time_string):
16683         * gui-x.c (button_item_to_widget_value):
16684         * database.c (Fopen_database):
16685         * event-Xt.c (x_to_emacs_keysym):
16686         * event-Xt.c (x_event_to_emacs_event):
16687         * event-Xt.c (describe_event_window):
16688         * event-msw.c (mswindows_wnd_proc):
16689         * glyphs-eimage.c (jpeg_instantiate):
16690         * glyphs-eimage.c (gif_instantiate):
16691         * glyphs-eimage.c (png_instantiate):
16692         * glyphs-eimage.c (tiff_instantiate):
16693         * glyphs-x.c (xbm_instantiate_1):
16694         * glyphs-x.c (x_xbm_instantiate):
16695         * glyphs-x.c (x_xface_instantiate):
16696         * glyphs-x.c (autodetect_instantiate):
16697         * glyphs-x.c (cursor_font_instantiate):
16698         * glyphs-x.c (x_widget_instantiate):
16699         * glyphs-x.c (x_widget_set_property):
16700         * glyphs-x.c (x_widget_property):
16701         * glyphs-x.c (BUILD_GLYPH_INST):
16702         * print.c (write_string_to_stdio_stream):
16703         * print.c (output_string):
16704         * print.c (Falternate_debugging_output):
16705         * print.c (Fexternal_debugging_output):
16706         * glyphs-msw.c (extract_xpm_color_names):
16707         * glyphs-msw.c (mswindows_xpm_instantiate):
16708         * glyphs-msw.c (bmp_instantiate):
16709         * glyphs-msw.c (resource_name_to_resource):
16710         * glyphs-msw.c (mswindows_resource_instantiate):
16711         * glyphs-msw.c (xbm_instantiate_1):
16712         * glyphs-msw.c (mswindows_xbm_instantiate):
16713         * glyphs-msw.c (mswindows_xface_instantiate):
16714         * glyphs-msw.c (mswindows_widget_instantiate):
16715         * glyphs-msw.c (add_tree_item):
16716         * glyphs-msw.c (add_tab_item):
16717         * glyphs-msw.c (mswindows_combo_box_instantiate):
16718         * glyphs-msw.c (mswindows_widget_property):
16719         * glyphs-msw.c (mswindows_combo_box_property):
16720         * glyphs-msw.c (mswindows_widget_set_property):
16721         * console.c (stuff_buffered_input):
16722         * objects-msw.c (mswindows_initialize_color_instance):
16723         * objects-msw.c (mswindows_valid_color_name_p):
16724         * objects-msw.c (mswindows_list_fonts):
16725         * objects-msw.c (mswindows_font_instance_truename):
16726         * bytecode.c (optimize_compiled_function):
16727         * select-x.c (symbol_to_x_atom):
16728         * select-x.c (x_atom_to_symbol):
16729         * select-x.c (hack_motif_clipboard_selection):
16730         * select-x.c (selection_data_to_lisp_data):
16731         * select-x.c (lisp_data_to_selection_data):
16732         * select-x.c (Fx_get_cutbuffer_internal):
16733         * select-x.c (Fx_store_cutbuffer_internal):
16734         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16735         * buffer.h (TO_INTERNAL_FORMAT): New function.
16736         * emacs.c (make_arg_list_1):
16737         * emacs.c (make_argc_argv):
16738         * emacs.c (main_1):
16739         * emacs.c (Fdump_emacs):
16740         * emacs.c (split_string_by_emchar_1):
16741         * file-coding.h:
16742         * lisp.h:
16743         * lstream.h:
16744         * symsinit.h:
16745         * device-x.c (x_init_device):
16746         * device-x.c (Fx_valid_keysym_name_p):
16747         * device-x.c (Fx_get_font_path):
16748         * device-x.c (Fx_set_font_path):
16749         * glyphs.c (bitmap_to_lisp_data):
16750         * glyphs.c (pixmap_to_lisp_data):
16751         * alloc.c (make_ext_string): Use coding system arguments.  Update
16752         all callers.
16753         * alloc.c (build_string):
16754         * callproc.c (child_setup):
16755         * callproc.c (init_callproc):
16756         * fileio.c (lisp_strerror):
16757         * fileio.c (directory_file_name):
16758         * fileio.c (Fexpand_file_name):
16759         * fileio.c (Ffile_truename):
16760         * fileio.c (Fsysnetunam):
16761         * fileio.c (Fdo_auto_save):
16762         * sysdep.c (sys_readdir):
16763         * tests.c: New file.  Allow adding C tests.
16764         Replace GET_* macros with a more comprehensible and flexible
16765         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16766         Modify all calls.
16767         Any coding system can be used to do format conversion.
16768         Eliminate enum external_data_format.
16769         Eliminate convert_to_external_format.
16770         Eliminate convert_to_internal_format.
16771         Make sure file-name, keyboard, terminal, and ctext are always
16772         defined as coding systems or aliases.  Make
16773         file-name-coding-system, terminal-coding-system, and
16774         keyboard-coding-system magical variables that are equivalent to
16775         defining the corresponding coding system aliases.
16776
16777         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16778         * file-coding.c (Fcoding_system_alias_p): New function.
16779         * file-coding.c (Fcoding_system_aliasee): New function.
16780         * file-coding.c (append_suffix_to_symbol): New function.
16781         * file-coding.c (dangling_coding_system_alias_p): New function.
16782         * file-coding.c (Ffind_coding_system):
16783         * file-coding.c (Fcopy_coding_system):
16784         * file-coding.c (encode_coding_no_conversion):
16785         * file-coding.c (syms_of_file_coding):
16786         * file-coding.c (vars_of_file_coding):
16787         Rewrite coding system alias code.
16788         Allow nested aliases, like symbolic links.
16789         Allow redefinition of coding system aliases.
16790         Prevent existence of dangling coding system aliases.
16791
16792         * dired.c (Fuser_name_completion_1):
16793         * dired.c (Fuser_name_all_completions):
16794         A crash would happen if user did QUIT in the middle of building
16795         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16796
16797         * lisp.h:
16798         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16799
16800         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16801         an unsigned char *.  Update all callers.
16802
16803 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16804
16805         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16806
16807 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16808
16809         * elhash.c (hentry_description): Use more portable definition.
16810         (resize_hash_table): Initialize new hentries using
16811         xnew_array_and_zero, thereby simplifying the code.
16812
16813         * mule-charset.c (make_charset): Make sure entire object is
16814         initialized, to avoid Purify warnings.
16815
16816         * alloc.c (resize_string): Fix unlikely crash with big strings.
16817
16818 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16819
16820         * realpath.c (xrealpath):
16821         Don't call getwd().
16822
16823 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16824
16825         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16826
16827 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16828
16829         * unexelfsgi.c (unexec): Change the way we decide which segment
16830         should be extended.
16831
16832         Assumption that .bss section should be outside the PT_LOADable
16833         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16834         it's present) is inside the 'data' segment. This would fail the
16835         test which was used to find a segment to grow and cover new
16836         heap. Instead of this assumption, I created another one - on IRIX
16837         the segment to grow should start below .bss and it's address
16838         should extent above the end of .bss. Once this segment is
16839         identified, it's grown to accommodate the new heap and new
16840         zero-length .bss section is added at the end of .data2.
16841
16842 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16843
16844         * eval.c (Feval): Wrong number of arguments should use original
16845         function, not the indirect_function version of it.
16846
16847 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16848
16849         * glyphs-x.c (x_button_instantiate): Don't add image if
16850         it is not a pixmap.
16851         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16852         is relative.
16853
16854 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16855
16856         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16857         declaration.
16858         (DEFVAR_INT_MAGIC): Ditto.
16859         (DEFVAR_BOOL_MAGIC): Ditto.
16860         * glyphs.h: Reindent backslash.
16861
16862 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16863
16864         * glyphs-widget.c (layout_query_geometry):
16865         (layout_layout): Use correct types for gheight, gwidth.
16866
16867 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16868
16869         * EmacsManager.c (QueryGeometry): Purified.
16870
16871 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16872
16873         * alloc.c (make_float): Make sure entire object is initialized, to
16874         avoid Purify warnings.
16875         (pdump_register_sub): Remove useless assignment.
16876         (pdump): Use xmalloc, not malloc.
16877         (pdump_load): Use xmalloc, not malloc.
16878
16879 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16880
16881         * callproc.c:
16882         * dired-msw.c:
16883         * fileio.c:
16884         * process-nt.c:
16885         * redisplay-msw.c:
16886         * sysdep.c: Removed redundant #include <windows.h>
16887
16888 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16889
16890         * frame.c (delete_frame_internal): Do not delete device when its
16891         implementation so declares.
16892         (delete_frame_internal): Set device selected frame to nil when
16893         last frame goes away.
16894
16895         * device-msw.c (msprinter_device_system_metrics): Implemented.
16896         (mswindows_device_system_metrics): Added 'device-dpi property.
16897
16898         * device.c: (Fdevice_printer_p): Added.
16899         Added 'offset-workspace device metric.
16900
16901         * console.h (device_metrics): Declared DM_offset_workspace.
16902
16903 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16904
16905         * fileio.c (Ffile_truename): Remove pointless and confusing
16906         initialization of elen.
16907
16908         * glyphs-widget.c: Compiler warning fixes.
16909
16910 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16911
16912         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16913         instead of a Lisp_Object as argument to make it consistent with
16914         the other LIVE_P macros.
16915         (CHECK_LIVE_PROCESS): New macro.
16916
16917         * process.c: Declare Qprocess_live_p.
16918         (Fprocess_live_p): New function.
16919         (create_process): Use PROCESS_LIVE_P.
16920         (read_process_output): Ditto.
16921         (set_process_filter): Ditto.
16922         (Fdelete_process): Ditto.
16923         (kill_buffer_processes): Ditto
16924         (process_send_signal): Use CHECK_LIVE_PROCESS.
16925         (Fprocess_input_coding_system): Check whether process is still
16926         alive (fix PR#1061).
16927         (Fprocess_output_coding_system): Ditto.
16928         (Fprocess_coding_system): Ditto.
16929         (Fset_process_input_coding_system): Ditto.
16930         (Fset_process_output_coding_system): Ditto.
16931
16932 2000-01-23  Andy Piper  <andy@xemacs.org>
16933
16934         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16935         layout and widget.
16936
16937         * glyphs.c (mark_image_instance): take into account changed
16938         image_instance format.
16939         (image_instance_equal): ditto.
16940         (image_instance_hash): ditto.
16941
16942         * glyphs-widget.c (widget_instantiate): Incorporate layout
16943         instantiation here. Delay layout of the layout until later.
16944         (layout_instantiate): deleted.
16945         (layout_query_geometry): new function. get the geometry of a
16946         layout.
16947         (layout_layout): layout a layout dynamically.
16948         (image_instantiator_widget): New function - splitting up
16949         image_instantiator_format_create_glyphs_widget for netwinder
16950         compilation.
16951         (image_instantiator_buttons):
16952         (image_instantiator_edit_fields):
16953         (image_instantiator_combo_box):
16954         (image_instantiator_scrollbar):
16955         (image_instantiator_progress_guage):
16956         (image_instantiator_tree_view):
16957         (image_instantiator_tab_control):
16958         (image_instantiator_labels):
16959         (image_instantiator_layout): ditto.
16960         (image_instantiator_format_create_glyphs_widget): Call preceding
16961         functions.
16962
16963 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16964
16965         * process.c (Fset_process_coding_system):
16966         * device-x.c (Fx_keysym_hash_table):
16967         Docstring fixes.
16968
16969         * lstream.c (Lstream_write): Return documented value, not 0.
16970
16971         * fileio.c (directory_file_name):
16972         (Fsubstitute_in_file_name):
16973         (Fsubstitute_insert_file_contents_internal):
16974         (Fwrite_region_internal):
16975         * emacs.c:
16976         * sysdep.c:
16977         * getloadavg.c:
16978         * systty.h:
16979         Remove vestigial APOLLO-conditional code.
16980
16981 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16982
16983         * getpagesize.h: Add guard macros.
16984         * libsst.h: Add guard macros.
16985         * libst.h: Add guard macros.
16986         * line-number.h: Add guard macros.
16987         * ndir.h: Add guard macros.
16988         * sysfloat.h: Add guard macros.
16989         * sysfile.h: Add guard macros.
16990         * sysproc.h: Add guard macros.
16991         * syswait.h: Add guard macros.
16992         * xintrinsic.h: Add guard macros.
16993         * xintrinsicp.h: Add guard macros.
16994         * xmmanager.h: Add guard macros.
16995         * xmmanagerp.h: Add guard macros.
16996         * xmprimitive.h: Add guard macros.
16997         * xmu.h: Add guard macros.
16998         * gpmevent.h: Add copyright statement. Add guard macros.
16999         * miscplay.h: Add guard macros.
17000         * *.h: Use consistent C-standards-approved guard macro names.
17001
17002         * opaque.c (make_opaque): Switch parameter order.
17003         * opaque.h (make_opaque): Switch parameter order.
17004         Update all callers.
17005         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17006
17007         * config.h.in (type_checking_assert): Added.
17008         (bufpos_checking_assert): Added.
17009
17010 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17011
17012         * alloc.c: Harmless pdump changes.
17013         - Use countof().
17014         - spell alignment correctly.
17015         * sysdep.c: Use countof()
17016
17017 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17018
17019         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17020         initially_selected_for_input() console method, default to 0.
17021         (semi_canonicalize_console_connection): Try to delegate to
17022         canonicalize_console_connection if no such console method.
17023         (canonicalize_console_connection): Vice versa.
17024         (print_console): Do not print nil connection.
17025
17026         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17027         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17028         (XDEVIMPF_FRAMELESS_OK): Added.
17029         (CONSOLE_INHERITS_METHOD): Added.
17030
17031         * console-msw.c (mswindows_canonicalize_console_connection):
17032         Added.
17033         (mswindows_canonicalize_device_connection): Added.
17034
17035         * console-msw.h (struct msprinter_device): Added this struct and
17036         accessor macros.
17037         (mswindows_device): Made fontlist a lisp object.
17038
17039         * device.c (semi_canonicalize_device_connection):  Try to delegate
17040         to canonicalize_device_connection if no such console method.
17041         (canonicalize_device_connection): Vice versa.
17042         (print_device): Do not print nil connection.
17043
17044         * device-msw.c (mswindows_init_device): Call InitCommonControls
17045         when have widgets.
17046         (mswindows_delete_device): Removed fontlist deallocation.
17047         (mswindows_mark_device): Added.
17048
17049         * events.c (event_equal): Added abort() at unreached code.
17050         (event_hash): Ditto.
17051
17052         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17053         fallback tags of Windows devices.
17054
17055         * general.c (syms_of_general): Initialized Qmsprinter.
17056
17057         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17058         of fallback tags of Windows devices.
17059
17060         * lisp.h: Declared Qmsprinter.
17061
17062         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17063         of strings.
17064         (mswindows_list_fonts): Ditto.
17065         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17066         that it can be used by both mswindows and msprinter devices.
17067         (initialize_font_instance): Added.
17068         (mswindows_initialize_font_instance): Use it.
17069         (msprinter_initialize_font_instance): Added.
17070
17071         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17072         and implementation flags check.
17073         (redisplay_without_hooks): Changed the call to the above.
17074         (Fredraw_device): Ditto.
17075         (Fredisplay_device): Ditto.
17076
17077         * redisplay-msw.c (get_frame_dc): Implemented.
17078         (get_frame_compdc): Implemented.
17079         (many functions): Use the two functions above to get device
17080         contexts, ether for a window or a printer.
17081
17082 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17083
17084         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17085         initialization here.
17086         (init_symbols_once_early): Call it.
17087         * emacs.c (main_1): Call it.
17088         * symsinit.h: Declare it.
17089
17090 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17091
17092         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17093         Lisp_Object.
17094         (pdump_backtrace): Ditto.
17095         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17096         (pdump_get_entry): Abort if trying to register a null pointer.
17097         (pdump_dump_data): Cleanup types when relocating.
17098         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17099         (pdump_dump_rtables): Remove bad casts.
17100         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17101         Lisp_Object instead of a EMACS_INT for the hashtable
17102         reorganization.
17103
17104 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17105
17106         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17107
17108         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17109
17110         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17111
17112         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17113
17114 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17115
17116         * faces.h (FACE_STRIKETHRU_P): Added.
17117
17118         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17119         of font variants.
17120
17121         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17122         (mswindows_set_dc_font): New function, aware of font variants,
17123         separated from mswindows_update_dc.
17124
17125         * objects-msw.h (struct mswindows_font_instance_data): Added
17126         definition.
17127
17128         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17129         cached fonts and the data structure.
17130         (mswindows_initialize_font_instance): Added creation of font data
17131         structure.
17132         (mswindows_print_font_instance): Print at least something.
17133         (mswindows_create_font_variant): Implemented.
17134         (mswindows_get_hfont): Implemented.
17135
17136 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17137
17138         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17139         prototyping problem with msvc.
17140
17141         * emacs.c (main_1): added syms_of_gui_mswindows() call
17142
17143         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17144         syms_of_gui_mswindows() function
17145
17146         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17147
17148 2000-01-18  Martin Buchholz <martin@xemacs.org>
17149
17150         * XEmacs 21.2.27 is released.
17151
17152 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17153
17154         * glyphs-eimage.c (struct tiff_error_struct):
17155         (tiff_error_func):
17156         (tiff_warning_func):
17157         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17158
17159         * unexmips.c:
17160         * unexhp9k3.c:
17161         * unexfreebsd.c:
17162         * unexec.c: Remove vestigial Lucid C code.
17163         * unexalpha.c:
17164         * unexaix.c:
17165         * termcap.c:
17166         * libsst.c: Ansify.
17167         Remove declarations of errno and strerror().
17168
17169         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17170
17171         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17172
17173 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17174
17175         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17176         Optimize.
17177
17178 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17179
17180         * md5.c:
17181         * file-coding.c:
17182         * file-coding.h:
17183         Change enum eol_type to eol_type_t.
17184
17185 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17186
17187         * gui.c (get_gui_callback): Check cons before accessing car.
17188
17189 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17190
17191         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17192         (XSETSPECIFIER_TYPE): Ditto.
17193
17194 2000-01-17  Didier Verna  <didier@xemacs.org>
17195
17196         * redisplay.c (generate_fstring_runes): compute string size in
17197         characters, not bytes.
17198
17199 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17200
17201         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17202
17203 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17204
17205         * print.c (print_error_message): Call print_prepare().
17206
17207 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17208
17209         * .dbxrc: Renamed from dbxrc.
17210
17211         * events.c (event_to_character):
17212         Use `assert (foo)' instead of `if (!foo) abort()'
17213
17214         * .gdbinit (xtype): Add documentation.
17215         * .gdbinit (check-temacs): New function.
17216         * .gdbinit (check-xemacs): New function.
17217         * dbxrc (check-xemacs): New function.
17218         * dbxrc (check-xemacs): New function.
17219
17220 2000-01-14  Andy Piper  <andy@xemacs.org>
17221
17222         * glyphs-widget.c (widget_query_geometry): Make sure that we
17223         calculate default dimensions correctly.
17224
17225 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17226
17227         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17228
17229         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17230         pdump_wire'd variable.
17231
17232         * emacs.c: (main_1): Conditionalized calls to
17233         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17234
17235 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17236
17237         * window.c (Fset_window_configuration):
17238         * sysdep.c (_start):
17239         * input-method-motif.c (res):
17240         * event-Xt.c (Xt_process_to_emacs_event):
17241         Simple compiler warning fixes.
17242
17243         * bytecode.c (funcall_compiled_function): Use the original
17244         function symbol on the backtrace list in preference to the
17245         compiled_function object in error messages.
17246
17247 2000-01-13  Andy Piper  <andy@xemacs.org>
17248
17249         * glyphs-x.c (update_widget_face): Make sure we update the widget
17250         background as well as foreground.
17251
17252 2000-01-13  Andy Piper  <andy@xemacs.org>
17253
17254         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17255         fields to subwindow.
17256         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17257         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17258         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17259         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17260
17261         * glyphs-widget.c (check_valid_tab_orientation): new function.
17262         (initialize_widget_image_instance): zero orientation and
17263         justification.
17264         (widget_instantiate): pick up orientation.
17265         (tab_control_query_geometry): return appropriate values for
17266         vertical tabs.
17267
17268         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17269         appropriate creation flags for left, right and bottom tabs.
17270
17271         * s/cygwin32.h: add tab definitions.
17272
17273 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17274
17275         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17276         frame upon hiding a subwindow.
17277         (mswindows_button_instantiate): Changed the push button style to
17278         BS_PUSHBUTTON.
17279         (mswindows_button_instantiate): Removed button BS_NOTIFY
17280         style.
17281         (mswindows_button_instantiate): Removed redundant check for
17282         a disabled gui item.
17283         (mswindows_button_instantiate): Made use of WS_TABSTOP
17284         consistent: "operable" controls (edit, button, tree, scroll) have
17285         this style, "display-only" ones (static, progress gauge) do
17286         not. This style is currently ignored by XEmacs though. Also,
17287         removed the WS_EX_CONTROLPARENT style - it is not for children,
17288         it is for their parents!
17289         (mswindows_edit_field_instantiate): Ditto.
17290         (mswindows_progress_gauge_instantiate): Ditto.
17291         (mswindows_tree_view_instantiate): Ditto.
17292         (mswindows_tab_control_instantiate): Ditto.
17293         (mswindows_scrollbar_instantiate): Ditto.
17294         (mswindows_combo_box_instantiate): Ditto.
17295         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17296         style to the "clip" window.
17297         (mswindows_button_instantiate): Removed compilation warning by
17298         equally typing terms of the ?: operator.
17299
17300 2000-01-12  Didier Verna  <didier@xemacs.org>
17301
17302         * redisplay.c (generate_fstring_runes): new parameter holding the
17303         last modeline-format extent.
17304         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17305         extent, fill the glyph block with it.
17306         (generate_fstring_runes): handle these parameters.
17307         (generate_formatted_string_db): ditto.
17308
17309         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17310         glyphs'extents in the modeline.
17311
17312 1999-01-11  Mike Woolley  <mike@bulsara.com>
17313
17314         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17315         256Mb, as a workaround for the non-starting problem many people
17316         have experienced.
17317
17318 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17319
17320         * console-tty.c (Fset_console_tty_output_coding_system):
17321         Force redrawing tty frame.
17322
17323 2000-01-10  Didier Verna  <didier@xemacs.org>
17324
17325         * redisplay.c (generate_fstring_runes): fix size computation bug.
17326
17327 2000-01-09  William M. Perry <wmperry@aventail.com>
17328
17329         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17330
17331 2000-01-09  Andy Piper  <andy@xemacs.org>
17332
17333         * glyphs-msw.c: index -> i to avoid shadows.
17334         (xbm_create_bitmap_from_data): make static.
17335         (check_valid_string_or_int): deleted.
17336         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17337
17338         * glyphs-x.c (x_update_subwindow): remove unused args.
17339
17340         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17341         back pointer - this is done in allocate_image_instance.
17342         (query_string_font): return Qnil to make the compiler happy.
17343         (unmap_subwindow): set to ~0 to make the compiler happy.
17344         (glyph_query_geometry): comment out until used.
17345         (glyph_layout): ditto.
17346
17347 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17348
17349         * insdel.c (signal_after_change): Remove extraneous unbind_to().