update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c: New file.
4
5 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
6
7         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
8         `lrecord_type_concord_object'.
9
10 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * symsinit.h (syms_of_concord): New prototype.
13         (vars_of_concord): New prototype.
14
15         * emacs.c (main_1): Setup symbols and variable about concord if
16         HAVE_CONCORD is defined.
17
18         * config.h.in (HAVE_CONCORD): New macro.
19
20 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * chartab.c (Fput_char_attribute): For each character relation
23         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
24
25 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * chartab.c (Fput_char_attribute): Use
28         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
29         calling `put_char_composition'.
30
31 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * chartab.c (Q_halfwidth_of): New variable.
34         (put_char_composition): Return `<-halfwidth' instead of
35         `=decomposition' for compatibility mapping to single character
36         tagged `narrow'.
37         (Fput_char_attribute): Convert char-specs in value of
38         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
39         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
40         for `<-halfwidth'.
41         (syms_of_chartab): Add new symbol `<-halfwidth'.
42
43 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * chartab.c (put_char_composition): Return
46         `<-formed@{isolated|initial|medial|final}' for compatibility
47         mapping to single character tagged
48         `{isolated|initial|medial|final}'.
49
50 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * chartab.c (Q_compat_of): Deleted.
53         (put_char_composition): Return `<-FOO' for compatibility mapping
54         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
55         of `symbol_name (XSYMBOL(...))'.
56         (Fput_char_attribute): Convert char-specs in value of
57         `{<-|->}font[^*]*' to characters and put reverse links.
58         (Fsave_char_attribute_table): Don't refer Q_compat_of.
59         (syms_of_chartab): Delete builtin symbol `<-compat'.
60
61 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (Q_circled_of): New variable.
64         (put_char_composition): Return `<-circled' instead of
65         `=decomposition' for compatibility mapping to single character
66         tagged `circle'.
67         (Fput_char_attribute): Convert char-specs in value of
68         `{<-|->}circled[^*]*' to characters and put reverse links.
69         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
70         for `<-circled'.
71         (syms_of_chartab): Add new symbol `<-circled'.
72
73 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * chartab.c (Qto_decomposition_at_circled): New variable.
76         (put_char_composition): Return `=>decomposition@circled' instead
77         of `=decomposition' for compatibility decomposition mapping tagged
78         `circle'.
79         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
80
81 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * chartab.c (Q_subscript_of): New variable.
84         (put_char_composition): Return `<-subscript' instead of
85         `=decomposition' for compatibility mapping to single character
86         tagged `sub'.
87         (Fput_char_attribute): Convert char-specs in value of
88         `{<-|->}subscript[^*]*' to characters and put reverse links.
89         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
90         for `<-subscript'.
91         (syms_of_chartab): Add new symbol `<-subscript'.
92
93 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (Q_superscript_of): New variable.
96         (put_char_composition): Return `<-superscript' instead of
97         `=decomposition' for compatibility mapping to single character
98         tagged `super'.
99         (Fput_char_attribute): Convert char-specs in value of
100         `{<-|->}superscript[^*]*' to characters and put reverse links.
101         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
102         for `<-superscript'.
103         (syms_of_chartab): Add new symbol `<-superscript'.
104
105 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * chartab.c (Qto_decomposition_at_compat): Deleted.
108         (Qto_decomposition_at_superscript): New variable.
109         (put_char_composition): Use `=>decomposition@superscript' instead
110         of `=decomposition' for compatibility decomposition mapping tagged
111         `super'.
112         (Fput_char_attribute): Fix condition about `put_char_composition'.
113         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
114         add news symbol `=>decomposition@superscript'.
115
116 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
119         for compatibility decomposition mapping tagged FOO.
120         (Fput_char_attribute): Modify for `put_char_composition'.
121
122 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * chartab.c (Qto_decomposition_at_compat): New variable.
125         (Q_compat_of): Renamed from `Q_compatibility_of'.
126         (put_char_composition): Rename `Q_compatibility_of' to
127         `Q_compat_of'; return `=>decomposition@compat' for compatibility
128         decomposition mapping.
129         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
130         `Q_compat_of'.
131         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
132         `<-compatibility' to `<-compat'.
133
134 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * chartab.c (Q_compatibility_of): New variable.
137         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
138         object is proved to be a cons cell; return `<-compatibility' if
139         the first element of argument `value' is `compat'.
140         (Fput_char_attribute): Eliminate the first value if
141         `put_char_composition' returns `<-compatibility'.
142         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
143         for `<-compatibility'.
144         (syms_of_chartab): Add new symbol `<-compatibility'.
145
146 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.c (Q_canonical): New variable.
149         (put_char_composition): Return a feature name: return
150         `->canonical' if argument `value' specifies single character.
151         (Fput_char_attribute): Use `put_char_composition' to determine
152         feature name for `=decomposition' or `->denotational'.
153         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
154         for `->canonical'.
155         (syms_of_chartab): Add new symbol `->canonical'.
156
157 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * chartab.c (Qmap_decomposition): New variable.
160         (Fput_char_attribute): Convert `->decomposition' to
161         `=decomposition'.
162         (syms_of_chartab): Add new symbol `=decomposition'.
163
164 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * chartab.c (Fget_range_char_table): Fix serious problem when
167         `range' is nil.
168
169 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * chartab.c (char_table_get_db): Use `read_from_c_string'.
172
173 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * lread.c (read_from_c_string): New function.
176
177         * lisp.h (read_from_c_string): New prototype.
178
179 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * chartab.c (Fput_char_attribute): Convert char-specs in value of
182         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
183         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
184         for `{<-|->}Oracle-Bones[^*]*'.
185
186 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
189         (Kizu).
190
191 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * text-coding.c (Qccs_priority_list): New variable in XEmacs
194         CHISE.
195         (Fmake_coding_system): Support new property `ccs-priority-list' in
196         XEmacs CHISE.
197         (Fcoding_system_property): Likewise.
198         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
199         Vdefault_coded_charset_priority_list in XEmacs CHISE.
200         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
201         XEmacs CHISE.
202         (complex_vars_of_file_coding): Define new coding-system-property
203         `ccs-priority-list' in XEmacs CHISE.
204
205         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
206
207 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
210         changed to normal function.
211         (encode_char_2): Likewise.
212
213         * mule-charset.c (decoding_table_put_char): Copied from
214         char-ucs.h; changed to normal function.
215         (encode_char_2): Likewise.
216
217 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
220         New extern.
221         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
222         (encode_char_2_search_children): New inline function.
223         (encode_char_2): Refer
224         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
225         and use `encode_char_2_search_children'.
226
227 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * mule-charset.c
230         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
231         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
232         (vars_of_mule_charset): Add new variable
233         `display-coded-charset-priority-use-inheritance' and
234         `display-coded-charset-priority-use-hierarchy-order'.
235
236 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * char-ucs.h (Q_subsumptive): New extern.
239         (Q_denotational): Likewise.
240         (encode_char_2): Search children specified by `->subsumptive' and
241         `->denotational'.
242
243 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * mule-charset.c (complex_vars_of_mule_charset): Modify the
246         X-registry of `ucs-bmp'.
247
248 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
249
250         * chartab.c (char-variants): Refer `->subsumptive',
251         `->denotational' and `->identical' as same as `->ucs-unified'.
252
253 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * chartab.c (Fput_char_attribute): Convert char-specs in value of
256         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
257         links.
258
259 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * text-coding.c: Add EXFUN for `Fregexp_quote'.
262         (decode_add_er_char): Fix problem about infinite loop when a CCS
263         specified in `coded-charset-entity-reference-alist' is not
264         existed.
265
266 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * mule-charset.c (syms_of_mule_charset): Rename
269         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
270
271 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * fns.c (simplify_char_spec): Don't allocate new character-object
274         if specified char_spec does not have any CCS-features.
275
276         * chartab.h: Add EXFUN for Fdefine_char.
277
278         * chartab.c: Delete EXFUN for Fdefine_char.
279
280 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * fns.c (simplify_char_spec): Use Fdefine_char instead of
283         Ffind_char for char-spec.
284
285 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
286
287         * lisp-disunion.h (XCHARVAL): Fix condition about
288         SIZEOF_EMACS_INT.
289
290 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
291
292         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
293         <int> for `code'.
294         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
295         point; use <Emchar> instead of <int> for character-id.
296
297 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
300         (make_char): Likewise.
301         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
302         environment.
303         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
304         instead of <int> as the type of return value; use <Lisp_Object>
305         instead of <Emchar> as the type of argument.
306         (XCHARVAL[macro version]): Cast the result into <Emchar>.
307
308         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
309         syntaxcode> instead of <int>.
310
311 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * chartab.c (put_char_composition): Use DECODE_CHAR to get
314         character corresponding with UCS code point.
315         (Fput_char_attribute): Likewise.
316
317         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
318         character in the UCS decoding-table if the char-id is not equal to
319         the UCS code point.
320
321 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
324         for aliases; write `description'; write
325         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
326         not 0.
327
328 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
329
330         * chartab.c (Fsave_char_attribute_table): Don't use
331         `save_charset_properties'.
332
333         * mule-charset.c (Fsave_charset_properties): Renamed from
334         `save_charset_properties' and changed to Lisp function again;
335         write property `type' as `CCS'; write properties `final-byte' and
336         `mother' if they exists.
337         (syms_of_mule_charset): Revive builtin function
338         `save-charset-properties' when HAVE_LIBCHISE is defined.
339
340 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
343         instead of Vexec_directory.
344         (char_attribute_system_db_file): Likewise.
345
346 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
347
348         * chartab.c (Fsave_char_attribute_table): Use
349         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
350         defined.
351
352         * mule-charset.c (save_charset_properties): Renamed from
353         `Fsave_charset_properties'; changed to non-Lisp function.
354         (syms_of_mule_charset): Abolish builtin function
355         `save-charset-properties'.
356
357 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * mule-charset.c (Fsave_charset_properties): New function when
360         HAVE_LIBCHISE is defined.
361         (syms_of_mule_charset): Add new builtin function
362         `save-charset-properties' when HAVE_LIBCHISE is defined.
363
364 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * chartab.c (Fput_char_attribute): Convert char-specs in value of
367         `{<-|->}ancient[^*]*' to characters and put reverse links.
368         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
369         for `{<-|->}ancient[^*]*'.
370
371 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Fput_char_attribute): Convert char-specs in value of
374         `{<-|->}original[^*]*' to characters and put reverse links.
375         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
376         for `{<-|->}original[^*]*'.
377
378 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
379
380         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
381
382 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * mule-charset.c (Qsystem_char_id): New variable.
385
386         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
387         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
388
389 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * chartab.c (Fput_char_attribute): When processing a reference of
392         a character, put into the end of the reversed reference of each
393         target character.
394
395 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (Q_same): Deleted.
398         (Q_same_of): Deleted.
399         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
400         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
401         for `{<-|->}same'.
402         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
403
404 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * chartab.c (Q_vulgar): Deleted.
407         (Q_vulgar_of): Deleted.
408         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
409         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
410         for `{<-|->}vulgar'.
411         (syms_of_chartab): Don't define `{<-|->}vulgar'.
412
413 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
414
415         * chartab.c (Fput_char_attribute): Convert char-specs in value of
416         `{<-|->}wrong[^*]*' to characters and put reverse links.
417         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
418         for `{<-|->}wrong[^*]*'.
419
420 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * chartab.c (Q_vulgar): New variable.
423         (Q_vulgar_of): New variable.
424         (Fput_char_attribute): Convert char-specs in value of
425         `{->|<-}vulgar' to characters and put reverse links.
426         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
427         for `{->|<-}vulgar'.
428         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
429
430 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * text-coding.c (decode_add_er_char): Must to quote prefix string
433         as regexp.
434
435 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * mule-charset.c (put_char_ccs_code_point): Store characters of
438         =ucs whose code_points >= 0xF0000.
439
440 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
441
442         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
443         CHISE.
444         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
445         CHISE.
446         (complex_vars_of_mule_charset): Add new coded-charset
447         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
448         builtin characters over 0xEFFFF.
449
450         * chartab.c (syms_of_chartab): Don't define symbol
451         `system-char-id' in every case.
452
453         * char-ucs.h (Qsystem_char_id): New extern variable.
454         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
455
456 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * text-coding.c (char_encode_utf8): Try to use entity-references
459         for U-000F0000 ...  U-0010FFFF.
460
461 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * text-coding.c (ER_BUF_SIZE): New macro.
464         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
465         `er_buf'.
466         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
467         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
468
469 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * chartab.c (find_char_feature_in_family): New function.
472         (Fchar_feature): Use `find_char_feature_in_family' with
473         `->identical', `<-subsumptive' and `<-denotational'.
474
475 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * text-coding.c (char_encode_as_entity_reference): Allow prefix
478         within 8 characters; fix infinite loop.
479
480 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c (Q_same): New variable.
483         (Q_same_of): New variable.
484         (Fput_char_attribute): Convert char-specs in value of
485         `{->|<-}same' to characters and put reverse links.
486         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
487         for `{->|<-}same'.
488         (syms_of_chartab): Add new symbols `{->|<-}same'.
489
490 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * chartab.c (Q_component): New variable.
493         (Q_component_of): Likewise.
494         (Fput_char_attribute): Convert char-specs in value of
495         `{->|<-}ideographic-component-forms' to characters and put reverse
496         links.
497         (syms_of_chartab): Add new symbols
498         `{->|<-}ideographic-component-forms'.
499
500 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
501
502         * chartab.c (Q_identical): New variable.
503         (Q_identical_from): New variable.
504         (Fchar_feature): Regard `->identical' as a feature to find
505         ancestors.
506         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
507         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
508         for `{->|<-}identical'.
509         (syms_of_chartab): Add new symbols `{->|<-}identical'.
510
511 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * char-ucs.h (encode_char_2): New inline function.
514         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
515
516 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * chartab.c (Fput_char_attribute): Convert char-specs to
519         characters in value of `ideographic-structure'.
520         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
521         for `{<-|->}simplified(@...)'.
522         (Fdefine_char): Try to use predefined character's id.
523
524 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * fns.c (simplify_char_spec): Try to convert builtin chars to
527         defined chars.
528
529 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * chartab.c (Fput_char_attribute): Convert char-specs in value of
532         `<-simplified[^*]*' to characters and put reverse links.
533
534 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * chartab.c (Q_subsumptive): Renamed from Q_unified.
537         (Q_subsumptive_from): Renamed from Q_unified_from.
538         (Fchar_feature): Use `Q_subsumptive_from' instead of
539         `Q_unified_from'.
540         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
541         `Q_unified'.
542         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
543         `<-unified' to `<-subsumptive'.
544
545 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
548         inheritance itself; fix typo; stop recursive search if cyclic
549         inheritance is found.
550
551 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * chartab.c (Q_denotational): New variable.
554         (Q_denotational_from): New variable.
555         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
556         (put_char_attribute): New function.
557         (Fput_char_attribute): Use `put_char_attribute'; regard
558         `->denotational' and `<-denotational' as same as `->unified' and
559         `<-unified'.
560         (syms_of_chartab): Add new symbols `->denotational' and
561         `<-denotational'.
562
563 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
566         `Fget_char_attribute'.
567         (Fchar_variants): Likewise.
568         (get_char_table): Likewise.
569         (Fchar_feature): New function.
570         (put_char_composition): Use `Fchar_feature' instead of
571         `Fget_char_attribute'.
572         (Fput_char_attribute): Likewise; don't put the target character
573         into its `->unified' value.
574         (syms_of_chartab): Add new builtin function `char-feature'.
575
576 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
579         `Fget_char_attribute'.
580         (char_encode_utf8): Likewise.
581
582         * chartab.h: Add an EXFUN for `Fchar_feature'.
583
584 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * chartab.c (Vnext_defined_char_id): New variable.
587         (Fput_char_attribute): Accept characters in `->unified'.
588         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
589         new characters which are not related with builtin char-id ranges.
590         (vars_of_chartab): Add new variable `next-defined-char-id'.
591
592 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * chartab.c (Q_unified): New variable.
595         (Q_unified_from): New variable.
596         (Fput_char_attribute): Add code for `->unified'.
597         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
598         XEmacs CHISE.
599
600 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
601
602         * mule-charset.c (decode_ccs_conversion): New function.
603         (decode_defined_char): Use `decode_ccs_conversion'.
604         (decode_builtin_char): Likewise.
605
606 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * char-ucs.h: Change some charset-ids of private coded-charsets.
609
610 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
613         (char_encode_as_entity_reference): Likewise.
614         (decode_coding_big5): Modify for `decode_defined_char' and
615         `DECODE_CHAR'.
616         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
617         avoid compiler warning.
618         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
619
620         * mule-charset.c (decode_defined_char): Add new argument
621         `without_inheritance'.
622         (Fdecode_char): Add new optional argument `without_inheritance'.
623         (Fdecode_builtin_char): Modify for `Fdecode_char'.
624
625         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
626         (simplify_char_spec): Likewise.
627
628         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
629         setting.
630
631         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
632         (map_char_table): Likewise.
633         (Fdefine_char): Use `Fdecode_char' without inheritance.
634         (Ffind_char): Modify for `Fdecode_char'.
635
636         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
637
638         * char-ucs.h (decode_defined_char): Add new argument
639         `without_inheritance'.
640         (DECODE_CHAR): Likewise.
641         (MAKE_CHAR): Modify for `DECODE_CHAR'.
642
643 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
644
645         * chartab.c (Vchise_system_db_directory): New variable.
646         (vars_of_chartab): Add new variable `chise-system-db-directory'.
647
648 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * chartab.c: EXFUN `Fmount_char_attribute_table'.
651         (print_chartab_range): Don't define when `UTF2000' is defined.
652         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
653         `CHISE_DS_open'.
654
655 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
658         and optional argument `rehash' is specified, call
659         `open_chise_data_source_maybe' before
660         `chise_ds_foreach_char_feature_name' is called.
661
662 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * chartab.c (char_attribute_list_reset_map_func): New function
665         when HAVE_LIBCHISE is defined.
666         (Fchar_attribute_list): Add new optional argument `rehash' when
667         HAVE_LIBCHISE is defined.
668         (open_chise_data_source_maybe): Use "chise-db" instead of
669         "char-db".
670         (char_attribute_system_db_file): Likewise.
671         (Fload_char_attribute_table): Use
672         `chise_feature_foreach_char_with_value' instead of
673         `chise_char_feature_value_iterate'.
674
675 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
676
677         * chartab.c (Vchise_db_directory): New variable.
678         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
679
680 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
681
682         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
683         instead of HAVE_CHISE to specify using with libchise.
684
685         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
686
687         * chartab.h: Don't use HAVE_CHISE_CLIENT.
688
689         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
690         defined or HAVE_LIBCHISE_LIBCHISE is defined.
691         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
692         is defined.
693         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
694         HAVE_CHISE to specify using with libchise.
695         (syms_of_chartab): Don't define symbol `system-char-id' when
696         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
697
698 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
701         specify CHISE DB support.
702         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
703         of `char_attribute_system_db_file' to check feature DB file.
704
705         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
706         HAVE_CHISE_CLIENT to specify CHISE DB support.
707
708         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
709         specify CHISE DB support.
710         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
711         not defined.
712         (Freset_char_attribute_table): Use `chise_feature_setup_db'
713         instead of `char_attribute_system_db_file' to check feature DB
714         file.
715
716 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
717
718         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
719         `HAVE_CHISE_CLIENT'.
720
721 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
724         (Fsave_charset_mapping_table): Don't use
725         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
726
727         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
728         (HAVE_LIBCHISE): New macro.
729
730         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
731
732         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
733         (Fsave_char_attribute_table): Don't use
734         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
735
736 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
739         defined.
740         (save_uint16_byte_table): Likewise.
741         (save_byte_table): Likewise.
742         (char_table_get_db): Use `chise_ds_load_char_feature_value'
743         instead of `chise_char_load_feature_value'.
744         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
745
746 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * chartab.h (struct Lisp_Char_Table): Delete member
749         `feature_table' if CHISE is defined.
750
751         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
752         (Fcopy_char_table): Likewise.
753         (char_table_open_db_maybe): Likewise.
754         (char_table_close_db_maybe): Likewise.
755         (char_table_get_db): Likewise.
756         (Fmount_char_attribute_table): Likewise.
757         (Fload_char_attribute_table): Likewise.
758
759 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * mule-charset.c (load_char_decoding_entry_maybe): Use
762         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
763         `chise_ccs_decode'.
764
765 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
768         instead of `chise_open_data_source'.
769         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
770         `chise_ds_close'.
771
772 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
775         instead of `chise_ds_open_feature_table'.
776         (char_table_close_db_maybe): Don't use `chise_ft_close'.
777
778 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
779
780         * mule-charset.c (Fsave_charset_mapping_table): Use
781         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
782         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
783         `chise_ccs_sync' instead of `chise_ccst_close'.
784         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
785
786         * chartab.c (open_chise_data_source_maybe): Modify for
787         `chise_open_data_source'.
788         (char_table_open_db_maybe): Modify for
789         `chise_ds_open_feature_table'.
790
791 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
792
793         * mule-charset.c (load_char_decoding_entry_maybe): Use
794         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
795         `chise_ccst_close'.
796
797 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
798
799         * mule-charset.c (Fsave_charset_mapping_table): Use
800         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
801         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
802         `chise_dt_put_char' and `chise_dt_close'.
803         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
804         `chise_ccs_decode' and `chise_ccst_close' instead of
805         `chise_ds_open_decoding_table', `chise_dt_get_char' and
806         `chise_dt_close'.
807
808         * chartab.c (char_table_get_db): Use
809         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
810         (load_char_attribute_table_map_func): Modify for
811         `chise_char_feature_value_iterate'.
812         (Fload_char_attribute_table): Use
813         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
814
815 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
818
819 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
820
821         * chartab.c (put_char_table): Modify for inherited coded-charsets
822         in XEmacs CHISE.
823
824 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
825
826         * chartab.c (Fput_char_table_map_function): Fixed.
827         (word_boundary_p): Don't check charset in XEmacs CHISE.
828
829 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
830
831         * mule-charset.c (Fsave_charset_mapping_table): Use
832         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
833         instead of `chise_open_decoding_table'; refer
834         `default_chise_data_source'; use `chise_dt_close' instead of
835         `chise_close_decoding_table'.
836         (load_char_decoding_entry_maybe): Likewise.
837
838         * chartab.c (default_chise_data_source): New variable when `CHISE'
839         is defined.
840         (Fcopy_char_table): `ct->ds' is deleted.
841         (open_chise_data_source_maybe): New function.
842         (Fclose_char_data_source): New function.
843         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
844         use `chise_ds_open_feature_table' instead of
845         `chise_open_feature_table'.
846         (char_table_close_db_maybe): Use `chise_ft_close' instead of
847         `chise_close_feature_table'; `cit->ds' is deleted.
848         (syms_of_chartab): Add new builtin function
849         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
850
851         * chartab.h (default_chise_data_source): New extern variable.
852         (open_chise_data_source_maybe): New prototype.
853         (struct Lisp_Char_Table): Delete `ds'.
854
855 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
858         `CHISE' is defined.
859
860 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
861
862         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
863         not defined; add code for non-libchise setting.
864         (char_table_close_db_maybe): Likewise.
865         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
866         defined.
867         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
868         even if `CHISE' is not defined.
869         (Freset_char_attribute_table): Likewise.
870         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
871         `char_table_close_db_maybe' even if `CHISE' is not defined; use
872         `char_table_get_db'.
873         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
874         `char_table_close_db_maybe' even if `CHISE' is not defined.
875
876 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
877
878         * chartab.c (char_table_open_db_maybe): New function.
879         (char_table_close_db_maybe): New function.
880         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
881         (Freset_char_attribute_table): Likewise.
882         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
883         `char_table_close_db_maybe'.
884         (Fload_char_attribute_table): Likewise.
885
886 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
887
888         * chartab.c: Don't include <chise.h> because it is included in
889         chartab.h.
890         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
891         defined.
892         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
893         `CHISE' is defined.
894         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
895         `CHISE' is defined.
896         (Fclose_char_attribute_table): Close `ct->feature_table' and
897         `ct->ds' when `CHISE' is defined.
898         (Freset_char_attribute_table): Likewise.
899         (load_char_attribute_maybe): Use `cit->ds' and
900         `cit->feature_table' when `CHISE' is defined.
901         (Fload_char_attribute_table): Likewise.
902
903         * chartab.h: Include <chise.h> when `CHISE' is defined.
904         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
905         when `CHISE' is defined.
906
907 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
908
909         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
910         is defined.
911         (char_table_description): Likewise.
912         (Fmake_char_table): Likewise.
913         (Fcopy_char_table): Likewise.
914         (Fmount_char_attribute_table): Likewise.
915         (Fclose_char_attribute_table): Likewise.
916         (Freset_char_attribute_table): Likewise.
917         (load_char_attribute_maybe): Likewise.
918         (Fload_char_attribute_table): Likewise.
919
920         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
921         defined.
922
923 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
924
925         * chartab.c (load_char_attribute_table_map_func): New function
926         when CHISE is defined.
927         (Qload_char_attribute_table_map_function): Don't define when CHISE
928         is defined.
929         (Fload_char_attribute_table_map_function): Likewise.
930         (Fload_char_attribute_table): Use libchise when `CHISE' is
931         defined.
932         (syms_of_chartab): Don't define
933         `load-char-attribute-table-map-function' when CHISE is defined.
934
935 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
936
937         * chartab.c: Include <chise.h> when `CHISE' is defined.
938         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
939
940 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * mule-charset.c (charset_code_point): Fix problem when searching
943         in mother CCS fails with `defined_only' mode.
944
945 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
946
947         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
948         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
949         (put_char_composition): Likewise.
950         (Fput_char_attribute): Likewise.
951         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
952
953 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
954
955         * chartab.c (Q_ucs): Deleted.
956         (Fput_char_attribute): Don't refer `->ucs'.
957         (Fdefine_char): Likewise.
958         (Ffind_char): Likewise.
959         (syms_of_chartab): Delete `->ucs'.
960
961 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
962
963         * mule-charset.c (Qmap_cns11643_2): Renamed from
964         `Qchinese_cns11643_2'.
965         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
966         `chinese-cns11643-2'.
967         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
968         `=cns11643-2'.
969
970 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
971
972         * mule-charset.c (Qmap_cns11643_1): Renamed from
973         `Qchinese_cns11643_1'.
974         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
975         `chinese-cns11643-1'.
976         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
977         `=cns11643-1'.
978
979 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
980
981         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
982         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
983         `chinese-gb12345'.
984         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
985         `=gb12345'.
986
987 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
988
989         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
990         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
991         `chinese-gb2312'.
992         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
993         `=gb2312'.
994
995 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
996
997         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
998         (syms_of_mule_charset): Add new symbol `=big5' instead of
999         `chinese-big5'.
1000         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1001
1002 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1005         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1006         `korean-ksc5601'.
1007         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1008         `=ks-x1001'.
1009
1010 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1011
1012         * mule-charset.c (Qmap_jis_x0212): Renamed from
1013         `Qjapanese_jisx0212'.
1014         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1015         `japanese-jisx0212'.
1016         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1017         `=jis-x0212'.
1018
1019 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1020
1021         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1022         `Qjapanese_jisx0208'.
1023         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1024         of `japanese-jisx0208'.
1025         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1026         `=jis-x0208-1983'.
1027
1028 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1031         `Qjapanese_jisx0208_1978'.
1032         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1033         of `japanese-jisx0208-1978'.
1034         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1035         `=jis-x0208-1978'.
1036
1037 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1038
1039         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1040         only for XEmacs CHISE.
1041
1042 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1043
1044         * char-ucs.h: Compact non-ISO-IR charset-ids.
1045         (LEADING_BYTE_UCS): Changed to -177.
1046         (LEADING_BYTE_CONTROL_1): Changed to -77.
1047         (LEADING_BYTE_UCS_BMP): Changed to -176.
1048         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1049
1050 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * mule-charset.c (Qiso_ir): New variable.
1053         (Fmake_charset): Recognise new property `iso-ir'.
1054         (syms_of_mule_charset): Add new symbol `iso-ir'.
1055
1056 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1057
1058         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1059         n to -n; charset-id of non ISO-IR sets are changed to positive
1060         numbers.
1061
1062 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1063
1064         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1065         for &MCS-XXXXXXXX; values.
1066
1067 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1068
1069         * mule.c (Vxemacs_chise_version): Renamed from
1070         `Vutf_2000_version'.
1071         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1072         `utf-2000-version' as an alias for `xemacs-chise-version'.
1073
1074 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1075
1076         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1077         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1078         defined.
1079
1080         * config.h.in (CHISE): New macro.
1081
1082 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1083
1084         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1085         of `ucs'.
1086         (Qmap_ucs): New variable.
1087         (syms_of_mule_charset): Add new symbol `=ucs'.
1088         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1089
1090         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1091         (simplify_char_spec): Likewise.
1092
1093         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1094
1095         * char-ucs.h (Qmap_ucs): New extern variable.
1096
1097 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1100         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1101         don't define it when UTF2000 is not defined.
1102         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1103         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1104         when UTF2000 is not defined.
1105         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1106         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1107
1108 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1111
1112         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1113         (Qucs_gb): Deleted.
1114         (syms_of_mule_charset): Delete `ucs-gb'.
1115         (complex_vars_of_mule_charset): Likewise.
1116
1117 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1118
1119         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1120
1121         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1122         (Qucs_cns): Deleted.
1123         (syms_of_mule_charset): Delete `ucs-cns'.
1124         (complex_vars_of_mule_charset): Likewise.
1125
1126 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1129
1130         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1131         (Qucs_jis): Deleted.
1132         (syms_of_mule_charset): Delete `ucs-jis'.
1133         (complex_vars_of_mule_charset): Likewise.
1134
1135 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1136
1137         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1138
1139         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1140         (Qucs_ks): Deleted.
1141         (syms_of_mule_charset): Delete `ucs-ks'.
1142         (complex_vars_of_mule_charset): Likewise.
1143
1144 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1145
1146         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1147         (Qideograph_daikanwa_2): Deleted.
1148         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1149         (complex_vars_of_mule_charset): Likewise.
1150
1151         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1152         (LEADING_BYTE_DAIKANWA_1): Deleted.
1153         (LEADING_BYTE_DAIKANWA_2): Deleted.
1154         (MIN_CHAR_DAIKANWA): Deleted.
1155         (MAX_CHAR_DAIKANWA): Deleted.
1156
1157 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1158
1159         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1160         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1161         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1162
1163         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1164         (Vcharset_ideograph_daikanwa): Deleted.
1165         (Qideograph_hanziku_{1..12}): Deleted.
1166         (Qideograph_daikanwa): Deleted.
1167         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1168         Vcharset_ideograph_daikanwa.
1169         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1170         `ideograph-hanziku-{1..12}'.
1171         (complex_vars_of_mule_charset): Likewise.
1172
1173 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1174
1175         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1176
1177         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1178         (Qideograph_gt_pj_{1..11}): Deleted.
1179         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1180         (complex_vars_of_mule_charset): Likewise.
1181
1182 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1185         (Vcharset_ideograph_gt): Deleted.
1186         (Qucs_big5): Deleted.
1187         (Qideograph_gt): Deleted.
1188         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1189         `ideograph-gt'.
1190         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1191         and `ideograph-gt'.
1192
1193         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1194         (LEADING_BYTE_GT): Deleted.
1195         (MIN_CHAR_GT): Deleted.
1196         (MAX_CHAR_GT): Deleted.
1197
1198 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1199
1200         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1201
1202 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1203
1204         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1205         (save_uint16_byte_table): Likewise.
1206         (save_byte_table): Likewise; convert values by it.
1207         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1208         for `ideographic-structure'.
1209         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1210         as the filter for `ideographic-structure'.
1211
1212 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1213
1214         * chartab.c (put_char_composition): New function.
1215         (Fput_char_attribute): Use `put_char_composition'; use
1216         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1217
1218         * fns.c (simplify_char_spec): New function.
1219         (char_ref_simplify_spec): New function.
1220         (Fchar_refs_simplify_char_specs): New function.
1221         (syms_of_fns): Add new builtin function
1222         `char-refs-simplify-char-specs'.
1223
1224 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1225
1226         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1227         (Qideograph_cbeta): Deleted.
1228         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1229         (complex_vars_of_mule_charset): Likewise.
1230
1231         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1232         (MIN_CHAR_CBETA): Comment out.
1233         (MAX_CHAR_CBETA): Likewise.
1234
1235 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1238         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1239         CHISE client feature.
1240
1241 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1242
1243         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1244
1245 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1246
1247         * mule-charset.c (charset_lookup_description_1): Use
1248         `NUM_LEADING_BYTES' in UTF-2000.
1249
1250 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * char-ucs.h (GC_CHARSETP): Deleted.
1253
1254 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1255
1256         * char-ucs.h (MAX_CHAR_GT): Updated.
1257
1258 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1259
1260         * text-coding.c: Sync with XEmacs 21.4.10.
1261
1262 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * mule-charset.c (Vcharset_china3_jef): Deleted.
1265         (Qchina3_jef): Deleted.
1266         (syms_of_mule_charset): Don't define `china3-jef'.
1267         (complex_vars_of_mule_charset): Likewise.
1268
1269         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1270         (MIN_CHAR_CHINA3_JEF): Comment out.
1271         (MAX_CHAR_CHINA3_JEF): Comment out.
1272
1273 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * mule-charset.c (Vcharset_ucs_gb): New variable.
1276         (Qucs_gb): New variable.
1277         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1278         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1279
1280         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1281
1282 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * mule-charset.c (charset_code_point): if a coded-charset has a
1285         final-byte, don't inherit the builtin range of the mother CCS.
1286
1287 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * mule-charset.c (charset_code_point): Fix problem about
1290         inheritance.
1291
1292 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1293
1294         * mule-charset.c (decode_builtin_char): Reorganized.
1295
1296 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * text-coding.c (char_encode_as_entity_reference): Modify for
1299         `charset_code_point'.
1300         (char_encode_shift_jis): Likewise.
1301         (char_encode_big5): Likewise.
1302         (char_encode_utf8): Likewise.
1303         (char_encode_iso2022): Likewise.
1304
1305         * mule-charset.c (charset_code_point): Add new argument
1306         `defined_only'.
1307         (Fencode_char): Add new optional argument `defined_only'.
1308
1309         * chartab.c (put_char_table): Modify for `charset_code_point'.
1310
1311         * char-ucs.h (charset_code_point): Add new argument
1312         `defined_only'.
1313         (encode_char_1): Modify for `charset_code_point'.
1314
1315 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1318         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1319
1320 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1323         (Qjis_x0208): Likewise.
1324         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1325         XCHARSET_FINAL(charset).
1326         (charset_code_point): Modify condition for final-byte based
1327         builtin-chars.
1328         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1329         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1330         in UTF-2000; specify `=jis-x0208' as the mother of
1331         `japanese-jisx0208-1978', `japanese-jisx0208' and
1332         `japanese-jisx0208-1990' in UTF-2000.
1333
1334 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1335
1336         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1337
1338 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1339
1340         * text-coding.c (decode_coding_utf16): Support UTF-16.
1341         (char_encode_utf16): Fixed.
1342
1343 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * text-coding.c (Qutf16): New variable in MULE.
1346         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1347         (Fcoding_system_type): Add `utf-16' in MULE.
1348         (struct detection_state): Add a structure for utf16 in MULE.
1349         (detect_coding_type): Setup st->utf16.mask in MULE.
1350         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1351         MULE.
1352         (reset_encoding_stream): Use `char_encode_utf16' and
1353         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1354         (detect_coding_utf16): New function [incomplete].
1355         (decode_coding_utf16): New function [support only UCS-2].
1356         (char_encode_utf16): New function.
1357         (char_finish_utf16): New function.
1358         (syms_of_file_coding): Add new symbol `utf-16'; setup
1359         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1360
1361         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1362         UTF-2000.
1363         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1364         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1365
1366 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * chartab.c (put_char_table): When a charset is specified as a
1369         range in UTF-2000, don't support builtin characters.
1370
1371 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1372
1373         * mule-charset.c (decode_defined_char): Don't refer external
1374         database if Qunbound or Qnil are found.
1375         (Fsave_charset_mapping_table): Don't define it if
1376         HAVE_CHISE_CLIENT is not defined.
1377         (Freset_charset_mapping_table): New function.
1378         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1379         found in external database.
1380         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1381         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1382         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1383
1384 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1385
1386         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1387         not.
1388
1389 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1390
1391         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1392         Q_lowercase, Q_uppercase in UTF-2000.
1393
1394         * chartab.c (get_char_table): Add special code for the standard
1395         case table to use character attribute `->downcase' and
1396         `->uppercase' for case operations in UTF-2000.
1397
1398         * casetab.c (Qflippedcase): New variable in UTF-2000.
1399         (Q_lowercase): Likewise.
1400         (Q_uppercase): Likewise.
1401         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1402         and `->uppercase' in UTF-2000.
1403         (complex_vars_of_casetab): Assign attribute name `downcase' to
1404         downcase and CANON table of Vstandard_case_table in UTF-2000;
1405         assign attribute name `flippedcase' to upcase and EQV table of
1406         Vstandard_case_table in UTF-2000.
1407
1408 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * text-coding.c (decode_add_er_char): Support isolated-chars.
1411         (char_encode_as_entity_reference): Likewise.
1412
1413 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * emacs.c (Vutf_2000_lisp_directory): New variable.
1416         (Vconfigure_utf_2000_lisp_directory): Likewise.
1417         (complex_vars_of_emacs): Add new variable
1418         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1419
1420 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * char-ucs.h (DECODE_CHAR): Delete special code for
1423         `chinese-big5-1' and `chinese-big5-2'.
1424
1425         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1426         (Qbig5_2): Likewise.
1427         (decode_defined_char): Support CONVERSION_BIG5_1 and
1428         CONVERSION_BIG5_2.
1429         (decode_builtin_char): Likewise.
1430         (charset_code_point): Likewise.
1431         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1432         'conversion in UTF-2000.
1433         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1434         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1435         `chinese-big5-2' as children of `chinese-big5'.
1436
1437         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1438         (CONVERSION_BIG5_2): New macro.
1439
1440 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1441
1442         * text-coding.c (char_encode_big5): Support entity-reference.
1443
1444 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * text-coding.c (char_encode_as_entity_reference): New function.
1447         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1448
1449 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * text-coding.c (decode_coding_big5): Support entity-reference
1452         decoding feature.
1453
1454 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1455
1456         * text-coding.c (allocate_coding_system): Initialize initial
1457         charsets for CODESYS_UTF8.
1458         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1459         charset-g2 for CODESYS_UTF8.
1460         (decode_coding_utf8): Use charset-g0.
1461         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1462         to force variants to map to UCS.
1463
1464 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1465
1466         * text-coding.c (Qutf_8_mcs): New variable.
1467         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1468         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1469         instead of `utf-8' in UTF-2000.
1470
1471 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1472
1473         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1474         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1475         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1476         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1477         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1478         CONVERSION_96x96x96x96 are introduced.
1479         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1480         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1481         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1482
1483         * char-ucs.h (CONVERSION_94): New macro.
1484         (CONVERSION_96): New macro.
1485         (CONVERSION_94x94): New macro.
1486         (CONVERSION_96x96): New macro.
1487         (CONVERSION_94x94x94): New macro.
1488         (CONVERSION_96x96x96): New macro.
1489         (CONVERSION_94x94x94x60): New macro.
1490         (CONVERSION_94x94x94x94): New macro.
1491         (CONVERSION_96x96x96x96): New macro.
1492
1493 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1494
1495         * chartab.c (Vcharacter_variant_table): Deleted.
1496         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1497         of `Vcharacter_variant_table'.
1498         (Fput_char_attribute): Likewise.
1499         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1500         (complex_vars_of_chartab): Likewise.
1501
1502 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1505
1506         * fns.c (Qideographic_structure): New variable.
1507         (Qkeyword_char): New variable.
1508         (ids_format_unit): New function.
1509         (Fideographic_structure_to_ids): New function.
1510         (syms_of_fns): Add new symbols `ideographic-structure' and
1511         `:char'; add new builtin function `ideographic-structure-to-ids'.
1512
1513         * data.c (Fchar_ref_p): New function.
1514         (syms_of_data): Add new builtin function `char-ref-p'.
1515
1516         * chartab.h: Add an EXFUN for `Ffind_char'.
1517
1518 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * text-coding.c (Vcharacter_composition_table): Deleted.
1521         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1522         in every UTF-2000.
1523
1524         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1525         UTF-2000.
1526         (Vcharacter_composition_table): Deleted.
1527         (Fget_composite_char): Use the implementation for external-DB
1528         support in every UTF-2000.
1529         (Fput_char_attribute): Likewise.
1530         (char_attribute_system_db_file): Don't define if external-DB
1531         feature is not available.
1532         (Fsave_char_attribute_table): Likewise.
1533         (Fmount_char_attribute_table): Likewise.
1534         (Fclose_char_attribute_table): Likewise.
1535         (Freset_char_attribute_table): Likewise.
1536         (Fload_char_attribute_table): Likewise.
1537         (syms_of_chartab): Don't define `save-char-attribute-table',
1538         `mount-char-attribute-table', `reset-char-attribute-table',
1539         `close-char-attribute-table' and `load-char-attribute-table' if
1540         external-DB feature is not available.
1541         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1542
1543 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1544
1545         * text-coding.c (Qcomposition): Add extern if external-DB feature
1546         is supported.
1547         (Vcharacter_composition_table): Don't add extern if external-DB
1548         feature is supported.
1549         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1550         character composition rule if external-DB feature is supported.
1551
1552         * chartab.c (Vcharacter_composition_table): Don't define if
1553         external-DB feature is supported.
1554         (Qcomposition): New variable.
1555         (Fget_composite_char): New implementation for external-DB support.
1556         (Fput_char_attribute): Use `composition' property of each
1557         character instead of `Vcharacter_composition_table' to store
1558         character-composition rules if external-DB feature is supported.
1559         (syms_of_chartab): Add new symbol `composition'.
1560         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1561         external-DB feature is supported.
1562
1563 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1564
1565         * chartab.c (Vchar_db_stingy_mode): New variable.
1566         (load_char_attribute_maybe): Close database if
1567         Vchar_db_stingy_mode is not NIL.
1568         (Fload_char_attribute_table_map_function): Use
1569         `get_char_id_table_0' instead of `get_char_id_table'.
1570         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1571
1572         * chartab.h (get_char_id_table_0): New inline function.
1573         (get_char_id_table): Use `get_char_id_table_0'.
1574
1575 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1576
1577         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1578         and `COMPOSE_ADD_CHAR'.
1579         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1580
1581 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1582
1583         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1584         instead of `DECODE_ADD_UCS_CHAR'.
1585         (COMPOSE_ADD_CHAR): Likewise.
1586
1587 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * text-coding.c (decode_flush_er_chars): New inline function.
1590         (decode_add_er_char): New function.
1591         (decode_coding_utf8): Use `decode_flush_er_chars' and
1592         `decode_add_er_char'.
1593
1594 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1595
1596         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1597         done before `decode_output_utf8_partial_char'.
1598
1599         * mule-charset.c (complex_vars_of_mule_charset): Specify
1600         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1601         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1602
1603 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (decode_defined_char): New function; search
1606         mother.
1607         (decode_builtin_char): Don't search mother if
1608         XCHARSET_MAX_CODE(charset) == 0.
1609         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1610         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1611         (Fdecode_char): Use `decode_defined_char' instead of
1612         `DECODE_DEFINED_CHAR'.
1613         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1614         mother of `Vcharset_ucs_jis'.
1615
1616         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1617         instead of `DECODE_DEFINED_CHAR'.
1618
1619         * char-ucs.h (decode_defined_char): Renamed from
1620         `DECODE_DEFINED_CHAR'; changed to normal function.
1621         (DECODE_CHAR): Use `decode_defined_char' instead of
1622         `DECODE_DEFINED_CHAR'.
1623
1624         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1625
1626 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1629
1630         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1631         variable.
1632         (Quse_entity_reference): New variable.
1633         (Qd): New variable.
1634         (Qx): New variable.
1635         (QX): New variable.
1636         (coding_system_description): Add description for
1637         `ccs_priority_list'.
1638         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1639         (allocate_coding_system): Initialize `ccs_priority_list' in
1640         UTF-2000.
1641         (Fmake_coding_system): Add description about
1642         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1643         (codesys).
1644         (Fcoding_system_property): Accept `disable-composition' and
1645         `use-entity-reference' in UTF-2000.
1646         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1647         in UTF-2000.
1648         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1649         (decode_coding_utf8): Decode entity-reference if
1650         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1651         (char_encode_utf8): Encode non-Unicode characters as
1652         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1653         (str->codesys).
1654         (syms_of_file_coding): Add new symbols `use-entity-reference',
1655         `d', `x', `X'.
1656         (vars_of_file_coding): Add new variable
1657         `coded-charset-entity-reference-alist'.
1658         (complex_vars_of_file_coding): Declare `disable-composition' and
1659         `use-entity-reference' to be coding-system-properties in UTF-2000.
1660
1661         * file-coding.h (struct Lisp_Coding_System): Add new member
1662         `use_entity_reference' and `ccs_priority_list'.
1663         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1664         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1665         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1666
1667 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1668
1669         * chartab.c (save_uint8_byte_table): Don't clear the table.
1670         (save_uint16_byte_table): Likewise.
1671         (save_byte_table): Likewise.
1672         (Fmount_char_attribute_table): New function.
1673         (syms_of_chartab): Add new builtin function
1674         `mount-char-attribute-table'.
1675
1676 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1679         "w+" mode.
1680         (load_char_decoding_entry_maybe): Open database as read-only mode.
1681
1682         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1683         open database as "w+" mode.
1684         (load_char_attribute_maybe): Open database as read-only mode.
1685         (Fload_char_attribute_table): Likewise.
1686
1687 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1688
1689         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1690         (char_table_description): Delete member `db_file'.
1691         (Fmake_char_table): Don't refer `ct->db_file'.
1692         (Fcopy_char_table): Likewise.
1693         (Fsave_char_attribute_table): Likewise.
1694         (Fclose_char_attribute_table): Likewise.
1695         (Freset_char_attribute_table): Likewise.
1696         (load_char_attribute_maybe): Likewise.
1697         (Fload_char_attribute_table): Likewise.
1698
1699         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1700
1701 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1704         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1705         `ct->db' is living.
1706         (load_char_attribute_maybe): Likewise.
1707         (Fload_char_attribute_table): Likewise.
1708
1709 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1710
1711         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1712         `ct->db_file' unconditionally.
1713
1714 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1715
1716         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1717         UTF-2000.
1718         (char_table_description): Add description for `db_file' and `db'
1719         in UTF-2000.
1720         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1721         UTF-2000.
1722         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1723         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1724         (Fclose_char_attribute_table): New function.
1725         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1726         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1727         and `cit->db'.
1728         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1729         (syms_of_chartab): Add new builtin function
1730         `Fclose_char_attribute_table'.
1731
1732 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1733
1734         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1735         `db' in UTF-2000.
1736         (load_char_attribute_maybe): Change interface.
1737         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1738
1739 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1740
1741         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1742
1743 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1744
1745         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1746         instead of `DECODE_CHAR' for mother; don't use special code for
1747         chinese-big5 to use code space of chinese-big5-1 and
1748         chinese-big5-2.
1749         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1750         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1751
1752         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1753         (MAX_CHAR_BIG5_CDP): Revival.
1754
1755 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1756
1757         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1758         the XLFD registry-encoding name of `chinese-big5'.
1759
1760 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1761
1762         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1763         (Qchinese_big5_cdp): Deleted.
1764         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1765         (complex_vars_of_mule_charset): Delete coded-charset
1766         `chinese-big5-cdp'.
1767
1768         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1769         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1770         `CHARSET_ID_OFFSET - n' for private CCS.
1771         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1772         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1773         of `MIN_LEADING_BYTE'.
1774         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1775         `(CHARSET_ID_OFFSET - 97)'.
1776         (MIN_CHAR_BIG5_CDP): Deleted.
1777         (MAX_CHAR_BIG5_CDP): Deleted.
1778
1779 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1780
1781         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1782
1783 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1786         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1787         chartab.c].
1788
1789         * chartab.c (Vutf_2000_version): Moved to mule.c.
1790         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1791
1792 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1795         when HAVE_CHISE_CLIENT is not defined.
1796
1797         * mule.c (vars_of_mule): Provide feature `chise' when
1798         HAVE_CHISE_CLIENT is defined.
1799
1800 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1801
1802         * config.h.in (UTF2000): Add comment.
1803         (HAVE_CHISE_CLIENT): New macro.
1804
1805 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1806
1807         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1808         CONSP.
1809         (Fput_char_attribute): Likewise.
1810         (char_attribute_system_db_file): Encode file-name of attribute.
1811         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1812         the initial value.
1813
1814 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1815
1816         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1817         (Fsave_charset_mapping_table): Use
1818         `char_attribute_system_db_file'.
1819         (load_char_decoding_entry_maybe): Likewise.
1820
1821         * chartab.h (Qsystem_char_id): New external variable.
1822         (char_attribute_system_db_file): New prototype.
1823
1824         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1825         (char_attribute_system_db_file): New function.
1826         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1827         (Freset_char_attribute_table): Likewise.
1828         (load_char_attribute_maybe): Likewise.
1829         (Fload_char_attribute_table): Likewise.
1830         (syms_of_chartab): Add new symbol `system-char-id'.
1831
1832 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1833
1834         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1835         `XCHARSET_GRAPHIC(ccs)'.
1836
1837 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1840
1841 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1842
1843         * chartab.c (Q_ucs_variants): New variable.
1844         (syms_of_chartab): Add new symbol `->ucs-variants'.
1845         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1846         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1847         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1848
1849         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1850
1851         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1852         `HAVE_DATABASE' is defined.
1853         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1854         `HAVE_DATABASE' is defined.
1855
1856 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1857
1858         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1859         attribute-table.
1860         (Freset_char_attribute_table): New function.
1861         (syms_of_chartab): Add new builtin function
1862         `reset-char-attribute-table'.
1863
1864 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1865
1866         * chartab.c (load_char_attribute_maybe): Don't make directories.
1867
1868 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1869
1870         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1871
1872         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1873         for decoding-table.
1874
1875 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1876
1877         * mule-charset.c (Fsave_charset_mapping_table): Use
1878         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1879
1880         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1881         instead of `XCHARSET_CHARS'.
1882
1883 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1884
1885         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1886         (XCHARSET_BYTE_SIZE): Likewise.
1887
1888         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1889         mule-charset.c].
1890         (XCHARSET_BYTE_SIZE): Likewise.
1891
1892 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1893
1894         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1895         data-directory to store database.
1896         (Fsave_char_attribute_table): Likewise.
1897         (load_char_attribute_maybe): Likewise.
1898         (Fload_char_attribute_table): Likewise.
1899
1900 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1901
1902         * mule-charset.c (Fsave_charset_mapping_table): New function.
1903         (syms_of_mule_charset): Add new builtin function
1904         `save-charset-mapping-table'.
1905
1906 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1909         (get_ccs_octet_table): New inline function.
1910         (put_ccs_octet_table): Likewise.
1911         (decoding_table_put_char): Use `get_ccs_octet_table' and
1912         `put_ccs_octet_table'.
1913         (decoding_table_remove_char): Use `decoding_table_put_char'.
1914         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1915
1916         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1917         into encoding_table.
1918         (make_charset): Use Qunbound instead Qnil as initial value of
1919         decoding_table.
1920
1921 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1922
1923         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1924         element is Qunloaded.
1925         (map_over_uint16_byte_table): Likewise.
1926         (map_over_byte_table): Likewise.
1927         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1928         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1929         database support, load encoding-table of the specified
1930         coded-charset if it is not loaded yet.
1931         (save_uint8_byte_table): New function of UTF-2000 with external
1932         database support.
1933         (save_uint16_byte_table): Likewise.
1934         (save_byte_table): Likewise.
1935         (Fput_char_attribute): Don't store value into external database
1936         even if the external database feature is supported in UTF-2000;
1937         set `attribute' as name of char-table if the external database
1938         feature is supported.
1939         (Fsave_char_attribute_table): New function in UTF-2000.
1940         (syms_of_chartab): Add new builtin function
1941         `save-char-attribute-table' in UTF-2000.
1942
1943 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1944
1945         * chartab.c (char_attribute_table_to_put): New variable in
1946         UTF-2000.
1947         (Qput_char_table_map_function): Likewise.
1948         (value_to_put): Likewise.
1949         (Fput_char_table_map_function): New function in UTF-2000.
1950         (put_char_table): Use `Fmap_char_attribute' for
1951         CHARTAB_RANGE_CHARSET in UTF-2000.
1952         (Fput_char_attribute): Store symbol instead of string in
1953         `XCHAR_TABLE_NAME (table)'.
1954         (load_char_attribute_maybe): Likewise.
1955         (syms_of_chartab): Add new symbol/function
1956         `put-char-table-map-function'.
1957
1958 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1959
1960         * database.h: Add new EXFUN for `Fmap_database'.
1961
1962         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1963         (syms_of_database): Likewise.
1964
1965         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1966         UTF-2000.
1967         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1968         (XCHAR_TABLE_UNLOADED): Likewise.
1969
1970         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1971         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1972         HAVE_DATABASE is defined.
1973         (char_attribute_table_to_load): New variable of UTF-2000 with
1974         external database support.
1975         (Qload_char_attribute_table_map_function): Likewise.
1976         (Fload_char_attribute_table_map_function): New function of
1977         UTF-2000 with external database support.
1978         (Fload_char_attribute_table): New function of UTF-2000.
1979         (Fmap_char_attribute): Call Fload_char_attribute_table if
1980         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1981         (syms_of_chartab): Add new symbol and function
1982         `load-char-attribute-table-map-function' in UTF-2000 with external
1983         database support; add new function `load-char-attribute-table' in
1984         UTF-2000.
1985
1986 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1987
1988         * chartab.h (load_char_attribute_maybe): New prototype for
1989         UTF-2000 with DATABASE support.
1990         (get_char_id_table): Use `load_char_attribute_maybe' if
1991         HAVE_DATABASE is defined.
1992
1993         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1994         with DATABASE support.
1995
1996 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1997
1998         * chartab.c (Fput_char_attribute): Use S-expression as key of
1999         external database.
2000
2001         * chartab.h (get_char_id_table): Use S-expression as key of
2002         external database.
2003
2004 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2007         if an element is not loaded, load the corresponding attributes
2008         from an external database.
2009         (map_over_uint16_byte_table): Likewise.
2010         (map_over_byte_table): Likewise.
2011         (map_char_table): Modify for `map_over_uint8_byte_table',
2012         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2013         element is not loaded, load the corresponding attributes from an
2014         external database.
2015         (Fput_char_attribute): Change initial values to Qunloaded.
2016
2017         * chartab.h (get_char_id_table): If a character attribute is not
2018         loaded and the attribute value is not found in an external
2019         database, store Qunbound as the attribute value.
2020
2021 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2022
2023         * chartab.c (BT_UINT8_unloaded): New macro.
2024         (UINT8_VALUE_P): Accept Qunloaded.
2025         (UINT8_ENCODE): Likewise.
2026         (UINT8_DECODE): Likewise.
2027         (BT_UINT16_unloaded): New macro.
2028         (UINT16_VALUE_P): Accept Qunloaded.
2029         (UINT16_ENCODE): Likewise.
2030         (UINT16_DECODE): Likewise.
2031         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2032         BT_UINT16_unloaded.
2033         (mark_char_table): Mark `ct->name' in UTF-2000.
2034         (char_table_description): Add `name' in UTF-2000.
2035         (Fmake_char_table): Initialize `ct->name'.
2036         (Fcopy_char_table): Copy `ct->name'.
2037         (Fput_char_attribute): Store value into an external database if
2038         HAVE_DATABASE is defined.
2039
2040         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2041         UTF-2000.
2042         (CHAR_TABLE_NAME): New macro in UTF-2000.
2043         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2044         (get_char_id_table): Try to read an external database if Qunloaded
2045         is stored in a table.
2046
2047         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2048         Qunloaded.
2049
2050 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2051
2052         * database.h: Add EXFUN definitions for Fopen_database,
2053         Fput_database, Fget_database and Fclose_database.
2054
2055         * data.c (Qunloaded): New variable in UTF-2000.
2056
2057         * lisp.h (Qunloaded): New variable in UTF-2000.
2058
2059 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2060
2061         * mule-charset.c (put_char_ccs_code_point): Modify for
2062         `decoding_table_remove_char' and `decoding_table_put_char'.
2063         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2064
2065         * char-ucs.h (decoding_table_remove_char): Change arguments to
2066         hide decoding_table vector.
2067         (decoding_table_put_char): Likewise.
2068
2069 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (decoding_table_remove_char): Moved to
2072         char-ucs.h.
2073         (decoding_table_put_char): Likewise.
2074
2075         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2076         from mule-charset.c].
2077         (decoding_table_remove_char): New inline function [moved from
2078         mule-charset.c].
2079         (decoding_table_put_char): Likewise.
2080
2081 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2082
2083         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2084         extension.
2085
2086 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2087
2088         * mule-charset.c (decode_builtin_char): Support mother charsets.
2089
2090 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2091
2092         * mule-charset.c (Q94x94x60): New variable.
2093         (charset_code_point): Support conversion `94x94x60'.
2094         (Fmake_charset): Likewise.
2095         (syms_of_mule_charset): Add new symbol `94x94x60'.
2096
2097         * char-ucs.h (CONVERSION_94x94x60): New macro.
2098
2099 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2100
2101         * mule-charset.c (charset_code_point): Unify code about
2102         `code-offset'.
2103
2104 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2105
2106         * mule-charset.c (charset_code_point): Merge code about builtin
2107         characters into code about mother charsets; don't use
2108         `range_charset_code_point'.
2109         (range_charset_code_point): Deleted.
2110
2111 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2112
2113         * mule-charset.c (Qcode_offset): New variable.
2114         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2115         `max-code'; accept new property `code-offset'.
2116         (syms_of_mule_charset): Add new symbol `code-offset'.
2117
2118 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * mule-charset.c (range_charset_code_point): Fixed.
2121
2122 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2123
2124         * mule-charset.c (decode_builtin_char): Change semantics of
2125         code-offset of coded-charset.
2126         (charset_code_point): Likewise.
2127         (range_charset_code_point): Likewise.
2128         (complex_vars_of_mule_charset): Modify for the change.
2129
2130 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * mule-charset.c (Fencode_char): Reverse arguments.
2133
2134         * mule-charset.c (charset_code_point): Fixed.
2135
2136 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2137
2138         * mule-charset.c (Vcharset_mojikyo): Deleted.
2139         (Vcharset_mojikyo_2022_1): Deleted.
2140         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2141         (Qmin_code): New variable in UTF-2000.
2142         (Qmax_code): Likewise.
2143         (Qmother): Likewise.
2144         (Qconversion): Likewise.
2145         (Q94x60): Likewise.
2146         (Qmojikyo): Deleted.
2147         (Qmojikyo_2022_1): Deleted.
2148         (Qmojikyo_pj_{1..22}): Deleted.
2149         (mark_charset): Mark `cs->mother'.
2150         (charset_description): Add description for `mother'.
2151         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2152         new arguments `mother' and `conversion'; use
2153         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2154         (charset_code_point): Moved from char-ucs.h; support `mother'
2155         charset feature.
2156         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2157         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2158         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2159         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2160         allow 2 as the value of `graphic' in UTF-2000; add new properties
2161         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2162         require `final' in UTF-2000; modify for `make_charset'.
2163         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2164         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2165         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2166         (Fencode_char): New function.
2167         (syms_of_mule_charset): Add new builtin function `encode-char' in
2168         UTF-2000; add new symbols `min-code', `max-code', `mother',
2169         `conversion' and `94x60'; delete symbols `mojikyo',
2170         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2171         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2172         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2173         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2174
2175         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2176         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2177
2178         * char-ucs.h (Vcharset_mojikyo): Deleted.
2179         (Vcharset_mojikyo_2022_1): Deleted.
2180         (LEADING_BYTE_MOJIKYO): Deleted.
2181         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2182         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2183         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2184         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2185         add new member `mother'; add new member `conversion'.
2186         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2187         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2188         (CHARSET_MOTHER): New macro.
2189         (CHARSET_CONVERSION): New macro.
2190         (CONVERSION_IDENTICAL): New macro.
2191         (CONVERSION_94x60): New macro.
2192         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2193         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2194         (XCHARSET_MOTHER): New macro.
2195         (XCHARSET_CONVERSION): New macro.
2196         (MIN_CHAR_MOJIKYO): Deleted.
2197         (MAX_CHAR_MOJIKYO): Deleted.
2198         (DECODE_MOJIKYO_2022): Deleted.
2199         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2200         (charset_code_point): Changed to non-inline function.
2201         (encode_char_1): Use `charset_code_point'.
2202         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2203
2204 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * lread.c (read_compiled_function): Fix prototype.
2207         (read_vector): Likewise.
2208
2209 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2210
2211         * lrecord.h (struct lrecord_header): Delete `older'.
2212         (set_lheader_implementation): Delete code for `older'.
2213         (set_lheader_older_implementation): Deleted.
2214         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2215         (OLDER_RECORD_P): Deleted.
2216         (OLDER_RECORD_HEADER_P): Deleted.
2217         (alloc_older_lcrecord): Deleted.
2218         (alloc_older_lcrecord_type): Deleted.
2219
2220         * alloc.c (all_older_lcrecords): Deleted.
2221         (alloc_older_lcrecord): Deleted.
2222         (disksave_object_finalization_1): Delete code for older objects.
2223         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2224         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2225
2226 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2229         instead of `make_older_vector'.
2230         (put_char_ccs_code_point): Likewise.
2231         (mark_charset): Mark `cs->decoding_table'.
2232         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2233
2234         * lisp.h (make_older_vector): Deleted.
2235         (make_vector_newer): Deleted.
2236
2237         * config.h.in (HAVE_GGC): Deleted.
2238
2239         * alloc.c (make_older_vector): Deleted.
2240         (make_vector_newer_1): Deleted.
2241         (make_vector_newer): Deleted.
2242
2243 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2244
2245         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2246         (Qideograph_daikanwa_2): New variable.
2247         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2248         (complex_vars_of_mule_charset): Add new coded-charset
2249         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2250         `LEADING_BYTE_DAIKANWA'.
2251
2252         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2253         (LEADING_BYTE_DAIKANWA_1): New macro.
2254         (LEADING_BYTE_DAIKANWA_2): New macro.
2255         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2256
2257 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2258
2259         * mule-charset.c (complex_vars_of_mule_charset): Change
2260         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2261         the second revised version.
2262
2263 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2264
2265         * mule-charset.c (Vcharset_ucs_smp): New variable.
2266         (Vcharset_ucs_sip): New variable.
2267         (Qucs_smp): New variable.
2268         (Qucs_sip): New variable.
2269         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2270         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2271         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2272         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2273         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2274         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2275
2276         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2277         (LEADING_BYTE_UCS_SIP): New macro.
2278         (MIN_CHAR_SMP): New macro.
2279         (MAX_CHAR_SMP): New macro.
2280         (MIN_CHAR_SIP): New macro.
2281         (MAX_CHAR_SIP): New macro.
2282
2283 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2284
2285         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2286         utf-2000.
2287
2288 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2289
2290         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2291         value; don't store value into `encoding_table' of `Lisp_Charset'.
2292         (mark_charset): `encoding_table' was deleted.
2293         (charset_description): Likewise.
2294         (make_charset): Likewise.
2295         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2296         `put_char_ccs_code_point'.
2297
2298         * chartab.h (Fput_char_attribute): New EXFUN.
2299
2300         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2301         is unified with normal symbol space.
2302         (Fget_char_attribute): Likewise.
2303         (Fput_char_attribute): Likewise; behavior of
2304         `put_char_ccs_code_point' is changed.
2305
2306         * char-ucs.h: Include "elhash.h".
2307         (Vchar_attribute_hash_table): New external variable.
2308         (struct Lisp_Charset): Delete `encoding_table'.
2309         (CHARSET_ENCODING_TABLE): New implementation; refer
2310         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2311         `Lisp_Charset'.
2312
2313 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2314
2315         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2316         (cs) == 0.
2317
2318 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2319
2320         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2321         `chinese-big5'.
2322
2323 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2324
2325         * chartab.c (uint8_byte_table_description): New constant.
2326         (uint8-byte-table): Use `uint8_byte_table_description'.
2327         (uint16_byte_table_description): New constant.
2328         (uint16-byte-table): Use `uint16_byte_table_description'.
2329
2330 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2331
2332         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2333         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2334
2335 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * mule-charset.c (Vcharset_ucs_ks): New variable.
2338         (Qucs_ks): New variable.
2339         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2340         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2341
2342         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2343
2344 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2347         (Fdecode_char): Likewise.
2348
2349         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2350         chartab.h.
2351         (Fdefine_char): Modify for Fdecode_char.
2352         (Ffind_char): Likewise.
2353
2354         * mule-charset.c (Fdecode_char): Add new optional argument
2355         `defined-only'.
2356         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2357
2358 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2359
2360         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2361         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2362         (allocate_coding_system): Initialize initial-charsets of
2363         CODESYS_BIG5 in XEmacs UTF-2000.
2364         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2365         CODESYS_BIG5 in XEmacs UTF-2000.
2366         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2367         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2368
2369         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2370         variables.
2371         (Qideograph_hanziku_{1 .. 12}): Likewise.
2372         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2373         .. 12}'.
2374         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2375         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2376         `ideograph-hanziku-{1 .. 12}'.
2377
2378         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2379         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2380         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2381         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2382         (DECODE_DEFINED_CHAR): New inline function.
2383         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2384
2385 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * mule-charset.c (Vcharset_china3_jef): Renamed from
2388         `Vcharset_japanese_jef_china3'.
2389         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2390         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2391         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2392         (syms_of_mule_charset): Rename `china3-jef' from
2393         `japanese-jef-china3'.
2394         (complex_vars_of_mule_charset): Likewise; rename
2395         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2396
2397         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2398         `LEADING_BYTE_JEF_CHINA3'.
2399         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2400         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2401
2402 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2403
2404         * mule-charset.c (encode_builtin_char_1): Comment out special code
2405         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2406
2407         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2408         (MAX_CHAR_MOJIKYO_0): Comment out.
2409         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2410         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2411         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2412         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2413
2414 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2415
2416         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2417         (Qideograph_cbeta): New variable.
2418         (encode_builtin_char_1): Comment out special code for
2419         coded-charset `mojikyo' and `japanese-jef-china3'.
2420         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2421         (complex_vars_of_mule_charset): Add new coded-charset
2422         `ideograph-cbeta'.
2423
2424         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2425         (MIN_CHAR_CBETA): New macro.
2426         (MAX_CHAR_CBETA): New macro.
2427
2428 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2429
2430         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2431         (LEADING_BYTE_JEF_CHINA3): New macro.
2432         (MIN_CHAR_JEF_CHINA3): New macro.
2433         (MAX_CHAR_JEF_CHINA3): Likewise.
2434         (DECODE_CHAR): Fixed.
2435
2436 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2439         (Qjapanese_jef_china3): New variable.
2440         (encode_builtin_char_1): Support `japanese-jef-china3'.
2441         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2442         (complex_vars_of_mule_charset): Add new coded-charset
2443         `japanese-jef-china3'.
2444
2445 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2448         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2449         94^4, 96^3, 96^4, 128^n and 256^n set.
2450         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2451         (map_char_table): Likewise.
2452
2453 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2454
2455         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2456         UTF-2000.
2457
2458 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * chartab.h (get_char_id_table): New inline function.
2461
2462         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2463         function.
2464
2465 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * chartab.h (decode_char_table_range): New prototype in XEmacs
2468         UTF-2000.
2469         (put_char_id_table): New inline function in XEmacs UTF-2000.
2470
2471         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2472         function.
2473         (decode_char_table_range): Delete static declaration in XEmacs
2474         UTF-2000.
2475
2476 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * chartab.c (put_char_id_table): Use `put_char_table'.
2479
2480 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2481
2482         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2483         (map_over_uint16_byte_table): Likewise.
2484         (map_over_byte_table): Likewise.
2485         (map_char_table): Modify for `map_over_uint8_byte_table',
2486         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2487         UTF-2000.
2488
2489 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * chartab.c (struct map_char_table_for_charset_arg): New
2492         structure.
2493         (map_char_table_for_charset_fun): New function.
2494         (map_char_table): Use `map_char_table' for encoding_table of
2495         `range->charset'.
2496
2497 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * chartab.c (map_char_table): Check a character is found in
2500         range->charset instead of non default value is defined in
2501         char-table when range is CHARTAB_RANGE_ROW.
2502
2503 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * chartab.c (map_char_id_table): Deleted.
2506         (Fmap_char_attribute): Use `map_char_table' instead of
2507         `map_char_id_table'.
2508
2509 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2512         UTF-2000.
2513         (update_syntax_table): Deleted in XEmacs UTF-2000.
2514
2515         * syntax.c (find_defun_start): Use `syntax_table' instead of
2516         `mirror_syntax_table' in XEmacs UTF-2000.
2517         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2518         UTF-2000.
2519         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2520         XEmacs UTF-2000.
2521         (Fmatching_paren): Likewise.
2522         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2523         in XEmacs UTF-2000.
2524         (find_start_of_comment): Likewise.
2525         (find_end_of_comment): Likewise.
2526         (Fforward_comment): Likewise.
2527         (scan_lists): Likewise.
2528         (char_quoted): Likewise.
2529         (Fbackward_prefix_chars): Likewise.
2530         (scan_sexps_forward): Likewise.
2531         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2532         (update_syntax_table): Likewise.
2533
2534         * search.c (skip_chars): Use `syntax_table' instead of
2535         `mirror_syntax_table' in XEmacs UTF-2000.
2536         (wordify): Likewise.
2537         (Freplace_match): Likewise.
2538
2539         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2540         `mirror_syntax_table' in XEmacs UTF-2000.
2541         (WORDCHAR_P_UNSAFE): Likewise.
2542         (re_match_2_internal): Likewise.
2543
2544         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2545         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2546
2547         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2548         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2549
2550         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2551         XEmacs UTF-2000.
2552
2553         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2554         UTF-2000.
2555         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2556         (char_table_description): Delete `mirror_table' in XEmacs
2557         UTF-2000.
2558         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2559         UTF-2000.
2560         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2561         (Fcopy_char_table): Likewise.
2562         (put_char_table): Don't call `update_syntax_table' in XEmacs
2563         UTF-2000.
2564
2565         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2566         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2567         (casify_region_internal): Likewise.
2568
2569         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2570
2571         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2572         `mirror_syntax_table' in XEmacs UTF-2000.
2573
2574         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2575         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2576         (Fexpand_abbrev): Likewise.
2577
2578 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2579
2580         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2581
2582 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2583
2584         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2585         (map_over_uint16_byte_table): Likewise.
2586         (map_over_byte_table): Likewise.
2587         (get_char_id_table): Refer `cit->default_value'.
2588         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2589         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2590         of character-id ranges.
2591         (mark_char_table): Mark `ct->default_value'.
2592         (char_table_description): Add `default_value'.
2593         (fill_char_table): Use `default_value'.
2594         (decode_char_table_range): Decode `nil' as
2595         `CHARTAB_RANGE_DEFAULT'.
2596         (get_char_id_table): Refer `cit->default_value'.
2597         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2598         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2599         temporary hack; check value of char-table is bound or not.
2600         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2601
2602         * chartab.h (struct Lisp_Char_Table): Add new member
2603         `default_value' in XEmacs UTF-2000.
2604         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2605         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2606         UTF-2000.
2607
2608 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * chartab.h (Lisp_Char_ID_Table): Deleted.
2611
2612         * chartab.c (char_table_description): Fix typo.
2613         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2614         `Lisp_Char_ID_Table'.
2615
2616 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2617
2618         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2619         `CHAR_ID_TABLE_P'.
2620
2621         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2622         `CHAR_ID_TABLE_P'.
2623
2624         * chartab.h (XCHAR_ID_TABLE): Deleted.
2625         (XSETCHAR_ID_TABLE): Deleted.
2626         (CHAR_ID_TABLE_P): Deleted.
2627
2628         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2629         `CHAR_ID_TABLE_P'.
2630         (Fget_composite_char): Likewise.
2631         (put_char_table): Likewise.
2632         (add_char_attribute_alist_mapper): Fixed.
2633         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2634         `CHAR_ID_TABLE_P'.
2635         (Fget_char_attribute): Likewise.
2636         (Fget_char_attribute): Likewise.
2637         (Fmap_char_attribute): Likewise.
2638
2639         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2640         `CHAR_ID_TABLE_P'.
2641         (encode_char_1): Likewise.
2642
2643 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2644
2645         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2646         `XCHAR_ID_TABLE'.
2647
2648         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2649         instead of `XCHAR_ID_TABLE'.
2650         (remove_char_ccs): Likewise.
2651
2652         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2653         `XCHAR_ID_TABLE'.
2654         (Fget_composite_char): Likewise.
2655         (Fchar_variants): Likewise.
2656         (put_char_table): Likewise.
2657         (add_char_attribute_alist_mapper): Likewise.
2658         (Fchar_attribute_alist): Likewise.
2659         (Fget_char_attribute): Likewise.
2660         (Fput_char_attribute): Likewise.
2661         (Fmap_char_attribute): Likewise.
2662         (Fmap_char_attribute): Likewise.
2663
2664         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2665         `XCHAR_ID_TABLE'.
2666         (encode_char_1): Likewise.
2667
2668 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2671         `Lisp_Char_ID_Table'.
2672         (mark_char_id_table): Deleted.
2673         (print_char_id_table): Likewise.
2674         (char_id_table_equal): Likewise.
2675         (char_id_table_hash): Likewise.
2676         (char_id_table_description): Likewise.
2677         (char_id_table): Likewise.
2678         (make_char_id_table): Use `Fmake_char_table' and
2679         `fill_char_table'.
2680         (get_char_id_table): Use `Lisp_Char_Table' instead of
2681         `Lisp_Char_ID_Table'.
2682         (put_char_id_table): Likewise.
2683         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2684         `XCHAR_ID_TABLE'.
2685         (Fremove_char_attribute): Likewise.
2686         (syms_of_chartab): Don't define type `char-id-table'.
2687
2688         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2689         (char_id_table): Likewise.
2690         (GC_CHAR_ID_TABLE_P): Likewise.
2691         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2692         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2693         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2694         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2695         (get_char_id_table): Use `Lisp_Char_Table' instead of
2696         `Lisp_Char_ID_Table'.
2697         (put_char_id_table_0): Likewise.
2698         (put_char_id_table): Likewise.
2699
2700 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2701
2702         * chartab.h: Lisp_Byte_Table related codes are moved from
2703         chartab.h.
2704
2705         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2706
2707 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2708
2709         * chartab.h: Don't include "chartab.h".
2710         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2711         (Lisp_Char_ID_Table): Likewise.
2712         (char_id_table): Likewise.
2713         (XCHAR_ID_TABLE): Likewise.
2714         (XSETCHAR_ID_TABLE): Likewise.
2715         (CHAR_ID_TABLE_P): Likewise.
2716         (GC_CHAR_ID_TABLE_P): Likewise.
2717         (get_char_id_table): Likewise.
2718
2719         * char-ucs.h: Include "chartab.h".
2720         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2721         (Lisp_Char_ID_Table): Likewise.
2722         (char_id_table): Likewise.
2723         (XCHAR_ID_TABLE): Likewise.
2724         (XSETCHAR_ID_TABLE): Likewise.
2725         (CHAR_ID_TABLE_P): Likewise.
2726         (GC_CHAR_ID_TABLE_P): Likewise.
2727         (get_char_id_table): Likewise.
2728
2729 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2730
2731         * chartab.c (copy_uint8_byte_table): New function.
2732         (copy_uint16_byte_table): New function.
2733         (copy_byte_table): New function.
2734         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2735         characters to call.
2736         (map_over_uint16_byte_table): Likewise.
2737         (map_over_byte_table): Likewise.
2738         (get_byte_table): Move prototype to chartab.h.
2739         (put_byte_table): Likewise.
2740         (put_char_id_table_0): Moved to chartab.h.
2741         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2742         (char_table_entry_equal): Likewise.
2743         (char_table_entry_hash): Likewise.
2744         (char_table_entry_description): Likewise.
2745         (char_table_entry): Likewise.
2746         (make_char_table_entry): Likewise.
2747         (copy_char_table_entry): Likewise.
2748         (get_non_ascii_char_table_value): Likewise.
2749         (map_over_charset_ascii): Likewise.
2750         (map_over_charset_control_1): Likewise.
2751         (map_over_charset_row): Likewise.
2752         (map_over_other_charset): Likewise.
2753         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2754         (print_char_table): Likewise.
2755         (char_table_equal): Likewise.
2756         (char_table_hash): Likewise.
2757         (char_table_description): Likewise.
2758         (fill_char_table): Likewise.
2759         (Fcopy_char_table): Likewise.
2760         (get_char_table): Likewise.
2761         (Fget_range_char_table): Likewise.
2762         (put_char_table): Likewise.
2763         (map_char_table): Likewise.
2764         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2765         UTF-2000.
2766
2767 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2768
2769         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2770         `Vauto_fill_chars' in XEmacs UTF-2000.
2771
2772         * chartab.h (get_byte_table): New prototype [moved from
2773         chartab.c].
2774         (put_byte_table): Likewise [moved from chartab.c].
2775         (put_char_id_table_0): New inline function [moved from chartab.c].
2776         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2777         (Lisp_Char_Table_Entry): Likewise.
2778         (char_table_entry): Likewise.
2779         (XCHAR_TABLE_ENTRY): Likewise.
2780         (XSETCHAR_TABLE_ENTRY): Likewise.
2781         (CHAR_TABLE_ENTRYP): Likewise.
2782         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2783         (NUM_ASCII_CHARS): Likewise.
2784         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2785         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2786
2787 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2788
2789         * chartab.c (get_char_id_table): Change interface.
2790         (put_char_id_table_0): New function.
2791         (put_char_id_table): Change interface; new implementation.
2792         (Fget_composite_char): Modify for interface change of
2793         `get_char_id_table'.
2794         (Fchar_variants): Likewise.
2795         (add_char_attribute_alist_mapper): Likewise.
2796         (Fchar_attribute_alist): Likewise.
2797         (Fget_char_attribute): Likewise.
2798         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2799         as same as character as the first argument like `put-char-table';
2800         modify for interface change of `put_char_id_table'.
2801         (Fremove_char_attribute): Modify for interface change of
2802         `put_char_id_table'.
2803
2804 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2805
2806         * text-coding.c: Sync up with XEmacs 21.2.41.
2807         (COMPOSE_ADD_CHAR): Modify for interface change of
2808         `get_char_id_table'.
2809
2810         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2811         change of `put_char_id_table'.
2812         (remove_char_ccs): Likewise.
2813
2814         * chartab.h (put_char_id_table): Change interface.
2815
2816         * char-ucs.h (get_char_id_table): Change interface.
2817         (charset_code_point): Modify for interface change of
2818         `get_char_id_table'.
2819         (encode_char_1): Likewise.
2820
2821 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2822
2823         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2824         argument `ccs'.
2825         (map_over_uint16_byte_table): Likewise.
2826         (map_over_byte_table): Likewise.
2827         (map_char_id_table): Add new argument `range' like
2828         `map_char_table'.
2829         (Fmap_char_attribute): Add new argument `range' like
2830         `Fmap_char_table'.
2831
2832 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2833
2834         * chartab.c (map_over_uint8_byte_table): Change interface of
2835         mapping function to use struct chartab_range instead of Emchar.
2836         (map_over_uint16_byte_table): Likewise.
2837         (map_over_byte_table): Likewise.
2838         (map_char_id_table): Likewise.
2839         (struct slow_map_char_id_table_arg): Deleted.
2840         (slow_map_char_id_table_fun): Deleted.
2841         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2842         function `slow_map_char_table_fun' instead of struct
2843         `slow_map_char_id_table_arg' and function
2844         `slow_map_char_id_table_fun'.
2845
2846 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2847
2848         * mule-charset.c: Move char-it-table related codes to chartab.c.
2849         (Vutf_2000_version): Moved to chartab.c.
2850         (Fdefine_char): Likewise.
2851         (Ffind_char): Likewise.
2852         (syms_of_mule_charset): Move types `uint8-byte-table',
2853         `uint16-byte-table', `byte-table' and `char-id-table' to
2854         chartab.c; move functions `char_attribute_list,
2855         `find_char_attribute_table, `char_attribute_alist,
2856         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2857         `map_char_attribute, `define_char, `find_char, `char_variants and
2858         `get_composite_char to chartab.c; move symbols `=>ucs',
2859         `->decomposition', `compat', `isolated', `initial', `medial',
2860         `final', `vertical', `noBreak', `fraction', `super', `sub',
2861         `circle', `square', `wide', `narrow', `small' and `font' to
2862         chartab.c.
2863         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2864         setting codes for `Vcharacter_composition_table' and
2865         `Vcharacter_variant_table' to chartab.c.
2866         (complex_vars_of_mule_charset): Move setting code for
2867         `Vchar_attribute_hash_table' to chartab.c.
2868
2869         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2870         (make_char_id_table): New prototype.
2871         (put_char_id_table): Likewise.
2872         (Fget_char_attribute): Likewise.
2873
2874         * chartab.c: Move char-id-table related code from mule-charset.c.
2875         (Vutf_2000_version): Moved from mule-charset.c.
2876
2877         * char-ucs.h (Qucs): New external variable.
2878         (put_char_ccs_code_point): New prototype.
2879         (remove_char_ccs): Likewise.
2880
2881 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2882
2883         * mule-charset.c (Vcharset_ucs_jis): New variable.
2884         (Qucs_jis): Likewise.
2885         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2886         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2887
2888         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2889
2890 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2891
2892         * mule-charset.c (map_over_uint8_byte_table): New function.
2893         (map_over_uint16_byte_table): Likewise.
2894         (map_over_byte_table): Likewise.
2895         (map_char_id_table): Likewise.
2896         (slow_map_char_id_table_fun): Likewise.
2897         (Fmap_char_attribute): Likewise.
2898         (syms_of_mule_charset): Add new function `map-char-attribute'.
2899
2900 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2901
2902         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2903         (syms_of_mule_charset): Add new function `find-char'.
2904
2905 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2906
2907         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2908         XEmacs UTF-2000.
2909         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2910         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2911         XEmacs UTF-2000.
2912         (complex_vars_of_mule_charset): Add new coded-charset
2913         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2914         `ideograph-gt-pj-*'.
2915
2916         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2917
2918 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2919
2920         * mule-charset.c (encode_builtin_char_1): Purge codes about
2921         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2922         {MIN|MAX}_CHAR_HEBREW.
2923         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2924         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2925
2926         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2927         (MAX_CHAR_GREEK): Purged.
2928         (MIN_CHAR_CYRILLIC): Purged.
2929         (MAX_CHAR_CYRILLIC): Purged.
2930         (MIN_CHAR_HEBREW): Commented out.
2931         (MAX_CHAR_HEBREW): Likewise.
2932
2933 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * mule-charset.c (Qto_ucs): New variable.
2936         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2937         (Fdefine_char): Likewise.
2938         (syms_of_mule_charset): Add new symbol `=>ucs'.
2939
2940 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2941
2942         * mule-charset.c (Fdecode_char): Fixed.
2943
2944 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2945
2946         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2947         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2948         "tcvn5712-1".
2949
2950 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2951
2952         * mule-charset.c (Vcharset_ucs_big5): New variable.
2953         (Qucs_big5): Likewise.
2954         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2955         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2956
2957         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2958
2959 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2960
2961         * mule-charset.c (decode_builtin_char): Check Big5 code range
2962         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2963
2964 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2965
2966         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2967         (Qchinese_gb12345): Likewise.
2968         (Fdecode_builtin_char): Fixed.
2969         (syms_of_mule_charset): Add `chinese-gb12345'.
2970         (complex_vars_of_mule_charset): Add coded-charset
2971         `chinese-gb12345'.
2972
2973         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2974         (LEADING_BYTE_CHINESE_GB12345): New macro.
2975
2976 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2977
2978         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2979         and `latin-viscii-upper' for `latin-viscii'.
2980
2981 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2982
2983         * mule-charset.c (Fdecode_builtin_char): Comment out
2984         regularization code for ISO-IR GR representation.
2985
2986 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2987
2988         * mule-charset.c (decode_builtin_char): New function; renamed from
2989         `make_builtin_char'; return -1 instead of signal.
2990         (Fdecode_builtin_char): Use `decode_builtin_char'.
2991
2992         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2993         `make_builtin_char'.
2994         (DECODE_CHAR): Use `decode_builtin_char' instead of
2995         `make_builtin_char'; use mapping table of `chinese-big5' for
2996         `chinese-big5-{1,2}'.
2997
2998 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2999
3000         * text-coding.c (char_encode_big5): New function.
3001         (char_finish_big5): Likewise.
3002         (reset_encoding_stream): Use `char_encode_big5' and
3003         `char_finish_big5' for CODESYS_BIG5.
3004         (mule_encode): Don't use `encode_coding_big5'.
3005         (encode_coding_big5): Deleted.
3006
3007 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3008
3009         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3010         0x81- in XEmacs UTF-2000.
3011         (detect_coding_big5): Likewise.
3012
3013 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3014
3015         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3016         generate character-id if the CCS property does not have
3017         corresponding predefined character.
3018         (make_builtin_char): Return -1 if corresponding predefined
3019         character is not found.
3020         (Fdecode_char): Return nil if corresponding character is not
3021         found.
3022         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3023         don't map to builtin ucs space.
3024
3025 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3028         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3029
3030 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3031
3032         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3033         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3034         (Qideograph_gt): Likewise.
3035         (Qideograph_gt_pj_{1..11}): Likewise.
3036         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3037         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3038         `ideograph-gt-pj-11'.
3039         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3040         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3041         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3042
3043         * char-ucs.h (LEADING_BYTE_GT): New macro.
3044         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3045         (MIN_CHAR_GT): Likewise.
3046         (MAX_CHAR_GT): Likewise.
3047
3048 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3049
3050         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3051         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3052
3053         * doprnt.c (unsigned_int_converters): Add `c'.
3054         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3055
3056         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3057         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3058         `MIN_CHAR_MOJIKYO'.
3059         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3060         (MAX_CHAR_MOJIKYO_0): New macro.
3061         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3062
3063 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3064
3065         * mule-charset.c (Fdefine_char): Delete cemented out code.
3066         (encode_builtin_char_1): Modify for new allocation of builtin
3067         Mojikyo characters.
3068
3069         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3070
3071 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3072
3073         * mule-charset.c (Vcharset_ucs_cns): New variable.
3074         (Qucs_cns): New variable.
3075         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3076         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3077
3078 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3079
3080         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3081
3082 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3083
3084         * search.c (search_buffer): Make `charset_base_code' as
3085         character-id >> 6 to eliminate the corresponding last byte in
3086         UTF-8 representation [I'm not sure it is right thing].
3087         (boyer_moore): Likewise.
3088
3089 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3090
3091         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3092         representation in MULE.
3093
3094 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3095
3096         * text-coding.c (Fmake_coding_system): Use
3097         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3098         `EXTERNAL_PROPERTY_LIST_LOOP'.
3099
3100 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3101
3102         * text-coding.c (decode_output_utf8_partial_char): New function.
3103         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3104
3105 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3106
3107         * text-coding.c (decode_coding_utf8): Output original byte
3108         sequence if it is broken; change order of conditions.
3109
3110         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3111         of conditions.
3112
3113         * mb-multibyte.h (BYTE_ASCII_P):
3114         Use bit ops for char-signedness safety.
3115         (BYTE_C0_P): Use bit ops for char-signedness safety.
3116         (BYTE_C1_P): Use bit ops for char-signedness safety.
3117
3118         * character.h: (XCHAR_OR_CHAR_INT):
3119         Always use inline function.
3120         Remove redundant type checking assert() - XINT will abort quite
3121         nicely.
3122
3123 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3124
3125         * text-coding.c: (Fencode_shift_jis_char):
3126         (Fencode_big5_char):
3127         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3128         Replace 0 with '\0' when working with bytes.
3129         Replace initial "(" with "\(" in docstrings.
3130
3131         (Fmake_coding_system):
3132         When type is ccl and value is vector, register it with a proper
3133         symbol.  And checks whether the given ccl program is valid.
3134         (mule_decode): When calling ccl_driver, if src indicates
3135         NULL pointer, set an empty string instead.
3136         (mule_encode): Likewise.
3137
3138         (detect_eol_type):
3139         (detect_coding_sjis):
3140         (decode_coding_sjis):
3141         (detect_coding_big5):
3142         (decode_coding_big5):
3143         (detect_coding_ucs4):
3144         (decode_coding_ucs4):
3145         (detect_coding_utf8):
3146         (decode_coding_utf8):
3147         (detect_coding_iso2022):
3148         (decode_coding_iso2022):
3149         (decode_coding_no_conversion):
3150         (mule_decode):
3151         Make all detecting and decoding functions take an Extbyte * arg.
3152         (text_encode_generic):
3153         (encode_coding_big5):
3154         (encode_coding_no_conversion):
3155         (mule_encode):
3156         Make all encoding functions take a Bufbyte * arg.
3157         Use size_t instead of unsigned int for memory sizes.
3158         Only cast to unsigned char whenever dereferencing Extbyte *.
3159
3160         (struct lrecord_description fcd_description_1): Use countof.
3161         (complex_vars_of_file_coding):
3162         Use countof instead of sizeof.
3163         Use CHECK_NATNUM instead of CHECK_INT.
3164
3165 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3166
3167         * mule-charset.c (Fget_char_attribute): Add new optional argument
3168         `default-value'.
3169         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3170         (remove_char_ccs): Likewise.
3171
3172 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3173
3174         * text-coding.c (char_encode_shift_jis): New implementation in
3175         UTF-2000.
3176         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3177         ...)'.
3178
3179         * mule-charset.c (Vcharset_chinese_big5): New variable in
3180         UTF-2000.
3181         (Qchinese_big5): New variable in UTF-2000.
3182         (BIG5_SAME_ROW): New macro in UTF-2000.
3183         (make_builtin_char): Use builtin characters of
3184         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3185         characters of `Vcharset_chinese_big5'.
3186         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3187         (complex_vars_of_mule_charset): Add new coded-charset
3188         `chinese-big5' in UTF-2000.
3189
3190         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3191         (Vcharset_chinese_big5): New external variable declaration.
3192         (Vcharset_japanese_jisx0208_1990): Likewise.
3193
3194 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3195
3196         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3197         function.
3198         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3199
3200 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3203         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3204         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3205         `mojikyo-pj-*'.
3206
3207 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3208
3209         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3210
3211 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3212
3213         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3214         to 0.17.
3215
3216 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3217
3218         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3219         for `CHARSET_BY_ATTRIBUTES'.
3220         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3221         `CHARSET_BY_ATTRIBUTES'.
3222
3223         * text-coding.c (struct decoding_stream): Rename member `CH' to
3224         `CPOS'.
3225         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3226         (decode_coding_sjis): Likewise.
3227         (decode_coding_big5): Likewise.
3228         (decode_coding_ucs4): Likewise.
3229         (decode_coding_utf8): Likewise.
3230         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3231         `CHARSET_BY_ATTRIBUTES'.
3232         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3233         `str->counter'; decode 3, 4 bytes sets.
3234         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3235         sets.
3236         (decode_coding_no_conversion): Use `str->cpos' instead of
3237         `str->ch'.
3238
3239         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3240         (Qmojikyo_2022_1): New variable.
3241         (make_charset): Don't use `CHARSET_TYPE_*'.
3242         (range_charset_code_point): Support coded-charset
3243         `mojikyo-2022-1'.
3244         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3245         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3246         `CHARSET_BY_ATTRIBUTES'.
3247         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3248         `CHARSET_BY_ATTRIBUTES'.
3249         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3250         (complex_vars_of_mule_charset): Add new coded-charset
3251         `mojikyo-2022-1'.
3252
3253         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3254         interface; changed to inline function.
3255
3256         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3257         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3258         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3259         (CHARSET_TYPE_94): Deleted.
3260         (CHARSET_TYPE_94X94): Deleted.
3261         (CHARSET_TYPE_96): Deleted.
3262         (CHARSET_TYPE_96X96): Deleted.
3263         (CHARSET_TYPE_128): Deleted.
3264         (CHARSET_TYPE_128X128): Deleted.
3265         (CHARSET_TYPE_256): Deleted.
3266         (CHARSET_TYPE_256X256): Deleted.
3267         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3268         to inline function.
3269         (DECODE_MOJIKYO_2022): New inline function.
3270         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3271         `Vcharset_mojikyo_2022_1'.
3272
3273 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3274
3275         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3276         instead of `EQ'.
3277         (put_byte_table): Likewise.
3278         (char_id_table_equal): Use `get_byte_table' [new implementation].
3279
3280 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * mule-charset.c: Include <limits.h> in UTF-2000.
3283         (BT_UINT8_MIN): New macro in UTF-2000.
3284         (BT_UINT8_MAX): New macro in UTF-2000.
3285         (BT_UINT8_t): New macro in UTF-2000.
3286         (BT_UINT8_nil): New macro in UTF-2000.
3287         (BT_UINT8_unbound): New macro in UTF-2000.
3288         (INT_UINT8_P): New inline function in UTF-2000.
3289         (UINT8_VALUE_P): New inline function in UTF-2000.
3290         (UINT8_ENCODE): New inline function in UTF-2000.
3291         (UINT8_DECODE): New inline function in UTF-2000.
3292         (mark_uint8_byte_table): New function in UTF-2000.
3293         (print_uint8_byte_table): New function in UTF-2000.
3294         (uint8_byte_table_equal): New function in UTF-2000.
3295         (uint8_byte_table_hash): New function in UTF-2000.
3296         (make_uint8_byte_table): New function in UTF-2000.
3297         (uint8_byte_table_same_value_p): New function in UTF-2000.
3298         (BT_UINT16_MIN): New macro in UTF-2000.
3299         (BT_UINT16_MAX): New macro in UTF-2000.
3300         (BT_UINT16_t): New macro in UTF-2000.
3301         (BT_UINT16_nil): New macro in UTF-2000.
3302         (BT_UINT16_unbound): New macro in UTF-2000.
3303         (INT_UINT16_P): New inline function in UTF-2000.
3304         (UINT16_VALUE_P): New inline function in UTF-2000.
3305         (UINT16_ENCODE): New inline function in UTF-2000.
3306         (UINT16_DECODE): New inline function in UTF-2000.
3307         (UINT8_TO_UINT16): New inline function in UTF-2000.
3308         (mark_uint16_byte_table): New function in UTF-2000.
3309         (print_uint16_byte_table): New function in UTF-2000.
3310         (uint16_byte_table_equal): New function in UTF-2000.
3311         (uint16_byte_table_hash): New function in UTF-2000.
3312         (make_uint16_byte_table): New function in UTF-2000.
3313         (uint16_byte_table_same_value_p): New function in UTF-2000.
3314         (print_byte_table): New function in UTF-2000.
3315         (byte-table): Use `print_byte_table' as printer.
3316         (make_byte_table): Delete second argument `older'.
3317         (byte_table_same_value_p): New function in UTF-2000.
3318         (copy_byte_table): Deleted.
3319         (get_byte_table): New function in UTF-2000.
3320         (put_byte_table): New function in UTF-2000.
3321         (print_char_id_table): New function in UTF-2000.
3322         (char-id-table): Use `print_char_id_table' as printer.
3323         (make_char_id_table): Delete second argument `older'.
3324         (get_char_id_table): Use `get_byte_table [new implementation].
3325         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3326         implementation].
3327         (Ffind_char_attribute_table): New function in UTF-2000.
3328         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3329         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3330         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3331         (syms_of_mule_charset): Add new function
3332         `find-char-attribute-table' in UTF-2000.
3333
3334         * lrecord.h (enum lrecord_type): Add
3335         `lrecord_type_uint16_byte_table' and
3336         `lrecord_type_uint8_byte_table'.
3337
3338         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3339         (Lisp_Uint8_Byte_Table): New type.
3340         (XUINT8_BYTE_TABLE): New macro.
3341         (XSETUINT8_BYTE_TABLE): New macro.
3342         (UINT8_BYTE_TABLE_P): New macro.
3343         (GC_UINT8_BYTE_TABLE_P): New macro.
3344         (struct Lisp_Uint16_Byte_Table): New structure.
3345         (Lisp_Uint16_Byte_Table): New type.
3346         (XUINT16_BYTE_TABLE): New macro.
3347         (XSETUINT16_BYTE_TABLE): New macro.
3348         (UINT16_BYTE_TABLE_P): New macro.
3349         (GC_UINT16_BYTE_TABLE_P): New macro.
3350
3351 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3352
3353         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3354         (Vcharacter_ideographic_strokes_table): Deleted.
3355         (Vcharacter_total_strokes_table): Deleted.
3356         (Vcharacter_morohashi_daikanwa_table): Deleted.
3357         (Vcharacter_decomposition_table): Deleted.
3358         (Qname): Deleted because it is duplicated.
3359         (Qideographic_radical): Deleted.
3360         (Qideographic_strokes): Deleted.
3361         (Qtotal_strokes): Deleted.
3362         (Qmorohashi_daikanwa): Deleted.
3363         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3364         `ideographic-radical', `ideographic-strokes', `total-strokes',
3365         `morohashi-daikanwa' and `->decomposition'.
3366         (Fget_char_attribute): Likewise.
3367         (Fput_char_attribute): Likewise; use `make-vector' instead of
3368         `make_older_vector' for `->decomposition' value.
3369         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3370         `ideograph-daikanwa'.
3371         (syms_of_mule_charset): Delete builtin symbols `name',
3372         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3373         `morohashi-daikanwa'.
3374         (vars_of_mule_charset): Don't setup
3375         `Vcharacter_ideographic_radical_table',
3376         `Vcharacter_ideographic_strokes_table',
3377         `Vcharacter_total_strokes_table',
3378         `Vcharacter_morohashi_daikanwa_table' and
3379         `Vcharacter_decomposition_table'.
3380
3381 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3382
3383         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3384         `make_older_vector', `make_vector_newer_1' and
3385         `make_vector_newer'.
3386
3387         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3388         `make_older_vector' and `make_vector_newer'.
3389
3390         * config.h.in (HAVE_GGC): New macro.
3391
3392 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3393
3394         * mule-charset.c (struct char_attribute_list_closure): New
3395         structure in UTF-2000.
3396         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3397         (Fchar_attribute_list): Likewise.
3398         (Fset_charset_mapping_table): Use `make_vector_newer'.
3399         (Fdecode_builtin_char): New function in UTF-2000.
3400         (syms_of_mule_charset): Add new function `char-attribute-list' and
3401         `decode-builtin-char' in UTF-2000.
3402
3403         * lisp.h (make_vector_newer): New prototype.
3404
3405         * alloc.c (make_vector_newer_1): New function.
3406         (make_vector_newer): New function.
3407
3408 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3409
3410         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3411         50100)'.
3412
3413 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3414
3415         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3416         (Vcharacter_attribute_table): Deleted.
3417         (Vcharacter_name_table): Deleted.
3418         (put_char_attribute): Deleted.
3419         (remove_char_attribute): Deleted.
3420         (struct char_attribute_alist_closure): New structure.
3421         (add_char_attribute_alist_mapper): New function.
3422         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3423         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3424         (Fget_char_attribute): Likewise.
3425         (Fput_char_attribute): Likewise.
3426         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3427         of `remove_char_attribute'.
3428         (Fdefine_char): Return character.
3429         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3430         and `Vcharacter_name_table'.
3431         (complex_vars_of_mule_charset): Likewise
3432         `Vchar_attribute_hash_table'.
3433
3434 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3435
3436         * character.h (CHARC_CHARSET): New macro.
3437         (CHARC_CHARSET_ID): New macro.
3438         (CHARC_CODE_POINT): New macro.
3439         (CHARC_COLUMNS): New macro.
3440         (CHARC_TO_CHAR): New inline function.
3441         (CHARC_EQ): New inline function.
3442         (CHARC_ASCII_EQ): New inline function.
3443         (CHARC_IS_SPACE): New inline function.
3444         (ASCII_TO_CHARC): New inline function.
3445
3446         * char-ucs.h (encode_char_2): Deleted.
3447         (ENCODE_CHAR): Use `encode_char_1' again.
3448         (breakup_char_1): Likewise.
3449         (CHAR_TO_CHARC): New inline function.
3450
3451         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3452
3453 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3454
3455         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3456         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3457         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3458         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3459         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3460         `CHARC_IS_SPACE'.
3461         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3462
3463         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3464         `CHARC_CODE_POINT'.
3465         (x_output_display_block): Use `CHARC_CHARSET' and
3466         `CHARC_ASCII_EQ'.
3467
3468         * redisplay-tty.c (tty_output_display_block): Use
3469         `CHARC_ASCII_EQ'.
3470         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3471
3472         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3473
3474         * insdel.c (find_charsets_in_charc_string): Use
3475         `CHARC_CHARSET_ID'.
3476         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3477         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3478         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3479         (convert_charc_string_into_malloced_string): Likewise.
3480
3481 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3482
3483         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3484         instead of <Emchar_dynarr *> for buf; use
3485         `convert_bufbyte_string_into_charc_dynarr' instead of
3486         `convert_bufbyte_string_into_emchar_dynarr'; use
3487         `find_charsets_in_charc_string' instead of
3488         `find_charsets_in_emchar_string'.
3489
3490         * redisplay.h:
3491         - Include "character.h".
3492         (struct rune): New member `cglyph'; delete member `chr'.
3493
3494         * redisplay.c (redisplay_text_width_charc_string): New function;
3495         delete `redisplay_text_width_emchar_string'.
3496         (rtw_charc_dynarr): New variable; renamed from
3497         `rtw_emchar_dynarr'.
3498         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3499         `rtw_emchar_dynarr'; use
3500         `convert_bufbyte_string_into_charc_dynarr' instead of
3501         `convert_bufbyte_string_into_emchar_dynarr'; use
3502         `redisplay_text_width_charc_string' instead of
3503         `redisplay_text_width_emchar_string'.
3504         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3505         instead of `rtw_emchar_dynarr'; use
3506         `convert_bufbyte_string_into_charc_dynarr' instead of
3507         `convert_bufbyte_string_into_emchar_dynarr'.
3508         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3509         `redisplay_text_width_charc_string' instead of
3510         `redisplay_text_width_emchar_string'.
3511         (create_text_block): Modify for <struct rune> change.
3512         (generate_formatted_string_db): Likewise.
3513         (create_string_text_block): Likewise.
3514         (pixel_to_glyph_translation): Likewise.
3515
3516         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3517         instead of <const Emchar *>.
3518         (x_text_width): Likewise.
3519         (x_output_display_block): Use <Charc_dynarr *> instead
3520         <Emchar_dynarr *>; modify for <structure rune> change.
3521         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3522         *>.
3523
3524         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3525         <const Emchar *>; use `charc_string_displayed_columns' instead of
3526         `emchar_string_displayed_columns'.
3527         (tty_output_display_block): Use <Charc_dynarr *> instead of
3528         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3529         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3530         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3531         `tty_output_emchar_dynarr_dynarr'.
3532         (tty_output_charc_dynarr): New function; delete
3533         `tty_output_charc_dynarr'.
3534
3535         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3536         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3537         <Emchar_dynarr *> for buf; use
3538         `convert_bufbyte_string_into_charc_dynarr' instead of
3539         `convert_bufbyte_string_into_emchar_dynarr'.
3540
3541         * frame.c (title_string_charc_dynarr): New variable; renamed from
3542         `title_string_emchar_dynarr'.
3543         (generate_title_string): Use `title_string_charc_dynarr' instead
3544         of `title_string_emchar_dynarr'; use
3545         `convert_charc_string_into_malloced_string' instead of
3546         `convert_emchar_string_into_malloced_string'.
3547         (init_frame): Use `title_string_charc_dynarr' instead of
3548         `title_string_emchar_dynarr'.
3549
3550         * console.h:
3551         - Include "character.h".
3552         (struct console_methods): Use <const Charc *> instead of <const
3553         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3554         <Emchar_dynarr *> in output_string_method.
3555
3556         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3557         <Emchar_dynarr *>.
3558
3559         * console-stream.c (stream_text_width): Use <const Charc *>
3560         instead of <const Emchar *>.
3561
3562         * character.h (Charc_dynarr): New type.
3563
3564         * char-ucs.h (structure Charc): New structure; define new type
3565         `Charc'.
3566
3567         * char-lb.h (DECODE_CHAR): New inline function.
3568         (encode_char_1): New inline function.
3569         (ENCODE_CHAR): New macro.
3570         (structure Charc): New structure; define new type `Charc'.
3571
3572         * char-1byte.h (Vcharset_control_1): New macro.
3573         (Vcharset_latin_iso8859_1): New macro.
3574         (DECODE_CHAR): New inline function.
3575         (encode_char_1): New inline function.
3576         (ENCODE_CHAR): New macro.
3577         (structure Charc): New structure; define new type `Charc'.
3578
3579         * insdel.c (find_charsets_in_charc_string): New function; delete
3580         `find_charsets_in_emchar_string'.
3581         (charc_string_displayed_columns): New function; delete
3582         `emchar_string_displayed_columns'.
3583         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3584         `convert_bufbyte_string_into_emchar_dynarr'.
3585         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3586         `convert_charc_string_into_bufbyte_dynarr'.
3587         (convert_charc_string_into_malloced_string): New function; delete
3588         `convert_charc_string_into_malloced_string'.
3589
3590         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3591         `find_charsets_in_emchar_string'.
3592         (charc_string_displayed_columns): New prototype; delete
3593         `emchar_string_displayed_columns'.
3594         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3595         `convert_charc_string_into_bufbyte_dynarr'.
3596         (convert_charc_string_into_malloced_string): New prototype; delete
3597         `convert_charc_string_into_malloced_string'.
3598
3599 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3600
3601         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3602
3603 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3604
3605         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3606
3607         * char-ucs.h: Use <short> for <Charset_ID>.
3608
3609         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3610         <Charset_ID>.
3611
3612 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3613
3614         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3615         to 0.16.
3616
3617 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3618
3619         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3620         variable.
3621         (Qmorohashi_daikanwa): New variable.
3622         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3623         for `morohashi-daikanwa' attribute.
3624         (Fget_char_attribute): Likewise.
3625         (Fput_char_attribute): Likewise.
3626         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3627         has the same value of `ideograph-daikanwa'.
3628         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3629         (vars_of_mule_charset): Setup
3630         `Vcharacter_morohashi_daikanwa_table'.
3631
3632 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3633
3634         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3635         attributes.
3636         (add_charset_to_list_mapper): Add `key' instead of
3637         `XCHARSET_NAME (value)' to return aliases.
3638
3639 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3640
3641         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3642         variable.
3643         (Vcharacter_ideographic_strokes_table): New variable.
3644         (Qideographic_radical): New variable.
3645         (Qideographic_strokes): New variable.
3646         (Fchar_attribute_alist): Use
3647         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3648         attribute; use `Vcharacter_ideographic_strokes_table' for
3649         `ideographic-strokes' attribute.
3650         (Fget_char_attribute): Likewise.
3651         (Fput_char_attribute): Likewise.
3652         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3653         `ideographic-strokes'.
3654         (vars_of_mule_charset): Setup
3655         `Vcharacter_ideographic_radical_table' and
3656         `Vcharacter_ideographic_strokes_table'.
3657
3658 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3659
3660         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3661         (Qtotal_strokes): New variable.
3662         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3663         `total-strokes' attribute.
3664         (Fget_char_attribute): Likewise.
3665         (Fput_char_attribute): Likewise.
3666         (syms_of_mule_charset): Add new symbol `total-strokes'.
3667         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3668
3669 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3670
3671         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3672         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3673         are found.
3674         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3675         `->decomposition' attribute.
3676         (Fput_char_attribute): Likewise.
3677         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3678
3679 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3680
3681         * mule-charset.c (decoding_table_check_elements): New function.
3682         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3683
3684 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3685
3686         * mule-charset.c (Fset_charset_mapping_table): Use
3687         `put_char_ccs_code_point'.
3688
3689 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3690
3691         * mule-charset.c (decoding_table_put_char): New inline function.
3692         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3693
3694 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3695
3696         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3697         (XCHARSET_BYTE_SIZE): New macro.
3698         (decoding_table_remove_char): New inline function.
3699         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3700         `decoding_table_remove_char'.
3701         (remove_char_ccs): Use `decoding_table_remove_char'.
3702         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3703
3704 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3705
3706         * mule-charset.c (Vcharacter_name_table): New variable.
3707         (Qname): New variable.
3708         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3709         attribute.
3710         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3711         `Vcharacter_name_table' for `name' attribute.
3712         (Fremove_char_attribute): Use function `remove_char_ccs'.
3713         (put_char_ccs_code_point): New function.
3714         (remove_char_ccs): New function.
3715         (syms_of_mule_charset): Add new symbol `name'.
3716         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3717
3718 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3719
3720         * mule-charset.c (make_byte_table): Add new argument `older'.
3721         (make_char_id_table): Likewise.
3722         (copy_char_id_table): Comment out because it is not used.
3723         (put_char_id_table): Modify for `make_byte_table'.
3724         (Fput_char_attribute): Make encoding_table as older object;
3725         inherit older bit of `Vcharacter_composition_table'.
3726         (mark_charset): Don't mark `cs->encoding_table'.
3727         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3728         normal object; make `Vcharacter_composition_table' as an older
3729         object; delete staticpro for `Vcharacter_composition_table'; make
3730         `Vcharacter_variant_table' as a normal object.
3731
3732         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3733         (mark_object): Don't check older object in UTF-2000.
3734
3735         * lrecord.h (struct lrecord_header): Add new member `older' in
3736         UTF-2000.
3737         (set_lheader_implementation): Setup `SLI_header->older' in
3738         UTF-2000.
3739         (set_lheader_older_implementation): New macro in UTF-2000.
3740         (OLDER_RECORD_P): New macro in UTF-2000.
3741         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3742         (alloc_older_lcrecord): New prototype in UTF-2000.
3743         (alloc_older_lcrecord_type): New macro in UTF-2000.
3744
3745 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3746
3747         * mule-charset.c (byte_table_description): Use
3748         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3749         (char_id_table_description): Delete bogus `, 1'.
3750         (Fget_char_attribute): Refer encoding_table of each coded-charset
3751         to get value of coded-charset attribute of a character.
3752         (Fput_char_attribute): Use `make_older_vector' instead of
3753         `make_vector'; use encoding_table of each coded-charset to store
3754         value of coded-charset attribute of a character.
3755         (Fremove_char_attribute): Use encoding_table of each coded-charset
3756         to store value of coded-charset attribute of a character.
3757         (mark_charset): Mark `cs->encoding_table'; don't mark
3758         `cs->decoding_table'.
3759         (charset_description): Add description of new member
3760         `encoding_table'.
3761         (make_charset): Initialize `encoding_table'.
3762
3763         * char-ucs.h (struct Lisp_Charset): Add new member
3764         `encoding_table'.
3765         (CHARSET_ENCODING_TABLE): New macro.
3766         (XCHARSET_ENCODING_TABLE): New macro.
3767         (charset_code_point): New implementation.
3768         (encode_char_1): Likewise.
3769
3770         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3771         (disksave_object_finalization_1): Call finalizers of
3772         `all_older_lcrecords' in UTF-2000.
3773         (make_older_vector): New function in UTF-2000.
3774         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3775         UTF-2000.
3776
3777         * lisp.h (make_older_vector): New prototype in UTF-2000.
3778
3779 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3780
3781         * lrecord.h (enum lrecord_type): Rename
3782         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3783
3784         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3785         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3786         `get_char_code_table'.
3787
3788         * mule-charset.c (mark_char_id_table): Renamed from
3789         `mark_char_code_table'.
3790         (char_id_table_equal): Renamed from `char_code_table_equal'.
3791         (char_id_table_hash): Renamed from `char_code_table_hash'.
3792         (make_char_id_table): Renamed from `make_char_code_table'.
3793         (copy_char_id_table): Renamed from `copy_char_code_table'.
3794         (get_char_id_table): Renamed from `get_char_code_table'.
3795         (put_char_id_table): Renamed from `put_char_code_table'.
3796         (to_char_id): Renamed from `to_char_code'.
3797
3798         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3799         `Lisp_Char_Code_Table'.
3800         (char_id_table): Renamed from `char_code_table'.
3801         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3802         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3803         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3804         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3805         (get_char_id_table): Renamed from `get_char_code_table'.
3806
3807 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3808
3809         * lrecord.h (enum lrecord_type): Rename
3810         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3811
3812         * mule-charset.c (mark_byte_table): Renamed from
3813         `mark_char_byte_table'.
3814         (byte_table_equal): Renamed from `char_byte_table_equal'.
3815         (byte_table_hash): Renamed from `byte_table_hash'.
3816         (make_byte_table): Renamed from `make_byte_table'.
3817         (copy_byte_table): Renamed from `copy_char_byte_table'.
3818
3819         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3820         `Lisp_Char_Byte_Table'.
3821         (byte_table): Renamed from `char_byte_table'.
3822         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3823         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3824         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3825         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3826
3827 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3828
3829         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3830         (dfc_convert_to_internal_format): Likewise.
3831         
3832         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3833         * text-coding.c (Fcoding_system_alias_p): New function.
3834         * text-coding.c (Fcoding_system_aliasee): New function.
3835         * text-coding.c (append_suffix_to_symbol): New function.
3836         * text-coding.c (dangling_coding_system_alias_p): New function.
3837         * text-coding.c (Ffind_coding_system):
3838         * text-coding.c (Fcopy_coding_system):
3839         * text-coding.c (encode_coding_no_conversion):
3840         * text-coding.c (syms_of_file_coding):
3841         * text-coding.c (vars_of_file_coding):
3842         Rewrite coding system alias code.
3843         Allow nested aliases, like symbolic links.
3844         Allow redefinition of coding system aliases.
3845         Prevent existence of dangling coding system aliases.
3846         Eliminate convert_to_external_format.
3847         Eliminate convert_to_internal_format.
3848         
3849         * text-coding.c: Change enum eol_type to eol_type_t.
3850
3851 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3852
3853         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3854         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3855
3856         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3857         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3858
3859 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3860
3861         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3862         `ideograph-daikanwa'.
3863
3864         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3865         (Vcharset_ucs_bmp): Likewise.
3866         (Vcharset_mojikyo): Add new extern variable definition.
3867         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3868         (Vcharset_latin_iso8859_3): Likewise.
3869         (Vcharset_latin_iso8859_4): Likewise.
3870         (Vcharset_latin_iso8859_9): Likewise.
3871         (Vcharset_latin_viscii_lower): Likewise.
3872         (Vcharset_latin_viscii_upper): Likewise.
3873         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3874         `mojikyo' code-point is used to decode.
3875         (encode_char_2): New function [to convert `mojikyo' code-point to
3876         Mojikyo font encoding].
3877         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3878         (breakup_char_1): Likewise.
3879         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3880
3881 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3882
3883         * text-coding.c (Fmake_coding_system): Add document about
3884         `disable-composition' property.
3885
3886 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3887
3888         * text-coding.c (Qdisable_composition): New variable; delete
3889         `Qcomposite'.
3890         (Fmake_coding_system): Add new property `disable-composite';
3891         delete property `composite'.
3892         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3893         instead of `!CODING_SYSTEM_COMPOSITE'.
3894         (syms_of_file_coding): Add new symbol `disable-composition';
3895         delete symbol `composite'.
3896
3897         * file-coding.h (struct Lisp_Coding_System): Add
3898         `disable_composition'; delete `enable_composition'.
3899         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3900         `CODING_SYSTEM_COMPOSITE'.
3901         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3902         `XCODING_SYSTEM_COMPOSITE'.
3903
3904 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3905
3906         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3907         to 0.15.
3908
3909 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3910
3911         * text-coding.c (Qcomposite): New variable.
3912         (Fmake_coding_system): Add new property `composite'.
3913         (struct decoding_stream): Add `combined_char_count',
3914         `combined_chars' and `combining_table' in UTF-2000.
3915         (COMPOSE_FLUSH_CHARS): New macro.
3916         (COMPOSE_ADD_CHAR): New macro.
3917         (reset_decoding_stream): Reset `str->combined_char_count' and
3918         `str->combining_table' in UTF-2000.
3919         (decode_coding_iso2022): Modify for character-decomposition.
3920         (syms_of_file_coding): Add new symbol `composite'.
3921
3922 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3923
3924         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3925         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3926         of `Vcharacter_composition_table' if `->decomposition' property
3927         has only 1 element.
3928         (Qlatin_tcvn5712): New variable.
3929         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3930         (complex_vars_of_mule_charset): Add new coded-charset
3931         `latin-tcvn5712'.
3932
3933         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3934
3935 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3936
3937         * file-coding.h (struct Lisp_Coding_System): Add
3938         `enable_composition'.
3939         (CODING_SYSTEM_COMPOSITE): New macro.
3940         (XCODING_SYSTEM_COMPOSITE): New macro.
3941
3942 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3943
3944         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3945
3946 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3947
3948         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3949         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3950
3951 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3952
3953         * mule-charset.c (Vcharset_mojikyo): New variable.
3954         (Fdefine_char): Don't use coded-charset which does not have
3955         non-builtin character range to allocate character-id.
3956         (Qmojikyo): New variable.
3957         (syms_of_mule_charset): Add new symbol `mojikyo'.
3958         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3959
3960         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3961         (LEADING_BYTE_MOJIKYO): New macro.
3962         (MIN_CHAR_MOJIKYO): New macro.
3963         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3964         (MAX_CHAR_MOJIKYO): New macro.
3965
3966 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3967
3968         * mule-charset.c (remove_char_attribute): Fixed.
3969
3970 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3971
3972         * mule-charset.c (remove_char_attribute): New function.
3973         (Fremove_char_attribute): New function.
3974         (encode_builtin_char_1): Comment out builtin-support for
3975         greek-iso8859-7 and cyrillic-iso8859-5.
3976         (Fdecode_char): Check `code' is an integer.
3977         (syms_of_mule_charset): Add `remove-char-attribute'.
3978         (MIN_CHAR_GREEK): Deleted.
3979         (MAX_CHAR_GREEK): Likewise.
3980         (MIN_CHAR_CYRILLIC): Likewise.
3981         (MAX_CHAR_CYRILLIC): Likewise.
3982         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3983         MAX_CHAR_GREEK for `greek-iso8859-7'.
3984
3985         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3986         (MAX_CHAR_GREEK): Likewise.
3987         (MIN_CHAR_CYRILLIC): Likewise.
3988         (MAX_CHAR_CYRILLIC): Likewise.
3989
3990 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3991
3992         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3993         format is used without `ucs' property.
3994         (Fdecode_char): Fix problem with GR representation.
3995         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3996         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3997
3998 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3999
4000         * mule-charset.c (make_builtin_char): New function.
4001         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4002         (Fset_charset_mapping_table): Modify for new representation of
4003         code-point.
4004         (Fdecode_char): New function.
4005         (syms_of_mule_charset): Add new builtin function `decode-char' in
4006         UTF-2000.
4007
4008         * char-ucs.h (make_builtin_char): New prototype.
4009         (DECODE_CHAR): New inline function.
4010         (MAKE_CHAR): Use `DECODE_CHAR'.
4011
4012 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4013
4014         * text-coding.c (parse_charset_conversion_specs): Use
4015         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4016         `XCHARSET_TYPE'.
4017         (iso2022_designate): Likewise.
4018
4019         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4020         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4021
4022         * mule-charset.c (Vcharset_ucs): New variable.
4023         (print_charset): Change design; use `CHARSET_CHARS' and
4024         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4025         (make_charset): Change signature to specify `chars' and
4026         `dimension' instead of `type'.
4027         (range_charset_code_point): Modify for 256^n-set.
4028         (encode_builtin_char_1): Encode as `ucs' in default.
4029         (Fmake_charset): Modify for `make_charset'.
4030         (Fmake_reverse_direction_charset): Likewise.
4031         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4032         UTF-2000.
4033         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4034         for `make_charset'.
4035
4036         * char-ucs.h (Vcharset_ucs): New variable.
4037         (LEADING_BYTE_UCS): New macro.
4038         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4039         and `chars' to `unsigned short' from `unsigned int'.
4040         (CHARSET_TYPE): Deleted.
4041         (XCHARSET_TYPE): Deleted.
4042
4043 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4044
4045         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4046
4047         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4048         (ENCODE_CHAR): New macro.
4049
4050 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4053         to 0.14 (Kawachi-Katakami).
4054
4055 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4056
4057         * text-coding.c (char_encode_shift_jis): Modify for
4058         `charset_code_point'.
4059         (char_encode_iso2022): Likewise.
4060
4061         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4062         (integer) instead of list of <Lisp_Object>s (integers) as the
4063         format of code-point of a coded-charset.
4064         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4065         (encode_builtin_char_1): New function; delete
4066         `split_builtin_char'.
4067         (charset_code_point): Return <int> instead of <Lisp_Object>.
4068         (Fsplit_char): Don't use `SPLIT_CHAR'.
4069
4070         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4071         prototype for `split_builtin_char'.
4072         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4073         (charset_code_point): Likewise.
4074         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4075         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4076
4077 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4078
4079         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4080         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4081
4082 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4083
4084         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4085
4086         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4087         (MAX_CHAR_OBS_94x94): Deleted.
4088
4089 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4090
4091         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4092
4093         * char-ucs.h (MAX_CHAR_BMP): New macro.
4094
4095 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4096
4097         * text-coding.c: Sync with r21-2-24.
4098
4099 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4100
4101         * file-coding.c: Modify for UTF-2000.
4102
4103 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4104
4105         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4106         to 0.13 (Takaida).
4107
4108 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4109
4110         * mule-charset.c (split_builtin_char): Delete builtin support for
4111         `katakana-jisx0201'.
4112         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4113         BMP area in builtin representation.
4114
4115         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4116         `Vcharset_katakana_jisx0201'.
4117
4118 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4119
4120         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4121         (Qisolated): New variable.
4122         (Qinitial): New variable.
4123         (Qmedial): New variable.
4124         (Qfinal): New variable.
4125         (Qvertical): New variable.
4126         (Qsmall): New variable.
4127         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4128         `Qvertical' and `Qsmall'.
4129         (Qmojikyo_pj_[1 .. 21]): New variable.
4130         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4131         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4132         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4133         .. 21]'.
4134
4135 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4136
4137         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4138         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4139         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4140
4141 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4142
4143         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4144         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4145         BMP.
4146         (Qjapanese_jisx0208_1990): New variable.
4147         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4148         (complex_vars_of_mule_charset): Add new coded-charset
4149         `japanese-jisx0208-1990'.
4150
4151         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4152         (MIN_CHAR_JIS_X0208_1990): New macro.
4153         (MAX_CHAR_JIS_X0208_1990): New macro.
4154
4155 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4156
4157         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4158         coded-charset is not found.
4159
4160 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4161
4162         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4163         (Fdefine_char): Use `Fmake_char'.
4164
4165 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4166
4167         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4168         (Vcharset_hiragana_jisx0208): Deleted.
4169         (Vcharset_katakana_jisx0208): Deleted.
4170         (Qideograph_daikanwa): New variable.
4171         (Qhiragana_jisx0208): Deleted.
4172         (Qkatakana_jisx0208): Deleted.
4173         (split_builtin_char): Split `ideograph-daikanwa'.
4174         (Fsplit_char): New implementation for UTF-2000.
4175         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4176         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4177         (complex_vars_of_mule_charset): Add new coded-charset
4178         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4179         `katakana-jisx0208'.
4180
4181         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4182         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4183         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4184         (MIN_CHAR_DAIKANWA): New macro.
4185         (MAX_CHAR_DAIKANWA): New macro.
4186
4187 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4188
4189         * data.c (Fstring_to_number): Don't recognize floating point if
4190         base is not 10.
4191
4192 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4193
4194         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4195
4196 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4197
4198         * mule-charset.c (Qsquare): New variable.
4199         (to_char_code): Add `Qsquare'.
4200         (syms_of_mule_charset): Add new symbol `square'.
4201
4202 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4203
4204         * mule-charset.c (Qcircle): New variable.
4205         (to_char_code): Add `Qcircle'.
4206         (syms_of_mule_charset): Add new symbol `circle'.
4207
4208 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4209
4210         * mule-charset.c (Qfont): New variable.
4211         (to_char_code): Add `Qfont'.
4212         (syms_of_mule_charset): Add new symbol `font'.
4213
4214 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4215
4216         * mule-charset.c (Qsub): New variable.
4217         (to_char_code): Add `Qsub'.
4218         (syms_of_mule_charset): Add new symbol `sub'.
4219
4220 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4221
4222         * mule-charset.c (Fput_char_attribute): Convert each element of
4223         VALUE to GL position if ATTRIBUTE is a GR-set,
4224
4225 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4226
4227         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4228         coded-charset is a GR-set.
4229
4230 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4231
4232         * mule-charset.c (Fput_char_attribute): Check each element of
4233         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4234
4235 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4236
4237         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4238         UTF-2000.
4239         (Qethiopic_ucs): New variable in UTF-2000.
4240         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4241         (complex_vars_of_mule_charset): Add new coded-charset
4242         `ethiopic-ucs' in UTF-2000.
4243
4244         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4245         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4246         9)'.
4247         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4248         10)'.
4249         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4250
4251 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4252
4253         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4254         `ascii'.
4255
4256 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4257
4258         * mule-charset.c (Vcharacter_variant_table): New variable.
4259         (Q_ucs): New variable.
4260         (Fchar_variants): New function.
4261         (Fput_char_attribute): Register `->ucs' value to
4262         `Vcharacter_variant_table'.
4263         (syms_of_mule_charset): Add new function `char-variants' and new
4264         symbol `->ucs'.
4265         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4266
4267 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4268
4269         * mule-charset.c (get_char_code_table): Allow negative character
4270         code.
4271         (put_char_code_table): Likewise.
4272         (Vcharacter_composition_table): New variable.
4273         (Q_decomposition): New variable.
4274         (Qwide): New variable.
4275         (Qnarrow): New variable.
4276         (Qcompat): New variable.
4277         (QnoBreak): New variable.
4278         (Qsuper): New variable.
4279         (Qfraction): New variable.
4280         (to_char_code): New function.
4281         (Fget_composite_char): New function.
4282         (Fput_char_attribute): Register `->decomposition' value to
4283         `Vcharacter_composition_table'.
4284         (syms_of_mule_charset): Add new function `get-composite-char', new
4285         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4286         `super' and `fraction'.
4287         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4288
4289 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4290
4291         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4292         character; copy the return value.
4293
4294 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4295
4296         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4297
4298         * mule-charset.c (range_charset_code_point): Must use make_int.
4299         (split_builtin_char): New function.
4300
4301 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4302
4303         * mule-charset.c (char_byte_table): Change name from
4304         "char-code-table" to "char-byte-table".
4305         (mark_char_code_table): New function.
4306         (char_code_table_equal): New function.
4307         (char_code_table_hash): New function.
4308         (char_code_table_description): New constant.
4309         (char_code_table): New type.
4310         (make_char_code_table): New function.
4311         (copy_char_code_table): New function.
4312         (get_char_code_table): Modify for `char_code_table' type.
4313         (put_char_code_table): Likewise.
4314         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4315         (Kashiwara).
4316
4317         * char-ucs.h (char_code_table): New type.
4318         (XCHAR_CODE_TABLE): New macro.
4319         (XSETCHAR_CODE_TABLE): New macro.
4320         (CHAR_CODE_TABLE_P): New macro.
4321         (GC_CHAR_CODE_TABLE_P): New macro.
4322         (struct Lisp_Char_Code_Table): New structure.
4323
4324 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4325
4326         * mule-charset.c (Fmake_charset): Setup byte_offset for
4327         {94|96}^n-set.
4328
4329 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4330
4331         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4332         character.
4333
4334 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4335
4336         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4337         is found.
4338
4339 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4340
4341         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4342         charset, it is regarded as a charset.
4343         (put_char_attribute): New function in UTF-2000.
4344         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4345         charset, mapping-table of the charset is modified.
4346         (Fdefine_char): New function in UTF-2000.
4347         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4348         `Fput_char_attribute'.
4349         (syms_of_mule_charset): Add new function `define-char' and new
4350         symbol `ucs' in UTF-2000.
4351         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4352
4353 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4354
4355         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4356         non-UTF-2000 configuration.
4357
4358 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4359
4360         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4361         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4362
4363         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4364         deleted.
4365         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4366         (Fset_charset_mapping_table): Likewise.
4367
4368         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4369         (CHARSET_ENCODING_TABLE): Delete.
4370         (XCHARSET_ENCODING_TABLE): Delete.
4371         (charset_code_point): New interface.
4372
4373 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4374
4375         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4376         instead of `charset_get_byte1' and `charset_get_byte2'.
4377
4378         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4379         (charset_get_byte2): Deleted.
4380
4381 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4382
4383         * char-ucs.h (SPLIT_CHAR): New inline function.
4384         (breakup_char_1): Use `SPLIT_CHAR'.
4385
4386         * mule-charset.c (range_charset_code_point): New function.
4387         (charset_code_point): New function.
4388
4389         * char-ucs.h (range_charset_code_point): New interface.
4390         (breakup_char_1): Use `range_charset_code_point'.
4391
4392 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4393
4394         * mule-charset.c (Fmake_charset): Delete unused local variable
4395         `code_offset'.
4396
4397         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4398         (breakup_char_1): Find a charset and code-point in
4399         `Vcharacter_attribute_table'.
4400
4401 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4402
4403         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4404         to 0.10 (Yao).
4405
4406 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4407
4408         * mule-charset.c (Vcharacter_attribute_table): New variable.
4409         (Fchar_attribute_alist): New function.
4410         (Fget_char_attribute): New function.
4411         (Fput_char_attribute): New function.
4412         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4413         too.
4414         (syms_of_mule_charset): Add new function `char-attribute-alist',
4415         `get-char-attribute' and `put-char-attribute'.
4416         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4417
4418 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4419
4420         * mule-charset.c (Fmake_charset): Just use
4421         `get_unallocated_leading_byte'.
4422
4423         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4424         sets; don't use final-byte based number for private sets.
4425
4426 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4427
4428         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4429         integer.
4430
4431 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4432
4433         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4434         to 0.9.
4435
4436 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4437
4438         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4439         of `CHAR_LEADING_BYTE' in UTF-2000.
4440
4441         * insdel.c (find_charsets_in_bufbyte_string): Use
4442         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4443         (find_charsets_in_emchar_string): Likewise.
4444
4445         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4446         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4447
4448         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4449         (CHAR_CHARSET_ID): New macro.
4450
4451 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4452
4453         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4454         charset-id - MIN_LEADING_BYTE.
4455         (put_char_table): Likewise.
4456
4457 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4458
4459         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4460         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4461         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4462         (CHARSET_ID_OFFSET): New macro.
4463         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4464         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4465         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4466         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4467         4).
4468         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4469         5).
4470         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4471         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4472         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4473         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4474         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4475
4476 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4477
4478         * mule-charset.c (next_allocated_leading_byte): New variable in
4479         UTF-2000.
4480         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4481         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4482         (get_unallocated_leading_byte): Simply use
4483         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4484         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4485         UTF-2000.
4486
4487         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4488         (MAX_LEADING_BYTE_PRIVATE): New macro.
4489         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4490         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4491
4492 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4493
4494         * mule-charset.c (Fmake_charset): Allocate final-byte based
4495         charset-id for 94-set, 96-set and 94x94-set.
4496
4497 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4498
4499         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4500         ambiguous `else'.
4501         (Fmake_charset): Likewise.
4502         (complex_vars_of_mule_charset): Modify the font registry of
4503         `ucs-bmp' not to match `Ethiopic-Unicode'.
4504
4505 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4506
4507         * mule-charset.c (complex_vars_of_mule_charset): Add font
4508         registory of `ucs-bmp'.
4509
4510 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4511
4512         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4513         coded-charsets in `default-coded-charset-priority-list' when
4514         breaking up a character.
4515
4516         * mule-charset.c (Vcharset_latin_viscii): New variable.
4517         (Qlatin_viscii): New variable.
4518         (make_charset): Don't use `decoding_table'.
4519         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4520         byte_offset.
4521         (Fset_charset_mapping_table): New implementation.
4522         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4523         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4524         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4525         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4526         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4527         charset `latin_viscii'.
4528
4529         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4530         (CHARSET_TYPE_94X94): Change to 1 from 2.
4531         (CHARSET_TYPE_96): Change to 2 from 1.
4532         (CHARSET_TYPE_128): New macro.
4533         (CHARSET_TYPE_128X128): Change to 5 from 4.
4534         (CHARSET_TYPE_256): New macro.
4535         (CHARSET_TYPE_256X256): Change to 7 from 5.
4536         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4537
4538 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4539
4540         * text-coding.c (char_encode_shift_jis): Refer
4541         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4542         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4543
4544         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4545         (char_byte_table_equal): New function in UTF-2000.
4546         (char_byte_table_hash): New function in UTF-2000.
4547         (char_byte_table_description): New constant in UTF-2000.
4548         (char_byte_table): New type in UTF-2000.
4549         (make_char_byte_table): New function in UTF-2000.
4550         (copy_char_byte_table): New function in UTF-2000.
4551         (make_char_code_table): New macro in UTF-2000.
4552         (get_char_code_table): New function in UTF-2000.
4553         (put_char_code_table): New function in UTF-2000.
4554         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4555         (charset_description): Add setting in UTF-2000.
4556         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4557         `CHARSET_TO_BYTE1_TABLE(cs)'.
4558         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4559         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4560         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4561         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4562         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4563         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4564         `CHARSET_TO_BYTE2_TABLE(cs)'.
4565
4566         * char-ucs.h (char_byte_table): New type.
4567         (XCHAR_BYTE_TABLE): New macro.
4568         (XSETCHAR_BYTE_TABLE): New macro.
4569         (CHAR_BYTE_TABLE_P): New macro.
4570         (GC_CHAR_BYTE_TABLE_P): New macro.
4571         (struct Lisp_Char_Byte_Table): New structure.
4572         (get_char_code_table): New interface.
4573         (Emchar_to_byte_table): Deleted.
4574         (get_byte_from_character_table): Deleted.
4575         (struct Lisp_Charset): Add `encoding_table'; delete
4576         `to_byte1_table' and `to_byte2_table'.
4577         (CHARSET_ENCODING_TABLE): New macro.
4578         (CHARSET_TO_BYTE1_TABLE): Deleted.
4579         (CHARSET_TO_BYTE2_TABLE): Deleted.
4580         (XCHARSET_ENCODING_TABLE): New macro.
4581         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4582         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4583
4584 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4585
4586         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4587         `vietnamese-viscii-*'.
4588
4589 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4592         (Qvietnamese_viscii_upper): New variable.
4593         (Fdefine_charset_alias): New function.
4594         (syms_of_mule_charset): Add new function `define-charset-alias'.
4595         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4596         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4597         `latin-viscii-*'.
4598
4599 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4602         (MAX_CHAR_OBS_94x94): New macro.
4603         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4604         for 94x94 sets.
4605
4606         * mule-charset.c (put_byte_from_character_table): Change unit size
4607         from 128 to 256.
4608         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4609         not defined.
4610         (Fmake_reverse_direction_charset): Modify dummy argument of
4611         `make_charset' for non-UTF-2000 environment.
4612
4613 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4614
4615         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4616
4617         * mule-charset.c (destroy_byte_from_character_table): New macro.
4618         (latin_jisx0201_to_ucs): Deleted.
4619         (latin_iso8859_2_to_ucs): Deleted.
4620         (latin_iso8859_3_to_ucs): Deleted.
4621         (latin_iso8859_4_to_ucs): Deleted.
4622         (latin_iso8859_9_to_ucs): Deleted.
4623         (latin_viscii_lower_to_ucs): Deleted.
4624         (latin_viscii_upper_to_ucs): Deleted.
4625         (mark_charset): Mark `cs->decoding_table'.
4626         (Fcharset_mapping_table): Fix DOC-string.
4627         (Fset_charset_mapping_table): New function.
4628         (syms_of_mule_charset): Add nwe function
4629         `set-charset-mapping-table'.
4630         (complex_vars_of_mule_charset): Don't setup and use
4631         `latin_*_to_ucs'.
4632
4633 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4634
4635         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4636         charset.
4637
4638 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4639
4640         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4641         (Vcharset_katakana_jisx0208): New variable.
4642         (Qhiragana_jisx0208): New variable.
4643         (Qkatakana_jisx0208): New variable.
4644         (make_charset): Add new argument `byte_offset'.
4645         (charset_get_byte1): Modify for new coded-charset definition; use
4646         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4647         `XCHARSET_BYTE_OFFSET'.
4648         (Fmake_charset): Modify for `make_charset'.
4649         (Fmake_reverse_direction_charset): Likewise.
4650         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4651         `katakana-jisx0208'.
4652         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4653         `.'  in font registry of charset `katakana-jisx0201',
4654         `latin-jisx0201', `vietnamese-viscii-lower' and
4655         `vietnamese-viscii-upper'; modify DOC-string of charset
4656         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4657         registry of charset `japanese-jisx0208' not to use font for JIS
4658         X0208:1990; add new charset `hiragana-jisx0208' and
4659         `katakana-jisx0208'.
4660
4661         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4662         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4663         (struct Lisp_Charset): Add `byte_offset'.
4664         (CHARSET_BYTE_OFFSET): New macro.
4665         (XCHARSET_UCS_MIN): New macro.
4666         (XCHARSET_UCS_MAX): New macro.
4667         (XCHARSET_CODE_OFFSET): New macro.
4668         (XCHARSET_BYTE_OFFSET): New macro.
4669         (MIN_CHAR_HIRAGANA): New macro.
4670         (MAX_CHAR_HIRAGANA): New macro.
4671         (MIN_CHAR_KATAKANA): New macro.
4672         (MAX_CHAR_KATAKANA): New macro.
4673         (MAKE_CHAR): Modify for new coded-charset definition; use
4674         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4675         `XCHARSET_BYTE_OFFSET'.
4676
4677 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4678
4679         * mule-charset.c (CHAR96): Deleted.
4680         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4681         <Lisp_Object>.
4682         (latin_iso8859_2_to_ucs): Likewise.
4683         (latin_iso8859_3_to_ucs): Likewise.
4684         (latin_iso8859_4_to_ucs): Likewise.
4685         (latin_iso8859_9_to_ucs): Likewise.
4686         (latin_viscii_lower_to_ucs): Likewise.
4687         (latin_viscii_upper_to_ucs): Likewise.
4688         (latin_tcvn5712_to_ucs): Commented out.
4689         (make_charset): Change type of argument `decoding_table' from
4690         <Emchar*> to <Lisp_Object> [vector of characters].
4691         (Fmake_charset): Modify for `make_charset'.
4692         (Fmake_reverse_direction_charset): Likewise.
4693         (Fcharset_mapping_table): New function in UTF-2000.
4694         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4695         UTF-2000.
4696         (complex_vars_of_mule_charset): Modify for type change of
4697         `*_to_ucs'; modify for `make_charset'.
4698
4699         * char-ucs.h (struct Lisp_Charset): Change type of
4700         `decoding_table' from <Emchar*> to <Lisp_Object>.
4701         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4702
4703 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4704
4705         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4706         error with non-UTF-2000-Mule.
4707
4708 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4709
4710         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4711         in lisp again].
4712         (Vcharset_chinese_cns11643_4): Likewise.
4713         (Vcharset_chinese_cns11643_5): Likewise.
4714         (Vcharset_chinese_cns11643_6): Likewise.
4715         (Vcharset_chinese_cns11643_7): Likewise.
4716         (Qchinese_cns11643_3): Likewise.
4717         (Qchinese_cns11643_4): Likewise.
4718         (Qchinese_cns11643_5): Likewise.
4719         (Qchinese_cns11643_6): Likewise.
4720         (Qchinese_cns11643_7): Likewise.
4721         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4722         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4723         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4724         (complex_vars_of_mule_charset): Likewise.
4725
4726 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4727
4728         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4729         96-set.
4730         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4731         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4732
4733 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4734
4735         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4736         0xFF60.
4737         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4738         (breakup_char_1): Likewise.
4739
4740         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4741         one of them includes the specified character.
4742
4743 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4744
4745         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4746
4747 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4748
4749         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4750
4751 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4752
4753         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4754         definition for non-UTF-2000 Mule.
4755         (latin_iso8859_3_to_ucs): Likewise.
4756         (latin_iso8859_4_to_ucs): Likewise.
4757         (latin_iso8859_9_to_ucs): Likewise.
4758         (latin_jisx0201_to_ucs): Likewise.
4759         (MIN_CHAR_THAI): Likewise.
4760         (MAX_CHAR_THAI): Likewise.
4761         (MIN_CHAR_GREEK): Likewise.
4762         (MAX_CHAR_GREEK): Likewise.
4763         (MIN_CHAR_HEBREW): Likewise.
4764         (MAX_CHAR_HEBREW): Likewise.
4765         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4766         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4767         (MIN_CHAR_CYRILLIC): Likewise.
4768         (MAX_CHAR_CYRILLIC): Likewise.
4769
4770 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4771
4772         * char-ucs.h (breakup_char_1): Use
4773         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4774         thai-tis620 and katakana-jisx0201 area.
4775
4776 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4777
4778         * char-ucs.h (breakup_char_1): Use
4779         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4780         area.
4781
4782         * text-coding.c (reset_encoding_stream): Fixed.
4783         (char_encode_ucs4): Delete `& 255'.
4784
4785         * char-ucs.h (breakup_char_1): Use
4786         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4787
4788 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4789
4790         * file-coding.c (Fmake_coding_system): Don't set up
4791         `codesys->fixed.size'.
4792         (encode_coding_no_conversion): Don't refer
4793         `str->codesys->fixed.size'.
4794
4795 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4796
4797         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4798         (latin_a_char_to_byte1): Deleted.
4799         (latin_a_char_to_byte2): Deleted.
4800
4801 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4802
4803         * mule-charset.c (make_charset): Add new argument `ucs_min',
4804         `ucs_max' and `code_offset'.
4805         (charset_get_byte1): New implementation [delete specific charset
4806         depended implementations].
4807         (Fmake_charset): Modify for `make_charset'.
4808         (Fmake_reverse_direction_charset): Likewise.
4809         (complex_vars_of_mule_charset): Likewise.
4810
4811         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4812         `code_offset'.
4813         (CHARSET_UCS_MIN): New macro.
4814         (CHARSET_UCS_MAX): New macro.
4815         (CHARSET_CODE_OFFSET): New macro.
4816         (MAKE_CHAR): Delete charset depended definitions [except
4817         katakana-jisx0201].
4818
4819 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4820
4821         * char-ucs.h (breakup_char_1): Use
4822         `Vdefault_coded_charset_priority_list' for C0-Controls,
4823         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4824
4825 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4826
4827         * char-ucs.h (charset_get_byte1): New function.
4828         (XCHARSET_GET_BYTE1): Deleted.
4829         (charset_get_byte2): New function.
4830         (XCHARSET_GET_BYTE2): Deleted.
4831         (Vdefault_coded_charset_priority_list): New external variable.
4832         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4833         `Vdefault_preferred_coded_charset_list'.
4834
4835         * mule-charset.c (charset_get_byte1): New function.
4836         (charset_get_byte2): New function.
4837         (Vdefault_coded_charset_priority_list): New variable.
4838         (vars_of_mule_charset): Add new variable
4839         `default-coded-charset-priority-list'.
4840
4841 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4842
4843         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4844         (XCHARSET_GET_BYTE2): New inline function.
4845         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4846         `XCHARSET_GET_BYTE2'.
4847
4848 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4849
4850         * mule-charset.c (make_charset): Initialize
4851         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4852         NULL if table is not defined.
4853
4854 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4855
4856         * text-coding.c (char_encode_shift_jis): Use
4857         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4858         `ucs_to_latin_jisx0201'.
4859
4860         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4861         (ucs_to_latin_iso8859_2): Deleted.
4862         (ucs_to_latin_iso8859_3): Deleted.
4863         (ucs_to_latin_iso8859_4): Deleted.
4864         (ucs_to_latin_iso8859_9): Deleted.
4865         (ucs_to_latin_viscii_lower): Deleted.
4866         (ucs_to_latin_viscii_upper): Deleted.
4867         (ucs_to_latin_tcvn5712): Deleted.
4868         (make_charset): Add new argument `decoding_table'; set up
4869         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4870         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4871         `decoding_table' is defined in UTF-2000.
4872         (Fmake_charset): Modify for `make_charset'.
4873         (Fmake_reverse_direction_charset): Likewise.
4874         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4875         and `GENERATE_96_SET'.
4876
4877         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4878         (ucs_to_latin_jisx0201): Deleted.
4879         (latin_iso8859_2_to_ucs): Deleted.
4880         (ucs_to_latin_iso8859_2): Deleted.
4881         (latin_iso8859_3_to_ucs): Deleted.
4882         (ucs_to_latin_iso8859_3): Deleted.
4883         (latin_iso8859_4_to_ucs): Deleted.
4884         (ucs_to_latin_iso8859_4): Deleted.
4885         (latin_iso8859_9_to_ucs): Deleted.
4886         (ucs_to_latin_iso8859_9): Deleted.
4887         (latin_viscii_lower_to_ucs): Deleted.
4888         (ucs_to_latin_viscii_lower): Deleted.
4889         (latin_viscii_upper_to_ucs): Deleted.
4890         (ucs_to_latin_viscii_upper): Deleted.
4891         (struct Lisp_Charset): Renamed `encoding_table' to
4892         `to_byte1_table'; add `to_byte2_table'.
4893         (CHARSET_DECODING_TABLE): New macro.
4894         (CHARSET_TO_BYTE1_TABLE): New macro.
4895         (CHARSET_TO_BYTE2_TABLE): New macro.
4896         (XCHARSET_DECODING_TABLE): New macro.
4897         (XCHARSET_TO_BYTE1_TABLE): New macro.
4898         (XCHARSET_TO_BYTE2_TABLE): New macro.
4899         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4900         tables.
4901         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4902         don't use `ucs_to_*' tables.
4903
4904 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4905
4906         * text-coding.c (Fmake_coding_system): Don't set up
4907         `codesys->fixed.size'.
4908         (encode_coding_no_conversion): Use `if' instead of `switch'.
4909
4910         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4911
4912 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4913
4914         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4915         (Fmake_charset): Modify for `make_charset'.
4916         (Fmake_reverse_direction_charset): Likewise.
4917         (complex_vars_of_mule_charset): Likewise.
4918
4919 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4920
4921         * text-coding.c (char_encode_shift_jis): Use table
4922         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4923
4924 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4925
4926         * text-coding.c (text_encode_generic): Use `if' instead of
4927         `switch'.
4928         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4929         decode JIS-Latin.
4930
4931 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4932
4933         * text-coding.c (encode_coding_sjis): Deleted.
4934         (char_encode_shift_jis): New function.
4935         (char_finish_shift_jis): New function.
4936         (reset_encoding_stream): Set up `encode_char' and `finish' for
4937         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4938         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4939         (char_encode_utf8): Treat `eol_type'.
4940
4941 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4942
4943         * file-coding.c (decode_coding_iso2022): Use
4944         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4945
4946 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4947
4948         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4949         to 0.7 (Hirano).
4950
4951 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4952
4953         * char-lb.h (CHAR_COLUMNS): New macro.
4954
4955 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4956
4957         * text-coding.c (char_encode_ucs4): New function.
4958         (char_finish_ucs4): New function.
4959         (encode_coding_ucs4): Deleted.
4960         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4961         (text_encode_generic): Delete local variable `charset' and `half'.
4962         (ucs_to_mule_table): Deleted.
4963         (mule_to_ucs_table): Deleted.
4964         (Fset_ucs_char): Deleted.
4965         (ucs_to_char): Deleted.
4966         (Fucs_char): Deleted.
4967         (Fset_char_ucs): Deleted.
4968         (Fchar_ucs): Deleted.
4969         (decode_ucs4): Deleted.
4970         (mule_char_to_ucs4): Deleted.
4971         (encode_ucs4): Deleted.
4972         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4973         (decode_coding_utf8): Likewise.
4974         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4975         (char_encode_iso2022): Fixed.
4976         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4977         `Fset_char_ucs' and `Fchar_ucs'.
4978         (complex_vars_of_file_coding): Don't initialize
4979         `ucs_to_mule_table'.
4980
4981         * objects-tty.c (tty_initialize_font_instance): Don't use
4982         `XCHARSET_COLUMNS'.
4983
4984         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4985         UTF-2000.
4986
4987         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4988         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4989
4990         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4991         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4992         (emchar_string_displayed_columns): Likewise.
4993
4994         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4995         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4996         (string_column_at_point): Likewise.
4997         (Fmove_to_column): Likewise.
4998
4999         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5000         `encoding_table' and `decoding_table'.
5001         (CHARSET_REP_BYTES): Deleted.
5002         (XCHARSET_REP_BYTES): Deleted.
5003         (XCHARSET_COLUMNS): Deleted.
5004         (CHAR_COLUMNS): New macro.
5005         (lookup_composite_char): Deleted unconditionally.
5006         (composite_char_string): Likewise.
5007
5008 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5009
5010         * char-ucs.h (Emchar_to_byte_table): New type.
5011         (get_byte_from_character_table): New function interface.
5012         (Vcharset_latin_jisx0201): New variable.
5013         (latin_jisx0201_to_ucs): New variable.
5014         (ucs_to_latin_jisx0201): New variable.
5015         (Vcharset_latin_iso8859_2): New variable.
5016         (latin_iso8859_2_to_ucs): New variable.
5017         (ucs_to_latin_iso8859_2): New variable.
5018         (Vcharset_latin_iso8859_3): New variable.
5019         (latin_iso8859_3_to_ucs): New variable.
5020         (ucs_to_latin_iso8859_3): New variable.
5021         (Vcharset_latin_iso8859_4): New variable.
5022         (latin_iso8859_4_to_ucs): New variable.
5023         (ucs_to_latin_iso8859_4): New variable.
5024         (Vcharset_latin_iso8859_9): New variable.
5025         (latin_iso8859_9_to_ucs): New variable.
5026         (ucs_to_latin_iso8859_9): New variable.
5027         (Vcharset_latin_viscii_lower): New variable.
5028         (latin_viscii_lower_to_ucs): New variable.
5029         (ucs_to_latin_viscii_lower): New variable.
5030         (Vcharset_latin_viscii_upper): New variable.
5031         (latin_viscii_upper_to_ucs): New variable.
5032         (ucs_to_latin_viscii_upper): New variable.
5033         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5034         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5035         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5036         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5037         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5038         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5039         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5040         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5041         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5042         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5043
5044         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5045         (Vcharset_latin_viscii_upper): New variable.
5046         (make_byte_from_character_table): New function.
5047         (put_byte_from_character_table): New function.
5048         (get_byte_from_character_table): New function.
5049         (CHAR96): New macro.
5050         (ucs_to_latin_jisx0201): New variable.
5051         (latin_jisx0201_to_ucs): New variable.
5052         (ucs_to_latin_iso8859_2): New variable.
5053         (latin_iso8859_2_to_ucs): New variable.
5054         (ucs_to_latin_iso8859_3): New variable.
5055         (latin_iso8859_3_to_ucs): New variable.
5056         (ucs_to_latin_iso8859_4): New variable.
5057         (latin_iso8859_4_to_ucs): New variable.
5058         (ucs_to_latin_iso8859_9): New variable.
5059         (latin_iso8859_9_to_ucs): New variable.
5060         (ucs_to_latin_viscii_lower): New variable.
5061         (latin_viscii_lower_to_ucs): New variable.
5062         (ucs_to_latin_viscii_upper): New variable.
5063         (latin_viscii_upper_to_ucs): New variable.
5064         (ucs_to_latin_tcvn5712): New variable.
5065         (latin_tcvn5712_to_ucs): New variable.
5066         (Qlatin_viscii_lower): New variable.
5067         (Qlatin_viscii_upper): New variable.
5068         (syms_of_mule_charset): Set up new symbol
5069         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5070         (complex_vars_of_mule_charset): Set up new charset
5071         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5072         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5073         `ucs_to_<CHARSET>' tables.
5074
5075 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5076
5077         * text-coding.c: New file.
5078
5079 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5080
5081         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5082
5083         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5084         (MAKE_CHAR): Modify for `ucs-bmp'.
5085         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5086         non-MULE characters of BMP.
5087
5088 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5089
5090         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5091         to 0.6.
5092
5093 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5094
5095         * lstream.h:
5096         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5097         - Include character.h for `CHAR_ASCII_P'.
5098
5099         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5100
5101         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5102         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5103
5104         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5105         (BYTE_C0_P): Likewise.
5106         (BYTE_C1_P): Likewise.
5107         (Lstream_get_emchar_1): Likewise.
5108         (Lstream_fput_emchar): Likewise.
5109         (Lstream_funget_emchar): Likewise.
5110         (copy_internal_to_external): Likewise.
5111         (copy_external_to_internal): Likewise.
5112
5113         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5114         (BYTE_C0_P): Likewise.
5115         (BYTE_C1_P): Likewise.
5116         (Lstream_get_emchar_1): Likewise.
5117         (Lstream_fput_emchar): Likewise.
5118         (Lstream_funget_emchar): Likewise.
5119         (copy_internal_to_external): Likewise.
5120         (copy_external_to_internal): Likewise.
5121
5122         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5123         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5124
5125         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5126         (BYTE_ASCII_P): Moved to mb-1byte.h.
5127
5128 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5129
5130         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5131
5132         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5133         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5134         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5135         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5136         (VALIDATE_CHARPTR_FORWARD): Likewise.
5137         (simple_charptr_emchar): Moved to mb-multibyte.h.
5138         (simple_set_charptr_emchar): Likewise.
5139         (simple_charptr_copy_char): Likewise.
5140         (non_ascii_charptr_emchar): Likewise.
5141         (non_ascii_set_charptr_emchar): Likewise.
5142         (non_ascii_charptr_copy_char): Likewise.
5143         (charptr_emchar): Moved to mb-*byte.h.
5144         (set_charptr_emchar): Likewise.
5145         (charptr_copy_char): Likewise.
5146
5147         * mb-1byte.h, mb-multibyte.h: New files.
5148
5149 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5150
5151         * mb-utf-8.h (MULTIBYTE): New macro.
5152         (MAX_EMCHAR_LEN): Moved from buffer.h.
5153         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5154
5155         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5156
5157         * mb-lb.h, multibyte.h: New files.
5158
5159         * char-1byte.h (Charset_ID): Moved from buffer.h.
5160         (MIN_LEADING_BYTE): Likewise.
5161         (LEADING_BYTE_ASCII): Likewise.
5162         (NUM_LEADING_BYTES): Likewise.
5163         (CHARSETP): Likewise.
5164         (CHARSET_BY_LEADING_BYTE): Likewise.
5165         (XCHARSET_LEADING_BYTE): Likewise.
5166         (XCHARSET_GRAPHIC): Likewise.
5167         (XCHARSET_COLUMNS): Likewise.
5168         (XCHARSET_DIMENSION): Likewise.
5169         (CHAR_CHARSET): Likewise.
5170         (CHAR_LEADING_BYTE): Likewise.
5171         (BREAKUP_CHAR): Likewise.
5172         (Vcharset_ascii): Likewise.
5173
5174         * buffer.h: Include multibyte.h unconditionally.
5175         (VALID_CHARPTR_P): Moved to multibyte.h.
5176         (ASSERT_VALID_CHARPTR): Likewise.
5177         (REAL_INC_CHARPTR): Likewise.
5178         (REAL_INC_CHARBYTIND): Likewise.
5179         (REAL_DEC_CHARPTR): Likewise.
5180         (INC_CHARPTR): Likewise.
5181         (INC_CHARBYTIND): Likewise.
5182         (DEC_CHARPTR): Likewise.
5183         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5184         (VALIDATE_CHARPTR_FORWARD): Likewise.
5185         (charptr_n_addr): Likewise.
5186         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5187         (simple_charptr_emchar): Moved to multibyte.h.
5188         (simple_set_charptr_emchar): Likewise.
5189         (simple_charptr_copy_char): Likewise.
5190         (non_ascii_charptr_emchar): Likewise.
5191         (non_ascii_set_charptr_emchar): Likewise.
5192         (non_ascii_charptr_copy_char): Likewise.
5193         (charptr_emchar): Likewise.
5194         (set_charptr_emchar): Likewise.
5195         (charptr_copy_char): Likewise.
5196         (charptr_emchar_n): Likewise.
5197         (Charset_ID): Moved to char-1byte.h.
5198         (Vcharset_ascii): Likewise.
5199         (CHAR_CHARSET): Likewise.
5200         (CHAR_LEADING_BYTE): Likewise.
5201         (LEADING_BYTE_ASCII): Likewise.
5202         (NUM_LEADING_BYTES): Likewise.
5203         (MIN_LEADING_BYTE): Likewise.
5204         (CHARSETP): Likewise.
5205         (CHARSET_BY_LEADING_BYTE): Likewise.
5206         (XCHARSET_LEADING_BYTE): Likewise.
5207         (XCHARSET_GRAPHIC): Likewise.
5208         (XCHARSET_COLUMNS): Likewise.
5209         (XCHARSET_DIMENSION): Likewise.
5210         (BREAKUP_CHAR): Likewise.
5211
5212 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5213
5214         * character.h: Add document about interface for characters.
5215
5216         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5217         (MAKE_CHAR): Delete comment about
5218         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5219         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5220         (BREAKUP_CHAR): Modify name of arguments.
5221         (CHAR_CHARSET): Modify name of argument.
5222
5223         * buffer.h: Delete document about Emchar accessors.
5224
5225 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5226
5227         * character.h (CHAR_INTP): Moved from buffer.h
5228         (CHAR_OR_CHAR_INTP): Likewise.
5229         (XCHAR_OR_CHAR_INT): Likewise.
5230         (CHECK_CHAR_COERCE_INT): Likewise.
5231
5232         * buffer.h (CHAR_INTP): Moved to character.h
5233         (CHAR_OR_CHAR_INTP): Likewise.
5234         (XCHAR_OR_CHAR_INT): Likewise.
5235         (CHECK_CHAR_COERCE_INT): Likewise.
5236
5237 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5238
5239         * character.h:
5240         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5241         - Include char-1byte.h, char-lb.h or char-ucs.h.
5242
5243         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5244
5245         * buffer.h: Include character unconditionally.
5246         (valid_char_p): Moved to char-*.h.
5247         (non_ascii_valid_char_p): Moved to char-lb.h.
5248
5249         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5250
5251 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5252
5253         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5254         in UTF-2000 because it is not ported yet and not to use
5255         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5256         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5257         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5258
5259         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5260         (CHAR_ASCII_P): Moved from character.h.
5261
5262         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5263         (CHAR_ASCII_P): Likewise.
5264         (CHAR_FIELD1_MASK): Deleted.
5265         (CHAR_FIELD2_MASK): Deleted.
5266         (CHAR_FIELD3_MASK): Deleted.
5267         (MAX_CHAR_BASIC_LATIN): New macro.
5268         (CHAR_FIELD1): Deleted.
5269         (CHAR_FIELD2_INTERNAL): Deleted.
5270         (CHAR_FIELD3_INTERNAL): Deleted.
5271         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5272         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5273         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5274         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5275         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5276         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5277         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5278         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5279         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5280         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5281         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5282         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5283         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5284         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5285         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5286         (MIN_CHAR_COMPOSITION): Deleted.
5287         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5288         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5289
5290 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5291
5292         * buffer.h: Include mb-utf-8.h in UTF-2000.
5293
5294         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5295
5296         * mb-utf-8.h: New file.
5297
5298 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5299
5300         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5301         instead of `int'.
5302
5303         * mule-charset.h, buffer.h (Charset_ID): New type.
5304
5305 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5306
5307         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5308         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5309         instead of `MULE_CHAR_PRIVATE_OFFSET',
5310         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5311         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5312         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5313
5314         * character.h (Vcharset_japanese_jisx0212): New variable
5315         definition.
5316
5317 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5318
5319         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5320         (charset_by_attributes): Delete array about direction.
5321         (latin_a_char_to_charset): New variable in UTF-2000.
5322         (latin_a_char_to_byte1): New variable in UTF-2000.
5323         (latin_a_char_to_byte2): New variable in UTF-2000.
5324         (Qucs_bmp): New variable.
5325         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5326         `Bufbyte'.
5327         (next_allocated_2_byte_leading_byte): Likewise.
5328         (non_ascii_set_charptr_emchar): Likewise.
5329         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5330         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5331         `charset_by_attributes'.
5332         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5333         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5334         and `CHARSET_BY_LEADING_BYTE'.
5335         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5336         `utf-2000-version' to `vars_of_mule_charset'.
5337         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5338         define `leading-code-private-11' in UTF-2000; move setting of
5339         `utf-2000-version' from `syms_of_mule_charset'.
5340         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5341         UTF-2000.
5342
5343         * character.h (Charset_ID): New type.
5344         (LEADING_BYTE_UCS_BMP): New macro.
5345         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5346         (CHARSET_ID_OFFSET_94): New macro.
5347         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5348         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5349         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5350         final-byte.
5351         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5352         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5353         (CHARSET_ID_OFFSET_96): New macro.
5354         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5355         CHARSET_ID_OFFSET_96 and final-byte.
5356         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5357         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5358         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5359         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5360         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5361         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5362         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5363         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5364         (LEADING_BYTE_THAI_TIS620): Likewise.
5365         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5366         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5367         (CHARSET_ID_OFFSET_94x94): New macro.
5368         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5369         CHARSET_ID_OFFSET_94x94 and final-byte.
5370         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5371         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5372         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5373         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5374         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5375         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5376         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5377         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5378         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5379         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5380         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5381         (CHARSET_TYPE_128X128): New macro.
5382         (CHARSET_TYPE_256X256): New macro.
5383         (XCHARSET_PRIVATE_P): Delete unconditionally.
5384         (charset_by_attributes): Delete array about direction.
5385         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5386         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5387         (MIN_CHAR_94): New macro.
5388         (MAX_CHAR_94): New macro.
5389         (MIN_CHAR_96): New macro.
5390         (MAX_CHAR_96): New macro.
5391         (MIN_CHAR_94x94): New macro.
5392         (MAX_CHAR_94x94): New macro.
5393         (MIN_CHAR_96x96): New macro.
5394         (MAX_CHAR_96x96): New macro.
5395         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5396         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5397         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5398         - 32)'.
5399         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5400         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5401         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5402         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5403         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5404         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5405         `XCHARSET_LEADING_BYTE' to make code-point.
5406         (latin_a_char_to_charset): New variable.
5407         (latin_a_char_to_byte1): New variable.
5408         (latin_a_char_to_byte2): New variable.
5409         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5410         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5411         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5412
5413         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5414         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5415         (find_charsets_in_emchar_string): Likewise.
5416         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5417
5418         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5419         `int'.
5420         (decode_coding_iso2022): Likewise.
5421
5422         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5423         of `unsigned char'.
5424
5425         * redisplay.c (redisplay_text_width_emchar_string): Use
5426         `Charset_ID' instead of `unsigned char'.
5427         (redisplay_frame_text_width_string): Likewise.
5428
5429         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5430         `unsigned char'.
5431
5432         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5433         instead of `unsigned char'.
5434         (face_cachel_charset_font_metric_info): Likewise.
5435
5436         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5437         (get_non_ascii_char_table_value): Likewise.
5438         (get_char_table): Likewise.
5439         (put_char_table): Likewise.
5440         (map_over_other_charset): Likewise.
5441         (map_char_table): Likewise.
5442
5443         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5444         instead of `unsigned char'.
5445
5446 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5447
5448         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5449         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5450
5451         * mule-charset.c (leading_code_private_11): Don't define in
5452         UTF-2000.
5453
5454         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5455         in UTF-2000 because it is not ported yet and not to use
5456         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5457
5458 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5459
5460         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5461
5462 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5463
5464         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5465         in UTF-2000.
5466
5467         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5468         of unsigned char to store leading-byte.
5469
5470         * chartab.c (get_non_ascii_char_table_value): Don't use
5471         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5472
5473         * file-coding.c (encode_coding_big5): Delete bogus implementation
5474         in UTF2000.
5475
5476         * character.h (LEADING_BYTE_*): Delete definition for
5477         non-UTF-2000.
5478         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5479         (LEADING_BYTE_PREFIX_P): Deleted.
5480         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5481         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5482         (BUFBYTE_LEADING_BYTE_P): Deleted.
5483         (CHARSET_PRIVATE_P): Deleted unconditionally.
5484         (rep_bytes_by_first_byte): Deleted unconditionally.
5485         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5486         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5487         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5488         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5489         (CHAR_FIELD2): Deleted.
5490         (CHAR_FIELD3): Deleted.
5491         (MAKE_CHAR): Delete definition for non-UTF-2000.
5492         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5493         (breakup_char_1): New implementation.
5494         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5495         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5496
5497 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5498
5499         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5500         condition.
5501
5502 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5503
5504         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5505         (CHARSET_PRIVATE_P): Likewise.
5506         (XCHARSET_PRIVATE_P): Likewise.
5507         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5508
5509         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5510         UTF2000.
5511         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5512
5513 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5514
5515         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5516         (NUM_LEADING_BYTES): Changed from 128 to 256.
5517         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5518         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5519         UTF2000.
5520         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5521
5522         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5523         UTF2000.
5524         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5525         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5526         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5527         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5528         (Qchinese_cns11643_3): New variable in UTF2000.
5529         (Qchinese_cns11643_4): New variable in UTF2000.
5530         (Qchinese_cns11643_5): New variable in UTF2000.
5531         (Qchinese_cns11643_6): New variable in UTF2000.
5532         (Qchinese_cns11643_7): New variable in UTF2000.
5533         (syms_of_mule_charset): Define `chinese-cns11643-3',
5534         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5535         and `chinese-cns11643-7' in UTF2000.
5536         (vars_of_mule_charset): Initialize
5537         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5538         + 1 in UTF2000.
5539         (complex_vars_of_mule_charset): Setup charset
5540         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5541         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5542
5543 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5544
5545         * mule-charset.c: Move setting for `leading-code-private-11' from
5546         `syms_of_mule_charset' to `vars_of_mule_charset'.
5547
5548 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5549
5550         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5551         and `NUM_LEADING_BYTES' in assert.
5552
5553 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5554
5555         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5556         instead of 128.
5557         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5558         `NUM_LEADING_BYTES' instead of 128.
5559
5560 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5561
5562         * mule-charset.h (charset_by_leading_byte): Use
5563         `NUM_LEADING_BYTES' instead of 128.
5564         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5565
5566         * mule-charset.c (charset_by_leading_byte): Use
5567         `NUM_LEADING_BYTES' instead of 128.
5568         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5569
5570         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5571         128.
5572
5573 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5574
5575         * mule-charset.c (syms_of_mule_charset): Update to
5576         0.4 (Shin-Imamiya).
5577
5578 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5579
5580         * file-coding.c (encode_coding_sjis): New implementation for
5581         UTF2000.  (decode_coding_sjis): Ditto.
5582
5583 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5584
5585         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5586         Don't define in UTF2000.
5587
5588         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5589         defined.
5590
5591         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5592         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5593         MULE.
5594
5595 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5596
5597         * config.h.in (CHAR_IS_UCS4): New macro.
5598
5599         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5600         conventional MULE representation.
5601         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5602
5603         * mule-charset.h: Reverted to original.
5604
5605         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5606         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5607         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5608
5609         * character.h: New file.
5610
5611         * file-coding.c (Fmake_coding_system): Set 1 to
5612         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5613         defined.
5614         (encode_coding_no_conversion): New implementation for UTF2000.
5615
5616         * file-coding.h (struct Lisp_Coding_System): Add new member
5617         `fixed.size'.
5618
5619 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5620
5621         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5622         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5623         (encode_coding_iso2022): New implementation for UTF2000.
5624
5625 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5626
5627         * mule-canna.c (c2mu): New implementation for UTF2000.
5628         (m2c): Likewise.
5629
5630 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5631
5632         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5633
5634 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5635
5636         * file-coding.c (reset_encoding_stream): Set 0 to
5637         `str->iso2022.current_char_boundary' in UTF2000.
5638         (encode_utf8): Don't define in UTF2000.
5639         (encode_coding_utf8): New implementation for UTF-8 representation
5640         of UTF2000.
5641         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5642
5643 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5644
5645         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5646
5647         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5648         UTF2000.
5649         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5650
5651         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5652
5653         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5654         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5655         as UTF-8 in UTF2000.
5656         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5657         (non_ascii_valid_char_p): Don't define in UTF2000.
5658         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5659         (Lstream_get_emchar_1): Likewise.
5660         (utf-2000-version): New variable in UTF2000.
5661
5662         * lread.c (read_escape): Add new reader `u'.
5663
5664         * insdel.c (three_to_one_table): Don't define in UTF2000.
5665         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5666         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5667         UTF2000.
5668         (bytind_to_bufpos_func): Likewise.
5669         (buffer_mule_signal_inserted_region): Likewise.
5670         (vars_of_insdel): Don't initialize `three_to_one_table'.
5671         (init_buffer_text): Use `buf->text->mule_size' instead of
5672         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5673         UTF2000.
5674
5675         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5676         UTF-8 representation in UTF2000.
5677         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5678         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5679         (decode_coding_iso2022): Don't define local variable `lb' in
5680         UTF2000; don't use LEADING_BYTE in UTF2000; use
5681         `DECODE_ADD_UCS_CHAR' in UTF2000.
5682         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5683
5684         * config.h.in (UTF2000): New macro.
5685
5686         * buffer.h (struct buffer_text): Add new member `mule_size' and
5687         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5688         (valid_char_p): Return always 1 in UTF2000.
5689         (MAX_EMCHAR_LEN): 6 in UTF2000.
5690         (three_to_one_table): Don't define in UTF2000.
5691         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5692         UTF2000.
5693         (real_bytind_to_bufpos): Likewise.
5694
5695         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5696
5697 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5698
5699         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5700         representation change.
5701         (Vutf_2000_version): New variable.
5702         (leading_code_private_11): New variable.
5703         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5704         `leading-code-private-11'.
5705
5706         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5707         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5708         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5709         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5710         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5711         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5712         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5713         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5714         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5715         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5716         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5717         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5718         (MIN_CHAR_GREEK): New macro.
5719         (MAX_CHAR_GREEK): New macro.
5720         (MIN_CHAR_CYRILLIC): New macro.
5721         (MAX_CHAR_CYRILLIC): New macro.
5722         (MIN_CHAR_HEBREW): New macro.
5723         (MAX_CHAR_HEBREW): New macro.
5724         (MIN_CHAR_THAI): New macro.
5725         (MAX_CHAR_THAI): New macro.
5726         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5727         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5728         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5729         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5730         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5731         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5732         (CHAR_FIELD2): New inline function.
5733         (CHAR_FIELD3): New inline function.
5734         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5735         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5736         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5737         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5738         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5739         (MIN_CHAR_COMPOSITION): Likewise.
5740         (CHAR_LEADING_BYTE): Modified for character representation change.
5741         (MAKE_CHAR): Likewise.
5742
5743         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5744         (Vcharset_greek_iso8859_7): Likewise.
5745         (Vcharset_cyrillic_iso8859_5): Likewise.
5746         (Vcharset_hebrew_iso8859_8): Likewise.
5747         (Vcharset_thai_tis620): Likewise.
5748         (Vcharset_katakana_jisx0201): Likewise.
5749
5750 2005-02-06  Vin Shelton <acs@xemacs.org>
5751
5752         * XEmacs 21.4.17 is released
5753
5754 2005-01-31  Ben Wing  <ben@xemacs.org>
5755
5756         * emacs.c:
5757         Define assert_failed() always.
5758         * lisp.h:
5759         Always define ABORT().
5760
5761 2005-01-25  Ben Wing  <ben@xemacs.org>
5762
5763         * Makefile.in.in:
5764         * Makefile.in.in (%.o):
5765         Don't compile executable as Windows (-mwindows) under Cygwin.
5766         Semi-recent changes to Cygwin's executable-startup handling make
5767         it impossible to access the TTY this way.
5768
5769         Don't use special linker file under Cygwin (cygwin.sc) except
5770         when non-PDUMP (even in this case it is highly questionable); you
5771         get errors like
5772
5773       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5774    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5775
5776 2005-01-29  Ben Wing  <ben@xemacs.org>
5777
5778         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5779
5780         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5781
5782 2005-01-29  Ben Wing  <ben@xemacs.org>
5783
5784         * bytecode.c (optimize_compiled_function):
5785         * print.c (FROB):
5786         * print.c (long_to_string):
5787         Add casts to avoid warning.
5788         
5789         * glyphs-eimage.c:
5790         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5791         #### The better solution is to move the TIFF and JPEG code to
5792         different files.
5793         
5794         * glyphs-msw.c (mswindows_xbm_instantiate):
5795         Define __STDC__ to avoid problems with compface.h.
5796         
5797         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5798         * EmacsShell-sub.c:
5799         * EmacsShell-sub.c (ABORT):
5800         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5801         * EmacsShell-sub.c (RootGeometryManager):
5802         * EmacsShell.c:
5803         * EmacsShell.c (ABORT):
5804         * EmacsShell.c (EmacsShellUpdateSizeHints):
5805         * alloc.c (free_lcrecord):
5806         * alloca.c (i00afunc):
5807         * buffer.c (delete_from_buffer_alist):
5808         * buffer.c (MARKED_SLOT):
5809         * bytecode.c (execute_rare_opcode):
5810         * bytecode.c (optimize_byte_code):
5811         * bytecode.c (Ffetch_bytecode):
5812         * chartab.c (char_table_type_to_symbol):
5813         * chartab.c (Freset_char_table):
5814         * chartab.c (decode_char_table_range):
5815         * chartab.c (Fget_range_char_table):
5816         * chartab.c (check_valid_char_table_value):
5817         * chartab.c (map_char_table):
5818         * chartab.c (slow_map_char_table_fun):
5819         * chartab.c (chartab_instantiate):
5820         * cm.c (cmcheckmagic):
5821         * console-msw.c (DHEADER):
5822         * console.c (MARKED_SLOT):
5823         * data.c (finish_marking_weak_lists):
5824         * data.c (encode_weak_list_type):
5825         * debug.h (DASSERT):
5826         * device-gtk.c (gtk_init_device):
5827         * device-msw.c (mswindows_get_default_margin):
5828         * device-tty.c (tty_init_device):
5829         * device-x.c (get_device_from_display):
5830         * device-x.c (x_get_visual_depth):
5831         * doprnt.c (parse_doprnt_spec):
5832         * doprnt.c (get_doprnt_args):
5833         * dumper.c (pdump_get_indirect_count):
5834         * dumper.c (pdump_register_sub):
5835         * dumper.c (pdump_register_object):
5836         * dumper.c (pdump_register_struct):
5837         * dumper.c (pdump_dump_data):
5838         * dumper.c (pdump_reloc_one):
5839         * elhash.c (print_hash_table):
5840         * elhash.c (make_standard_lisp_hash_table):
5841         * elhash.c (hash_table_instantiate):
5842         * emacs.c:
5843         * emacs.c (Fforce_debugging_signal):
5844         * emacs.c (sort_args):
5845         * emacs.c (main):
5846         * emacs.c (assert_failed):
5847         * eval.c (throw_or_bomb_out):
5848         * eval.c (signal_1):
5849         * eval.c (Fsignal):
5850         * event-Xt.c:
5851         * event-Xt.c (emacs_Xt_mapping_action):
5852         * event-Xt.c (Xt_process_to_emacs_event):
5853         * event-msw.c:
5854         * event-stream.c (check_event_stream_ok):
5855         * event-stream.c (Fadd_timeout):
5856         * event-stream.c (Fadd_async_timeout):
5857         * event-stream.c (Fdiscard_input):
5858         * event-stream.c (execute_internal_event):
5859         * event-stream.c (Frecent_keys):
5860         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5861         * event-stream.c (lookup_command_event):
5862         * event-unixoid.c (poll_fds_for_input):
5863         * events.c:
5864         * events.c (mark_event):
5865         * events.c (event_equal):
5866         * events.c (event_hash):
5867         * events.c (Fmake_event):
5868         * events.c (Fdeallocate_event):
5869         * events.c (event_chain_find_previous):
5870         * events.c (event_to_character):
5871         * events.c (format_event_object):
5872         * events.c (Fevent_type):
5873         * events.c (event_pixel_translation):
5874         * events.c (Fevent_properties):
5875         * extents.c (extent_in_region_p):
5876         * extents.c (print_extent):
5877         * extents.c (process_extents_for_insertion_mapper):
5878         * extents.c (report_extent_modification_mapper):
5879         * extents.c (glyph_layout_to_symbol):
5880         * faces.c (face_validate):
5881         * file-coding.c (eol_type_to_symbol):
5882         * file-coding.c (subsidiary_coding_system):
5883         * file-coding.c (Fcoding_system_type):
5884         * file-coding.c (Fcoding_system_property):
5885         * file-coding.c (mule_decode):
5886         * file-coding.c (mule_encode):
5887         * file-coding.c (encode_coding_ucs4):
5888         * file-coding.c (encode_coding_utf8):
5889         * file-coding.c (parse_iso2022_esc):
5890         * file-coding.c (encode_coding_iso2022):
5891         * fileio.c:
5892         * fns.c (concat):
5893         * fns.c (Fsubseq):
5894         * fns.c (mapcar1):
5895         * fns.c (Fbase64_encode_region):
5896         * fns.c (Fbase64_encode_string):
5897         * fns.c (Fbase64_decode_region):
5898         * fns.c (Fbase64_decode_string):
5899         * font-lock.c (find_context):
5900         * font-lock.c (context_to_symbol):
5901         * frame-gtk.c (gtk_set_frame_pointer):
5902         * frame-gtk.c (gtk_update_frame_external_traits):
5903         * frame-x.c (x_wm_mark_shell_size_user_specified):
5904         * frame-x.c (x_wm_mark_shell_position_user_specified):
5905         * frame-x.c (x_wm_set_shell_iconic_p):
5906         * frame-x.c (x_wm_set_cell_size):
5907         * frame-x.c (x_wm_set_variable_size):
5908         * frame-x.c (x_wm_store_class_hints):
5909         * frame-x.c (x_wm_maybe_store_wm_command):
5910         * frame-x.c (x_initialize_frame_size):
5911         * frame-x.c (x_update_frame_external_traits):
5912         * frame.c:
5913         * frame.c (delete_frame_internal):
5914         * frame.c (mouse_pixel_position_1):
5915         * frame.c (change_frame_size_1):
5916         * free-hook.c (check_free):
5917         * free-hook.c (check_realloc):
5918         * free-hook.c (note_block_input):
5919         * free-hook.c (log_gcpro):
5920         * gccache-gtk.c (gc_cache_lookup):
5921         * glyphs-eimage.c (tiff_memory_write):
5922         * glyphs-gtk.c (gtk_finalize_image_instance):
5923         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5924         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5925         * glyphs-gtk.c (gtk_xpm_instantiate):
5926         * glyphs-gtk.c (gtk_unmap_subwindow):
5927         * glyphs-gtk.c (gtk_map_subwindow):
5928         * glyphs-gtk.c (gtk_button_redisplay):
5929         * glyphs-msw.c:
5930         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5931         * glyphs-x.c (init_image_instance_from_xbm_inline):
5932         * glyphs-x.c (extract_xpm_color_names):
5933         * glyphs-x.c (x_xpm_instantiate):
5934         * glyphs.c (get_image_instantiator_governing_domain):
5935         * glyphs.c (print_image_instance):
5936         * glyphs.c (image_instance_equal):
5937         * glyphs.c (image_instance_hash):
5938         * glyphs.c (encode_image_instance_type):
5939         * glyphs.c (make_image_instance_1):
5940         * glyphs.c (inherit_instantiate):
5941         * glyphs.c (image_instantiate):
5942         * glyphs.c (allocate_glyph):
5943         * glyphs.c (Fglyph_type):
5944         * glyphs.c (redisplay_subwindow):
5945         * glyphs.c (display_table_entry):
5946         * gtk-glue.c (xemacs_list_to_gtklist):
5947         * gtk-glue.c (xemacs_gtklist_to_list):
5948         * gtk-glue.c (xemacs_list_to_array):
5949         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5950         * gutter.c (gutter_was_visible):
5951         * gutter.c (get_gutter_coords):
5952         * input-method-xlib.c (get_XIM_input):
5953         * insdel.c (bufpos_to_bytind_func):
5954         * insdel.c (bytind_to_bufpos_func):
5955         * insdel.c (move_gap):
5956         * intl.c (x_get_composed_input):
5957         * keymap.c (keymap_lookup_directly):
5958         * keymap.c (keymap_delete_inverse_internal):
5959         * keymap.c (ensure_meta_prefix_char_keymapp):
5960         * keymap.c (accessible_keymaps_mapper_1):
5961         * keymap.c (where_is_recursive_mapper):
5962         * lisp.h:
5963         * lisp.h (ABORT):
5964         * lread.c (read_atom):
5965         * lstream.c (Lstream_delete):
5966         * lstream.c (make_lisp_buffer_stream_1):
5967         * macros.c (pop_kbd_macro_event):
5968         * malloc.c (malloc):
5969         * malloc.c (free):
5970         * marker.c (bi_marker_position):
5971         * marker.c (set_bi_marker_position):
5972         * menubar-gtk.c (menu_descriptor_to_widget_1):
5973         * menubar-msw.c (prune_menubar):
5974         * menubar-x.c (set_frame_menubar):
5975         * mule-charset.c (get_unallocated_leading_byte):
5976         * mule-charset.h (CHAR_LEADING_BYTE):
5977         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5978         * nt.c (init_environment):
5979         * nt.c (generate_inode_val):
5980         * ntproc.c (delete_child):
5981         * ntproc.c (_sys_read_ahead):
5982         * ntproc.c (create_child):
5983         * objects.c (color_instantiate):
5984         * objects.c (font_instantiate):
5985         * objects.c (face_boolean_instantiate):
5986         * print.c (printing_major_badness):
5987         * process-nt.c (nt_send_process):
5988         * process-unix.c (unix_send_process):
5989         * process.c (get_process):
5990         * ralloc.c (obtain):
5991         * ralloc.c (relinquish):
5992         * ralloc.c (relocate_blocs):
5993         * ralloc.c (resize_bloc):
5994         * ralloc.c (r_alloc_free):
5995         * ralloc.c (r_re_alloc):
5996         * ralloc.c (r_alloc_thaw):
5997         * ralloc.c (init_ralloc):
5998         * ralloc.c (Free_Addr_Block):
5999         * ralloc.c (r_alloc):
6000         * redisplay-gtk.c (gtk_output_display_block):
6001         * redisplay-msw.c (mswindows_output_display_block):
6002         * redisplay-output.c (get_next_display_block):
6003         * redisplay-output.c (get_cursor_size_and_location):
6004         * redisplay-output.c (redisplay_output_layout):
6005         * redisplay-output.c (redisplay_clear_region):
6006         * redisplay-tty.c (tty_output_display_block):
6007         * redisplay-x.c (x_output_display_block):
6008         * redisplay.c (add_propagation_runes):
6009         * redisplay.c (add_glyph_rune):
6010         * redisplay.c (create_text_block):
6011         * redisplay.c (add_margin_runes):
6012         * redisplay.c (create_left_glyph_block):
6013         * redisplay.c (create_right_glyph_block):
6014         * redisplay.c (create_string_text_block):
6015         * redisplay.c (regenerate_window):
6016         * redisplay.c (REGEN_INC_FIND_START_END):
6017         * redisplay.c (redisplay_frame):
6018         * redisplay.c (point_in_line_start_cache):
6019         * regex.c:
6020         * regex.c (ABORT):
6021         * regex.c (re_compile_fastmap):
6022         * regex.c (re_match_2_internal):
6023         * regex.c (regerror):
6024         * scrollbar-gtk.c (gtk_scrollbar_loop):
6025         * scrollbar-gtk.c (scrollbar_cb):
6026         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6027         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6028         * scrollbar-x.c (x_update_scrollbar_instance_status):
6029         * scrollbar-x.c (x_scrollbar_loop):
6030         * scrollbar-x.c (x_update_frame_scrollbars):
6031         * search.c (search_command):
6032         * search.c (Fmatch_data):
6033         * select-x.c (motif_clipboard_cb):
6034         * signal.c (interrupt_signal):
6035         * specifier.c (specifier_add_spec):
6036         * specifier.c (specifier_instance_from_inst_list):
6037         * specifier.c (specifier_instance):
6038         * specifier.h:
6039         * specifier.h (struct specifier_methods):
6040         * strftime.c (add_num_time_t):
6041         * sunplay.c (init_device):
6042         * symbols.c (Fsetplist):
6043         * symbols.c (do_symval_forwarding):
6044         * symbols.c (store_symval_forwarding):
6045         * symbols.c (Fset):
6046         * symbols.c (Fbuilt_in_variable_type):
6047         * symbols.c (decode_magic_handler_type):
6048         * symbols.c (handler_type_from_function_symbol):
6049         * syntax.c (update_syntax_cache):
6050         * sysdep.c (init_baud_rate):
6051         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6052         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6053         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6054         * toolbar.c (get_toolbar_coords):
6055         * ui-gtk.c (build_gtk_boxed):
6056         * ui-gtk.c (describe_gtk_arg):
6057         * ui-gtk.c (gtk_type_to_lisp):
6058         * ui-gtk.c (lisp_to_gtk_type):
6059         * ui-gtk.c (lisp_to_gtk_ret_type):
6060         * ui-gtk.c (lisp_to_flag):
6061         * unexnt.c (read_in_bss):
6062         * unexnt.c (map_in_heap):
6063         * window.c (real_window):
6064         * window.c (window_display_lines):
6065         * window.c (window_display_buffer):
6066         * window.c (set_window_display_buffer):
6067         * window.c (window_modeline_height):
6068         * window.c (unshow_buffer):
6069         * window.c (window_loop):
6070         * window.c (Fget_lru_window):
6071         * window.c (Fsplit_window):
6072         * window.c (Fset_window_configuration):
6073         * window.c (saved_window_index):
6074         * xgccache.c (gc_cache_lookup):
6075         abort() -> ABORT().  Eliminate preprocessor games with abort()
6076         since it creates huge problems in VC7, solvable only by including
6077         massive amounts of files in every compile (and not worth it).
6078
6079         * sysdep.c:
6080         * sysproc.h:
6081         Inclusion of process.h does not need to be before lisp.h any more.
6082         Move later and remove comment about abort().
6083
6084 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6085
6086         * regex.c (re_match_2_internal):
6087         Correctly initialize loop which clears uninitialized registers.
6088
6089 2005-01-28  Vin Shelton  <acs@xemacs.org>
6090
6091         * sheap.c (more_static_core): Applied Ben's version of the long
6092         string patch.
6093
6094 2005-01-24  Vin Shelton  <acs@xemacs.org>
6095
6096         * sheap.c (more_static_core): Reformatted printf string so
6097         gcc-3.3.3 will compile this on Cygwin.
6098
6099 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6100
6101         * console.c (function_key_map): Reference `key-binding'.
6102
6103         * keymap.c (Vkey_translation_map): Improve docstring.
6104
6105 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6106
6107         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6108         * window.c (window_loop): [fix] Take into account
6109         `allow-deletion-of-last-visible-frame' variable.
6110         * window.c (replace-buffer-in-windows): Ditto.
6111
6112 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6113
6114         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6115
6116 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6117
6118         * event-gtk.c: Recognise AltGr as a valid modifier.
6119
6120 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6121
6122         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6123
6124 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6125
6126         Fix backreference bug caught by test suite.
6127
6128         * regex.c (regex_compile):
6129         Make backref duplicate internal register.
6130
6131 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6132
6133         Documentation, code clarification, and warning suppression.
6134         
6135         * regex.c (regex_compile):
6136         Improve comments.
6137         (re_match_2_internal):
6138         Improve comments and avoid redundant braces.  [Most of the big hunk
6139         at l. 4710 is indentation; use diff -w to see the real changes.]
6140         (alt_match_null_string_p):
6141         (common_op_match_null_string_p):
6142         Avoid shadowing global on Mac OS X 10.4, at least.
6143
6144 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6145
6146         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6147         introduced with shy groups fix).  [Already applied, probably
6148         with the second "fix shy groups" patch of 2004-10-07.] 
6149
6150 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6151
6152         From Andrey Slusar <anrays@gmail.com>:
6153
6154         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6155
6156 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6157
6158         * Makefile (RECURSIVE_MAKE): Removed.
6159         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6160         handling parallel builds.
6161
6162 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6163
6164         * Makefile.in.in: Enable support for parallel builds.
6165
6166 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6167
6168         From Andrey Slusar <anrays@gmail.com>:
6169
6170         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6171         FreeBSD version is >= 199701 _and_ < 600006.
6172
6173 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6174
6175         * scrollbar.c (compute_scrollbar_instance_usage):
6176         Only call device method compute_scrollbar_instance_usage() if it
6177         is defined.
6178
6179 2004-12-05  Vin Shelton <acs@xemacs.org>
6180
6181         * XEmacs 21.4.16 is released
6182
6183 2004-12-04  Vin Shelton  <acs@xemacs.org>
6184
6185         * depend: Regenerated.
6186
6187 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6188
6189         * regex.c (re_match_2_internal): Map internal to external
6190         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6191         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6192
6193 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6194
6195         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6196         to fix a crash.  Also, check the buffer is live and it
6197         really exists in buffer_list.  If the buffer is not in the list,
6198         prepend it.
6199
6200 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6201
6202         Fix shy groups by implementing recording of all groups for
6203         repetition and backtracking.  Backport from 21.5.
6204         
6205         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6206         external_to_internal_register, external_to_internal_register_size,
6207         and update comments for re_nsub.
6208
6209         * regex.c (re_opcode_t): Update comments.
6210         (print_compiled_pattern): Ouput external_to_internal_register,
6211         external_to_internal_register_size, and re_ngroups for debugging.
6212         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6213         (regex_compile): Update header comment.
6214         Ensure that all groups are recorded so that repeat matches and
6215         backtracking work correctly.  Comment related warning for groups >
6216         255.
6217         (re_search_2): Construct map of API indexes (which count only
6218         nonshy groups) to internal register numbers, and keep it updated.
6219
6220 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6221
6222         * frame-gtk.c (gtk_make_frame_visible):
6223         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6224         show/hide.  This is what X uses and is prevents previously hidden
6225         widgets from suddenly reappearing.
6226         * gtk-xemacs.c (gtk_xemacs_paint):
6227         * gtk-xemacs.c (gtk_xemacs_draw):
6228         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6229         drawable.
6230         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6231         size and location changes so that they can be seen before the next
6232         idle event.  Without this rapid changes to scrollbar properties
6233         are not seen.
6234
6235 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6236
6237         * console-gtk.h:
6238         * console-gtk.h (struct gtk_frame):
6239         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6240           Add hash tables track tab_control callback data.
6241           Added #defines for GTK object data names.
6242           Declaration of gtk_widget_to_frame().
6243         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6244         * frame-gtk.c (gtk_widget_to_frame): New.
6245         * frame-gtk.c (gtk_create_widgets):
6246         * frame-gtk.c (allocate_gtk_frame_struct):
6247         * frame-gtk.c (gtk_mark_frame):
6248         Manage frame callbakc hash tables.
6249         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6250         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6251         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6252         of widget size.
6253         * glyphs-gtk.c (gtk_widget_query_geometry): New
6254         * glyphs-gtk.c (gtk_register_gui_item): New
6255         * glyphs-gtk.c (gtk_add_tab_item): New
6256         * glyphs-gtk.c (gtk_tab_control_callback): New
6257         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6258         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6259         Use correct list when loading item.
6260         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6261         Register new methods.
6262         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6263         default size, for widgets.
6264         * gui-x.c:  Improved comment.
6265         * menubar-gtk.c (__generic_button_callback): Use
6266         gtk_widget_to_frame instead of __get_channel.
6267         * scrollbar-gtk.c:
6268         * ui-gtk.c: Use symbolic names for GTK object data.
6269
6270 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6271
6272         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6273
6274 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6275
6276         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6277
6278 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6279
6280         * malloc.c (morecore): siz is a long because in some architectures
6281         (eg ia-64) an int cannot hold the address range.  Additional patch
6282         from the SuSe distribution.
6283
6284 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6285
6286         * emacs.c:
6287         * malloc.c: lim_data is a long because in some architectures
6288         (eg ia-64) an int cannot hold the address range.
6289         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6290         instead of ulimit() because ulimit() always returns -1.
6291
6292 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6293
6294         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6295
6296 2004-06-11  David Kastrup  <dak@gnu.org>
6297
6298         * search.c (match_limit): Don't flag an error if match-data
6299         exceeding the allocated search_regs.num_regs gets requested, just
6300         return Qnil.
6301
6302 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6303
6304         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6305         replace symbolic color entries with the real colors specified in
6306         xpm-color-symbols, before passing the XPM to gtk.
6307         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6308         instead of a GTK specific field, so that it is used in by generic
6309         code.
6310
6311 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6312
6313        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6314         coredump from deref of NULL ptr (ExtData)
6315
6316 2004-04-19  Jerry James  <james@xemacs.org>
6317
6318         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6319         VALBITS to compute the location of the sign bit.
6320         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6321         of VALBITS with EMACS_INT_MAX.
6322         * events.c (Fevent_timestamp): Ditto.
6323         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6324         compute the halfway point to timestamp wraparound.
6325         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6326         EMACS_INT_MIN instead of using VALBITS.
6327         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6328         incorrect number with VALBITS.
6329         * fns.c (Frandom): Correct number of integer bits in docstring.
6330         Use INT_VALBITS instead of VALBITS to compute the denominator.
6331         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6332         build random numbers.
6333
6334 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6335         * event-gtk.c:
6336         * event-gtk.c (gtk_event_to_emacs_event):
6337         * menubar-gtk.c:
6338         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6339         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6340         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6341         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6342         * menubar-gtk.c (__activate_menu):
6343         * menubar-gtk.c (convert_underscores):
6344         * menubar-gtk.c (remove_underscores):
6345         * menubar-gtk.c (menu_convert):
6346         * menubar-gtk.c (menu_descriptor_to_widget_1):
6347         * menubar-gtk.c (menu_descriptor_to_widget):
6348         * menubar-gtk.c (menu_can_reuse_widget):
6349         * menubar-gtk.c (menu_create_menubar):
6350         * menubar-gtk.c (gtk_popup_menu):
6351         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6352         Added support for Gtk menu bar and menu item mnemonics.
6353
6354 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6355
6356         * sysdll.c: (dll_function): Added support for finding symbols in
6357         Darwin shared libraries as well in Darwin bundles.
6358         * sysdll.c (image_for_address): New
6359         * sysdll.c (my_find_image): New
6360         * sysdll.c (search_linked_libs): New
6361
6362 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6363
6364         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6365         return to GTK requires a different API to marshalling data to use
6366         as GTK parameters.
6367         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6368
6369 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6370
6371         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6372
6373 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6374
6375         * glyphs.c (process_image_string_instantiator):
6376         (Fset_console_type_image_conversion_list):
6377         Stop GCC from warning about shadowing of `exp'.
6378
6379         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6380
6381 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6382
6383         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6384
6385 2004-02-03  Vin Shelton  <acs@xemacs.org>
6386
6387         * glyphs.c (image_instance_layout): Remove pointless assertion.
6388         * regex.c (regex_grow_registers): Return type is void.
6389
6390 2004-02-02  Vin Shelton <acs@xemacs.org>
6391
6392         * XEmacs 21.4.15 is released
6393
6394 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6395
6396         * device-x.c (x_error_handler): Don't call stderr_out
6397
6398 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6399
6400         * buffer.c (other-buffer): Clarify documentation of order of
6401         arguments for FSF Emacs.
6402
6403 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6404
6405         * window.c (Fdelete_window): Dirty the mirror structure _before_
6406         marking the window deleted.
6407
6408 2003-09-15  Jerry James  <james@xemacs.org>
6409
6410         * event-msw.c (debug_mswin_messages): Conditionally compile
6411         messages missing from the Cygwin headers.
6412
6413 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6414
6415         * data.c (eq_with_ebola_notice): Fix typo in comment.
6416         (Ftrue_list_p): Improve docstring.
6417
6418 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6419
6420         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6421
6422 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6423
6424         * search.c (trivial_regexp_p): Regexps containing "\{" are
6425         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6426         Stefan Monnier for suggesting a diagnosis.
6427
6428 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6429
6430         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6431
6432 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6433
6434         * search.c (Fsearch_forward):
6435         (Fsearch_backward):
6436         Document negative count.
6437
6438 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6439
6440         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6441
6442 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6443
6444         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6445
6446 2003-09-15  Vin Shelton  <acs@xemacs.org>
6447
6448         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6449         21.5.
6450
6451 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6452
6453         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6454         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6455         (re_match_2_internal): Use TRANSLATE instead of
6456         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6457         non-ASCII char case conversion.
6458
6459 2003-09-08  Mike Sperber  <mike@xemacs.org>
6460
6461         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6462         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6463
6464 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6465
6466        * .gdbinit (pobj): fix printing of symbol name.
6467
6468 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6469
6470         * frame-x.c (x_layout_widgets): When resizing is about to cause
6471         frame size slip, mark it for redisplay.
6472
6473 2003-08-18  Jerry James  <james@xemacs.org>
6474
6475         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6476
6477 2003-09-03  Vin Shelton <acs@xemacs.org>
6478
6479         * XEmacs 21.4.14 is released
6480
6481 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6482
6483         * config.h.in (REGEX_MALLOC): Make it configure'able.
6484
6485 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6486
6487         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6488         linking.
6489         * sysdll.c (dll_init):
6490         * sysdll.c (dll_open):
6491         * sysdll.c (dll_close):
6492         * sysdll.c (dll_function):
6493         * sysdll.c (dll_variable):
6494         * sysdll.c (dll_error):
6495         Add support for loading bundles using Darwin/MacOSX
6496         native API.
6497
6498 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6499
6500         * process.c (start-process-internal): Document coding systems.
6501
6502 2003-07-30  Jerry James  <james@xemacs.org>
6503
6504         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6505
6506 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6507
6508         * event-msw.c (mswindows_enqueue_mouse_button_event):
6509         * event-msw.c (mswindows_wnd_proc):
6510           enqueue button event when scrollwheel event isn't handled by 
6511           mswindows_handle_mousewheel_event, such as when the scrollbars
6512           are not showing.
6513
6514 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6515
6516         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6517
6518 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6519
6520         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6521
6522 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6523
6524         * regex.c (re_match_2_internal): Fix matching degenerate word
6525         boundaries.
6526
6527 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6528
6529         * XEmacs 21.4.13 is released
6530
6531 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6532
6533         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6534         * lisp.h (<inttypes.h>):
6535         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6536         the definition.
6537
6538 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6539
6540         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6541         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6542         Result: "temacs can only be run in -batch mode."
6543         Fix: Check xemacs executable candidate for directory-ness.
6544
6545 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6546
6547         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6548           they conflict with <sys/types.h>.
6549
6550 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6551
6552         * database.c: Berkeley DB wants __STDC__ to be defined.
6553
6554 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6555
6556         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6557
6558 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6559
6560         * process-unix.c (unix_send_process): Fix C++ compile error.
6561
6562 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6563
6564         * Added .dylib as an acceptable shared library file extension
6565         * to support MacOSX.
6566
6567 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6568
6569         * EmacsFrameP.h (EmacsFramePart):
6570         Kludge to allow compiling with Motif1, but linking with Motif2.
6571
6572 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6573
6574         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6575
6576
6577 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6578
6579         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6580
6581 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6582
6583         * sysdll.c: Included lisp.h to define needed alloca_array.
6584
6585 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6586
6587         Make XEmacs redisplay 10 times faster.
6588         If, that is, you're using a slow X connection and MoveOpaque.
6589         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6590         Use compress_motion = TRUE.
6591         * EmacsFrame.c (emacsFrameClassRec): 
6592         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6593         * EmacsManager.c (emacsManagerClassRec):
6594         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6595
6596 2003-01-30  Vin Shelton  <acs@xemacs.org>
6597
6598         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6599
6600 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6601
6602         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6603         Patch by Martin Buchholz.
6604
6605 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6606
6607         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6608         Thanks to icc for warning and Martin Buchholz for reporting.
6609
6610 2003-01-29  Vin Shelton <acs@xemacs.org>
6611
6612         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6613
6614         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6615         remember to multiply by the element size.
6616
6617 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6618
6619         * XEmacs 21.4.12 "Portable Code" is released.
6620
6621 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6622
6623         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6624         * s/cygwin.sc: new linker file.
6625
6626 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6627
6628         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6629
6630         * redisplay-x.c (x_output_string): Use X11-specified types.
6631         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6632         * emacs.c (__free_hook): Use typeof with Intel compiler.
6633         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6634
6635 2003-01-08  Andy Piper  <andy@xemacs.org>
6636
6637         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6638         reserve size during unexec().
6639
6640 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6641
6642         * process-unix.c (unix_create_process): Don't let outchannel block.
6643
6644 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6645
6646         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6647         Needed for IsBadReadPtr().
6648
6649 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6650
6651         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6652
6653 2002-12-14  Ben Wing  <ben@xemacs.org>
6654
6655         * callint.c: Declaration error.
6656         * dumper.c (pdump):
6657         * dumper.c (pdump_load): Warning fix.
6658         * process.c: GCPRO error.
6659         * glyphs.c (unmap_subwindow):
6660         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6661         * event-stream.c (maybe_kbd_translate): Wrong argument to
6662         character_to_event().
6663
6664         * alloc.c (garbage_collect_1):
6665         * emacs.c:
6666         * emacs.c (debug_can_access_memory):
6667         * emacs.c (fatal_error_signal):
6668         * emacs.c (mswindows_handle_hardware_exceptions):
6669         * emacs.c (main_1):
6670         * emacs.c (main):
6671         * emacs.c (assert_failed):
6672         * emacs.c (syms_of_emacs):
6673         * lisp.h:
6674         * print.c:
6675         * print.c (std_handle_out_va):
6676         * print.c (write_string_to_stdio_stream):
6677         * print.c (write_fmt_string):
6678         * print.c (printing_badness):
6679         * print.c (printing_major_badness):
6680         * print.c (print_internal):
6681         * print.c (debug_print_no_newline):
6682         * print.c (debug_backtrace):
6683         Be more defensive in handling bad values when printing.  Add code
6684         from trunk involving inhibit_non_essential_printing_operations.
6685         When going down or in debug_print(), don't do external conversion
6686         and such and try really, really hard when printing to avoid core
6687         dumping.  Add force-debugging-signal, debug_break().
6688
6689 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6690
6691         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6692         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6693
6694 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6695
6696         * database.c: Fix open_database. Berkeley DB API has changed in
6697         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6698
6699 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6700
6701         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6702
6703 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6704
6705         * event-Xt.c (Xt_timeout):
6706         (Xt_timeout_callback):
6707         (emacs_Xt_add_timeout):
6708         (emacs_Xt_remove_timeout):
6709         (Xt_timeout_to_emacs_event):
6710         Turn completed_timeouts from a stack into a queue.  Fixes
6711         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6712
6713 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6714
6715         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6716         * emacs.c (main): Assert that mmap'd allocation is disabled.
6717
6718 2002-10-14  Andy Piper  <andy@xemacs.org>
6719
6720         * glyphs-widget.c (layout_query_geometry): add in fiddle
6721         factor. Include border text in width layout calculation.
6722         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6723
6724 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6725
6726         * XEmacs 21.4.10 "Military Intelligence" is released.
6727
6728 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6729
6730         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6731         using the NAS private array SoundFileInfo that no longer exists in
6732         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6733         and earlier.  This is broken for some versions between 1.5a and
6734         1.5f.
6735
6736 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6737
6738         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6739
6740         * emacs.c (shut_down_emacs): Improve crash message.
6741
6742 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6743
6744         * file-coding.c (determine_real_coding_system): Check for coding
6745         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6746         shebangs and Python PEP 263.
6747
6748 2002-10-08  Andy Piper  <andy@xemacs.org>
6749
6750         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6751         if static sizes haven't been set.
6752
6753 2002-08-30  Mike Alexander  <mta@arbortext.com>
6754
6755         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6756         to close a socket.
6757
6758 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6759
6760         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6761
6762 2002-09-20  Mike Sperber <mike@xemacs.org>
6763
6764         (This partially gets back my patch from 2002-07-20 without the
6765         bug.)
6766         * callproc.c (child_setup): Remove Ben's comment noting confusion
6767         over the file descriptors >= 3: close_process_descs() doesn't
6768         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6769         * process-unix.c (unix_create_process): Call
6770         begin_dont_check_for_quit to inhibit unwanted interaction (and
6771         thus breaking of X event synchronicity) in the child.
6772
6773 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6774
6775         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6776         widget.
6777
6778 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6779
6780         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6781         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6782         the xemacs process did not exit, but looped infinitely here.  This
6783         fixes that problem.
6784
6785 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6786
6787         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6788         (find_context): Improve comments.
6789
6790         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6791         (re_match_2): An XCHAR_TABLE operation was missing.
6792
6793         Many of the following changes were inspired by Andy Piper's (now
6794         obsolete) patch to make syntax-table text property lookup optional.
6795
6796         [Documentation]
6797
6798         * syntax.h (top level): Document semantics of syntax flags.
6799         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6800         * syntax.c, syntax.h (top level): Document syntax cache better in
6801         comments.
6802
6803         [Instrument syntax caching (temporary change)]
6804
6805         * syntax.h (enum syntax_cache_statistics_functions, struct
6806         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6807         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6808         * syntax.c (scan_words, Fforward_comment, scan_lists,
6809         Fbackward_prefix_characters):
6810         * font-lock.c (find_context):
6811         Use them to instrument syntax caching. 
6812         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6813         syntax_cache_statistics_function_names): New type and variables.
6814         * syntax.c (update_syntax_cache): Update and report statistics.
6815
6816         [Major syntax cache optimizations]
6817
6818         syntax.c (lookup_syntax_properties): Default off.
6819
6820         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6821         * syntax.c (update_syntax_cache):
6822         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6823
6824         [Minor syntax cache optimizations and code clarifications]
6825
6826         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6827         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6828         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6829         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6830         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6831         (Code clarification.)
6832
6833         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6834         scan_lists): Compute code from syncode, use Boolean macros instead
6835         of redundant masking operations.  (Code clarification; any decent
6836         compiler can do this optimization.)
6837
6838         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6839         for clarity.
6840
6841         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6842         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6843         use F*_single_property_change instead of F*_extent_change.
6844         Currently F*_single_property_change is _much_ less efficient.
6845
6846         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6847         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6848         syntax_cache.object properly, don't leave Qt or Qnil.
6849         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6850         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6851         tests for Qt or Qnil.
6852
6853 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6854
6855         * redisplay.c (point_in_line_start_cache): 
6856         * extents.c (print_extent_1):
6857         Fix warnings.
6858
6859         * extents.c (Fset_extent_property): Document `syntax-table' property.
6860
6861         * extents.h (Fnext_single_property_change): EXFUN it.
6862
6863 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6864
6865         * search.c (clear_unused_search_regs): New static function.
6866         (search_buffer): 
6867         (simple_search): 
6868         (boyer_moore):
6869         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6870         Minor clarifications in comments.
6871
6872         * regex.c (re_match_2_internal): Ensure no stale submatches.
6873
6874 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6875
6876         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6877
6878 2002-08-29  Jerry James  <james@xemacs.org>
6879
6880         * lisp.h: structrures -> structures.
6881
6882 2002-06-03  Andy Piper  <andy@xemacs.org>
6883
6884         * frame.c (frame_conversion_internal): add conversion appropriate
6885         for setting frame dimensions in pixels.
6886
6887         * console.h (struct console_methods): add device-specific widget
6888         layout functions.
6889
6890         * emacs.c (main_1): initialize glyph vars.
6891
6892         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6893         (handle_focus_event_2): new function. Allow focus to
6894         be set to a particular window and widget.
6895         (enqueue_focus_event): new function. Create a
6896         synthetic focus event.
6897         (emacs_Xt_handle_magic_event): call
6898         handle_focus_event_2.
6899
6900         * frame.c (Fset_frame_pixel_height): new function. Allow
6901         pixel-based sizing. Does the right thing on character-oriented
6902         displays.
6903         (Fset_frame_pixel_width): ditto.
6904         (Fset_frame_pixel_size): ditto.
6905         (syms_of_frame): declare.
6906
6907         * general-slots.h: add :vertically-justify and
6908         :horizontally-justify.
6909
6910         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6911         (mswindows_widget_border_width): new function.
6912         (mswindows_combo_box_instantiate): set border widths.
6913         (console_type_create_glyphs_mswindows): declare.
6914
6915         * glyphs-widget.c:
6916         (check_valid_justification): allow vertical and horizontal
6917         justification.
6918         (widget_border_width): new function. Call device methods.
6919         (widget_instance_border_width): ditto.
6920         (logical_unit_height): new function. Determine the height of a
6921         logical-unit. Logical units are intended to provide grid-like
6922         layout for subcontrols in a layout. If the layout is
6923         :vertically-justify top then subcontrols will be positioned on
6924         logical-unit boundaries, thus allowing adjacent subcontrols to
6925         line up.
6926         (widget_logical_unit_height): ditto for widgets.
6927         (redisplay_widget): misc cleanup.
6928         (widget_spacing): new function. Call device specific
6929         methods. Intended to be the default gap between adjacent widgets.
6930         (widget_query_geometry): use new spacing functions to determine
6931         appropriate geometry.
6932         (initialize_widget_image_instance): initialize horizontal and
6933         vertical justification.
6934         (widget_instantiate): use logica-units where appropriate for
6935         sizing large widgets.
6936         (button_query_geometry): use widget_instance_border_width.
6937         (tree_view_query_geometry): ditto.
6938         (tab_control_query_geometry): ditto.
6939         (edit_field_query_geometry): new function.
6940         (layout_update): pick up :justify, :horizontally-justify and
6941         :vertically-justify none of which worked previously. :justify is
6942         used as a fallback for both horizontal and vertical justification.
6943         (layout_query_geometry): use logical units to size appropriately.
6944         (layout_layout): ditto.
6945         (Fwidget_logical_to_character_width): new function. Allow users to
6946         convert from logical units to characters so that frame sizes can
6947         be set appropriately.
6948         (Fwidget_logical_to_character_height): ditto.
6949         (syms_of_glyphs_widget): declare.
6950         (image_instantiator_edit_fields): add edit_field_query_geometry.
6951         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6952         :horizontally-justify.
6953         (specifier_vars_of_glyphs_widget): new function. Declare
6954         Vwidget_border_width which is not yet used.
6955
6956         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6957         (x_widget_border_width): new function.
6958         (x_widget_instantiate): create a sensible name for widgets.
6959         (console_type_create_glyphs_x): declare x_widget_border_width.
6960
6961         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6962         (struct Lisp_Image_Instance): add :vertically-justify and
6963         :horizontally-justify.
6964         (LAYOUT_JUSTIFY_TOP): new.
6965         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6966         (ROUND_UP): new macro. Round argument up to next integral
6967         interval.
6968
6969         * redisplay-output.c (redisplay_output_layout): misc formatting.
6970
6971         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6972
6973 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6974
6975         * XEmacs 21.4.9 "Informed Management" is released.
6976
6977 2002-08-19  Andy Piper  <andy@xemacs.org>
6978
6979         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6980         win32 format.
6981
6982         * realpath.c (xrealpath): normalize drive spec also so that dir
6983         sep chars are not mixed on cygwin.
6984
6985 2002-08-06  Jerry James  <james@xemacs.org>
6986
6987         * window.c (Fsplit_window): Count only half of the divider width
6988         against the left window when splitting horizontally. 
6989
6990 2002-06-24  Andy Piper  <andy@xemacs.org>
6991
6992         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6993         toolbar was cleared.
6994
6995         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6996         function. Split out from mswindows_output_frame_toolbars.
6997         (mswindows_output_frame_toolbars): move clear pieces to
6998         mswindows_output_frame_toolbars.
6999
7000         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7001         out from gtk_output_frame_toolbars.
7002         (gtk_output_frame_toolbars): move clear pieces to
7003         gtk_clear_frame_toolbars.
7004
7005         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7006         the frame is cleared. How this ever worked before is a mystery.
7007         (x_output_frame_toolbars): Only output toolbars.
7008         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7009
7010         * gutter.c (update_gutter_geometry):
7011         Mark frame layout changed.
7012         (update_frame_gutter_geometry, update_frame_gutters):
7013         Respect frame_layout_changed.
7014
7015         * console.h (struct console_methods): add
7016         clear_frame_toolbars_method.
7017
7018         * redisplay.c (redisplay_frame): call
7019         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7020
7021         * toolbar.h: declare update_frame_toolbars_geometry.
7022
7023         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7024         out from update_frame_toolbars.  Call clear_frame_toolbars.
7025         (update_frame_toolbars): only output, do not change geometry.
7026
7027         * redisplay.c: add frame_layout_changed.
7028
7029         * redisplay.h: add frame_layout_changed.
7030         (CLASS_RESET_CHANGED_FLAGS): set it.
7031         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7032         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7033         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7034
7035         * device.h (struct device): add frame_layout_changed.
7036         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7037
7038         * frame.h (struct frame): add frame_layout_changed.
7039         (MARK_FRAME_LAYOUT_CHANGED): new.
7040
7041 2002-06-30  Mike Alexander  <mta@arbortext.com>
7042
7043         * event-msw.c (mswindows_need_event): Don't wait for a new message
7044         if the queue is not empty.  Suggested by Paul Moore.
7045
7046 2002-06-12  Andy Piper  <andy@xemacs.org>
7047
7048         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7049         for printing on accurately.
7050
7051 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7052
7053         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7054         WM_ACTIVATE message. Make sure that the frame is visible if the
7055         window is visible. This seemss to fix the problem where XEmacs
7056         appears to freeze after switching desktops with certain virtual
7057         window managers.
7058         (debug_output_mswin_message): Added code to output message
7059         parameters for WM_WINDOWPOSCHANGED, 
7060         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7061
7062 2002-05-25  Andy Piper  <andy@xemacs.org>
7063
7064         * select-x.c (vars_of_select_x): Fix docstring of
7065         x-selection-strict-motif-ownership
7066
7067 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7068
7069         * keymap.c (get_keymap):
7070         Add comment about do_autoload GCPROs own args.
7071
7072 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7073
7074         * bytecode.c (execute_optimized_program): check_opcode ifdef
7075         ERROR_CHECK_BYTE_CODE.
7076
7077 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7078
7079         Thanks to Ben Wing and Michael Sperber.
7080
7081         * eval.c (Fcommand_execute):
7082         (Feval):
7083         (Ffuncall):
7084         (Fmacroexpand_internal):
7085         (function_argcount):
7086         callint.c (Fcall_interactively):
7087         Add comment about do_autoload GCPROs own args.
7088
7089         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7090
7091         * eval.c (Ffuncall): Extra braces to placate GCC.
7092
7093 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7094
7095         * backtrace.h (grow_specpdl):
7096         (SPECPDL_RESERVE):
7097         * EmacsFrame.c (EmacsFrameSetValues):
7098         * eval.c (grow_specpdl):
7099         * ExternalShell.c (hack_event_masks_1):
7100         * glyphs-x.c (convert_EImage_to_XImage): 
7101         (x_finalize_image_instance):
7102         * ralloc.c (page_size):
7103         (r_alloc_sbrk):
7104         * xgccache.c (gc_cache_hash):
7105         Fix unsigned comparison warnings.
7106
7107 2002-07-29  Jerry James  <james@xemacs.org>
7108
7109         * lread.c (locate_file): Any nonnegative return value indicates
7110         success if MODE is nonnegative.
7111
7112 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7113
7114         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7115         argument. 
7116
7117 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7118
7119         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7120
7121         * dumper.c (pdump_get_indirect_count):
7122         (pdump_scan_by_alignment):
7123         (pdump_dump_root_struct_ptrs):
7124         (pdump_dump_rtables):
7125         (pdump_dump_root_objects):
7126         (pdump):
7127         * nas.c (WaveOpenDataForReading):
7128         * fns.c (print_bit_vector):
7129         * font-lock.c (SINGLE_SYNTAX_STYLE):
7130         * glyphs.c (check_for_ignored_expose):
7131         (find_matching_subwindow):
7132         * glyphs-eimage.c:
7133         * imgproc.c (get_histogram):
7134         * redisplay.c (point_in_line_start_cache):
7135         * redisplay-output.c (redisplay_unmap_subwindows):
7136         * symbols.c (defsymbol_massage_name_1):
7137         (defkeyword_massage_name):
7138         (deferror_massage_name_and_message):
7139         * redisplay-x.c (x_output_string): 
7140         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7141         * frame.h (struct frame):
7142         * filelock.c (current_lock_owner):
7143         * doprnt.c (emacs_doprnt_1):
7144         * lisp.h (struct Lisp_Bit_Vector):
7145         (DO_REALLOC):
7146         Fix warnings.
7147
7148 2002-02-13  Ben Wing  <ben@xemacs.org>
7149
7150         * event-stream.c (reset_key_echo):
7151         * event-stream.c (reset_this_command_keys):
7152         * event-stream.c (execute_command_event):
7153         If console is dead as a result of C-x 5 0, then post-command stuff
7154         needs to be careful and do only non-console-specific stuff.
7155
7156 2002-07-01  Mike Sperber <mike@xemacs.org>
7157
7158         * process-unix.c (unix_send_process): Mark coding_outstream as
7159         non-open upon SIGPIPE.
7160
7161         * event-stream.c (Fnext_event): Reorder switch cases to something
7162         that makes sense.
7163
7164 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7165
7166         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7167         Don't bogusly reinitialize ascii_character property.
7168
7169 2002-07-08  Mike Sperber <mike@xemacs.org>
7170
7171         * process.c (Fstart_process_internal): Do error checking before we
7172         fork off the child, so the child can't muck with the state of the
7173         parent.
7174
7175 2002-07-08  Mike Sperber <mike@xemacs.org>
7176
7177         * ralloc.c (init_ralloc): Allocate properly for pdump.
7178
7179 2002-06-12  Andy Piper  <andy@xemacs.org>
7180
7181         * glyphs.c (query_string_geometry): check the string.
7182
7183         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7184         widget names.
7185
7186 2002-06-17  Jerry James  <james@xemacs.org>
7187
7188         * sysdll.c: Remove RTLD_GLOBAL initialization.
7189         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7190
7191 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7192
7193         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7194
7195 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7196
7197         * sysdep.c (sys_rename): Make sys_rename work for the case where
7198         Windows rename sets errno to EACCES if target file exists.
7199
7200 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7201
7202         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7203         Fix detection of metric units to work on Win95
7204
7205 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7206
7207         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7208
7209 2002-04-25  Andy Piper  <andy@xemacs.org>
7210
7211         * redisplay.c (create_text_block): Remove extra comment trailer.
7212
7213 2002-04-24  Andy Piper  <andy@xemacs.org>
7214
7215         * redisplay.c (create_text_block): Don't actually add propagation
7216         data if the line ends after we have added a glyph.
7217
7218 2002-04-22  Andy Piper  <andy@xemacs.org>
7219
7220         * extents.c (extent_fragment_update): check for glyphs we have
7221         previously displayed.
7222         * extents.c (print_extent_1): warning removal.
7223         * extents.h: change prototype.
7224         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7225         widths correctly for wide glyphs.
7226         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7227         * redisplay.c (prop_type): add PROP_GLYPH.
7228         * redisplay.c (struct prop_block): add glyph type
7229         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7230         to the propagation data.
7231         * redisplay.c (create_text_block): if there is a glyph in the
7232         propagation data use it to salt extent_fragment_update.
7233         * redisplay.c (create_string_text_block): ditto.
7234
7235 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7236
7237         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7238         * redisplay-output.c (compare_runes): Compare them.
7239         * redisplay.c: Update copyright date.
7240         * redisplay.c (pos_data): Add need_baseline_computation field.
7241         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7242         need_baseline_computation; zero yoffset. Set max_pixmap_height
7243         for all pixmaps, not just automatically positioned ones.
7244         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7245         * redisplay.c (calculate_baseline): New, compute textual baseline.
7246         * redisplay.c (add_glyph_rune): Call them.
7247         * redisplay.c (create_text_block): Likewise.
7248         * redisplay.c (create_overlay_glyph_block): Likewise.
7249         * redisplay.c (add_margin_runes): Likewise.
7250         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7251
7252         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7253         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7254         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7255         * redisplay-msw.c (mswindows_output_string): Likewise.
7256         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7257         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7258         * redisplay-x.c (x_output_display_block): Likewise.
7259
7260 2002-03-28  Ben Wing  <ben@xemacs.org>
7261
7262         * redisplay.c: Fixed bug in redisplay
7263         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7264         and down of the lines, since they're bigger than the line
7265         size. (It was seen most obviously when there's a horizontal scroll
7266         bar, e.g. do C-h a glyph or something like that.) The problem was
7267         that the glyph-contrib-p setting on glyphs was ignored even if it
7268         was set properly, which it wasn't until now.
7269
7270 2002-04-24  Andy Piper  <andy@xemacs.org>
7271
7272         * lisp.h (Dynarr_end): Fix definition.
7273
7274 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7275
7276         * redisplay.c (mark_redisplay): Remove call to
7277         update_frame_window_mirror.
7278
7279 2001-11-15  Andy Piper  <andy@xemacs.org>
7280
7281         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7282         cygwin (again).
7283
7284 2002-02-13  Andy Piper  <andy@xemacs.org>
7285
7286         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7287         we did in fact enqueue the XM_MAPFRAME event.
7288
7289 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7290
7291         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7292         to fix problem switching between virtual desktops under virtuawin
7293         virtual window manager.
7294
7295 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7296
7297         * event-msw.c: Typo fix.
7298         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7299         magic XM_MAPFRAME event has been sent.
7300
7301 2001-11-23  Andy Piper  <andy@xemacs.org>
7302
7303         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7304
7305 2001-11-21  Andy Piper  <andy@xemacs.org>
7306
7307         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7308         mouse events outside the frame.
7309
7310 2002-03-20  Andy Piper  <andy@xemacs.org>
7311
7312         * menubar-msw.c (mswindows_popup_menu): warning removal.
7313         * dialog-msw.c (dialog_popped_down): ditto.
7314
7315 2001-12-11  Andy Piper  <andy@xemacs.org>
7316
7317         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7318         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7319         popup_up_p.
7320         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7321         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7322         * menubar-msw.c (mswindows_popup_menu): ditto.
7323
7324 2001-10-29  Andy Piper  <andy@xemacs.org>
7325
7326         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7327         cancels.
7328
7329 2002-01-03  Andy Piper  <andy@xemacs.org>
7330
7331         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7332         letters.
7333         (xrealpath): ditto.
7334
7335 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7336
7337         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7338         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7339         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7340         Detect and handle case where machine is set up for metric units
7341
7342 2002-04-02  Andy Piper  <andy@xemacs.org>
7343
7344         * dired-msw.c (mswindows_get_files): 
7345         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7346         completely handled by XEmacs. Suggested by Thomas Vogler
7347         <mail@thomas-vogler.de>.
7348
7349 2001-11-14  Andy Piper  <andy@xemacs.org>
7350
7351         * nt.c (REG_ROOT): change registry key to XEmacs.
7352
7353 2002-04-27  Andy Piper  <andy@xemacs.org>
7354
7355         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7356
7357 2002-04-26  Andy Piper  <andy@xemacs.org>
7358
7359         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7360         behavior.
7361
7362 2002-03-14  Mike Alexander  <mta@arbortext.com>
7363
7364         * event-msw.c (mswindows_unwait_process): New, remove process from
7365         wait list
7366         * process-nt.c (nt_finalize_process_data): Call
7367         mswindows_unwait_process
7368         * console-msw.h: Declare mswindows_unwait_process
7369
7370 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7371
7372         * editfns.c (Fdecode_time):
7373         (Fformat_time_string):
7374         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7375         (make_time): Warning elimination (change arg name).
7376
7377 2001-11-24  Andy Piper  <andy@xemacs.org>
7378
7379         * window.c (Fsplit_window): Doc return type.
7380
7381 2002-04-01  Andy Piper  <andy@xemacs.org>
7382
7383         * emacs.c (Fkill_emacs): Only output message box in interactive
7384         mode.
7385
7386 2002-04-26  Andy Piper  <andy@xemacs.org>
7387  
7388         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7389         cygwin.
7390
7391 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7392
7393         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7394         bit platform.
7395
7396 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7397
7398         * XEmacs 21.4.8 "Honest Recruiter" is released.
7399
7400 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7401
7402         Supersedes 2002-04-17 patch.
7403
7404         * process.h (PROCESS_LIVE_P): Use the process status as
7405         evidence of health, not the state of the input stream.
7406         (PROCESS_READABLE_P): Say if the process is readable
7407         from. (It may be dead nonetheless.)
7408         (CHECK_READABLE_PROCESS): Test for that condition.
7409
7410         * process.c (create_process): Use PROCESS_READABLE_P.
7411         (read_process_output, set_process_filter): Likewise.
7412
7413         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7414         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7415
7416         This code is #if 0'd, this is not the time to add new functions:
7417
7418         * process.c (Fprocess_readable_p): Report readability status.
7419         * process.c (Qprocess_readable_p): New, associated symbol...
7420         * process.c (syms_of_process): ... initialize it.
7421
7422 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7423
7424         * XEmacs 21.4.7 "Economic Science" is released.
7425
7426 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7427
7428         * process.h (PROCESS_LIVE_P): Use the process status as
7429         evidence of health, not the state of the input stream.
7430
7431 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7432
7433         * sysdep.c (sys_siglist): change "signum" to "signal"
7434
7435 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7436
7437         * s/darwin.h: New file.
7438         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7439         
7440 2002-04-23  Andreas Jaeger  <aj@suse.de>
7441
7442         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7443         which use lib64 for 64-bit libs.
7444         (START_FILES): Likewise.
7445
7446 2002-02-11  Mike Sperber  <mike@xemacs.org>
7447
7448         * device-x.c: 
7449         (x_IO_error_handler):
7450         (x_init_device): Temporarily keep device in static variable
7451         `device_being_initialized' so we can recover gracefully from
7452         internal XOpenDevice failure.  (XOpenDevice is documented to
7453         return NULL on failure, but sometimes calls the IO error handler
7454         instead.)
7455
7456 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7457
7458         * dired.c (Ffile_name_all_completions): Change documentation --
7459         remove reference to completion-ignored-extensions.
7460         * dired.c (vars_of_dired): Change documentation for
7461         completion-ignored-extensions -- remove reference to
7462         file-name-all-completions.
7463
7464 2002-03-06  Jerry James  <james@xemacs.org>
7465
7466         * emodules.c (emodules_load): Fix multiple loading of same module.
7467
7468 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7469         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7470         RTLD_LAZY to avoid incorrect symbol binding when using nested
7471         shared libraries on Solaris.
7472
7473 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7474
7475         * fileio.c (Ffind_file_name_handler): Improve docstring.
7476
7477 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7478
7479         * fns.c (Fmapconcat): Improve docstring.
7480
7481 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7482
7483         * device-gtk.c: Add prototype for
7484         emacs_gtk_selection_clear_event_handle.
7485         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7486         selection.  Setup signal handler for "selection_clear_event"
7487         (emacs_gtk_selection_clear_event_handle).
7488
7489         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7490         other applications owning the clipboard (based on
7491         x_handle_selection_clear).
7492
7493 2001-12-23  William M. Perry  <wmperry@gnu.org>
7494
7495         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7496         
7497 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7498
7499         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7500
7501 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7502
7503         * XEmacs 21.4.6 "Common Lisp" is released.
7504
7505 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7506
7507         * search.c (Freplace_match): Add missing sub-expression functionality.
7508
7509         * buffer.c (decode_buffer): Add a check for pointer type to
7510         decode_buffer, before gcc's CSE optimization reorders a
7511         dereference in front of the allow_string test.
7512
7513 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7514
7515         * window.c (window_loop): Fix bug that sometimes prevented
7516         window_loop() from iterating across multiple devices.  Also, at
7517         Ben's request, changed infloop-detecting code to abort() instead
7518         of silently terminating window_loop().
7519
7520 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7521
7522         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7523         * editfns.c (make_time): New function.
7524         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7525         * lisp.h (make_time): Prototype and comment it.
7526         * dired.c (wasteful_word_to_lisp): Deprecate.
7527         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7528
7529 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7530
7531         * fileio.c (auto_save_1): Use current coding system, not
7532         escape-quoted.
7533
7534 2001-11-13  Ben Wing  <ben@xemacs.org>
7535
7536         * window.c:
7537         * window.c (window_truncation_on):
7538         * window.c (syms_of_window):
7539         truncate-partial-width-windows should respect the buffer being
7540         displayed, like other redisplay vars.
7541
7542 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7543
7544         * event-stream.c (Fread_key_sequence): save current buffer.
7545
7546 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7547
7548         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7549
7550 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7551
7552         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7553
7554 2001-10-26  Mike Alexander  <mta@arbortext.com>
7555
7556         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7557
7558 2001-10-25  Andy Piper  <andy@xemacs.org>
7559
7560         * ChangeLog:
7561         * dialog-msw.c (handle_directory_proc): new function.
7562          (handle_directory_dialog_box): new fucntion.
7563          (handle_file_dialog_box): use new directory dialog support.
7564          (mswindows_make_dialog_box_internal): ditto.
7565         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7566         handling.
7567         (mswindows_find_frame): make global.
7568         * fileio.c (Fexpand_file_name): build fix.
7569         * general-slots.h: add Qdirectory.
7570         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7571         handling.
7572         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7573         cygwin not leaving win32 paths unchanged.
7574         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7575         cygwin runtime to do path conversion.
7576         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7577         (syms_of_win32): add new function.
7578         * window.c (window_loop): build fix.
7579
7580 2001-10-15  Andy Piper  <andy@xemacs.org>
7581
7582         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7583
7584 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7585
7586         * XEmacs 21.4.5 "Civil Service" is released.
7587
7588 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7589
7590         * glyphs-x.c: Force buffer-tab highlight update when moving the
7591         buffer, avoiding an ugly black border, used for keyboard focus
7592         indication, on a widget that can never have keyboard focus, the
7593         buffer tab.
7594
7595 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7596
7597         * process-unix.c (unix_open_multicast_group): Remove too much
7598         conversion between host and network byte order.
7599
7600 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7601
7602         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7603         before replacing them.
7604
7605         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7606         operation.
7607
7608         * src/window.c (undedicate_windows): Use it.
7609         * src/window.h: Add prototype.
7610
7611 2001-09-17  Ben Wing  <ben@xemacs.org>
7612
7613         * fileio.c (normalize_filename):
7614         * fileio.c (Fexpand_file_name):
7615         Fix various C++ compile errors in Andy's recent code.
7616         
7617         * callint.c (Fcall_interactively):
7618         * editfns.c (Ftemp_directory):
7619         * editfns.c (Fuser_full_name):
7620         * emacs.c (argmatch):
7621         * lread.c (locate_file_map_suffixes):
7622         * redisplay-x.c (x_ring_bell):
7623         Fix sign-compare warnings.
7624         
7625 2001-09-08  Andy Piper  <andy@xemacs.org>
7626
7627         * fileio.c (normalize_filename): copied from nt.c
7628         * (Ffile_name_directory): enable win32 paths under cygwin.
7629         * (Ffile_name_nondirectory): ditto.
7630         * (directory_file_name): ditto.
7631         * (Fexpand_file_name): ditto.
7632         * (Ffile_truename): ditto.
7633         * (Fsubstitute_in_file_name): ditto.
7634         * (Ffile_name_absolute_p): ditto.
7635         * (Ffile_readable_p): ditto.
7636
7637 2001-09-08  Andy Piper  <andy@xemacs.org>
7638
7639         * device-msw.c (mswindows_finish_init_device): remove dde
7640         initialization.
7641         * device-msw.c (mswindows_init_dde): factor out from
7642         mswindows_finish_init_device()
7643         * device-msw.c (init_mswindows_very_early): new function
7644         initialize but don't enable dde.
7645         * emacs.c (main_1): call init_mswindows_very_early.
7646         * event-msw.c:
7647         * event-msw.c (mswindows_dde_callback): only execute when we are
7648         ready.
7649         * symsinit.h: declare init_mswindows_very_early.
7650
7651 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7652
7653         [sjt: This has been in 21.5 for months with no complaints.]
7654
7655         * console.h (struct console_methods): Added flags member.
7656         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7657         (CONMETH_IMPL_FLAG):
7658         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7659         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7660
7661         * device.c (window_system_pixelated_geometry): Use the above macros.
7662
7663         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7664         implememntation flag.
7665         * device.h (DEVICE_DISPLAY_P): Use it.
7666
7667         * frame.c (delete_frame_internal): Use the above macro.
7668
7669         * redisplay.c (redisplay_device): Use it.
7670         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7671         (redisplay_frame): Ditto.
7672
7673         * device-msw.c (mswindows_device_implementation_flags): Removed.
7674         (msprinter_device_implementation_flags): Removed.
7675         (console_type_create_device_mswindows): Removed references to
7676         implementation_flags methods, set implementation flags here.
7677         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7678
7679         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7680         (console_type_create_device_gtk): Removed method declaration.
7681         Added commented out statement which semantically matches the
7682         commented out statement in the above removed method.
7683
7684 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7685
7686         The attached patch fixes a few warnings. 
7687
7688         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7689         * src/frame-gtk.c: guard against GNOME calls in GTK only
7690         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7691         * src/select-gtk.c: prototype lisp_to_time
7692
7693 2001-06-08  Ben Wing  <ben@xemacs.org>
7694
7695         ------ gc-in-window-procedure fixes ------
7696         
7697         * alloc.c:
7698         * alloc.c (struct post_gc_action):
7699         * alloc.c (register_post_gc_action):
7700         * alloc.c (run_post_gc_actions):
7701         * alloc.c (garbage_collect_1):
7702         Create "post-gc actions", to avoid those dreaded "GC during window
7703         procedure" problems.
7704
7705         * event-msw.c:
7706         Abort, clean and simple, when GC in window procedure.  We want
7707         to flush these puppies out.
7708
7709         * glyphs-msw.c:
7710         * glyphs-msw.c (finalize_destroy_window):
7711         * glyphs-msw.c (mswindows_finalize_image_instance):
7712         Use a post-gc action when destroying subwindows.
7713
7714         * lisp.h:
7715         Declare register_post_gc_action().
7716
7717         * scrollbar-msw.c:
7718         * scrollbar-msw.c (unshow_that_mofo):
7719         Use a post-gc action when unshowing scrollbar windows, if in gc.
7720
7721         * redisplay.c (mark_redisplay):
7722         Add comment about the utter evilness of what's going down here.
7723
7724         ------ cygwin setitimer fixes ------
7725         
7726         * Makefile.in.in (sheap_objs):
7727         * Makefile.in.in (profile_objs):
7728         * Makefile.in.in (objs):
7729         Compile profile.c only when HAVE_SETITIMER.
7730         
7731         * nt.c (mswindows_sigset):
7732         * nt.c (mswindows_sighold):
7733         * nt.c (mswindows_sigrelse):
7734         * nt.c (mswindows_sigpause):
7735         * nt.c (mswindows_raise):
7736         * nt.c (close_file_data):
7737         Style fixes.
7738         
7739         * nt.c:
7740         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7741         
7742         * profile.c:
7743         * profile.c (Fstart_profiling):
7744         * profile.c (Fstop_profiling):
7745         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7746         instead of just plain setitimer().
7747         
7748         * signal.c:
7749         * signal.c (set_one_shot_timer):
7750         * signal.c (alarm):
7751         Define qxe_setitimer() as an encapsulation around setitimer() --
7752         call setitimer() directly unless Cygwin or MS Win, in which case
7753         we use our simulated version in win32.c.
7754         
7755         * systime.h:
7756         * systime.h (struct itimerval):
7757         * systime.h (ITIMER_REAL):
7758         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7759         comment about "qxe" and the policy regarding encapsulation.
7760
7761         * win32.c:
7762         * win32.c (setitimer_helper_proc):
7763         * win32.c (setitimer_helper_period):
7764         * win32.c (setitimer_helper):
7765         * win32.c (mswindows_setitimer):
7766         Move setitimer() emulation here, so Cygwin can use it.
7767         Rename a couple of functions and variables to be longer and more
7768         descriptive.  In setitimer_helper_proc(), send the signal
7769         using either mswindows_raise() or (on Cygwin) kill().  If for
7770         some reason we are still getting lockups, we'll change the kill()
7771         to directly invoke the signal handlers.
7772
7773         ------ windows shell fixes ------
7774         
7775         * callproc.c:
7776         * ntproc.c:
7777         Comments about how these two files must die.
7778
7779         * callproc.c (init_callproc):
7780         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7781         not just COMSPEC. (more correct and closer to FSF.) Don't
7782         force a value for SHELL into the environment. (Comments added
7783         to explain why not.)
7784         
7785         * nt.c (init_user_info):
7786         Don't shove a fabricated SHELL into the environment.  See above.
7787
7788 2001-06-01  Ben Wing  <ben@xemacs.org>
7789
7790         * Makefile.in.in (ldflags):
7791         eliminate that pesky "defaulting to 00401000" warning.
7792         * nt.h:
7793         eliminate warnings.
7794
7795 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7796
7797         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7798         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7799
7800 2001-04-24  Jerry James <james@xemacs.org>
7801
7802         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7803         correct order.
7804
7805 2001-06-01  Ben Wing  <ben@xemacs.org>
7806
7807         * event-msw.c (debug_mswin_messages):
7808         conditionalize the messages that were causing compile errors.
7809         (if only macros could generate #ifdef statements ...)
7810
7811 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7812
7813         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7814
7815 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7816
7817         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7818
7819 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7820
7821         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7822         * process-unix.c (unix_canonicalize_host_name):
7823         sysdep.c (init_system_name):
7824         Use it to conditionally support IPv6 canonicalization.
7825
7826 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7827
7828         * event-msw.c:
7829         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7830
7831 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7832
7833         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7834         attempt is made to scroll when no scroll bar is available.
7835
7836 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7837
7838         * input-method-motif.c (XIM_delete_frame): New callback.
7839         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7840         got deleted from 21.4.3.)
7841
7842 2001-06-01  Ben Wing  <ben@xemacs.org>
7843
7844         * nt.c (mswindows_utime):
7845         * nt.c (close_file_data):
7846         fix off-by-one-indirection error.
7847
7848 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7849
7850         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7851         because set_file_times() now takes Lisp_Object path, instead of
7852         char*.
7853         * nt.c: Include buffer.h.
7854         * nt.c (convert_from_time_t): New.
7855         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7856         not set mtime correctly.
7857         * nt.h: Declare mswindows_utime().
7858         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7859         path, instead of char*.
7860         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7861
7862 2001-05-30  Ben Wing  <ben@xemacs.org>
7863
7864         For 21.4:
7865
7866         (Stephen, just take all event-msw.c patches.  This includes
7867         the "iconify" fix below.)
7868
7869         * event-msw.c:
7870         * event-msw.c (mswindows_dequeue_dispatch_event):
7871         * event-msw.c (assert):
7872         * event-msw.c (emacs_mswindows_quit_p):
7873         * event-msw.c (debug_mswin_messages):
7874         * event-msw.c (debug_output_mswin_message):
7875         * event-msw.c (vars_of_event_mswindows):
7876         Fix yet more problems with C-g handling.
7877         Implement debug-mswindows-events.
7878         
7879 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7880
7881         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7882         
7883 2001-05-23  Ben Wing  <ben@xemacs.org>
7884
7885         * event-msw.c (winsock_writer):
7886         * event-msw.c (winsock_closer):
7887         prior kludgy code was clobbering the buffer, thinking it was
7888         "unused" space to store an unneeded return value; instead, use
7889         the variable we've already got staring us in the face.
7890
7891 2001-05-17  Andy Piper  <andy@xemacs.org>
7892
7893         * sysfile.h: don't assume that file attributes are boolean
7894
7895 2001-05-23  Ben Wing  <ben@xemacs.org>
7896
7897         * device-msw.c (msprinter_init_device):
7898         signal an error rather than crash with an unavailable network
7899         printer (from Mike Alexander).
7900         
7901         * event-msw.c:
7902         * event-msw.c (struct winsock_stream):
7903         * event-msw.c (winsock_writer):
7904         * event-msw.c (winsock_closer):
7905         * event-msw.c (make_winsock_stream_1):
7906         cleanup headers.  fix (hopefully) an error with data corruption
7907         when sending to a network connection.
7908
7909         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7910         to handle the ~user prefix by (a) always assuming we're referencing
7911         ourselves and not even verifying the user -- hence any file with
7912         a tilde as its first char is invalid! (b) if there wasn't a slash
7913         following the filename, the pointer was set *past* the end of
7914         file and we started reading from uninitialized memory.  Now we
7915         simply treat these as files, always.
7916
7917         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7918         
7919 2001-05-19  Ben Wing  <ben@xemacs.org>
7920
7921         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7922
7923         * process-nt.c:
7924         * process-nt.c (vars_of_process_nt):
7925         remove unused mswindows-quote-process-args.  rec for 21.4.
7926         
7927 2001-05-12  Ben Wing  <ben@xemacs.org>
7928
7929         * event-msw.c (mswindows_dde_callback):
7930         * event-msw.c (mswindows_wnd_proc):
7931         eliminate cygwin warnings.
7932
7933 2001-05-06  Ben Wing  <ben@xemacs.org>
7934
7935         * console-msw.h:
7936         * device-msw.c:
7937         * device-msw.c (print_dialog_worker):
7938         * device-msw.c (mswindows_handle_print_dialog_box):
7939         * device-msw.c (syms_of_device_mswindows):
7940         * dialog-msw.c (mswindows_make_dialog_box_internal):
7941         * general-slots.h:
7942         implement printing the selection when it's selected.
7943
7944 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7945
7946         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7947
7948 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7949
7950         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7951         EMACS_INT is signed.
7952
7953 2001-04-15  Michael Lausch  <mla@1012surf.net>
7954
7955         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7956         gtk_widget_request_size() to give scrollbar >0 width for
7957         GTK >1.2.8.
7958
7959 2001-05-30  William M. Perry  <wmperry@gnu.org>
7960
7961         * event-gtk.c: Check for buttons as modifier keys.
7962
7963 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7964
7965         * s\mingw32.h:
7966         Properly find MinGW's <process.h> inside Cygwin's restructured
7967         include directories.  Don't try to include <cygwin/version.h>
7968         since we are dropping support for MinGW in versions of Cygwin
7969         earlier than b21.
7970         * nt.c:
7971         Drop support for MinGW in versions of Cygwin before b21.
7972         * sysdep.c:
7973         Properly find MinGW's <process.h> inside Cygwin's restructured
7974         include directories.
7975         * syswindows.h:
7976         Drop support for MinGW in versions of Cygwin before b21.
7977         * unexcw.c:
7978         Even though a.out.h is no longer detected by configure, allow
7979         MinGW to use it until we figure out how to do the job with Win32.
7980
7981 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7982
7983         * syntax.c (find_start_of_comment):
7984         Fix `unbalanced parentheses' bug when dealing with mixed comment
7985         styles in c++/java/etc. mode
7986
7987 2001-05-29  Mike Alexander  <mta@arbortext.com>
7988
7989         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7990         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7991
7992 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7993
7994         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7995
7996 2001-03-31  Mike Sperber <mike@xemacs.org>
7997
7998         * search.c (Freplace_match): Support FSF-style specification of
7999         match subexpression when applied to a buffer.
8000
8001 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8002
8003         * event-stream.c (is_scrollbar_event): add missing semicolon
8004
8005 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8006
8007         * Makefile.in.in: Use TAR macro instead of hardcoding
8008           tar.  Allows use of GNU tar instead of system tar
8009
8010 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8011
8012         * event-stream.c (is_scrollbar_event): add missing semicolon
8013
8014 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8015
8016         * XEmacs 21.4.3 "Academic Rigor" is released.
8017
8018 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8019
8020         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8021
8022 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8023
8024         * buffer.c (Vcase_fold_search): Remove obsolete
8025           comment about non ASCII case-fold-search.  This
8026           bug has been fixed by case-table changes.
8027
8028 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8029
8030         * event-msw.c: Restore include of events-mod.h.
8031
8032 2001-04-22   zhaoway  <zw@debian.org>
8033
8034         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8035         !HAVE_SCROLLBARS.
8036
8037 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8038
8039         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8040
8041 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8042
8043         * mule-charset.c (Fmake_charset): Add missing else.
8044
8045 2001-04-23  Ben Wing  <ben@xemacs.org>
8046
8047         * event-msw.c (FAKE_MOD_QUIT):
8048         * event-msw.c (mswindows_dequeue_dispatch_event):
8049         * event-msw.c (mswindows_wnd_proc):
8050         * event-msw.c (emacs_mswindows_quit_p):
8051         Get critical quit working.
8052
8053 2001-05-05  Ben Wing  <ben@xemacs.org>
8054
8055         * console-msw.h:
8056         * device-msw.c:
8057         * device-msw.c (mswindows_get_default_margin):
8058         * frame-msw.c (mswindows_size_frame_internal):
8059         * frame-msw.c (msprinter_init_frame_1):
8060         * frame-msw.c (vars_of_frame_mswindows):
8061         Change top/bottom margin defaults to 0.5 inches.
8062
8063 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8064
8065         Fix link error with gcc 3.0 on Linux.
8066         * terminfo.c (UP): Remove.
8067         * terminfo.c (BC): Remove.
8068         * terminfo.c (PC): Remove.
8069         They weren't used, and in any case, these symbols should be
8070         defined in the *library*.
8071
8072 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8073
8074         * s/aix4.h: Fix crash with xlc -O3.
8075         Improve comment explaining how -O3 works.
8076
8077 2001-04-15  Ben Wing  <ben@xemacs.org>
8078
8079         * event-stream.c:
8080         * event-stream.c (Fnext_event):
8081         * event-stream.c (is_scrollbar_event):
8082         * event-stream.c (execute_command_event):
8083         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8084         crash' problem.  His fix introduces other problems.  We filter
8085         out scrollbar events specifically, making them somewhat invisible
8086         to command-building, and not appearing in `this-command-keys'.
8087         More work is still needed (see comments in event-stream.c), but
8088         this fixes all the major problems.
8089
8090 2001-04-20  Ben Wing  <ben@xemacs.org>
8091
8092         * .cvsignore: Added stuff for Windows.
8093
8094 2001-04-28  Ben Wing  <ben@xemacs.org>
8095
8096         * buffer.c (Ferase_buffer):
8097         * editfns.c (buffer_insert1):
8098         * editfns.c (Finsert_before_markers):
8099         * editfns.c (Finsert_string):
8100         * editfns.c (Finsert_char):
8101         * editfns.c (Fdelete_region):
8102         * editfns.c (Fwiden):
8103         * editfns.c (Fnarrow_to_region):
8104         remove bogus lines setting zmacs_region_stays to 0.
8105         
8106 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8107
8108         * process-unix.c (unix_open_network_stream): If connect() fails
8109         invalidate file descriptor after closing it.
8110
8111 2001-03-08  Mike Alexander  <mta@arbortext.com>
8112
8113         * event-msw.c (mswindows_need_event_in_modal_loop):
8114         Don't dispatch a message if we didn't get one.
8115         (mswindows_need_event):
8116         Terminate the correct process when one exits instead of the first
8117         one on Vprocess_list and look for process termination when in
8118         mswindows_protect_modal_loop.
8119
8120 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8121
8122         * XEmacs 21.4.1 "Copyleft" is released.
8123
8124 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8125
8126         * input-method-motif.c (XIM_delete_frame): New callback.
8127         (XIM_init_frame): Register it.
8128
8129 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8130
8131         * XEmacs 21.4.0 "Solid Vapor" is released.
8132
8133 2001-04-15  Ben Wing  <ben@xemacs.org>
8134
8135         * cmdloop.c (call_command_loop):
8136         Fix braino in bit-rotting code.
8137         
8138 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8139
8140         * extents.c (Fset_extent_endpoints): Force creation of extent info
8141         in buffer_or_string.
8142
8143         * extents.c (process_extents_for_insertion_mapper): Correctly
8144         check for open-open zero-length extents.
8145
8146 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8147
8148         * lisp.h: New typedefs Memory_count, Element_count.
8149         * regex.c:
8150         * regex.h:
8151         Sign-compare warning elimination: several unsigned -> signed.
8152         Based on work by Ben Wing <ben@xemacs.org>.
8153
8154 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8155
8156         * XEmacs 21.2.47 "Zephir" is released.
8157
8158 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8159
8160         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8161
8162 2001-04-03  Mike Sperber <mike@xemacs.org>
8163
8164         * search.c: Revert previous patch due because of release.
8165
8166 2001-03-30  Ben Wing  <ben@xemacs.org>
8167
8168         * s\cygwin32.h:
8169         Add missing killpg prototype.
8170
8171         * elhash.c:
8172         Add a comment about fixing problems when a new entry is added
8173         while mapping.
8174
8175         * frame-msw.c (mswindows_init_frame_1):
8176         Fix compile warnings.
8177
8178         * menubar.c (vars_of_menubar):
8179         Provide `menu-accelerator-support' to indicate that we properly
8180         support %_ in menu specifications, so that package code can
8181         conditionalize on this (and remove %_ from menu specifications
8182         on older versions).
8183
8184         * event-msw.c:
8185         * scrollbar-msw.c:
8186         * scrollbar-msw.c (can_scroll):
8187         * scrollbar-msw.h:
8188         Fix handling of mouse wheel under Windows to follow standards --
8189         now scrolls window under pointer, not selected window.
8190
8191 2001-03-31  Mike Sperber <mike@xemacs.org>
8192
8193         * search.c (Freplace_match): Support FSF-style specification of
8194         match subexpression when applied to a buffer.
8195
8196 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8197
8198         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8199         function to modify KEYMAP, so map over a copy of the hash table.
8200
8201 2001-03-21  Martin Buchholz <martin@xemacs.org>
8202
8203         * XEmacs 21.2.46 "Urania" is released.
8204
8205 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8206
8207         * realpath.c (xrealpath): Make file-truename work with symlinks to
8208         /cygdrive paths on cygwin. Always lowercase drive-letters on
8209         native windows.
8210         (cygwin_readlink): Don't try to find canonical filename unless
8211         file exists.
8212
8213 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8214
8215         * ChangeLog: Log GTK merge.
8216
8217         * dumper.c:
8218         * select-x.c:
8219         * specifier.c:
8220         * symeval.h:
8221         Revert gratuitous whitespace changes from GTK merge.
8222
8223         * emacs.c: Document end of complex #ifdef @ l. 1495.
8224
8225
8226 2001-03-12  Andy Piper  <andy@xemacs.org>
8227
8228         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8229         have to do likewise.
8230
8231 2001-03-12  Andy Piper  <andy@xemacs.org>
8232
8233         * sysdep.c: we only support mingw now.
8234
8235 2001-03-09  Andy Piper  <andy@xemacs.org>
8236
8237         * unexcw.c (copy_executable_and_dump_data_section): making approx
8238         overrun a warning only.
8239
8240 2001-03-10  William M. Perry  <wmperry@aventail.com>
8241
8242         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8243         satisfy Stephen's identical-after-cpp plea.
8244
8245 2001-03-02  Ben Wing  <ben@xemacs.org>
8246
8247         * cmds.c:
8248         * cmds.c (Fforward_char):
8249         * syntax.c:
8250         * window.c:
8251
8252         Augment documentation of the most common motion commands to make
8253         note of the shifted-motion support.
8254         
8255 2001-03-02  Ben Wing  <ben@xemacs.org>
8256
8257         * nt.c (mswindows_fstat):
8258         * nt.c (mswindows_stat):
8259         * search.c (boyer_moore):
8260         Fix compile warnings under Windows.
8261         
8262         * sysdep.c (sys_readdir):
8263         Fix buggy filename-conversion code under Mule.
8264
8265 2001-03-09  William M. Perry  <wmperry@aventail.com>
8266
8267         * Makefile.in.in:
8268         * config.h.in:
8269         * console.c:
8270         * console.h:
8271         * device.c:
8272         * device.h:
8273         * dragdrop.c:
8274         * emacs.c:
8275         * event-stream.c:
8276         * events.c:
8277         * events.h:
8278         * faces.c:
8279         * frame.h:
8280         * general-slots.h:
8281         * glyphs.c:
8282         * gutter.c:
8283         * inline.c:
8284         * lisp.h:
8285         * lrecord.h:
8286         * make-src-depend:
8287         * redisplay-output.c:
8288         * redisplay.c:
8289         * symsinit.h:
8290         * sysfile.h:
8291         * toolbar.c:
8292         * window.c:
8293         The Great GTK Merge.
8294
8295         * ChangeLog.GTK:
8296         * console-gtk.c:
8297         * console-gtk.h:
8298         * device-gtk.c:
8299         * emacs-marshals.c:
8300         * emacs-widget-accessors.c:
8301         * event-gtk.c:
8302         * frame-gtk.c:
8303         * gccache-gtk.c:
8304         * gccache-gtk.h:
8305         * glade.c:
8306         * glyphs-gtk.c:
8307         * glyphs-gtk.h:
8308         * gtk-glue.c:
8309         * gtk-xemacs.c:
8310         * gtk-xemacs.h:
8311         * gui-gtk.c:
8312         * gui-gtk.h:
8313         * menubar-gtk.c:
8314         * native-gtk-toolbar.c:
8315         * objects-gtk.c:
8316         * objects-gtk.h:
8317         * redisplay-gtk.c:
8318         * scrollbar-gtk.c:
8319         * scrollbar-gtk.h:
8320         * select-gtk.c:
8321         * toolbar-gtk.c:
8322         * ui-byhand.c:
8323         * ui-gtk.c:
8324         * ui-gtk.h:
8325         The Great GTK Merge: new files.
8326
8327 2001-02-26  Ben Wing  <ben@xemacs.org>
8328
8329         Reapplied Lstream change.
8330
8331 2001-02-26  Ben Wing  <ben@xemacs.org>
8332
8333         Undid the last change, since it is more controversial than I
8334         thought.  It should be back in at some point soon.
8335         
8336 2001-02-25  Ben Wing  <ben@xemacs.org>
8337
8338         * buffer.c:
8339         * callproc.c (Fold_call_process_internal):
8340         * event-msw.c (ntpipe_slurp_reader):
8341         * event-msw.c (ntpipe_shove_writer):
8342         * event-msw.c (winsock_reader):
8343         * event-msw.c (winsock_writer):
8344         * file-coding.c:
8345         * file-coding.c (detect_eol_type):
8346         * file-coding.c (detect_coding_type):
8347         * file-coding.c (determine_real_coding_system):
8348         * file-coding.c (Fdetect_coding_region):
8349         * file-coding.c (decoding_reader):
8350         * file-coding.c (decoding_writer):
8351         * file-coding.c (mule_decode):
8352         * file-coding.c (Fdecode_coding_region):
8353         * file-coding.c (encoding_reader):
8354         * file-coding.c (encoding_writer):
8355         * file-coding.c (mule_encode):
8356         * file-coding.c (Fencode_coding_region):
8357         * file-coding.c (detect_coding_sjis):
8358         * file-coding.c (decode_coding_sjis):
8359         * file-coding.c (encode_coding_sjis):
8360         * file-coding.c (detect_coding_big5):
8361         * file-coding.c (decode_coding_big5):
8362         * file-coding.c (encode_coding_big5):
8363         * file-coding.c (detect_coding_ucs4):
8364         * file-coding.c (decode_coding_ucs4):
8365         * file-coding.c (encode_coding_ucs4):
8366         * file-coding.c (detect_coding_utf8):
8367         * file-coding.c (decode_coding_utf8):
8368         * file-coding.c (encode_coding_utf8):
8369         * file-coding.c (detect_coding_iso2022):
8370         * file-coding.c (decode_coding_iso2022):
8371         * file-coding.c (encode_coding_iso2022):
8372         * file-coding.c (decode_coding_no_conversion):
8373         * file-coding.c (encode_coding_no_conversion):
8374         * glyphs-x.c (write_lisp_string_to_temp_file):
8375         * gpmevent.c (tty_get_foreign_selection):
8376         * lisp.h:
8377         * lstream.c:
8378         * lstream.c (Lstream_flush_out):
8379         * lstream.c (Lstream_adding):
8380         * lstream.c (Lstream_write_1):
8381         * lstream.c (Lstream_write):
8382         * lstream.c (Lstream_raw_read):
8383         * lstream.c (Lstream_read_more):
8384         * lstream.c (Lstream_read):
8385         * lstream.c (Lstream_unread):
8386         * lstream.c (Lstream_fputc):
8387         * lstream.c (stdio_reader):
8388         * lstream.c (stdio_writer):
8389         * lstream.c (filedesc_reader):
8390         * lstream.c (filedesc_writer):
8391         * lstream.c (lisp_string_reader):
8392         * lstream.c (struct fixed_buffer_stream):
8393         * lstream.c (make_fixed_buffer_input_stream):
8394         * lstream.c (make_fixed_buffer_output_stream):
8395         * lstream.c (fixed_buffer_reader):
8396         * lstream.c (fixed_buffer_writer):
8397         * lstream.c (struct resizing_buffer_stream):
8398         * lstream.c (resizing_buffer_writer):
8399         * lstream.c (dynarr_writer):
8400         * lstream.c (lisp_buffer_reader):
8401         * lstream.c (lisp_buffer_writer):
8402         * lstream.h:
8403         * lstream.h (lstream_implementation):
8404         * lstream.h (struct lstream):
8405         * md5.c (Fmd5):
8406         * process-nt.c (nt_send_process):
8407         * process-unix.c (unix_send_process):
8408         
8409         Correct Lstream lossage due to mixing of signed and unsigned
8410         quantities.  All Lstream uses of size_t and ssize_t are now a
8411         single signed data type Lstream_data_count.  This fixes problems
8412         under Windows with sending large quantities of data to a process,
8413         and may well fix other subtle bugs.
8414
8415 2001-02-23  Martin Buchholz <martin@xemacs.org>
8416
8417         * XEmacs 21.2.45 "Thelxepeia" is released.
8418
8419 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8420
8421         * lisp-union.h (XSETINT): 
8422         (XSETCHAR):
8423         (XSETOBJ): 
8424         Reverse previous change of 2001-02-06.
8425
8426 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8427
8428         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8429         buffers.
8430         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8431         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8432         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8433         * regex.c (POS_AS_IN_BUFFER): removed
8434         * regex.c (re_search_2):
8435         * regex.c (re_match_2):
8436         Don't use an offset of 1 when calculating buffer positions, since
8437         `BI_BUF_BEGV' does it already.
8438
8439 2001-02-18  Wim Dumon  <wim@easics.be>
8440
8441         * insdel.c (prepare_to_modify_buffer): Also check for
8442         supersession when clash-detection is enabled. 
8443
8444 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8445
8446         * regex.c (re_match_2_internal):
8447         Convert temp characters from 'const unsigned char' to 're_char'.
8448         Fix crashing bug with extended characters under mule.
8449         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8450         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8451         font-lock, pdump, and new syntax-table code.
8452         * syntax.c (find_start_of_comment):
8453         (find_end_of_comment):
8454         (forward-comment):
8455         Fix crashing bugs involving moving beyond end of buffer.
8456         * syntax.c (find_start_of_comment):
8457         Fixed logic to allow proper detection of cases where the same
8458         character is used to end both a two-char comment start and a
8459         two-char comment end sequence. Fixes `(forward-comment -1)'.
8460         * syntax.c (find_start_of_comment):
8461         Return position just past last comment-end character for all cases
8462         (previously was only done for two-char comment-end sequences).
8463         * syntax.c (forward-comment):
8464         Take value returned from `find_end_of_comment', rather than
8465         incrementing it.
8466         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8467         Properly deal with BUFFERP (syntax_cache.object)
8468
8469 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8470
8471         * alloc.c (Fgarbage_collect): 
8472         * alloc.c (make_bit_vector_from_byte_vector):
8473         -Wsign-compare-correctness.
8474
8475 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8476
8477         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8478         (XSETCHAR): Likewise.
8479         (XSETOBJ): Likewise.
8480
8481 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8482
8483         * mule-canna.c (canna-func-delete_previous): 
8484         Rename to canna-func-delete-previous.
8485
8486 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8487
8488         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8489
8490 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8491
8492         * font-lock.c (find_context): Fix C++ compile errors introduced by
8493         recent patch
8494
8495 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8496
8497         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8498         pragma, but earlier ones barf on the same pragma.
8499
8500 2001-02-06  Mike Sperber <mike@xemacs.org>
8501
8502         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8503         `configure-mule-lisp-directory'.
8504
8505 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8506
8507         Make sure dump-id.c is compiled in the same way as other .c's.
8508         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8509         * dump-id.h: Remove.
8510         * emacs.c: Move dump-id.h into dumper.h.
8511         * dumper.h: Move dump-id.h into dumper.h.
8512         * Makefile.in.in:
8513         Use standard .c.o rule for building dump-id.o.
8514         Remove preprocessor flags from link command.
8515         Add dump-id.o to ${otherobjs} if PDUMP.
8516
8517 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8518
8519         Port FSF 20.7 syntax table improvements.
8520         * syntax.c.
8521         * syntax.h.
8522
8523         Fixups for new syntax table stuff.
8524         * dired.c: Include syntax.c.
8525         (Fdirectory_files): Initialize regex_match_object and
8526         regex_emacs_buffer.
8527         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8528         and Fget_char_property.
8529
8530         Use ported FSF 20.7 syntax table improvements.
8531         * font-lock.c.
8532         * regex.c.
8533         * search.c.
8534         
8535 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8536
8537         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8538         Unixware's enum boolean from sys/types.h.
8539
8540 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8541
8542         Fix support for building with latest Purify.
8543         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8544         (PURIFY_FLAGS): Likewise.
8545
8546 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8547
8548         * fileio.c (lisp_string_set_file_times): New.
8549         * fileio.c (Fcopy_file): Use it.
8550         Fixes bug:
8551         (copy-file filename non-ascii-filename t t)
8552         ==> No such file or directory, non-ascii-filename
8553
8554 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8555
8556         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8557         USHRT_MAX seems clearer than ~0 anyways.
8558
8559 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8560
8561         dumper improvements.  Inspired by Olivier.
8562         * dumper.c (pdump_max_align): New.
8563         * dumper.c (pdump_add_entry): Use pdump_max_align.
8564         * dumper.c (pdump_get_entry_list): Likewise.
8565         * dumper.c (pdump_scan_by_alignment): Likewise.
8566         Don't iterate through unnecessary alignments.
8567         * dumper.c (pdump_file_get): No need to align result of malloc().
8568         * dumper.c (pdump_mallocadr): Remove.  
8569         The result of malloc() is guaranteed to be maximally aligned.
8570         * dumper.c: s/elmt/elt/g;
8571         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8572         * dumper.c (pdump_alert_undump_object): Likewise.
8573         * dumper.c (pdump_align_table): 
8574         Don't support alignments > 64.
8575         Store ALIGNOF's, not shift counts, in table.
8576
8577 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8578
8579         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8580         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8581         * systime.h: Use HAVE_UTIME.
8582         * sysdep.c (struct utimbuf): Remove.
8583         * sysdep.c (set_file_times): Prefer utime() to utimes().
8584         * config.h.in (HAVE_UTIME): New.
8585         * config.h.in (HAVE_UTIME_H): Remove.
8586         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8587
8588 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8589
8590         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8591
8592 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8593
8594         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8595
8596 2001-02-08  Martin Buchholz <martin@xemacs.org>
8597
8598         * XEmacs 21.2.44 "Thalia" is released.
8599
8600 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8601
8602         Fixes crashes in kill-emacs on some systems.
8603         * process-unix.c (unix_kill_child_process):
8604         It's OK for kill() to fail with ESRCH.
8605
8606 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8607
8608         Contortions to make .gdbinit tricks work on most systems.
8609         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8610         * alloc.c (dbg_valmask): Make non-const.
8611         * alloc.c (dbg_typemask): Make non-const.
8612         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8613         * alloc.c (dbg_valbits): Make non-const.
8614         * alloc.c (dbg_gctypebits): Make non-const.
8615         * .gdbinit (decode_object): Make it work with AIX cc.
8616
8617 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8618
8619         * elhash.c (make_general_lisp_hash_table):
8620         Use simpler and more efficient calloc to clear entries.
8621
8622 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8623
8624         * window.c (window_scroll): Work around an AIX C compiler bug.
8625         Fixes 'scroll-up' does nothing problem with xlC.
8626
8627 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8628
8629         * .gdbinit: Remove obsolete comment.
8630
8631 2001-01-31  Mike Alexander  <mta@arbortext.com>
8632
8633         * select.c (Fown_selection_internal): Set owned_p for device
8634         method correctly.
8635
8636 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8637
8638         Port to g++ 2.97.
8639         "not" cannot be used as a macro name as it is an operator in C++
8640         * config.h.in: Stop #defining `not'.
8641         * chartab.c (check_category_char): not ==> not_p
8642         * chartab.h: Likewise.
8643         * regex.c (re_match_2_internal): Likewise.
8644
8645 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8646
8647         * lisp-disunion.h: Fix up comments.
8648
8649 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8650
8651         * keymap.c (define_key_check_and_coerce_keysym):
8652         (syms_of_keymap):
8653         Support mouse-6 and mouse-7 bindings in the obvious way.
8654
8655 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8656
8657         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8658
8659 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8660
8661         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8662         Previous patch missed DEFVAR_INT_MAGIC.
8663         Make sure future DEFVAR_foo use correct types.
8664         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8665         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8666         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8667         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8668         * (DEFVAR_INT): Likewise.
8669         * redisplay.c (vertical_clip): Should be of type Fixnum.
8670         * redisplay.c (horizontal_clip): Likewise.
8671         * lisp.h (dump_add_opaque_int): New.
8672         (dump_add_opaque_fixnum): New.
8673
8674 2001-01-29  Andy Piper  <andy@xemacs.org>
8675
8676         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8677         since they can be eval'ed
8678
8679 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8680
8681         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8682         Oops, XEmacs redefines `class'.  Use `typename' instead.
8683
8684 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8685
8686         * dumper.c: Fix C++ compile errors.
8687
8688 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8689
8690         * tparam.c: Use correct prototypes.
8691
8692 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8693
8694         * sysproc.h: #include util.h for NetBSD's openpty.
8695
8696 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8697
8698         More 64-bit correctness.
8699         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8700         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8701         Fix up comments.
8702         This finally finishes the 64-bit SGI port.
8703         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8704         * symbols.c: Fix up comments and type casts.
8705         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8706         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8707         * symeval.h (Fixnum): New type.
8708         * symeval.h (symbol_value_type): Fix up comment.
8709
8710         * commands.h:
8711         * nt.c:
8712         * emacs.c:
8713         * data.c:
8714         * redisplay.c:
8715         * abbrev.c:
8716         * dired-msw.c:
8717         * event-Xt.c:
8718         * eldap.c:
8719         * window.c:
8720         * sound.c:
8721         * event-stream.c:
8722         * eval.c:
8723         * buffer.c:
8724         * mule-canna.c: A million DEFVAR_INTs here...
8725         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8726         * extents.c:
8727         * cmdloop.c:
8728         * lisp.h:
8729         * select-x.c:
8730         * console-x.h:
8731         * event-msw.c:
8732         * mule-wnnfns.c:
8733         * hpplay.c:
8734         * ralloc.c:
8735         * alloc.c:
8736         * keymap.c:
8737         * profile.c:
8738         s/int/Fixnum/g in DEFVAR_INT declarations.
8739
8740 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8741
8742         Port pdump to SGI alignment-sensitive environment.
8743         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8744         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8745         properly aligned.
8746         Define and use aligned reading and writing macros.
8747         Use buffered stdio instead of posix i/o for faster dumping.
8748         Eliminate kludgy 256 byte space for header.
8749         Read and write from dump file using structs for alignment safety.
8750         * dumper.c (pdump_align_stream): New.
8751         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8752         * dumper.c (PDUMP_READ_ALIGNED): New.
8753         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8754         * dumper.c (pdump_static_Lisp_Object): New struct.
8755         * dumper.c (pdump_static_pointer): New struct.
8756         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8757         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8758         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8759         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8760
8761         * dumper.c (pdump_backtrace):
8762         * dumper.c (pdump_get_indirect_count):
8763         * dumper.c (pdump_register_object):
8764         * dumper.c (pdump_register_struct):
8765         * dumper.c (pdump_reloc_one):
8766         * dumper.c (pdump_scan_by_alignment):
8767         * dumper.c (pdump_dump_from_root_struct_ptrs):
8768         * dumper.c (pdump_dump_opaques):
8769         * dumper.c (pdump_dump_rtables):
8770         * dumper.c (pdump_dump_from_root_objects):
8771         * dumper.c (pdump):
8772         * dumper.c (pdump_load_finish):
8773         Use aligned reading and writing.
8774
8775         * dumper.c (pdump_free): Make static.
8776         * dumper.c (pdump_hFile): Likewise.
8777         * dumper.c (pdump_hMap): Likewise.
8778
8779 2001-01-26  Martin Buchholz <martin@xemacs.org>
8780
8781         * XEmacs 21.2.43 "Terspichore" is released.
8782
8783 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8784
8785         Type fiddling for window_config.saved_windows_count
8786         * window.c (struct window_config): 
8787         Make saved_windows_count member unsigned.
8788         * window.c (sizeof_window_config_for_n_windows): 
8789         Make parameter unsigned.
8790         * window.c (mark_window_config):
8791         * window.c (window_config_equal):
8792         * window.c (free_window_configuration):
8793         * window.c (Fset_window_configuration):
8794         * window.c (count_windows):
8795         * window.c (Fcurrent_window_configuration):
8796         * window.c (reinit_vars_of_window):
8797         Update all callers and users.
8798
8799 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8800
8801         Alignment correctness for flexible arrays.
8802         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8803         Make alignment-correct. Add interesting comments.
8804         * alloc.c (size_vector):
8805         * alloc.c (make_vector_internal):
8806         * alloc.c (make_bit_vector_internal):
8807         * alloc.c (sweep_bit_vectors_1):
8808         * fns.c (size_bit_vector):
8809         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8810         * window.c (sizeof_window_config_for_n_windows): 
8811         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8812
8813 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8814
8815         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8816
8817 2001-01-23  Andy Piper  <andy@xemacs.org>
8818
8819         * select.c (Fown_selection_internal): pass owned_p
8820
8821         * select-msw.c (mswindows_own_selection): New Signature.
8822
8823         * console.h (struct console_methods): add owned_p to
8824         _own_selection.
8825
8826         * select-x.c (x_own_selection): pass owned_p
8827         (hack_motif_clipboard_selection): use owned_p
8828         (vars_of_select_x): new variable -
8829         x_selection_strict_motif_ownership.
8830
8831 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8832
8833         * specifier.h (specifier_data_offset): Remove pointless parens.
8834         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8835
8836 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8837
8838         Make Lisp_Object sizeof methods be alignment-correct.
8839         pdump must restore objects to the same alignment as the C compiler
8840         assumes.  It really matters on SGIs.
8841         * lstream.c (aligned_sizeof_lstream): New.
8842         (sizeof_lstream): Use aligned_sizeof_lstream.
8843         (Lstream_new): Likewise.
8844         * opaque.c (aligned_sizeof_opaque): New.
8845         (sizeof_opaque): Use aligned_sizeof_opaque.
8846         (make_opaque): Likewise.
8847         * specifier.c (aligned_sizeof_specifier): New.
8848         (sizeof_specifier): Use aligned_sizeof_specifier.
8849         (make_specifier_internal): Likewise.
8850
8851 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8852
8853         * lstream.h (struct lstream): Use max_align_t for trailing data.
8854         * specifier.h (struct Lisp_Specifier): Likewise.
8855
8856 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8857
8858         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8859         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8860         (CCL_SUSPEND): Likewise.
8861         (CCL_INVALID_CMD): Likewise.
8862         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8863         (ccl_driver): Likewise.
8864         (CCL_WRITE_CHAR): Macro hygiene.
8865         (CCL_WRITE_STRING): Macro hygiene.
8866
8867 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8868
8869         Port "portable" dumper to SunOS 4 and HP-UX.
8870         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8871         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8872         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8873
8874 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8875
8876         * lisp.h (ALIGNOF): A better definition for C++.
8877
8878 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8879
8880         Macro hygiene.
8881         Fix printf warnings: int format, long int arg.
8882         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8883         (PUSH_FAILURE_POINT): Use correct printf formats.
8884         (POP_FAILURE_POINT): Use correct printf formats.  
8885         Use do {...} while (0)
8886
8887 2001-01-20  Martin Buchholz <martin@xemacs.org>
8888
8889         * XEmacs 21.2.42 "Poseidon" is released.
8890
8891 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8892
8893         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8894
8895 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8896
8897         De-kludgify FIXED_TYPE free list frobbing.
8898         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8899         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8900         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8901         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8902         * alloc.c (LRECORD_FREE_P): New.
8903         * alloc.c (MARK_LRECORD_AS_FREE): New.
8904         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8905         * alloc.c (STRUCT_FREE_P): Deleted.
8906         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8907         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8908         * alloc.c (STRING_CHARS_FREE_P): New.
8909         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8910         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8911         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8912         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8913         * alloc.c (resize_string): Use new definitions.
8914         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8915         * alloc.c (verify_string_chars_integrity): Use new definitions.
8916         * alloc.c (compact_string_chars): Use new definitions.
8917         * alloc.c: Update monster comments.
8918         * lrecord.h (lrecord_type): Add some new lrecord types for
8919         alloc.c's use.
8920
8921 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8922
8923         Improve alignment hackery.
8924         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8925         (max_align_t): Moved from opaque.h - general purpose.
8926         (ALIGN_PTR): Use size_t, not long.
8927         * opaque.h (max_align_t): Move to lisp.h.
8928
8929 2001-01-18  Norbert Koch  <nk@LF.net>
8930
8931         * gui.h: Fix and add prototypes to fix build problems.
8932
8933 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8934
8935         temacs is going away, so `dump-temacs' is now a bad name.
8936         * .dbxrc (dump-temacs): Rename to `dmp'.
8937         * .gdbinit (dump-temacs): Rename to `dmp'.
8938
8939 2001-01-17  Andy Piper  <andy@xemacs.org>
8940
8941         * glyphs.c (print_image_instance): comment to make martin happy.
8942
8943         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8944         change.
8945
8946         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8947         activation.
8948         (mswindows_tab_control_redisplay): warning suppression.
8949
8950         * glyphs-widget.c (widget_update): re-write to cope with updated
8951         items.
8952         (widget_instantiate): use new gui_item functions.
8953         (tab_control_update): deleted.
8954         (progress_gauge_update): deleted.
8955         (image_instantiator_progress_guage): take out update reference.
8956         (image_instantiator_tree_view): ditto.
8957         (image_instantiator_tab_control): ditto.
8958
8959         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8960         Right the new way.
8961         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8962         return whether anything was changed.
8963         (update_gui_item_keywords): as it sounds.
8964
8965         * gui.h: declare widget_gui_parse_item_keywords.
8966
8967         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8968         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8969
8970 2001-01-17  Martin Buchholz <martin@xemacs.org>
8971
8972         * XEmacs 21.2.41 "Polyhymnia" is released.
8973
8974 2001-01-16  Didier Verna  <didier@xemacs.org>
8975
8976         * glyphs.c (image_instantiate): don't use fallbacks when
8977         instantiating a face's background pixmap by inheritance.
8978
8979 2001-01-14  Mike Sperber <mike@xemacs.org>
8980
8981         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8982         Conditionalize accordingly.
8983
8984 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8985
8986         * dumper.c (pdump_file_get): Fix a compiler warning.
8987
8988 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8989
8990         Make Purify happy when pdumping.
8991         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8992         iniitalizing all bits of new lisp object memory.
8993         * symbols.c (Fmake_local_variable): Likewise.
8994         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8995         * symbols.c (Fdefvaralias): Likewise.
8996         * mule-charset.c (vars_of_mule_charset): Likewise.
8997
8998 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8999         Add the `-nd' flag when running pre-dump operations under the debugger.
9000         * .dbxrc (run-temacs): Add `-nd'.
9001         * .dbxrc (update-elc): Likewise.
9002         * .dbxrc (dump-temacs): Likewise.
9003         * .gdbinit (run-temacs): Likewise.
9004         * .gdbinit (check-temacs): Likewise.
9005         * .gdbinit (update-elc): Likewise.
9006         * .gdbinit (dump-temacs): Likewise.
9007
9008 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9009
9010         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9011         export OBJECT_MODE=64
9012         configure --pdump --use-union-type=no
9013         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9014         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9015
9016         * miscplay.c (sndcnv8U_2mono):
9017         Avoid two uses of `++' in the same expression.
9018         Suppresses a GCC warning.
9019
9020 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9021
9022         Make sure future compilers don't miscompile alloc.c.
9023         * alloc.c:
9024         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9025         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9026
9027 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9028
9029         * dumper.c: A little post-pdump-rename comment fixup.
9030
9031 2001-01-09  Jerry James  <james@eecs.ku.edu>
9032
9033         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9034
9035 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9036
9037         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9038         script:
9039         #!/bin/sh
9040         replace_symbol () {
9041           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9042         }
9043
9044         replace_symbol pdump_wire_lists pdump_weak_object_chains
9045         replace_symbol pdump_wire_list dump_add_weak_object_chain
9046
9047         replace_symbol pdump_wires pdump_root_objects
9048         replace_symbol pdump_wire dump_add_root_object
9049
9050         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9051         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9052
9053         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9054         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9055         replace_symbol dumpstructinfo pdump_root_struct_ptr
9056         replace_symbol dumpstruct dump_add_root_struct_ptr
9057
9058         replace_symbol dumpopaque dump_add_opaque
9059         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9060         replace_symbol dumpopaqueinfos pdump_opaques
9061         replace_symbol dumpopaqueinfo pdump_opaque
9062
9063         replace_symbol nb_structdump nb_root_struct_ptrs
9064         replace_symbol nb_opaquedump nb_opaques
9065
9066         replace_symbol align_table pdump_align_table
9067         replace_symbol dump_header pdump_header
9068
9069         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9070         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9071
9072
9073 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9074
9075         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9076         optimizing bytecount_to_charcount().
9077
9078 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9079
9080         * config.h.in:
9081         (HAVE_DLFCN_H): Removed.
9082         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9083
9084 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9085
9086         Portable dumper maintainability improvements.
9087         * alloc.c (staticpro):
9088         * alloc.c (staticpro_nodump):
9089         * alloc.c (garbage_collect_1):
9090         * alloc.c (reinit_alloc_once_early):
9091         * alloc.c (init_alloc_once_early):
9092         * alloc.c: Move dumper functions to alloc.c.
9093         * dumper.c (pdump_backtrace):
9094         * dumper.c (pdump_dump_structs):
9095         * dumper.c (pdump_dump_opaques):
9096         * dumper.c (pdump_dump_rtables):
9097         * dumper.c (pdump_dump_wired):
9098         * dumper.c (pdump):
9099         * dumper.c (pdump_load_check):
9100         * dumper.c (pdump_load_finish):
9101         * dumper.c (pdump_file_unmap):
9102         * dumper.c (pdump_file_get):
9103         * dumper.c (pdump_resource_free):
9104         * dumper.c (pdump_resource_get):
9105         * dumper.c (pdump_file_free):
9106         * dumper.c (pdump_file_try):
9107         * dumper.c (pdump_load):
9108         Remove fixed size limits on staticpro(), staticpro_nodump(),
9109         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9110         Remove custom code for dumping lrecord_implementations_table - use
9111         dumpopaque instead.
9112         Remove (most of the) custom code for dumping staticpros - dump it
9113         like any other dynarr.
9114
9115         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9116         * dumper.c: Moved functions from alloc.c.
9117         * alloc.c (dumpstruct): Moved to dumper.c.
9118         * alloc.c (dumpopaque): Likewise.
9119         * alloc.c (pdump_wire): Likewise.
9120         * alloc.c (pdump_wire_list): Likewise.
9121
9122         * lisp.h (Dynarr_sizeof): New.
9123         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9124         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9125         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9126
9127         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9128         * lisp.h (dumpopaque): ditto.
9129         * lisp.h (pdump_wire): ditto.
9130         * lisp.h (pdump_wire_list): ditto.
9131
9132 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9133
9134         * make-src-depend (PrintPatternDeps):
9135         Use `sort' to make output independent of perl version.
9136
9137 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9138
9139         Port to Netbsd 1.5.
9140         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9141         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9142
9143 2001-01-03  Didier Verna  <didier@xemacs.org>
9144
9145         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9146         that `focus_frame' is alive before thinking of calling
9147         `redisplay_redraw_cursor' on it.
9148
9149 2001-01-08  Martin Buchholz <martin@xemacs.org>
9150
9151         * XEmacs 21.2.40 is released.
9152
9153 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9154
9155         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9156
9157 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9158
9159         * alloc.c (dbg_valmask): Make const.
9160         * alloc.c (dbg_typemask): Make const.
9161         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9162         * alloc.c (dbg_valbits): Make const.
9163         * alloc.c (dbg_gctypebits): Make const.
9164
9165 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9166
9167         * redisplay-x.c (x_bevel_area):
9168         redisplay.h (struct rune):
9169         Typo fixes in comments.
9170
9171 2001-01-05  Andy Piper  <andy@xemacs.org>
9172
9173         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9174         adjustment.
9175
9176         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9177
9178 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9179
9180         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9181
9182         * mule-ccl.c (stack_idx_of_map_multiple):
9183         Non const global data must not be initialized!
9184         Found by MIYASHITA Hisashi.
9185
9186 2001-01-02  Andy Piper  <andy@xemacs.org>
9187
9188         * frame.c (change_frame_size): make sure frame size is always
9189         marked as changed.
9190
9191         * glyphs.c (image_instance_layout): minor code reuse.
9192
9193         * window.c (Fcurrent_window_configuration): revert previous
9194         change.
9195
9196 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9197
9198         * glyphs.h:
9199         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9200
9201 2000-12-31  Andy Piper  <andy@xemacs.org>
9202
9203         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9204         when widget gets unmapped.
9205
9206         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9207         function. Make sure widgets losing focus don't just drop it.
9208         (handle_focus_event_1): record the widget with focus.
9209
9210 2000-12-31  Andy Piper  <andy@xemacs.org>
9211
9212         * window.c (allocate_window): use
9213         make_image_instance_cache_hash_table.
9214         (make_dummy_parent): ditto.
9215         (Fset_window_configuration): ditto.
9216
9217         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9218
9219         * glyphs.c (process_image_string_instantiator): use
9220         INSTANTIATOR_TYPE.
9221         (get_image_instantiator_governing_domain): ditto.
9222         (normalize_image_instantiator): ditto.
9223         (instantiate_image_instantiator): ditto.
9224         (make_image_instance_1): ditto.
9225         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9226         (instantiator_eq_equal): new function for use with instance hash
9227         tables.
9228         (instantiator_eq_hash): ditto.
9229         (make_image_instance_cache_hash_table): create a suitable hash
9230         table for storing image instances.
9231
9232         * elhash.h (hash_table_weakness): new internal weakness type
9233         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9234         declare new functions.
9235
9236         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9237         another weakness type for glyphs.
9238         (make_standard_lisp_hash_table): new function split out from
9239         make_general_lisp_hash_table.
9240         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9241         (hash_table_instantiate): ditto.
9242         (Fmake_hash_table): ditto.
9243
9244 2000-12-31  Martin Buchholz <martin@xemacs.org>
9245
9246         * XEmacs 21.2.39 is released.
9247
9248 2000-12-29  Andy Piper  <andy@xemacs.org>
9249
9250         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9251
9252         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9253         the frame has changed so that we pick up geometry changes such as
9254         menubar visibility.
9255
9256 2000-12-28  Andy Piper  <andy@xemacs.org>
9257
9258         * lastfile.c (my_ebss): make a char array so we can pad the
9259         bss. Fixes cygwin unexec.
9260
9261         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9262
9263 2000-12-26  Andy Piper  <andy@xemacs.org>
9264
9265         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9266         comments and try and be more precise about a non-/SIGIO world.
9267         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9268         SIGIO.
9269
9270         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9271         we don't normalize to zero width or height.
9272
9273 2000-12-24  Andy Piper  <andy@xemacs.org>
9274
9275         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9276
9277 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9278
9279         * s/sco5.h: SCO 5 has pty support.
9280
9281 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9282
9283         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9284         input-method-xlib.c contains whole contents of input-method-xfs.c,
9285         so we can use input-method-xlib.c's code for USE_XFONTSET
9286         using #ifdefs.
9287         * input-method-xfs.c: removed.
9288
9289 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9290
9291         * file-coding.h (enum coding_category_type): reorder enumerators to
9292         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9293         (now one greater than largest real coding_category_type enumerator).
9294         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9295         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9296         Fcoding_category_list, Fset_coding_priority_list,
9297         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9298         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9299
9300 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9301
9302         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9303         * redisplay-output.c (redisplay_output_window): Clear top of window
9304         when face is changed.
9305         * redisplay-x.c (x_redraw_exposed_window): Call
9306         redisplay_clear_top_of_window.
9307         * redisplay.h: Publish redisplay_clear_top_of_window.
9308
9309 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9310
9311         * buffer.c (Fkill_buffer): Map over all devices.
9312         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9313         (list_windows): New function.
9314         (list_all_windows): Ditto.
9315         (Freplace_buffer_in_windows): Use them.
9316
9317 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9318
9319         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9320         (Fopen_database): Use `db_create' instead of `db_open'.
9321         (syms_of_database): Initialize Qqueue.
9322
9323 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9324
9325         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9326         buffer_local_face_property.
9327         * buffer.h (struct buffer): New member buffer_local_face_property.
9328         * window.c (Fset_window_buffer):  Mark window's face as changed
9329         when buffer has buffer local face.
9330         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9331         * objects.c (color_after_change): Set buffer_local_face_property
9332         when locale of face specifier is buffer.
9333         * objects.c (font_after_change): Ditto.
9334         * objects.c (face_boolean_after_change): Ditto.
9335         * glyphs.c (image_after_change): Ditto.
9336
9337 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9338
9339         * nt.c (mswindows_fstat): Report file permissions, volume serial
9340         number, etc. Code adapted from FSF Emacs 20.7.
9341
9342 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9343
9344         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9345         of stat when we don't have symbolic links, to make sure
9346         mswindows_stat is called on mswindows.
9347
9348 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9349
9350         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9351
9352 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9353
9354         * doprnt.c (emacs_doprnt_1): More printing fixes.
9355         Make printing of numbers compatible with libc and FSF Emacs.
9356         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9357         Use the system printf to do most of the hard work of formatting,
9358         instead of doprnt_1().
9359         Calculate memory to allocate for format string.
9360         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9361         (doprnt_1): Cleaner code and documentation.
9362
9363 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9364
9365         * Makefile.in.in: Use the loop variable to install headers.
9366
9367 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9368
9369         * window.c (Fsplit_window): Don't invalidate face cache.
9370
9371 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9372
9373         * minibuf.c (Fall_completions): Undo the previous change
9374         which removed checking elements start with space.
9375
9376 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9377
9378         * mule-canna.c: Didier suppression.
9379
9380 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9381
9382         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9383         (warning suppression).  Add English comment translations.
9384
9385 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9386
9387         * unexelfsgi.c (unexec): Better test for mmap failure.
9388
9389 2000-12-05  Martin Buchholz <martin@xemacs.org>
9390
9391         * XEmacs 21.2.38 is released.
9392
9393 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9394
9395         * redisplay.c (bar-cursor): Make a user variable.
9396
9397         * symsinit.h: Add init_postgresql_from_environment.
9398
9399 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9400
9401         * regex.c: Convert to clean C.
9402
9403 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9404
9405         * realpath.c:
9406         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9407         initialization.
9408         (sys_readlink): renamed to system_readlink to avoid conflict with
9409         the other sys_readlink.
9410
9411 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9412
9413         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9414
9415 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9416
9417         * postgresql.c (init_postgresql_from_environment): new function.
9418         (vars_of_postgresql): Move code initializing Lisp variables out and
9419         into init_postgresql_from_environment.
9420         emacs.c (main_1): Call init_postgresql_from_environment if and only
9421         if running a dumped XEmacs.
9422
9423 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9424
9425         * buffer.c: Make find-file-compare-truenames default to true on
9426         windows.
9427
9428         * realpath.c (win32_abs_start):
9429         (cygwin_readlink):
9430         (win32_readlink): New functions.
9431         (xrealpath): Return really real filenames on windows.
9432
9433         * fileio.c (Ffile_truename): Make file-truename work on windows.
9434
9435 2000-11-29  Didier Verna  <didier@xemacs.org>
9436
9437         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9438         * faces.c (update_face_cachel_data): use it.
9439         * faces.c (add_face_cachel): use it. Complete background pixmap
9440         frobbing in face cache if `update_face_cachel_data' has not done so.
9441
9442 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9443
9444         * search.c (string_match_1): Don't set last_thing_searched
9445         when search failed.
9446
9447 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9448
9449         * buffer.c: Include casetab.h
9450         (common_init_complex_vars_of_buffer): Use new case-table object.
9451         * buffer.h: Include casetab.h
9452         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9453         (DOWNCASE_TABLE_OF): Ditto.
9454         * bufslots.h: Remove char-tables and add case-table.
9455         * casetab.c: Include casetab.h
9456         (CASE_TABLE_P): Removed.
9457         (mark_case_table): New function.
9458         (allocate_case_table): New function.
9459         (Fcase_table_p): Use new case-table.
9460         (case_table_char): New function.
9461         (Fget_case_table): Ditto.
9462         (Fput_case_table): Ditto.
9463         (Fput_case_table_pair): Ditto.
9464         (Fcopy_case_table): Ditto.
9465         (Fcurrent_case_table): Return case-table.
9466         (Fstandard_case_table): Return case-table.
9467         (Fset_case_table): Fix doc-string.
9468         (set_case_table): Use case-table
9469         (syms_of_casetab): DEFSUBR new functions.
9470         (complex_vars_of_casetab): Set up standard case-table.
9471         * casetab.h: New file.
9472         * editfns.c: Include casetab.h
9473         (Fcompare_buffer_substrings): Use case-table.
9474         * inline.c: Include casetab.h
9475         * lisp.h: Remove bogus extern.
9476         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9477         * search.c: Include casetab.h
9478         (TRANSLATE_ASCII): Removed.
9479         (TRANSLATE): Unconditionally translate character.
9480         (looking_at_1): Use case-table.
9481         (string_match_1): Ditto.
9482         (fast_string_match): Ditto.
9483         (search_command): Ditto.
9484         (search_buffer): Separate boyer_moore.  Check whether
9485         boyer_moore is possible.
9486         (simple_search): New function.
9487         (boyer_moore): Separated from search_buffer. Translate char.
9488
9489 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9490
9491         * regex.c (RE_TR_ASCII): Removed.
9492         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9493         (PATFETCH): Call PATFETCH_RAW.
9494         (PATFETCH_RAW): Fetch Emchar.
9495         (PATUNFETCH): Decrement charptr.
9496         (GET_BUFFER_SPACE): Rename b to buf_end.
9497         (BUF_PUSH): Ditto.
9498         (BUF_PUSH_2): Ditto.
9499         (BUF_PUSH_3): Ditto.
9500         (EXTEND_BUFFER): Ditto.
9501         (SET_LIST_BIT): Ditto.
9502         (regex_compile): Ditto.  Translate non ASCII char.
9503         (compile_range): Ditto.
9504         (re_search_2): Ditto.
9505         (re_match_2_internal): Compare Emchar.
9506         (bcmp_translate): Ditto.
9507
9508 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9509
9510         * lisp.h (basic char/int typedefs):  comment improvement.
9511
9512 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9513
9514         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9515         unstomp inhibit_site_lisp.  Improve comments.
9516
9517 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9518
9519         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9520
9521 2000-11-28  Andy Piper  <andy@xemacs.org>
9522
9523         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9524         clipped display for windows in the gutter also.
9525         (redisplay_display_boxes_in_window_p): change semantics of return
9526         codes to be more intuitive.
9527
9528         * gutter.h: declare display_boxes_in_gutter_p.
9529
9530         * gutter.c (display_boxes_in_gutter_p): new function for
9531         redisplay.
9532
9533 2000-11-22  Andy Piper  <andy@xemacs.org>
9534
9535         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9536         autodetect domain.
9537
9538 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9539
9540         * callproc.c (Fold_call_process_internal):
9541         * gpm.c (Freceive_gpm_event):
9542         (tty_get_foreign_selection): Might be just warning supression.
9543         * fileio.c (Fwrite_region_internal):
9544         (Fset_visited_file_modtime):
9545         * keymap.c (event_matches_key_specifier_p):
9546         Initialize GCPROed variable.
9547
9548         * menubar-x.c (command_builder_find_menu_accelerator):
9549         Initialize before use.
9550
9551 2000-11-23  Andy Piper  <andy@xemacs.org>
9552
9553         * unexcw.c (unexec): make the resulting executable executable.
9554
9555 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9556
9557         * doc.c (get_doc_string):
9558         Use size_t, not int, for result of XSTRING_LENGTH.
9559
9560         * cmds.c (Fdelete_char):
9561         * cmds.c (Fpoint_at_eol):
9562         * cmds.c (Fself_insert_command):
9563         Use EMACS_INT, not int, for result of XINT.
9564         Someday, someone will want to insert more than 2**31 identical characters.
9565
9566         * cmds.c (Fdelete_char):
9567         * cmds.c (Fdelete_backward_char):
9568         * syntax.c (Fforward_word):
9569         * syntax.c (Fforward_comment):
9570         Make COUNT argument optional, for consistency with forward-char et al.
9571
9572 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9573
9574         * lisp.h:
9575         * print.c (long_to_string):
9576         Return a useful value: the pointer at end of data written.
9577
9578         * doprnt.c:
9579         Use `static const char * const' for constant strings.
9580         (union printf_arg): Delete `i', `ui' members.
9581         (get_doprnt_args):
9582         (emacs_doprnt_1):
9583         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9584         Do all printf-ing via the `l' specifier.
9585         Use EMACS_INT instead of int.
9586         Optimize.
9587
9588 2000-11-20  Didier Verna  <didier@xemacs.org>
9589
9590         * faces.c (update_face_cachel_data): don't frob the background
9591         pixmap when the window is being created. The face is needed but
9592         does not exist yet.
9593
9594 2000-11-20  Andy Piper  <andy@xemacs.org>
9595
9596         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9597         messing with a debug environment.
9598
9599 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9600
9601         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9602
9603 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9604
9605         * casetab.c (Fcase_table_p): Fix compile error and crash.
9606
9607 2000-11-18  Philip Aston  <philipa@mail.com>
9608
9609         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9610
9611 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9612
9613         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9614         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9615
9616 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9617
9618         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9619         * unexelf.c: Use HAVE_ELF_H.
9620         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9621         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9622         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9623         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9624         for testing.
9625         So this is an unexelfsgi.c from a different line of development.
9626
9627 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9628
9629         * regex.c (RE_TR_ASCII): New function.
9630         (RE_TRANSLATE): Call it.
9631
9632 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9633
9634         * buffer.h (TRT_TABLE_OF): Remove assert.
9635         (IN_TRT_TABLE_DOMAIN): Removed.
9636
9637 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9638
9639         * free-hook.c (log_gcpro):
9640         (show_gcprohist): Add support for GCPRO5.
9641
9642 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9643
9644         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9645
9646 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9647
9648         * symeval.h: Declare flush_all_buffer_local_cache.
9649
9650         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9651         (flush_buffer_local_cache): Added.
9652         (flush_all_buffer_local_cache): Added.
9653
9654         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9655
9656         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9657         (pdump_dump_data): Ditto.
9658         (pdump_reloc_one): Ditto.
9659         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9660         before dumping.
9661
9662
9663 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9664
9665         * buffer.c: Remove if 0'ed entry.
9666         * buffer.h: Rewrite TRT to use char-table.
9667         * bufslots.h: Remove mirror tables.
9668         * casetab.c: Remove mirror tables.
9669         (CASE_TABLE_P): New macro.
9670         (Fcase_table_p): Element of a case table is string or char-table.
9671         (make_mirror_trt_table): Removed.
9672         (set_case_table): Setup char-table from strings for backward
9673         compatibility.
9674         * dired.c (Fdirectory_files):
9675         * dired-msw.c: (mswindows_get_files):
9676         * lisp.h: Change prototype of re_pattern_buffer.
9677         * regex.c: (RE_TRANSLATE): New macro.
9678         (TRANSLATE_P): Ditto.
9679         Change translate to type RE_TRANSLATE_TYPE.
9680         * regex.h: Define RE_TRANSLATE_TYPE
9681         * search.c (TRANSLATE): New macro.
9682         (TRANSLATE_ASCII): New macro.
9683         Translate table is changed to Lisp_Object.
9684         (signal_failure): Inhibit return.
9685
9686 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9687
9688         * device-msw.c:
9689         * eldap.c:
9690         * event-Xt.c:
9691         * event-stream.c:
9692         * print.c:
9693         Do UNGCPRO before return.
9694
9695 2000-11-14  Martin Buchholz <martin@xemacs.org>
9696
9697         * XEmacs 21.2.37 is released.
9698
9699 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9700
9701         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9702         Add comments about discarded return value.
9703
9704 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9705
9706         * callint.c:
9707         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9708
9709 2000-10-27  Andy Piper  <andy@xemacs.org>
9710
9711         * gutter.c (Fset_default_gutter_position): default left and right
9712         gutters to visible.
9713         (calculate_gutter_size): calculate resonable heuristic for left
9714         and right gutter sizes.
9715         (specifier_vars_of_gutter): change left and right gutter sizes to
9716         autodetect.
9717         (calculate_gutter_size_from_display_lines): new function.
9718         (output_gutter): check for resizing on left and right gutters.
9719         (clear_gutter): don't special case top and left gutters.
9720         (specifier_vars_of_gutter): use new signature for
9721         set_specifier_caching.
9722
9723         * glyphs-x.c (x_redisplay_widget): spelling fix.
9724         * glyphs.c (specifier_vars_of_glyphs):
9725         * menubar.c (specifier_vars_of_menubar):
9726         * redisplay.c (specifier_vars_of_redisplay):
9727         * toolbar.c (specifier_vars_of_toolbar):
9728         * window.c (specifier_vars_of_window):
9729         * scrollbar.c (specifier_vars_of_scrollbar):
9730         (complex_vars_of_scrollbar): use new signature for
9731         set_specifier_caching.
9732
9733         * specifier.c (set_specifier_caching): include recompute flag.
9734         (recompute_one_cached_specifier_in_window): always recompute if
9735         flag set.
9736         (recompute_one_cached_specifier_in_frame): ditto.
9737
9738         * specifier.h (struct specifier_caching): add recompute flag.
9739
9740 2000-10-24  Andy Piper  <andy@xemacs.org>
9741
9742         * unexcw.c (copy_executable_and_dump_data_section): add new
9743         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9744         5.0 happy.
9745
9746 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9747
9748         * console-x.h (x_device): New member modifier_release_time.
9749         * event-Xt.c (x_handle_sticky_modifiers):
9750         Bound interval modifier keys are sticky.
9751         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9752         * events.h: extern it.
9753
9754 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9755
9756         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9757
9758 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9759
9760         * event-stream.c (execute_command_event): Preserve current_events
9761         and the like when event is misc-user-event.
9762         Inhibit quit during the call to maybe_echo_keys.
9763
9764 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9765
9766         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9767         symlink when buffer is killed.
9768         (inhibit_clash_detection): New variable.
9769
9770 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9771
9772         * console.c (Fset_input_method): Trigger redisplay on tty.
9773
9774 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9775
9776         * process.c (Fprocess_status): Revert to previous behavior:
9777         (process-status "nosuchprocess") ==> nil
9778
9779 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9780
9781         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9782         Work around another GCC 2.95.2 optimizer bug.
9783
9784 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9785
9786         * process.c (Fget_process): Use LIST_LOOP_2.
9787         (kill_buffer_processes): Use LIST_LOOP_2.
9788
9789         * minibuf.c (Fall_completions):
9790         Delete old non-functional code for FSF fourth argument.
9791
9792         * frame.c (frame_matches_frame_spec):
9793         Renamed from `frame_matches_frametype'.  Update all callers.
9794         (device_matches_device_spec):
9795         Renamed from 'device_matches_console_spec'.  Update all callers.
9796
9797         * doc.c (Fsubstitute_command_keys):
9798         Remove buffer overflow crash.  Small code cleanups.
9799
9800         * casetab.c (check_case_table): Simpler code.
9801
9802         * window.c (Freplace_buffer_in_windows):
9803         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9804         (and similar implementation) as Fdelete_windows_on.
9805         Update all callers.
9806
9807         * alloc.c (Fmake_list):
9808         * alloc.c (make_vector):
9809         * alloc.c (Fmake_vector):
9810         * alloc.c (make_bit_vector):
9811         * alloc.c (Fmake_bit_vector):
9812         * alloc.c (Fbit_vector):
9813         * alloc.c (Fmake_string):
9814         * alloc.c (Fpurecopy):
9815         * alloc.c (Fmemory_limit):
9816         * buffer.c:
9817         * buffer.c (Fget_buffer):
9818         * buffer.c (Fkill_buffer):
9819         * buffer.c (complex_vars_of_buffer):
9820         * bytecode.c (Fcompiled_function_stack_depth):
9821         * callint.c (Fprefix_numeric_value):
9822         * event-stream.c:
9823         * event-stream.c (Fread_key_sequence):
9824         * casetab.c:
9825         * casetab.c (Fcase_table_p):
9826         * casetab.c (check_case_table):
9827         * casetab.c (Fset_case_table):
9828         * casetab.c (Fset_standard_case_table):
9829         * chartab.c:
9830         * chartab.c (Fchar_table_type):
9831         * chartab.c (Freset_char_table):
9832         * chartab.c (Fget_char_table):
9833         * chartab.c (Fget_range_char_table):
9834         * chartab.c (Fput_char_table):
9835         * chartab.c (Fmap_char_table):
9836         * chartab.c (Fcategory_table_p):
9837         * chartab.c (Fcheck_category_at):
9838         * chartab.c (Fchar_in_category_p):
9839         * chartab.c (Fcategory_table):
9840         * chartab.c (Fcopy_category_table):
9841         * chartab.c (Fset_category_table):
9842         * chartab.c (Fcategory_designator_p):
9843         * chartab.c (Fcategory_table_value_p):
9844         * cmds.c (Fdelete_char):
9845         * cmds.c (Fdelete_backward_char):
9846         * cmds.c (Fself_insert_command):
9847         * cmds.c (Fself_insert_internal):
9848         * console.c (Fvalid_console_type_p):
9849         * console.c (Fcdfw_console):
9850         * console.c (Fconsole_type):
9851         * console.c (Fconsole_name):
9852         * console.c (Fconsole_device_list):
9853         * console.c (Fconsole_on_window_system_p):
9854         * data.c:
9855         * data.c (Feq):
9856         * data.c (Fold_eq):
9857         * data.c (Fsubr_interactive):
9858         * data.c (Fchar_to_int):
9859         * data.c (Fint_to_char):
9860         * data.c (Fsetcar):
9861         * data.c (Fsetcdr):
9862         * data.c (Fnumber_to_string):
9863         * data.c (Fstring_to_number):
9864         * data.c (Frem):
9865         * database.c (mark_database):
9866         * database.c (finalize_database):
9867         * database.c (Fdatabase_live_p):
9868         * database.c (Fdatabasep):
9869         * device-x.c (Fx_get_resource):
9870         * device.c (Fdfw_device):
9871         * dired.c:
9872         * dired.c (Ffile_name_completion):
9873         * dired.c (Ffile_name_all_completions):
9874         * dired.c (Fuser_name_completion):
9875         * dired.c (Fuser_name_completion_1):
9876         * dired.c (Fuser_name_all_completions):
9877         * doc.c (Fdocumentation):
9878         * doc.c (Fdocumentation_property):
9879         * doc.c (Fsubstitute_command_keys):
9880         * editfns.c:
9881         * editfns.c (Fchar_to_string):
9882         * editfns.c (Fstring_to_char):
9883         * editfns.c (Ftemp_directory):
9884         * editfns.c (Finsert_char):
9885         * editfns.c (Fbuffer_substring_no_properties):
9886         * editfns.c (Fnarrow_to_region):
9887         * editfns.c (Fchar_equal):
9888         * editfns.c (Fchar_Equal):
9889         * editfns.c (Ftranspose_regions):
9890         * emacs.c (Fdump_emacs):
9891         * eval.c (Fthrow):
9892         * eval.c (Fcommand_execute):
9893         * eval.c (Fautoload):
9894         * eval.c (Fbacktrace):
9895         * eval.c (Fbacktrace_frame):
9896         * events.c:
9897         * events.c (Fcopy_event):
9898         * events.c (Fcharacter_to_event):
9899         * events.c (Fevent_button):
9900         * events.c (Fevent_process):
9901         * extents.c:
9902         * extents.c (Fnext_extent_change):
9903         * extents.c (Fextent_property):
9904         * faces.c (Ffacep):
9905         * faces.c (Fmake_face):
9906         * file-coding.c:
9907         * file-coding.c (Fencode_shift_jis_char):
9908         * file-coding.c (Fencode_big5_char):
9909         * fileio.c (Ffile_name_directory):
9910         * fileio.c (Ffile_name_nondirectory):
9911         * fileio.c (Ffile_name_as_directory):
9912         * fileio.c (Fdirectory_file_name):
9913         * fileio.c (Ffile_truename):
9914         * fileio.c (Fsubstitute_in_file_name):
9915         * fileio.c (Ffile_modes):
9916         * fileio.c (Fset_file_modes):
9917         * fileio.c (Fset_default_file_modes):
9918         * fileio.c (Fverify_visited_file_modtime):
9919         * floatfns.c (Facos):
9920         * floatfns.c (Fasin):
9921         * floatfns.c (Fatan):
9922         * floatfns.c (Fcos):
9923         * floatfns.c (Fsin):
9924         * floatfns.c (Ftan):
9925         * floatfns.c (Fbessel_j0):
9926         * floatfns.c (Fbessel_j1):
9927         * floatfns.c (Fbessel_jn):
9928         * floatfns.c (Fbessel_y0):
9929         * floatfns.c (Fbessel_y1):
9930         * floatfns.c (Fbessel_yn):
9931         * floatfns.c (Ferf):
9932         * floatfns.c (Ferfc):
9933         * floatfns.c (Flog_gamma):
9934         * floatfns.c (Fexp):
9935         * floatfns.c (Fexpt):
9936         * floatfns.c (Flog):
9937         * floatfns.c (Flog10):
9938         * floatfns.c (Fsqrt):
9939         * floatfns.c (Fcube_root):
9940         * floatfns.c (Facosh):
9941         * floatfns.c (Fasinh):
9942         * floatfns.c (Fatanh):
9943         * floatfns.c (Fcosh):
9944         * floatfns.c (Fsinh):
9945         * floatfns.c (Ftanh):
9946         * floatfns.c (Fabs):
9947         * floatfns.c (Ffloat):
9948         * floatfns.c (Flogb):
9949         * floatfns.c (Fceiling):
9950         * floatfns.c (Ffloor):
9951         * floatfns.c (Fround):
9952         * floatfns.c (Ftruncate):
9953         * floatfns.c (Ffceiling):
9954         * floatfns.c (Fffloor):
9955         * floatfns.c (Ffround):
9956         * floatfns.c (Fftruncate):
9957         * fns.c (Fstring_equal):
9958         * fns.c (Fstring_lessp):
9959         * fns.c (concat2):
9960         * fns.c (concat3):
9961         * fns.c (vconcat2):
9962         * fns.c (vconcat3):
9963         * fns.c (Fsubstring):
9964         * fns.c (Fassoc):
9965         * fns.c (Fold_assoc):
9966         * fns.c (assoc_no_quit):
9967         * fns.c (Fassq):
9968         * fns.c (Fold_assq):
9969         * fns.c (assq_no_quit):
9970         * fns.c (Frassoc):
9971         * fns.c (Fold_rassoc):
9972         * fns.c (Frassq):
9973         * fns.c (Fold_rassq):
9974         * fns.c (rassq_no_quit):
9975         * fns.c (Fremassoc):
9976         * fns.c (remassoc_no_quit):
9977         * fns.c (Fremassq):
9978         * fns.c (remassq_no_quit):
9979         * fns.c (Fremrassoc):
9980         * fns.c (Fremrassq):
9981         * fns.c (remrassq_no_quit):
9982         * fns.c (Fsort):
9983         * fns.c (Fplist_get):
9984         * fns.c (Fplist_put):
9985         * fns.c (Fplist_remprop):
9986         * fns.c (Fplist_member):
9987         * fns.c (Flax_plist_get):
9988         * fns.c (Flax_plist_put):
9989         * fns.c (Flax_plist_remprop):
9990         * fns.c (Flax_plist_member):
9991         * fns.c (Fequal):
9992         * fns.c (Fold_equal):
9993         * fns.c (Frequire):
9994         * fns.c (Fbase64_encode_region):
9995         * fns.c (Fbase64_encode_string):
9996         * fns.c (Fbase64_decode_region):
9997         * frame.c:
9998         * frame.c (frame_matches_frame_spec):
9999         * frame.c (device_matches_device_spec):
10000         * frame.c (next_frame):
10001         * frame.c (previous_frame):
10002         * frame.c (Fnext_frame):
10003         * frame.c (Fprevious_frame):
10004         * frame.c (Fframe_property):
10005         * frame.c (Fset_frame_height):
10006         * frame.c (Fset_frame_size):
10007         * frame.h:
10008         * glyphs.c:
10009         * glyphs.c (if):
10010         * glyphs.c (decode_error_behavior_flag):
10011         * glyphs.c (Fmake_image_instance):
10012         * indent.c (Findent_to):
10013         * intl.c (Fignore_defer_gettext):
10014         * keymap.c (Fkeymapp):
10015         * keymap.c (Flookup_key):
10016         * lread.c:
10017         * lread.c (Fload_internal):
10018         * lread.c (Feval_buffer):
10019         * lread.c (Feval_region):
10020         * macros.c (Fexecute_kbd_macro):
10021         * marker.c (set_marker_internal):
10022         * marker.c (Fset_marker):
10023         * marker.c (set_marker_restricted):
10024         * marker.c (Fcopy_marker):
10025         * marker.c (noseeum_copy_marker):
10026         * menubar.c:
10027         * menubar.c (Fpopup_menu):
10028         * minibuf.c:
10029         * mule-charset.c (Fcharset_name):
10030         * mule-charset.c (Fchar_charset):
10031         * mule-charset.c (Fchar_octet):
10032         * mule-charset.c (Fsplit_char):
10033         * mule-wnnfns.c (Fwnn_open):
10034         * mule-wnnfns.c (Fwnn_dict_comment):
10035         * mule-wnnfns.c (Fwnn_quit_henkan):
10036         * mule-wnnfns.c (Fwnn_word_toroku):
10037         * mule-wnnfns.c (Fwnn_word_sakujo):
10038         * mule-wnnfns.c (Fwnn_word_use):
10039         * mule-wnnfns.c (Fwnn_hindo_set):
10040         * objects.c:
10041         * objects.c (Fmake_color_instance):
10042         * objects.c (Fmake_font_instance):
10043         * print.c (Fwrite_char):
10044         * process.c:
10045         * process.c (mark_process):
10046         * process.c (print_process):
10047         * process.c (get_process_from_usid):
10048         * process.c (Fprocessp):
10049         * process.c (Fprocess_live_p):
10050         * process.c (Fget_process):
10051         * process.c (Fget_buffer_process):
10052         * process.c (get_process):
10053         * process.c (Fprocess_id):
10054         * process.c (Fprocess_name):
10055         * process.c (Fprocess_command):
10056         * process.c (init_process_io_handles):
10057         * process.c (start_process_unwind):
10058         * process.c (Fstart_process_internal):
10059         * process.c (Fopen_multicast_group_internal):
10060         * process.c (Fset_process_window_size):
10061         * process.c (read_process_output):
10062         * process.c (send_process):
10063         * process.c (Fprocess_tty_name):
10064         * process.c (Fset_process_buffer):
10065         * process.c (Fprocess_buffer):
10066         * process.c (Fprocess_mark):
10067         * process.c (set_process_filter):
10068         * process.c (Fset_process_filter):
10069         * process.c (Fprocess_filter):
10070         * process.c (Fprocess_send_region):
10071         * process.c (Fprocess_send_string):
10072         * process.c (exec_sentinel):
10073         * process.c (Fset_process_sentinel):
10074         * process.c (Fprocess_sentinel):
10075         * process.c (status_notify):
10076         * process.c (Fprocess_status):
10077         * process.c (Fprocess_exit_status):
10078         * process.c (process_send_signal):
10079         * process.c (Fprocess_send_eof):
10080         * process.c (deactivate_process):
10081         * process.c (remove_process):
10082         * process.c (Fdelete_process):
10083         * process.c (kill_buffer_processes):
10084         * process.c (Fprocess_kill_without_query):
10085         * process.c (Fprocess_kill_without_query_p):
10086         * rangetab.c:
10087         * rangetab.c (Fget_range_table):
10088         * rangetab.c (Fput_range_table):
10089         * rangetab.c (Fremove_range_table):
10090         * rangetab.c (Fclear_range_table):
10091         * search.c:
10092         * search.c (Fskip_chars_forward):
10093         * search.c (Fskip_chars_backward):
10094         * search.c (Fskip_syntax_forward):
10095         * search.c (Fskip_syntax_backward):
10096         * search.c (search_command):
10097         * search.c (Freplace_match):
10098         * search.c (Fregexp_quote):
10099         * select.c (Fown_selection_internal):
10100         * select.c (Fselection_owner_p):
10101         * select.c (Fselection_exists_p):
10102         * select.c (Fget_selection_internal):
10103         * specifier.c:
10104         * symbols.c:
10105         * symbols.c (Fintern):
10106         * symbols.c (Fintern_soft):
10107         * symbols.c (Funintern):
10108         * symbols.c (Fapropos_internal):
10109         * symbols.c (Fset_default):
10110         * syntax.c:
10111         * syntax.c (Fsyntax_table_p):
10112         * syntax.c (Fcopy_syntax_table):
10113         * syntax.c (Fset_syntax_table):
10114         * syntax.c (Fchar_syntax):
10115         * syntax.c (syntax_match):
10116         * syntax.c (Fmatching_paren):
10117         * syntax.c (Fforward_word):
10118         * syntax.c (scan_lists):
10119         * syntax.c (Fscan_lists):
10120         * syntax.c (Fscan_sexps):
10121         * syntax.c (Fparse_partial_sexp):
10122         * toolbar.c (Fcheck_toolbar_button_syntax):
10123         * tooltalk.doc:
10124         * window.c:
10125         * window.c (Fwindowp):
10126         * window.c (Fwindow_live_p):
10127         * window.c (Fwindow_point):
10128         * window.c (Fdelete_window):
10129         * window.c (Fnext_window):
10130         * window.c (Fprevious_window):
10131         * window.c (Fother_window):
10132         * window.c (window_loop):
10133         * window.c (Fget_lru_window):
10134         * window.c (Fsplit_window):
10135         * window.c (Fenlarge_window):
10136         * window.c (Fenlarge_window_pixels):
10137         * window.c (Fshrink_window):
10138         * window.c (Fshrink_window_pixels):
10139         * window.c (change_window_height):
10140         * window.c (Fwindow_configuration_p):
10141         * window.c (Fcurrent_window_configuration):
10142         * window.h:
10143         * casefiddle.c (casify_object):
10144         * casefiddle.c (Fupcase):
10145         * casefiddle.c (Fdowncase):
10146         * casefiddle.c (Fcapitalize):
10147         * casefiddle.c (Fupcase_initials):
10148         * casefiddle.c (casify_region_internal):
10149         * casefiddle.c (casify_region):
10150         * casefiddle.c (Fupcase_region):
10151         * casefiddle.c (Fdowncase_region):
10152         * casefiddle.c (Fcapitalize_region):
10153         * casefiddle.c (Fupcase_initials_region):
10154         * casefiddle.c (Fupcase_word):
10155         * casefiddle.c (Fdowncase_word):
10156         * casefiddle.c (Fcapitalize_word):
10157         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10158         Replace 0 with '\0' when working with bytes.
10159         Replace initial "(" with "\(" in docstrings.
10160
10161 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10162
10163         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10164
10165         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10166
10167 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10168
10169         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10170
10171 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10172
10173         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10174         correctly.
10175
10176 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10177
10178         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10179         (inhibit_auto_save_session): New variable.
10180         (vars_of_fileio): Declare and initialize them.
10181         * fileio.c (Fdo_auto_save): Don't create session file if
10182         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10183
10184 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10185
10186         * sgiplay.c (play_internal): C++ compilability.
10187         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10188         * callproc.c (Fold_call_process_internal):
10189         Remove unused vars `env', `first'.
10190         * scrollbar.c (update_scrollbar_instance):
10191         #### unused var `current_window'.
10192         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10193         etc. within #ifdef NOT_YET.
10194         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10195         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10196         * specifier.c (specifier_instance):
10197         #### unused var `tag'.
10198         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10199
10200 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10201
10202         * fns.c (Fbutlast):
10203         * fns.c (list_sort):
10204         * fns.c (Ffillarray):
10205         * fns.c (bytecode_nconc2):
10206         * fns.c (Fnconc):
10207         * fns.c (mapcar1):
10208         * fns.c (Fmapconcat):
10209         Be pedantically 64-bit correct.  For the time when someone will
10210         want to have a list with length > 2**32.
10211
10212         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10213         Work around MIPSpro compiler bug.
10214
10215         * process-unix.c (unix_kill_child_process): Add snarky comment.
10216         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10217
10218         * config.h.in: Oops, _getpt ==> _getpty
10219
10220 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10221
10222         * config.h.in:
10223         * regex.c:
10224         Use void*, not char*, as return type of alloca().
10225
10226         * alloc.c (free_marker): Side effect inside assert expression!
10227
10228 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10229
10230         * mule-charset.c (Fset_charset_ccl_program): To check
10231         if the given ccl program is valid, use setup_ccl_program()
10232         instead of CHECK_VECTOR().
10233         (Fmake_charset): Likewise.
10234
10235 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10236
10237         * faces.c (get_extent_fragment_face_cache_index):
10238         Fix cachel.merged_faces memory leak.
10239
10240 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10241
10242         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10243         Reset MSB of octets obtained by DECODE_SJIS
10244         because of the incompatibility with Emacs.
10245         (ccl_driver)<CCL_ENCODE_SJIS>:
10246         Set MSB of octets before passing them to
10247         ENCODE_SJIS because of the incompatibility
10248         with Emacs.
10249
10250 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10251
10252         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10253         (DECLARE_LRECORD): Undo the last change.
10254         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10255
10256 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10257
10258         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10259         the implementation to lrecord_implementations_table.
10260
10261 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10262
10263         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10264         initial value of `lrecord_type_##c_name' and
10265         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10266         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10267         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10268         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10269         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10270
10271 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10272
10273         * miscplay.c (sndcnv8S_2mono):
10274         (sndcnv2monounsigned):
10275         (sndcnvULaw_2linear):
10276         (sndcnv16swap):
10277         Remove implementation-defined behavior.
10278
10279 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10280
10281         * input-method-xlib.c: Warning suppression.
10282
10283 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10284
10285         * mule-ccl.c: Sync up with Emacs 21.0.90.
10286         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10287         Do nothing.
10288         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10289         Likewise.
10290         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10291         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10292         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10293         leading char belongs to official 2-dimensional charset.
10294         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10295         write the given character as is.  Otherwise,
10296         if it is a multibyte char, convert it by
10297         non_ascii_set_charptr_emchar, then write it.
10298         (CCL_WRITE_STRING): Likewise.
10299         (ccl_get_compiled_code): New function.
10300         (setup_ccl_program): When ccl_prog is invalid,
10301         return -1.
10302         (Fregister_code_conversion_map): New function.
10303         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10304
10305         * mule-ccl.h: Sync up with Emacs 21.0.90.
10306         (Fregister_ccl_program): export it.
10307
10308         * redisplay-msw.c (separate_textual_runs):
10309         If ccl program is not valid, don't do ccl conversion.
10310
10311         * redisplay-x.c (separate_textual_runs): Ditto.
10312
10313         * file-coding.c (Fmake_coding_system):
10314         When type is ccl and value is vector, register it
10315         with a proper symbol.  And checks whether the
10316         given ccl program is valid.
10317         (mule_decode): When calling ccl_driver, if src indicates
10318         NULL pointer, set an empty string instead.
10319         (mule_encode): Likewise.
10320
10321 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10322
10323         The following large batch of changes gets us back to a state of
10324         C++ compilability.  Extbyte is now a char, which means that
10325         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10326
10327         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10328
10329         * sound.c (Fplay_sound): Type correctness.
10330
10331         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10332         (x_get_window_property): Type correctness.
10333         (receive_incremental_selection): unsigned char ==> Extbyte
10334         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10335         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10336         (Fx_store_cutbuffer_internal): Type correctness.
10337
10338         * process-unix.c (try_to_initialize_subtty): Type correctness.
10339
10340         * objects-x.c (x_print_color_instance): Type correctness.
10341         (x_print_font_instance): Type correctness.
10342         (x_list_fonts): SExtbyte ==> Extbyte.
10343         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10344         (x_find_charset_font): SExtbyte ==> Extbyte.
10345         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10346         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10347         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10348         Use bufbyte_strcmp.
10349
10350         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10351         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10352         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10353         (BYTE_C0_P): Use bit ops for char-signedness safety.
10354         (BYTE_C1_P): Use bit ops for char-signedness safety.
10355         (CHARSET_BY_LEADING_BYTE):
10356         (CHARSET_BY_ATTRIBUTES):
10357         Always use inline function.
10358         Use type_checking_assert.
10359         Hide chlook.
10360
10361         * mule-charset.c (non_ascii_charptr_copy_char):
10362         Modify to work with both ASCII and non-ASCII characters.
10363         Improve docs and variable names.
10364         Replace over-clever fall-through switch with a simple loop.
10365         (Lstream_get_emchar_1):
10366         Replace over-clever fall-through switch with a simple loop.
10367
10368         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10369         Warning suppression.
10370
10371         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10372         the return value of Lstream_getc, which could be EOF as well.
10373
10374         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10375
10376         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10377         APIs can be used on Extbytes without casts.  Risky!
10378         (SExtbyte): Remove.
10379         (UExtbyte): Remove.
10380
10381         * input-method-xlib.c (XIM_init_device):
10382         Use Xlib.h instead of IntrinsicP.h.
10383         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10384         which will break in X11R7.
10385         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10386         to call XRegisterIMInstantiateCallback with correct types.
10387
10388         * gui-x.c (button_item_to_widget_value): Type correctness.
10389
10390         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10391
10392         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10393         (xbm_instantiate_1): Type correctness.
10394         (BUILD_GLYPH_INST):  Type correctness.
10395
10396         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10397
10398         * file-coding.c:
10399         (decode_coding_sjis):
10400         (decode_coding_big5):
10401         (decode_coding_ucs4):
10402         (decode_coding_utf8):
10403         (decode_coding_iso2022):
10404         (decode_coding_no_conversion):
10405         Make all decoding functions take an Extbyte * arg.
10406         (encode_coding_sjis):
10407         (encode_coding_big5):
10408         (encode_coding_ucs4):
10409         (encode_coding_utf8):
10410         (encode_coding_iso2022):
10411         (encode_coding_no_conversion):
10412         Make all encoding functions take a Bufbyte * arg.
10413         Use size_t instead of unsigned int for memory sizes.
10414         Only cast to unsigned char whenever dereferencing Extbyte *.
10415
10416         * doc.c (unparesseuxify_doc_string): Type correctness.
10417
10418         * console-x.c (split_up_display_spec):
10419         Rewrite without using details of internal string representation.
10420         (x_semi_canonicalize_device_connection): Type correctness.
10421
10422         * config.h.in:
10423         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10424         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10425         (HAVE_XFREE386): Removed.
10426
10427         * buffer.h (DEC_CHARPTR): `const' correctness.
10428         (bufbyte_strcmp): New.
10429         (bufbyte_memcmp): New.
10430
10431         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10432
10433         * buffer.h (XCHAR_OR_CHAR_INT):
10434         Always use inline function.
10435         Remove redundant type checking assert() - XINT will abort quite nicely.
10436
10437 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10438
10439         * search.c (Freplace_match): Set newtext to an empty string.
10440
10441 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10442
10443         * s/decosf1-3.h: Remove #include of stropts.h
10444         * s/ptx.h: Remove #include of stropts.h
10445         * s/usg5-4.h: Remove #include of stropts.h
10446         * sysproc.h:
10447         * config.h.in:
10448         Use stropts.h, not sys/stropts.h.
10449         Use strtio.h, not sys/strtio.h.
10450
10451 2000-10-04  Martin Buchholz <martin@xemacs.org>
10452
10453         * XEmacs 21.2.36 is released.
10454
10455 2000-09-21  Andy Piper  <andy@xemacs.org>
10456
10457         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10458         changes still involve copying the widget tree.
10459         (update_widget_face): make sure a change is register in the widget
10460         tree. Call update_tab_widget_face appropriately.
10461         (update_tab_widget_face): ditto.
10462         (x_tab_control_redisplay): make sure non-structural changes still
10463         involve copying the widget tree.
10464
10465 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10466
10467         * lread.c (locate_file): Check the path element is non-nil.
10468
10469 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10470
10471         * lisp.h: Warning suppression for SCO compilers.
10472
10473         * redisplay-tty.c (reset_tty_modes): Fix crash.
10474         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10475
10476 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10477
10478         Big signal/process handling overhaul.  Bugs fixed:
10479         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10480         M-x comint-kill-subjob should work for both values nil and t of
10481         process-connection-type. It was broken on most platforms.
10482         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10483         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10484         * process-unix.c: Signal/Process handling overhaul.
10485         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10486         (allocate_pty): Use all available modern methods of allocating
10487         ptys, falling back to old style BSD allocation as a last resort.
10488         Use allegedly more secure Unix98 pty allocation by default.
10489         (allocate_pty_the_old_fashioned_way): New. the last resort.
10490         (unix_create_process): Push ptem, ldterm, ttcompat where
10491         available.  Autoconfiscate.
10492         (try_to_initialize_subtty): New.
10493         (unix_kill_child_process): Proper signal handling for ptys on most
10494         platforms, using special knowledge of AIX, BSD, etc...
10495         (unix_create_process): Always disconnect_controlling_terminal() for
10496         subprocesses, whether using ptys or not.
10497         * process.h: Remove old getpt-dependent PTY code.
10498         * process.c (Fprocess_send_signal): New, obvious generic function.
10499         (decode_signal): New.
10500         (Finterrupt_process):
10501         (Fkill_process):
10502         (Fquit_process):
10503         (Fstop_process):
10504         (Fcontinue_process):
10505         (Fsignal_process): Use decode_signal.
10506         (process_send_signal):
10507         Many docstring corrections.
10508         Allow any signal to be sent to a process object.
10509         * config.h.in: Add symbols for big signal/process overhaul.
10510         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10511         * sysproc.h: Include process-related headers, where available:
10512         sys/stropts.h sys/strtio.h pty.h libutil.h
10513         * s/irix4-0.h:
10514         * s/irix5-0.h:
10515         * s/cygwin32.h:
10516         * s/gnu.h:
10517         * s/linux.h:
10518         * s/hpux.h:
10519         * s/aix3-1.h:
10520         Remove old S&M pty stuff.
10521         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10522         * systty.h: Simplify cpp hackery, improve comments.
10523         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10524
10525         * editfns.c (Fformat_time_string):
10526         Be a little more paranoid with the return value of ctime.
10527
10528         * fileio.c (check_executable):
10529         (check_writable):
10530         Use symbolic constants X_OK, W_OK.
10531
10532         * console-x.c (split_up_display_spec): Fix a warning.
10533
10534 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10535
10536         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10537         * ntproc.c (sys_spawnve): make_string ==> build_string
10538         Small clarity improvements.
10539
10540 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10541
10542         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10543
10544         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10545
10546         * config.h.in (HAVE_STRCASECMP): Remove.
10547
10548 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10549
10550         * redisplay-output.c (redisplay_output_pixmap):
10551         Cleaner and possibly more 64-bit correct code.
10552
10553 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10554
10555         * dumper.c (pdump_load_finish): move restoration of
10556         `noninteractive1' to emacs.c (main_1).
10557         * emacs.c (main_1): protect LISP-visible command-line flags
10558         from pdump_load().
10559
10560 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10561
10562         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10563         DUMP_TARGET instead of literal program names.
10564
10565 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10566
10567         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10568
10569 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10570
10571         * *: Spelling mega-patch
10572
10573 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10574
10575         * fns.c (bad_bad_turtle):
10576         Delete "Eek!" comment, since we fixed the bug to which it refers.
10577
10578 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10579
10580         * alloca.c: Replace REGISTER with register.
10581
10582 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10583
10584         * file-coding.c (ucs_to_char): Use countof.
10585
10586 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10587
10588         * file-coding.c: (ucs_to_char):
10589         (complex_vars_of_file_coding):
10590         Use countof instead of sizeof.
10591         Use CHECK_NATNUM instead of CHECK_INT.
10592
10593         * sysdep.c (strcasecmp): Remove.
10594         * device-x.c (ascii_strcasecmp): New.
10595         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10596         Avoid using non-standard non-portable strcasecmp.
10597
10598 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10599
10600         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10601         * font-lock.c: remove reference to emacsfns.h.
10602         * search.c: small doc improvement.
10603         * event-Xt.c: correct file names in comments.
10604         * console-x.h Correct file names in comments.
10605         * frame.c: Correct file names in comments.
10606         * event-stream.c: remove Energize from comments.
10607
10608 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10609
10610         * symeval.h (DEFERROR_STANDARD):
10611         (DEFERROR):
10612         (DEFSYMBOL):
10613         (DEFSYMBOL_NO_DUMP):
10614         (DEFSYMBOL_MULTIWORD_PREDICATE):
10615         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10616         (DEFKEYWORD):
10617         The construct &##name is not sensible C.
10618         Fixes compilation errors with Unixware native compiler.
10619
10620 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10621
10622         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10623         (next_frame_internal): Removed.  We now just have next_frame.
10624         (next_frame):
10625         Write a simpler and cleaner one-pass algorithm.
10626         Remove called_from_delete_device arg and #ifdefed-out code.
10627         (previous_frame):
10628         Renamed from prev_frame.  Update callers.
10629         Cleaned up to have an analogous implementation to next_frame.
10630         (other_visible_frames_internal): Remove the
10631         called_from_delete_device bogus arg, and hence, remove this
10632         function.  Just use other_visible_frames().
10633
10634         * window.c (Fnext_window):
10635         Prettify docstring.
10636         Since next_frame() is guaranteed to return a frame, remove check
10637         for nil inserted in previous patch.
10638         (Fprevious_window):
10639         Prettify docstring.
10640         Make code look more like Fnext_window.
10641         (window_loop):
10642         Respect the `console' arg when iterating through windows.
10643         Fixes bug: (get-buffer-window buffer t device) not respecting
10644         the `device' arg.
10645         This function needs more work, as others have pointed out.
10646
10647         * frame.h: Rename prev_frame to previous_frame.
10648         device_matches_console_spec no longer takes a `frame' arg.
10649
10650         * s/gnu.h:
10651         * s/linux.h:
10652         * s/hpux.h:
10653         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10654         From "Golubev I. N." <gin@mo.msk.ru>.
10655
10656         * make-src-depend: Fix typo.
10657
10658 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10659
10660         * window.c (Fnext_window):
10661         next_frame() might return nil, not a frame.
10662         Fixes this crash:
10663         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10664
10665         * frame.c (next_frame_internal):
10666         We've passed a frame if we've passed its device.
10667         Fixes this crash:
10668         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10669 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10670
10671 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10672
10673         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10674         Allow option to suppress accelerators in menu/dialog items.
10675         (populate_or_checksum_helper): Pass dialog title through above.
10676
10677 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10678
10679         * event-msw.c (mswindows_key_to_emacs_keysym):
10680         Add "pause" key, fix "menu" key.
10681
10682 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10683
10684         * eval.c (reinit_vars_of_eval):
10685         Increase max_lisp_eval_depth to 1000,
10686         required for thai-xtis.el to byte-compile under some circumstances.
10687
10688 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10689
10690         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10691         From Kenichi Handa.
10692
10693 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10694
10695         * make-src-depend: Make the generated Makefiles smaller.
10696
10697         * s/hpux.h (SETUP_SLAVE_PTY):
10698         Provide a %d in the format string for the errno argument.
10699
10700         * editfns.c (Ftemp_directory):
10701         Warning fix.
10702         Avoid buffer overrun on very long file name.
10703
10704         * input-method-xlib.c (XIM_init_device):
10705         6th parameter of XRegisterIMInstantiateCallback has different
10706         pointer types on different OSes, so simply cast to (void *).
10707
10708         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10709
10710         * sysdll.c (dll_open):
10711         shl_load will hang hard if passed a NULL filename.
10712         Simply return NULL for compatibility with dlopen.
10713         * sysdll.c: Conform to XEmacs coding standards.
10714
10715         * sysdep.c (get_pty_max_bytes):
10716         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10717
10718 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10719
10720         * tooltalk.c: Add #include <syssignal.h>
10721
10722 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10723
10724         * s/hpux.h: Don't use undefined function sigunblock().
10725
10726 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10727
10728         * config.h.in: Add HAVE_BALLOON_HELP.
10729         * emacs.c: Use HAVE_BALLOON_HELP.
10730         * Makefile.in.in (x_objs):
10731         Make Balloon Help conditional on finding shape.h.
10732
10733 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10734
10735         * syntax.c (regex_emacs_buffer_p): New variable.
10736         * syntax.h (regex_emacs_buffer_p): extern.
10737         * search.c (looking_at_1):
10738         (string_match_1):
10739         (fast_string_match):
10740         (search_buffer): Set regex_emacs_buffer_p.
10741         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10742         when before_dot, at_dot, after_dot.
10743
10744 2000-08-23  Andy Piper  <andy@xemacs.org>
10745
10746         * gui-x.c (popup_selection_callback): Only set action_occurred
10747         when we really have an image instance.
10748         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10749
10750 2000-08-23  Andy Piper  <andy@xemacs.org>
10751
10752         * gui-msw.c (mswindows_handle_gui_wm_command): set
10753         action_occurred.
10754         * gui-x.c (popup_selection_callback): ditto.
10755
10756         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10757         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10758         (struct Lisp_Image_Instance): add action_occurred flag.
10759
10760         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10761         (image_instance_changed): ditto.
10762         (reset_frame_subwindow_instance_cache): only unmap windows - do
10763         not remove them from the cache also.
10764
10765         * glyphs-widget.c (tab_control_update): better debug.
10766         (progress_gauge_update): ditto.
10767         (layout_update): ditto.
10768         (layout_instantiate): ditto.
10769         (tab_control_order_only_changed): cope with null pending items.
10770
10771         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10772         debug. Force selection of an item when an action occurred. Cope
10773         with null pending_items.
10774         (mswindows_progress_gauge_redisplay): better debug.
10775         * glyphs-x.c (x_tab_control_redisplay): ditto.
10776
10777         * redisplay.c (redisplay_frame): reset the frame cache if the
10778         frame is garbaged.
10779
10780         * window.c (Fset_window_configuration): potentially re-enable
10781         frame cache reset.
10782         (window_unmap_subwindows): need to finalize instances here since
10783         it is only used in mark_window_as_deleted.
10784
10785 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10786
10787         * nas.c (SndOpenDataForReading):
10788         nas.c (WaveOpenDataForReading):
10789         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10790         Somehow escaped from the 2000-08-14 patch.
10791
10792 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10793
10794         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10795         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10796
10797 2000-08-21  Andy Piper  <andy@xemacs.org>
10798
10799         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10800         window if it is not already displayed.
10801
10802         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10803         it is not already displayed.
10804
10805         * window.c (Fset_window_configuration): don't reset the frame
10806         cache.
10807
10808         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10809         instances from the frame cache if we are actually finalizing them.
10810         (reset_frame_subwindow_instance_cache): reset frame cache only
10811         after unmapping everything.
10812         (map_subwindow): set displayed flag after mapping.
10813
10814 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10815
10816         * data.c (indirect_function):
10817         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10818
10819         * eval.c (function_argcount):
10820         Use original function when signaling errors.
10821
10822 2000-08-18  Andy Piper  <andy@xemacs.org>
10823
10824         * frame.c (delete_frame_internal): use new
10825         free_frame_subwindow_instances name.
10826
10827         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10828         (add_tab_item): make return type correct.
10829         (mswindows_tab_control_instantiate): assert index of tab.
10830         (mswindows_tab_control_redisplay): Re-code to use
10831         gui_item_equal_sans_selected and gui_item_list_find_selected.
10832
10833         * glyphs-widget.c (tab_control_update): Correct comment.
10834
10835         * window.c (window_unmap_subwindows): use new
10836         unmap_subwindow_instance_cache_mapper.
10837         (window_unmap_subwindows_cache_mapper): deleted.
10838         (Fset_window_configuration): comparisons should now be with
10839         EQ. Preserve the subwindow instance cache across configuration
10840         changes.
10841         (allocate_window): ditto.
10842         (make_dummy_parent): ditto.
10843
10844         * glyphs.c (free_frame_subwindow_instances): rename from
10845         free_frame_subwindow_instance_cache. finalize all instances rather
10846         than just those in the display cache.
10847         (finalize_all_subwindow_instances): walk windows unmapping and
10848         finalizing subwindows.
10849         (unmap_subwindow_instance_cache_mapper): moved from
10850         window.c. Allow finalization as well as unmapping.
10851
10852         * gui.c (gui_item_list_find_selected): new function.
10853
10854         * gui.h (gui_item_list_find_selected): declare.
10855
10856         * glyphs-x.c (x_tab_control_redisplay): pick tab
10857         explicitly. Re-code to use gui_item_equal_sans_selected and
10858         gui_item_list_find_selected.
10859
10860         * glyphs-x.h: add lwlib-utils.h
10861
10862         * buffer.c (Frecord_buffer): undo previous change.
10863
10864 2000-08-09  Vin Shelton  <acs@xemacs.org>
10865
10866         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10867         possible.  Create temporary files more securely.  The patch was
10868         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10869         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10870         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10871         for details.
10872
10873 2000-08-07  Ben Wing  <ben@xemacs.org>
10874
10875         * getloadavg.c: remove duplicate (and windows-breaking)
10876         includes of fcntl.h and sys/file.h.
10877
10878         * nt.c: remove duplicate getloadavg() definition.
10879
10880         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10881         encodings.
10882
10883 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10884
10885         * eval.c (function_argcount): If function needs to be autoloaded
10886         actually use the loaded definition.
10887         GCPRO function.
10888
10889 2000-08-05  Ben Wing  <ben@xemacs.org>
10890
10891         * getloadavg.c: add prototype for getloadavg().  remove
10892         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10893         of the code).  remove duplicate header includes.
10894
10895         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10896
10897         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10898         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10899         useful load average.
10900
10901         * alloc.c (reinit_alloc_once_early): removed references to
10902         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10903         the lisp vars are the only things referencing the malloc_sbrk_*
10904         vars, and they were already if 0'd out.  these vars only exist
10905         in the older malloc.c, which is basically unused, and they're
10906         only for informational purposes.
10907
10908         * m\*.h: removed useless VIRT_ADDR_VARIES.
10909
10910         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10911
10912 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10913
10914         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10915         color if the image is a mono pixmap.
10916
10917 2000-07-30  Ben Wing  <ben@xemacs.org>
10918
10919         * Makefile.in.in (release):
10920         Remove stray @.
10921
10922         * buffer.c (directory_is_current_directory):
10923         * dired-msw.c (mswindows_get_files):
10924         * dired.c:
10925         * dired.c (Fdirectory_files):
10926         * dired.c (file_name_completion_stat):
10927         * dired.c (Ffile_attributes):
10928         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10929         preprocessor tricks, to avoid problems on some machines
10930         (e.g. SCO).
10931
10932         * callproc.c (egetenv): GC docs.
10933
10934         * console-msw.h:
10935         * console-msw.h (struct mswindows_dialog_id):
10936         * lrecord.h (lrecord_type):
10937         New object for use with MSW dialogs.
10938
10939         * console.h (struct console_methods):
10940         New enable/disable frame methods, for proper modal dialogs.
10941
10942         * device-msw.c (msprinter_default_printer): Fix to follow
10943         proper Mule conventions.
10944
10945         * device-msw.c:
10946         * device-msw.c (signal_open_printer_error):
10947         * device-msw.c (msprinter_init_device):
10948         * device-msw.c (ensure_not_printing):
10949         * device-msw.c (plist_get_margin):
10950         * device-msw.c (Fmsprinter_select_settings):
10951         * device-msw.c (finalize_devmode):
10952         * device-msw.c (Fmsprinter_settings_despecialize):
10953         * device-msw.c (signal_enum_priner_error):
10954         * extents.c (decode_extent):
10955         * extents.c (decode_map_extents_flags):
10956         * extents.c (decode_extent_at_flag):
10957         * extents.c (Fextent_at):
10958         * extents.c (Fextents_at):
10959         * extents.c (symbol_to_glyph_layout):
10960         [[[[2]]]] Use structured errors.
10961
10962         * dialog-msw.c:
10963         * dialog-msw.c (mswindows_is_dialog_msg):
10964         * dialog-msw.c (mark_mswindows_dialog_id):
10965         * dialog-msw.c (dialog_proc):
10966         * dialog-msw.c (handle_question_dialog_box):
10967         * dialog-msw.c (syms_of_dialog_mswindows):
10968         Define new object to clean up marking; use it as a dialog identifier.
10969         Call new delete-dialog-box-hook.
10970
10971         * dialog-x.c (dbox_selection_callback):
10972         * dialog-x.c (dbox_descriptor_to_widget_value):
10973         * dialog-x.c (x_make_dialog_box_internal):
10974         Call new delete-dialog-box-hook.
10975         Return an id.
10976
10977         * dialog.c:
10978         * dialog.c (syms_of_dialog):
10979         * dialog.c (vars_of_dialog):
10980         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10981
10982         * eval.c:
10983         * eval.c (signal_call_debugger):
10984         when noninteractive, output stack traces on the console instead
10985         of in a (never-seen) buffer.
10986
10987         * eval.c (signal_type_error):
10988         * eval.c (invalid_argument_2):
10989         * lisp.h:
10990         new funs for use w/structured errors.
10991
10992         * event-Xt.c:
10993         * event-Xt.c (x_to_emacs_keysym):
10994         * event-Xt.c (describe_event):
10995         * event-Xt.c (emacs_Xt_event_handler):
10996         * event-Xt.c (vars_of_event_Xt):
10997         * event-msw.c:
10998         * event-msw.c (mswindows_wnd_proc):
10999         * event-msw.c (vars_of_event_mswindows):
11000         rename {x,mswindows}-debug-events to debug-{}-events for
11001         consistency with other debug-foo variables.
11002
11003         * event-stream.c:
11004         document next-event more clearly.
11005
11006         * fileio.c (Ffile_name_directory):
11007         * fileio.c (Ffile_name_nondirectory):
11008         * fileio.c (Funhandled_file_name_directory):
11009         * fileio.c (file_name_as_directory):
11010         * fileio.c (Ffile_name_as_directory):
11011         * fileio.c (directory_file_name):
11012         * fileio.c (Fdirectory_file_name):
11013         * fileio.c (Fmake_temp_name):
11014         * fileio.c (Ffile_truename):
11015         * fileio.c (Fsubstitute_in_file_name):
11016         * fileio.c (expand_and_dir_to_file):
11017         * fileio.c (barf_or_query_if_file_exists):
11018         * fileio.c (check_executable):
11019         * fileio.c (Ffile_exists_p):
11020         * fileio.c (Ffile_writable_p):
11021         * fileio.c (Ffile_directory_p):
11022         * fileio.c (Ffile_regular_p):
11023         * fileio.c (Ffile_modes):
11024         * fileio.c (Ffile_newer_than_file_p):
11025         * fileio.c (Fverify_visited_file_modtime):
11026         * fileio.c (Fset_visited_file_modtime):
11027         * fileio.c (auto_save_1):
11028         (1). (2).
11029         fix up gcpro's.
11030
11031         * frame-msw.c:
11032         * frame-msw.c (mswindows_init_frame_1):
11033         * frame-msw.c (mswindows_enable_frame):
11034         * frame-msw.c (error_frame_unsizable):
11035         * frame-msw.c (msprinter_init_frame_1):
11036         * frame-msw.c (msprinter_init_frame_3):
11037         * frame-msw.c (console_type_create_frame_mswindows):
11038         (2).
11039         implement new enable/disable frame methods.
11040
11041         * frame-x.c:
11042         * frame-x.c (x_enable_frame):
11043         * frame-x.c (console_type_create_frame_x):
11044         implement new enable/disable frame methods.
11045
11046         * frame.c:
11047         * frame.c (Fdisable_frame):
11048         * frame.c (syms_of_frame):
11049         * frame.h (struct frame):
11050         implement new enable/disable frame methods/functions.
11051
11052         * general-slots.h:
11053         add initial-focus.
11054
11055         * glyphs-msw.c (mswindows_widget_instantiate):
11056         comment that initial-focus should be implemented.
11057
11058         * glyphs-widget.c:
11059         * glyphs-widget.c (check_valid_instantiator):
11060         * glyphs-widget.c (check_valid_orientation):
11061         * glyphs-widget.c (check_valid_tab_orientation):
11062         * glyphs-widget.c (check_valid_justification):
11063         * glyphs-widget.c (check_valid_border):
11064         * glyphs-widget.c (check_valid_callback):
11065         * glyphs-widget.c (check_valid_int_or_function):
11066         * glyphs-widget.c (check_valid_string_or_vector):
11067         * glyphs-widget.c (check_valid_item_list_1):
11068         * glyphs-widget.c (widget_validate):
11069         * glyphs-widget.c (combo_box_validate):
11070         * glyphs-widget.c (widget_instantiate):
11071         * glyphs-widget.c (syms_of_glyphs_widget):
11072         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11073         * glyphs-widget.c (image_instantiator_combo_box):
11074         * glyphs-widget.c (image_instantiator_scrollbar):
11075         * glyphs-widget.c (image_instantiator_tab_control):
11076         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11077         (2).
11078         support (unimplemented) keyword initial-focus.
11079         reindent long macros.
11080
11081         * glyphs-x.c (x_redisplay_widget):
11082         * glyphs-x.c (x_button_instantiate):
11083         * glyphs-x.c (x_button_redisplay):
11084         * glyphs-x.c (x_progress_gauge_instantiate):
11085         * glyphs-x.c (x_edit_field_instantiate):
11086         * glyphs-x.c (x_combo_box_instantiate):
11087         * glyphs-x.c (x_tab_control_instantiate):
11088         * glyphs-x.c (x_label_instantiate):
11089         * gui-x.c:
11090         * gui-x.c (button_item_to_widget_value):
11091         * gui-x.c (gui_items_to_widget_values_1):
11092         * gui-x.c (gui_item_children_to_widget_values):
11093         * gui-x.c (gui_items_to_widget_values):
11094         * gui-x.h:
11095         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11096         add new flag to gui-parsing routines to indicate whether
11097         accelerator specs should be supported.
11098
11099         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11100
11101         * glyphs.h (struct Lisp_Image_Instance):
11102         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11103         add initial-focus flag.
11104
11105         * gui.c:
11106         * gui.c (syms_of_gui):
11107         * gui.c (vars_of_gui):
11108         clean up menu-no-selection-hook.
11109
11110         * gui.h:
11111         support delete-dialog-box-hook.
11112
11113         * lread.c (Fload_internal):
11114         * lread.c (locate_file_in_directory_mapper):
11115         (1).
11116
11117         * lrecord.h:
11118         * lrecord.h (struct toolbar_button):
11119         * lrecord.h (syms_of_toolbar):
11120         document how to create a new object.
11121
11122         * menubar-msw.c (mswindows_char_is_accelerator):
11123         may be called on frames w/o menus.
11124
11125         * menubar.c (vars_of_menubar):
11126         clean up :filter docs.
11127
11128         * nt.c (readdir):
11129         * ntproc.c:
11130         (1).
11131
11132         * process-nt.c:
11133         * process-nt.c (validate_signal_number):
11134         * process-nt.c (signal_cannot_launch):
11135         * process-nt.c (nt_create_process):
11136         * process-nt.c (nt_send_process):
11137         * process-nt.c (nt_kill_child_process):
11138         * process-nt.c (nt_open_network_stream):
11139         * process-nt.c (syms_of_process_nt):
11140         (2).
11141         delete quote-handling.  call new lisp code that does it better.
11142
11143         * process-unix.c (connect_to_file_descriptor):
11144         * process-unix.c (allocate_pty):
11145         * process-unix.c (unix_send_process):
11146         * process-unix.c (unix_kill_child_process):
11147         * process-unix.c (unix_open_network_stream):
11148         * process-unix.c (unix_open_multicast_group):
11149         (1). (2).
11150
11151         * process.c:
11152         * process.c (Fstart_process_internal):
11153         (2).  need to canonicalize process path even if absolute.
11154
11155         * select-msw.c (symbol_to_ms_cf):
11156         * select-msw.c (ms_cf_to_symbol):
11157         * select-msw.c (cf_is_autofreed):
11158         * select-msw.c (mswindows_destroy_selection):
11159         * select.c:
11160         * select.c (syms_of_select):
11161         * select.h:
11162         support dibv5, fix bugs. (from Mike Alexander)
11163
11164         * select.c (Fget_selection_internal):
11165         * select.c (select_convert_out):
11166
11167         * sysdep.c:
11168         * sysdep.c (xemacs_stat):
11169         renamed.
11170
11171         * sysdep.c (mkdir):
11172         * sysdep.c (rmdir):
11173         but keep original stat() here because we provide encapsulation
11174         around these funs.
11175
11176         * sysfile.h:
11177         * sysfile.h (fstat):
11178         remove stat garbage.
11179
11180         * syswindows.h:
11181         fix X/MSW conflict.
11182         don't include tchar.h.  it's inappropriate because it makes
11183         compile-time distinctions when we want runtime distinctions.
11184         (we provide our own tchar replacements)
11185
11186         * toolbar.c:
11187         use default object printer for toolbar-button.
11188
11189         * unexcw.c:
11190         make sure we don't encapsulate.
11191
11192         * window.c (vars_of_window):
11193         emphasize that temp-buffer-show-hook is obsolete.
11194
11195 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11196
11197         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11198         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11199
11200         * events.c (Fevent_timestamp_lessp):
11201         Not 64-bit clean.  Use EMACS_INT, not int.
11202
11203 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11204
11205         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11206         unsigned int and changed the last enum to
11207         lrecord_type_last_built_in_type.
11208         (lrecord_implementations_table): changed prototype to know how
11209         long the array is supposed to be.
11210         (lrecord_type_count): new unsigned int to keep track of the
11211         current number of lisp lrecord types.
11212         (DEFINE_EXTERNAL_LRECORD):
11213         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11214         dynamic-modules to declare new lisp types. They are the same
11215         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11216         int for each new type, and increment lrecord_type_count by 1.
11217
11218         * alloc.c (lrecord_implementations_table): Changed to reference
11219         lrecord_type_last_built_in_type for the size of the array.
11220         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11221
11222 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11223
11224         * glyphs.h (check_valid_item_list): Renamed from
11225         check_valid_item_list_1.
11226
11227 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11228
11229         * select.c (Qselect_coerce): New.
11230         * select.c (Vselection_coercion_alist): New.
11231         * select.c (syms_of_select): Declare.
11232         * select.c (get-selection-internal): Use it.
11233         Use the new select-coerce functionality.
11234
11235         * select.c (select_coerce): New.
11236         * select.h (select_coerce): Declare.
11237         New function to coerce one type of data into another.
11238
11239 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11240
11241         * callproc.c (Fcall_process_internal):
11242         (Fcall_process_internal):
11243         * process-unix.c (unix_create_process):
11244         Save and restore the value of errno, so that error messages are accurate.
11245
11246 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11247
11248         * elhash.c (print_hash_table):
11249         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11250         Prettify docstrings and indentation.
11251
11252 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11253
11254         * window.c (Fwindow_pixel_edges): Subtract frame border and
11255         gutter size.
11256
11257 2000-07-31  Andy Piper  <andy@xemacs.org>
11258
11259         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11260         will acknowledge the change.
11261
11262         * glyphs.h: declare tab_control_order_only_changed.
11263
11264         * glyphs-x.c (x_tab_control_redisplay): use
11265         tab_control_order_only_changed.
11266
11267         * glyphs-widget.c (tab_control_order_only_changed): new function.
11268
11269         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11270         tab_control_order_only_changed.
11271
11272         * gui.c (gui_item_equal_sans_selected): new function.
11273         (gui_item_equal): use it.
11274
11275         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11276         :properties in favor of :items..
11277
11278         * glyphs-widget.c (check_valid_item_list): rename from
11279         check_valid_item_list_1.
11280         (check_valid_item_list_1): renamed.
11281         (combo_box_validate): deprecate :properties in favor of :items.
11282         (widget_instantiate): ditto.
11283         (tab_control_update): ditto.
11284         (image_instantiator_combo_box): ditto.
11285         (image_instantiator_tree_view): ditto.
11286         (image_instantiator_tab_control): ditto.
11287         (layout_post_instantiate): remove dead code.
11288
11289         * print.c (debug_print_no_newline): only write to debugger if in
11290         WIN32_NATIVE.
11291
11292         * elhash.c (Fmake_hash_table): update doc string.
11293
11294         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11295         messages whilst in GC. This at least stops XEmacs crashing but has
11296         the potential for wierd behaviour.
11297
11298 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11299
11300         * config.h.in:
11301         Make existence of s&m files optional.
11302
11303         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11304         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11305         * s/gnu.h: Remove HAVE_GETLOADAVG.
11306         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11307         * s/sol2.h: Remove HAVE_GETLOADAVG.
11308         * lisp.h: Remove getloadavg() declaration.
11309         * fns.c:
11310         Include <sys/loadavg.h> if available.
11311         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11312         * config.h.in:  Group together getloadavg()-related macros.
11313         Use only configure-time tests to detect getloadavg().
11314
11315 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11316
11317         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11318
11319 2000-07-25  Andy Piper  <andy@xemacs.org>
11320
11321         * syswindows.h: add tchar.h for native builds.
11322
11323         * frame.c (syms_of_frame): remove set-glyph-image.
11324
11325         * general-slots.h: add Qset_glyph_image.
11326
11327         * glyphs-widget.c (layout_update): add domain arg to
11328         set-glyph-image.
11329         (syms_of_glyphs_widget): remove set-glyph-image.
11330
11331 2000-07-23  Ben Wing  <ben@xemacs.org>
11332
11333         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11334         Vpopup_frame_list.
11335
11336 2000-07-22  Andy Piper  <andy@xemacs.org>
11337
11338         * symsinit.h: add syms_of_win32().
11339
11340         * gui-msw.c (syms_of_gui_mswindows): remove
11341         Fmswindows_shell_execute.
11342         (Fmswindows_shell_execute): moved to win32.c.
11343
11344         * emacs.c (main_1): add syms_of_win32 ().
11345
11346         * win32.c (init_potentially_nonexistent_functions): rewrite in
11347         compiler-friendly terms.
11348         (Fmswindows_shell_execute): move here from gui-msw.c.
11349         (syms_of_win32): new.
11350
11351         * device-msw.c (Fmswindows_printer_list): clean up args to
11352         EnumPrinters.
11353         Don't include tchar under cygwin or mingw.
11354         (msprinter_default_printer): make cygwin-friendly.
11355
11356 2000-07-21  Andy Piper  <andy@xemacs.org>
11357
11358         * glyphs-widget.c (image_instantiator_tree_view): use tab
11359         control's update function.
11360         (layout_property): new function. Retrieve items.
11361
11362         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11363         function. Re-populate the tree view from the pending items.
11364
11365         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11366         is designated the parent if the domain is an image instance. This
11367         is needed so that dirtiness can be cascade up the hierarchy and
11368         thus for layout children to be redisplayed correctly.
11369         (allocate_image_instance): rename glyph -> parent.
11370
11371         * redisplay.h: change redisplay_output_layout signature.
11372
11373         * redisplay-msw.c (mswindows_output_display_block): use domain
11374         arg.
11375
11376         * redisplay-x.c (x_output_display_block): use domain arg.
11377
11378 2000-07-10  Andy Piper  <andy@xemacs.org>
11379
11380         * window.c (Fset_window_configuration): add comment.
11381
11382         * redisplay-output.c (compare_runes):
11383         (redisplay_output_subwindow): redisplay rather than update subwindow.
11384         (redisplay_output_layout): ditto.
11385
11386         * redisplay-msw.c (mswindows_frame_output_end):
11387         (mswindows_frame_output_end): make defer window pos optional.
11388
11389         * lisp.h: add Flast.
11390
11391         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11392         normalize method. Change update method to be for changed
11393         instantiators. Add redisplay method. Change signature of layout
11394         method.
11395         (struct Lisp_Image_Instance): add instantiator.
11396         (IMAGE_INSTANCE_INSTANTIATOR): new.
11397         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11398         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11399         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11400
11401         * glyphs.c:
11402         (find_instantiator_differences): new function.
11403         (Fset_instantiator_property): new convenience function.
11404         (check_image_instance_structure): strictly check for vector
11405         instantiators.
11406         (normalize_image_instantiator): make non-static.
11407         (instantiate_image_instantiator): pass on dest_mask and use new
11408         signatures for image_instance_layout and friends.
11409         (mark_image_instance): mark the instantiator. Mark the subwindow
11410         face not the widget face.
11411         (image_instance_equal): add instantiator.
11412         (image_instance_hash): ditto.
11413         (allocate_image_instance): ditto.
11414         (Fset_image_instance_property): removed.
11415         (Fimage_instance_file_name): ditto.
11416         (Fcolorize_image_instance): ditto.
11417         (image_instance_layout): add offsets to be set.
11418         (update_image_instance): new function. update an image instance
11419         from its changed instantiator.
11420         (inherit_normalize): add dest_mask.
11421         (xbm_normalize): ditto.
11422         (xface_normalize): ditto.
11423         (xpm_normalize): ditto.
11424         (text_update): set_property -> update.
11425         (image_instantiate): use the glyph identity as a hash key, not the
11426         instantiator.
11427         (glyph_width): use new image_instance_layout signature.
11428         (glyph_ascent): ditto.
11429         (glyph_descent): ditto.
11430         (glyph_height): ditto.
11431         (glyph_query_geometry): ressurrect.
11432         (glyph_layout): ditto.
11433         (redisplay_subwindow): update -> redisplay.
11434         (syms_of_glyphs): add Fset_instantiator_property.
11435         (image_instantiator_format_create): set_property -> update.
11436
11437         * glyphs-x.c:
11438         (autodetect_normalize): add dest_maks to signature.
11439         (x_redisplay_subwindow): update -> redisplay.
11440         (x_redisplay_widget): ditto.
11441         (x_button_redisplay): ditto.
11442         (x_progress_gauge_redisplay): ditto.
11443         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11444         stacking order.
11445         (console_type_create_glyphs_x): update -> redisplay.
11446         (image_instantiator_format_create_glyphs_x): ditto.
11447
11448         * glyphs-widget.c:
11449         (check_valid_instantiator): disallow glyphs in the instantiator,
11450         they must now be vectors.
11451         (check_valid_instantiator_list): ditto.
11452         (glyph_instantiator_to_glyph): use internal symbol rather than
11453         intern.
11454         (widget_update): renamed from widget_set_property. Call cascaded
11455         update methods.
11456         (redisplay_widget): renamed from update_widget.
11457         (widget_layout): image_instance_layout now takes position as well
11458         as size.
11459         (widget_normalize): ditto.
11460         (widget_instantiate): ditto.
11461         (tab_control_query_geometry) ditto.:
11462         (tab_control_update): renamed from tab_control_set_property.
11463         (progress_gauge_update): set_property -> update.
11464         (layout_normalize): rewrite so that child instantiators are
11465         normalized also.
11466         (layout_update): new function. Create glyphs from the normalized
11467         children and cope with any other layout keywords. We do not
11468         instantiate children here that will be take care of by
11469         redisplay_output_layout.
11470         (layout_instantiate): call layout_update and not much else.
11471         (layout_post_instantiate): not sure whether this is needed
11472         anymore.
11473         (layout_query_geometry): query glyph geometry rather than
11474         image_instance geometry.
11475         (layout_layout): set offsets from pass in parameters. Use glyph
11476         geometry and layout functions rather than image instance ones.
11477         (native_layout_layout): ditto.
11478         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11479         (image_instantiator_widget): set_property -> update.
11480         (image_instantiator_buttons): ditto.
11481         (image_instantiator_progress_guage): ditto.
11482         (image_instantiator_tab_control): ditto.
11483         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11484         (image_instantiator_layout): add update method.
11485
11486         * glyphs-msw.c (bmp_normalize):
11487         (mswindows_resource_normalize): add dest_mask so that it can be
11488         proprogated by layout_normalize.
11489         (begin_defer_window_pos): make optional because it may not be the
11490         right thing to do and it introduces differences with X.
11491         (mswindows_unmap_subwindow): ditto.
11492         (mswindows_map_subwindow): ditto.
11493         (mswindows_redisplay_subwindow): renamed from
11494         mswindows_update_subwindow.
11495         (mswindows_redisplay_widget): ditto.
11496         (mswindows_button_redisplay): renamed from
11497         mswindows_button_update. Update is now what the instantiation
11498         function does for a changed instantiator.
11499         (mswindows_progress_gauge_instantiate): set the progress value
11500         here if appropriate.
11501         (mswindows_tab_control_redisplay): cope with re-ordering of the
11502         members of the tab widget by simply selecting the new top
11503         widget. This makes things appear ok if you click on a tab.
11504         (mswindows_combo_box_instantiate): image_instance_layout now takes
11505         position as well as size.
11506         (mswindows_progress_gauge_redisplay): renamed from
11507         mswindows_progress_gauge_update.
11508         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11509         (image_instantiator_format_create_glyphs_mswindows): ditto.
11510
11511         * glyphs-eimage.c (jpeg_normalize):
11512         (gif_normalize):
11513         (png_normalize):
11514         (tiff_normalize): add dest_mask so that it can be proprogated by
11515         layout_normalize.
11516
11517         * elhash.c:
11518         (print_hash_table):
11519         (hash_table_weakness_validate):
11520         (decode_hash_table_weakness):
11521         (Fhash_table_weakness):
11522         (Fhash_table_type):
11523         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11524
11525         * console.h (struct console_methods): move update_* to
11526         redisplay_*.
11527
11528 2000-07-20  Ben Wing  <ben@xemacs.org>
11529
11530         * *.[ch] (XSETOBJ): remove unused middle argument.
11531         lisp-disunion.h: correct wrap_object() to one argument.
11532
11533 2000-07-15  Ben Wing  <ben@xemacs.org>
11534
11535         * s/cygwin32.h:
11536         * s/cygwin32.h (CYGWIN_CONV_PATH):
11537         Add missing logb prototype for v1.1.
11538         Use post-b20 names and alias to pre-b20 names when pre-b20.
11539
11540         * s/windowsnt.h: [5].
11541
11542 2000-07-15  Ben Wing  <ben@xemacs.org>
11543
11544         * Makefile.in.in (x_objs):
11545         * Makefile.in.in (sheap_objs):
11546         * Makefile.in.in (objs):
11547         added win32.o, cosmetic cleanups.
11548
11549         * alloc.c (Fmake_byte_code):
11550         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11551         etc. macros which declare their own args now.
11552
11553         * alloc.c (syms_of_alloc):
11554         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11555
11556         * buffer.c:
11557         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11558
11559         * buffer.c (Fget_file_buffer):
11560         Fixed GCPRO problem.
11561
11562         * buffer.c (get_truename_buffer):
11563         Fixed comment about GC checking.
11564
11565         * buffer.c (syms_of_buffer):
11566         Undeclared those dedicated frame funs.
11567         [2].
11568
11569         * buffer.h:
11570         Define convenience macros for internal/external conversions.
11571         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11572         and Qenvironment_variable_encoding for cleaner code.
11573
11574         * bufslots.h:
11575         Remove dedicated-frame; in lisp.
11576
11577         * bytecode.c (funcall_compiled_function):
11578         [1].
11579
11580         * bytecode.c (syms_of_bytecode):
11581         [2].
11582
11583         * console-msw.c:
11584         * console-msw.c (mswindows_show_console): Rewrote.
11585
11586         * console-msw.c (Fmswindows_debugging_output): New.
11587         Sends to OutputDebugString (special MSWin debugger interface).
11588
11589         * console-msw.c (Fmswindows_message_box):
11590         Fixed stupid bugs so it works when called from kill-emacs.
11591
11592         * console-msw.c (syms_of_console_mswindows):
11593         Declare Fmswindows_debugging_output.
11594
11595         * console-msw.h:
11596         New MSWin prototypes.
11597
11598         * console-msw.h (struct mswindows_frame):
11599         New entry last-click-mods for improved button-modifier support.
11600
11601         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11602         New struct entry `popup' with corresponding accessor.
11603
11604         * console-x.c:
11605         * console-x.c (split_up_display_spec):
11606         * console-x.c (get_display_arg_connection):
11607         * console-x.c (x_semi_canonicalize_console_connection):
11608         * console-x.c (x_canonicalize_device_connection):
11609         [[[6]]]: Change char to more specific type.
11610         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11611
11612         * console-x.c (x_semi_canonicalize_console_connection):
11613         * console-x.c (x_canonicalize_device_connection):
11614         [[[9]]]: Fix up error signalling to use new structured error system.
11615
11616         * console-x.h:
11617         [[[4]]]: Define codesys aliases:
11618         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11619         Qx_color_name_encoding, Qx_display_name_encoding.
11620
11621         * console.h (struct console_methods):
11622         New method make_dialog_box_internal supersedes older
11623         popup_dialog_box method.
11624
11625         * data.c:
11626         Define many new errors, part of new structured errors.
11627
11628         * data.c (init_errors_once_early):
11629         * data.c (syms_of_data):
11630         [2].
11631
11632         * device-msw.c (mswindows_init_device):
11633         [[[5]]]: Cleanup to support NT 3.51.
11634
11635         * device-msw.c (decode_devmode): Cleanup.
11636
11637         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11638         * device-msw.c (mswindows_handle_print_dialog_box):
11639         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11640         * device-msw.c (syms_of_device_mswindows):
11641         Delete the dialog box primitives recently introduced by Kirill and
11642         instead interface to general dialog box interface.
11643
11644         * device-x.c:
11645         * device-x.c (compute_x_app_name):
11646         * device-x.c (x_init_device):
11647         * device-x.c (Fx_valid_keysym_name_p):
11648         * device-x.c (Fx_set_font_path):
11649         [6].
11650         [7].
11651
11652         * device.h (wrap_device): New.
11653         First of its kind; meant to replace XSETDEVICE.
11654
11655         * dialog-msw.c: Many file-dialog symbols.
11656
11657         * dialog-msw.c (mswindows_register_popup_frame): New.
11658         * dialog-msw.c (mswindows_is_dialog_msg): New.
11659         For supporting kbd traversal in dialog boxes.
11660
11661         * dialog-msw.c (dialog_proc):
11662         Support hitting ESC in dialogs.
11663
11664         * dialog-msw.c (struct):
11665         Common dialog box errors.
11666
11667         * dialog-msw.c (handle_file_dialog_box): New.
11668         Add file dialog code.
11669
11670         * dialog-msw.c (handle_question_dialog_box):
11671         Redo existing code to support new question dialog syntax.
11672
11673         * dialog-msw.c (console_type_create_dialog_mswindows):
11674         We support new dialog console method.
11675
11676         * dialog-msw.c (syms_of_dialog_mswindows):
11677         * dialog-msw.c (vars_of_dialog_mswindows):
11678         New file dialog symbols, vars.
11679
11680         * dialog-x.c:
11681         * dialog-x.c (maybe_run_dbox_text_callback):
11682         * dialog-x.c (dbox_descriptor_to_widget_value):
11683         * dialog-x.c (x_make_dialog_box_internal):
11684         * dialog-x.c (console_type_create_dialog_x):
11685         Mule-ize entire file.
11686         Redo to support question dialog syntax.
11687         [6].
11688
11689         * dialog.c:
11690         * dialog.c (Fmake_dialog_box_internal):
11691         * dialog.c (syms_of_dialog):
11692         Kill old popup-dialog-box, replace with new primitive.
11693         Just call device method or signal error.
11694
11695         * eldap.c (Fldap_open):
11696         * eldap.c (Fldap_search_basic):
11697         * eldap.c (Fldap_add):
11698         * eldap.c (Fldap_modify):
11699         [1].
11700         [7].
11701
11702         * emacs.c:
11703         * emacs.c (make_arg_list_1):
11704         * emacs.c (make_arg_list):
11705         Mule-ize call to dll_init().
11706         [6].
11707         [8].
11708
11709         * emacs.c (make_argc_argv):
11710         * emacs.c (free_argc_argv):
11711         * emacs.c (init_cmdargs):
11712         * emacs.c (main_1):
11713         * emacs.c (Fkill_emacs):
11714         * emacs.c (Fdump_emacs):
11715         Update comments about what can be used in syms_* etc.
11716         Call init_win32() when necessary.
11717         Fix up MS Win dialog box in kill-buffer to actually work right.
11718         [7].
11719
11720         * eval.c:
11721         * eval.c (For):
11722         * eval.c (Fand):
11723         * eval.c (Fprogn):
11724         * eval.c (Fprog1):
11725         * eval.c (Fprog2):
11726         * eval.c (FletX):
11727         * eval.c (Flet):
11728         * eval.c (condition_case_3):
11729         * eval.c (Feval):
11730         * eval.c (function_argcount):
11731         * eval.c (funcall_lambda):
11732         [1].
11733
11734         * eval.c (type_error): New.
11735         * eval.c (maybe_type_error): New.
11736         * eval.c (continuable_type_error): New.
11737         * eval.c (maybe_continuable_type_error): New.
11738         * eval.c (type_error_with_frob): New.
11739         * eval.c (maybe_type_error_with_frob): New.
11740         * eval.c (continuable_type_error_with_frob): New.
11741         * eval.c (maybe_continuable_type_error_with_frob): New.
11742         New functions for use with structured errors.
11743
11744         * event-Xt.c:
11745         * event-Xt.c (x_event_to_emacs_event):
11746         Buttons are now modifiers too.
11747
11748         * event-Xt.c (emacs_Xt_current_event_timestamp):
11749         Implement new event method.
11750         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11751
11752         * event-msw.c:
11753         * event-msw.c (ntpipe_shove_writer): [5].
11754         * event-msw.c (mswindows_enqueue_mouse_button_event):
11755         * event-msw.c (mswindows_drain_windows_queue):
11756         * event-msw.c (mswindows_wnd_proc): [7].
11757         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11758         * event-msw.c (mswindows_modifier_state):
11759         Throughout: support new button modifiers.
11760
11761         * event-msw.c (emacs_mswindows_current_event_timestamp):
11762         Implement new event method.
11763         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11764
11765         * event-stream.c:
11766         * event-stream.c (event_stream_current_event_timestamp): New.
11767         * event-stream.c (maybe_kbd_translate): New functionality.
11768         * event-stream.c (vars_of_event_stream):
11769         Document new kbd-translate-table functionality.
11770
11771         * event-stream.c (Fcurrent_event_timestamp): New.
11772         New primitive for use in fabricated events.
11773         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11774
11775         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11776
11777         * events.c:
11778         * events.c (Fmake_event):
11779         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11780         [1].
11781         [9].
11782
11783         * events.c (format_event_object): fix gcc warnings.
11784
11785         * events.c (Fevent_timestamp): Document new primitives.
11786
11787         * events.c (TIMESTAMP_HALFSPACE): New.
11788
11789         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11790         comparing timestamps correctly (half-space algorithm).
11791
11792         * events.c (Fevent_modifier_bits): Doc fix.
11793
11794         * events.c (Fevent_modifiers): Major doc addition.
11795         * events.c (event_x_y_pixel_internal): Typo fix.
11796         * events.c (syms_of_events): Declare new primitives.
11797
11798         * events.h:
11799         Update long comment for button modifiers, timestamps.
11800
11801         * events.h (struct event_stream):
11802         New current_event_timestamp method.
11803
11804         * extents.c:
11805         * extents.c (extent_in_region_p):
11806         * extents.c (decode_extent):
11807         * extents.c (Fset_extent_parent):
11808         * extents.c (decode_map_extents_flags):
11809         Fix gcc warnings.
11810         [9].
11811
11812         * extents.c (struct extent_at_arg):
11813         * extents.c (decode_extent_at_flag):
11814         * extents.c (extent_at_mapper):
11815         * extents.c (extent_at_bytind):
11816         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11817         * extents.c (Fextents_at): New primitive. [9].
11818         * extents.c (symbol_to_glyph_layout): [9].
11819         Support new primitive `extents-at'.
11820
11821
11822         * extents.c (get_text_property_bytind):
11823         extent_at_bytind has another arg.
11824         [9].
11825
11826         * extents.c (syms_of_extents): New primitive.
11827
11828         * file-coding.c (Fmake_coding_system): [1].
11829         * file-coding.c (subsidiary_coding_system): fix gcc warning
11830         * file-coding.c (syms_of_file_coding): [2].
11831
11832         * fileio.c (Fexpand_file_name):
11833         * fileio.c (Fsysnetunam):
11834         * fileio.c (Ffile_exists_p):
11835         * fileio.c (Ffile_executable_p):
11836         * fileio.c (Fverify_visited_file_modtime):
11837         Clean up GCPROing.
11838
11839         * fileio.c (syms_of_fileio): [2].
11840
11841         * filelock.c (lock_file_1):
11842         * filelock.c (current_lock_owner):
11843         * filelock.c (lock_if_free):
11844         * filelock.c (lock_file):
11845         * filelock.c (unlock_file):
11846         Clean up GCPROing.
11847
11848         * fns.c (concat): Fix gcc warning.
11849
11850         * fns.c (Fmember):
11851         * fns.c (Fold_member):
11852         * fns.c (Fmemq):
11853         * fns.c (Fold_memq):
11854         * fns.c (memq_no_quit):
11855         * fns.c (Fassoc):
11856         * fns.c (Fold_assoc):
11857         * fns.c (Fassq):
11858         * fns.c (Fold_assq):
11859         * fns.c (assq_no_quit):
11860         * fns.c (Frassoc):
11861         * fns.c (Fold_rassoc):
11862         * fns.c (Frassq):
11863         * fns.c (Fold_rassq):
11864         * fns.c (rassq_no_quit):
11865         * fns.c (Fdelete):
11866         * fns.c (Fold_delete):
11867         * fns.c (Fdelq):
11868         * fns.c (Fold_delq):
11869         * fns.c (delq_no_quit):
11870         * fns.c (Fremassoc):
11871         * fns.c (Fremassq):
11872         * fns.c (remassq_no_quit):
11873         * fns.c (Fremrassoc):
11874         * fns.c (Fremrassq):
11875         * fns.c (remrassq_no_quit):
11876         * fns.c (Freverse):
11877         * fns.c (mapcar1):
11878         [1].
11879
11880         * frame-msw.c (mswindows_init_frame_1):
11881         * frame-msw.c (mswindows_delete_frame):
11882         Register popups with dialog code so keyboard traversing works.
11883
11884         * frame-tty.c (tty_raise_frame_no_select): [1].
11885
11886         * frame-x.c:
11887         * frame-x.c (x_set_frame_text_value):
11888         * frame-x.c (x_set_frame_properties):
11889         * frame-x.c (x_create_widgets):
11890         [7].
11891
11892         * frame.c:
11893         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11894
11895         * frame.h (wrap_frame): New.
11896         Macro like wrap_device.
11897
11898         * general.c:
11899         * general.c (SYMBOL):
11900         * general.c (syms_of_general):
11901         Major reorg.  This is now just a wrapper and symbols themselves
11902         are listed in general-slots.h.
11903
11904         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11905         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11906
11907         * glyphs-msw.c (mswindows_native_layout_instantiate):
11908         Add DS_CONTROL so keyboard traversal will work.
11909
11910         * glyphs-widget.c:
11911         * glyphs-widget.c (syms_of_glyphs_widget):
11912         Move some symbols to general-slots.h.
11913
11914         * glyphs-x.c:
11915         * glyphs-x.c (xbm_instantiate_1):
11916         * glyphs-x.c (x_xbm_instantiate):
11917         * glyphs-x.c (x_xface_instantiate):
11918         * glyphs-x.c (autodetect_instantiate):
11919         * glyphs-x.c (cursor_font_instantiate):
11920         * glyphs-x.c (x_update_widget):
11921         * glyphs-x.c (x_widget_instantiate):
11922         * glyphs.c (bitmap_to_lisp_data):
11923         * glyphs.c (pixmap_to_lisp_data):
11924         [7].
11925
11926         * glyphs.c (syms_of_glyphs):
11927         [2].
11928
11929         * gui-x.c:
11930         * gui-x.c (print_widget_value):
11931         * gui-x.c (menu_separator_style_and_to_external):
11932         * gui-x.c (add_accel_and_to_external):
11933         * gui-x.c (button_item_to_widget_value):
11934         * gui-x.c (gui_items_to_widget_values_1):
11935         * gui-x.c (gui_items_to_widget_values):
11936         * gui-x.c (syms_of_gui_x):
11937         * gui-x.c (vars_of_gui_x):
11938         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11939         [9].
11940
11941         * gui-x.h:
11942         Muleize, prototype changes matching gui-x.c.
11943
11944         * gui.c:
11945         * gui.c (separator_string_p):
11946         * gui.c (gui_item_add_keyval_pair):
11947         * gui.c (make_gui_item_from_keywords_internal):
11948         * gui.c (signal_too_long_error):
11949         * gui.c (parse_gui_item_tree_item):
11950         * gui.c (syms_of_gui):
11951         * gui.c (vars_of_gui):
11952         * gui.h:
11953         menu-no-selection-hook moved here (used by MSWin).
11954         Move some symbols to general-slots.h.
11955         [6].
11956         [9].
11957
11958         * insdel.c (get_buffer_pos_char):
11959         * insdel.c (get_buffer_range_char):
11960         Add GC comments.
11961
11962         * keymap.c (keymap_lookup_directly):
11963         * keymap.c (keymap_store):
11964         * keymap.c (ensure_meta_prefix_char_keymapp):
11965         * keymap.c (describe_map):
11966         * keymap.h:
11967         Support new button modifiers.
11968
11969         * lisp-disunion.h (wrap_object):
11970         * lisp-disunion.h (XSETOBJ):
11971         Rename make_obj to wrap_object.
11972
11973         * lisp-union.h:
11974         * lisp-union.h (make_int):
11975         * lisp-union.h (make_char):
11976         Support wrap_object.
11977
11978         * lisp.h:
11979         * lisp.h (LIST_LOOP):
11980         * lisp.h (EXTERNAL_LIST_LOOP):
11981         * lisp.h (LIST_LOOP_2):
11982         * lisp.h (EXTERNAL_LIST_LOOP_1):
11983         * lisp.h (EXTERNAL_LIST_LOOP_2):
11984         * lisp.h (EXTERNAL_LIST_LOOP_3):
11985         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11986         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11987         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11988         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11989         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11990         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11991         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11992         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11993         * lisp.h (struct Lisp_Symbol):
11994         * lisp.h (maybe_continuable_error_with_frob):
11995         Fix up section comments.
11996         Add new types for char to indicate usage.
11997         Delete symbols auto-generated from general-slots.h.
11998         Add prototypes for structured error functions.
11999         Add long comments describing looping macros and change interface
12000         so that lvalues are automatically declared.
12001         Add NO_DECLARE macro in case callers want to declare lvalues
12002         themselves.
12003
12004         * lread.c (read_syntax_error):
12005         * lread.c (continuable_read_syntax_error):
12006         * lread.c (read_structure):
12007         * lread.c (sequence_reader):
12008         * lread.c (read_list_conser):
12009         * lread.c (read_compiled_function):
12010         Rename syntax_error and continuable_syntax_error to avoid clash
12011         with same-named structured error functions.
12012
12013         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12014         * menubar-msw.c (populate_menu_add_item):
12015         * menubar-msw.c (populate_or_checksum_helper):
12016         [5].
12017         [9].
12018
12019         * menubar-x.c:
12020         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12021         Mule-ize whole file.
12022
12023         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12024
12025         * mule-charset.c (Fmake_charset):
12026         * mule-wnnfns.c (Fwnn_set_param):
12027         [1].
12028
12029         * ntproc.c (create_child):
12030         * ntproc.c (Fwin32_set_current_locale):
12031         Add comments portending doom.
12032
12033         * objects-msw.c:
12034         * objects-msw.c (old_font_enum_callback_2):
12035         * objects-msw.c (font_enum_callback_1):
12036         * objects-msw.c (mswindows_enumerate_fonts):
12037         [5].
12038
12039         * objects-x.c:
12040         * objects-x.c (allocate_nearest_color):
12041         * objects-x.c (x_parse_nearest_color):
12042         * objects-x.c (x_initialize_color_instance):
12043         * objects-x.c (x_print_color_instance):
12044         * objects-x.c (x_finalize_color_instance):
12045         * objects-x.c (x_valid_color_name_p):
12046         * objects-x.c (x_initialize_font_instance):
12047         * objects-x.c (x_print_font_instance):
12048         * objects-x.c (valid_x_font_name_p):
12049         * objects-x.c (truename_via_FONT_prop):
12050         * objects-x.c (truename_via_random_props):
12051         * objects-x.c (truename_via_XListFonts):
12052         * objects-x.c (x_font_truename):
12053         * objects-x.c (x_font_instance_truename):
12054         * objects-x.c (x_font_instance_properties):
12055         * objects-x.c (x_list_fonts):
12056         * objects-x.c (x_find_charset_font):
12057         Mule-ize entire file.
12058         [7].
12059
12060         * objects-x.h:
12061         Mule-verify.
12062
12063         * print.c:
12064         * print.c (std_handle_out_external):
12065         * print.c (debug_print_no_newline):
12066         * print.c (syms_of_print):
12067         Output to all debugger kinds in debug-print.
12068         Fix console-output code under MSWin to actually work.
12069
12070         * process-nt.c (send_signal):
12071         * process-nt.c (nt_create_process):
12072         Use newer Unicode macros.
12073
12074         * process-unix.c (unix_create_process):
12075         * process-unix.c (unix_canonicalize_host_name):
12076         * process-unix.c (unix_open_network_stream):
12077         [7].
12078
12079         * scrollbar-x.c:
12080         Mule-verify.
12081
12082         * search.c (syms_of_search):
12083         [2].
12084
12085         * select-msw.c (mswindows_destroy_selection):
12086         Use LIST_LOOP_2.
12087
12088         * select-x.c (symbol_to_x_atom):
12089         [7].
12090
12091         * select.c (syms_of_select):
12092         [2].
12093
12094         * sound.c (Fplay_sound_file):
12095         [7].
12096
12097         * specifier.c:
12098         * specifier.c (decode_specifier_type):
12099         * specifier.c (Fvalid_specifier_locale_type_p):
12100         * specifier.c (check_valid_locale_or_locale_type):
12101         * specifier.c (decode_locale):
12102         * specifier.c (decode_locale_type):
12103         * specifier.c (decode_locale_list):
12104         * specifier.c (check_valid_domain):
12105         * specifier.c (decode_specifier_tag_set):
12106         * specifier.c (Fcanonicalize_tag_set):
12107         * specifier.c (Fdefine_specifier_tag):
12108         * specifier.c (Fspecifier_tag_predicate):
12109         * specifier.c (check_valid_inst_list):
12110         * specifier.c (check_valid_spec_list):
12111         * specifier.c (decode_how_to_add_specification):
12112         * specifier.c (check_modifiable_specifier):
12113         * specifier.c (specifier_add_spec):
12114         * specifier.c (boolean_validate):
12115         * specifier.c (display_table_validate):
12116         [9].
12117
12118         * specifier.c (syms_of_specifier):
12119         Move some symbols to general-slots.h.
12120         [2].
12121
12122         * symbols.c:
12123         * symbols.c (Fmapatoms):
12124         * symbols.c (Fapropos_internal):
12125         Add GCPROs.
12126
12127         * symbols.c (set_default_buffer_slot_variable):
12128         * symbols.c (set_default_console_slot_variable):
12129         [1].
12130
12131         * symbols.c (defsymbol_massage_name_1):
12132         * symbols.c (defkeyword_massage_name):
12133         * symbols.c (deferror_1):
12134         * symbols.c (deferror):
12135         * symbols.c (deferror_massage_name_and_message):
12136         * symeval.h:
12137         * symeval.h (DEFSYMBOL):
12138         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12139
12140         * symbols.c (syms_of_symbols):
12141         [2].
12142
12143         * symsinit.h:
12144         * symsinit.h (init_win32): New.
12145         Also new is syms_of_dialog_mswindows.
12146
12147         * syswindows.h:
12148         Add new Unicode macros, missing Cygwin wide-char functions,
12149         convenience conversion macros for Qmswindows_tstr, macros for
12150         encapsulating required MSWin <-> Cygwin filename conversions,
12151         prototype for dynamically-extracted (not in NT 3.51) functions.
12152
12153         * toolbar-x.c:
12154         Mule-verify.
12155
12156         * tooltalk.c (Fadd_tooltalk_message_arg):
12157         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12158         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12159         [7].
12160
12161         * tooltalk.c (syms_of_tooltalk):
12162         [2].
12163
12164         * unexnt.c:
12165         * unexnt.c (unexec):
12166         Fix up headers, declaration of unexec() to be more standard.
12167
12168 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12169
12170         * offix.h: Revert change to guard macros - they're used in offix.c!
12171
12172 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12173
12174         * lisp.h: Defsubred Fdelete.
12175
12176         * console-msw.h:  (msprinter_default_printer): Added.
12177
12178         * console-msw.c (msprinter_canonicalize_console_connection):
12179         (msprinter_canonicalize_device_connection): Added.
12180
12181         * device-msw.c (msprinter_default_printer):
12182         (Fmswingows_get_default_printer):
12183         (signal_enum_priner_error):
12184         (Fmswingows_printer_list): Added.
12185
12186 2000-07-19  Martin Buchholz <martin@xemacs.org>
12187
12188         * XEmacs 21.2.35 is released.
12189
12190 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12191
12192         * select-x.c (x_handle_selection_request):
12193         Text selected in xemacs and pasted into xterm failed to appear.
12194         Spelling fixes and cosmetic changes.
12195
12196 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12197
12198         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12199         XEmacs frame (fix for doubling chars in dialog boxes).
12200
12201 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12202
12203         * select.c (select_convert_in, select_convert_out):
12204         Don't call intern() every time.
12205
12206         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12207         * select.c (vars_of_select): Initialise them.
12208
12209 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12210
12211         * select.c (selection-coercible-types): New.
12212
12213         * select.c (own-selection-internal):
12214         * select.c (get-selection-internal):
12215         MULE bug fix - these should default to COMPOUND_TEXT and not
12216         STRING for MULE. I think.
12217
12218         * select.c (select_convert_out): Use selection-coercible-types
12219         to find types that we can attempt to perform coercions on.
12220
12221 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12222
12223         * mule-wnnfns.c:
12224         * mule-canna.c:
12225         Add coding: cookie to identify encoding.
12226
12227         * mule-canna.c (CANNA_mode_keys): make static.
12228         Use proper prototypes, even for functions of no arguments.
12229         Remove external prototype for Fding().
12230
12231         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12232
12233         * select.c (syms_of_select): Add missing DEFSUBR.
12234
12235 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12236
12237         * select.c (get_selection_internal, own_selection_internal):
12238         Make the type default to STRING, rather than placing a nil type
12239         into Vselection_alist.
12240
12241 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12242
12243         * gpmevent.c (tty_selection_exists_p):
12244         * gpmevent.c (tty_own_selection):
12245         Updated parameter lists.
12246
12247 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12248
12249         * select.h (selection-alist): Removed declaration.
12250
12251         * select.h (get_local_selection):
12252         * select.c (get_local_selection):
12253         Made static.
12254
12255         * select.h (convert_selection): Removed declaration.
12256         * select.c (convert_selection): Removed.
12257         This function belongs in Lisp.
12258
12259         * select.h (select_convert_in): Declare.
12260         * select.h (select_convert_out): Declare.
12261         * select.c (select_convert_in): New.
12262         * select.c (select_convert_out): New.
12263         New conversion functions for other files to call.
12264
12265         * select.h (select_notify_buffer_kill): Declare.
12266         * select.c (select_notify_buffer_kill): New.
12267         New functions that get called from kill-buffer.
12268
12269         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12270         X-specific lisp code.
12271
12272         * select.h: Declare some of the lisp-visible functions for
12273         external use.
12274
12275         * select.c (clean_local_selection_data): Removed. This was
12276         a disgusting function, and previously should have been in
12277         select-x.c in any case. The functionality is now provided
12278         in select-convert-from-integer (select.el).
12279
12280         * select.c (available-selection-types): Fixed stupidity where
12281         INTEGER and ATOM got added twice. Also add STRING when we see an
12282         extent.
12283
12284         * select.c (get-selection-internal): Removed symbol stripping. No
12285         longer causes conversion when data comes from the internal cache.
12286
12287         * select.c (syms_of_select): Added new functions.
12288
12289         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12290         error checking - previously this called abort!
12291
12292         * select-x.c (x_own_selection): Changed comment.
12293
12294         * select-x.c (x_handle_selection_request): Use select_convert_out.
12295         Don't mess with selection-alist; it's an internal variable of select.c.
12296
12297         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12298
12299         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12300         rather than messing with selection-alist.
12301
12302         * select-msw.c (mswindows_get_foreign_selection):
12303         Use TO_INTERNAL_FORMAT rather than hacking.
12304
12305 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12306
12307         * process-unix.c (unix_open_multicast_group):
12308         (unix_open_multicast_group): Remove useless casts.
12309
12310 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12311
12312         * sound.c (Fplay_sound): Fix `unused variable' warning.
12313
12314         * emacs.c (main): Use correct type for _environ on SCO5.
12315
12316 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12317
12318         * console.h (own_selection_method):
12319         * console.h (selection_exists_p_method):
12320         * console.h (available_selection_types_method): New.
12321         * console.h (register_selection_data_type_method): New.
12322         * console.h (selection_data_type_name): New.
12323
12324         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12325         function & alist to track GlobalAlloc()'d handles that need
12326         releasing when the clipboard data gets replaced or emptied.
12327
12328         * event-msw.c (mswindows_wnd_proc): Call it.
12329
12330         * lisp.h, general.c (Qappend): New symbol representing a
12331         `how-to-add' mode.
12332
12333         * select.c (own-selection-internal):
12334         * select.c (selection-exists-p):
12335         * select.c (available-selection-types): New.
12336         * select.c (register-selection-data-type): New.
12337         * select.c (selection-data-type-name): New.  New functions to deal
12338         with device-specific selection data formats.
12339         * select.c (selection-converter-out-alist): Renamed.
12340         * select.c (selection-converter-in-alist): New.
12341         * select.c (selection-appender-alist): New.  Added new alists.
12342         * select.c (syms_of_select, vars_of_select): Added new symbols &
12343         variables.
12344         * select.c (get_local_selection): Split.
12345         * select.c: Removed spurious type checking - selections may now be
12346         of any type, not just strings.
12347         * select.c (own-selection-internal):
12348
12349         * select.h, select.c (convert_selection): New. Created
12350         convert_selection() function based on get_local_selection().
12351         * select.h, select.c (QCF_*): New symbols representing mswindows
12352         clipboard formats.
12353         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12354         symbols representing `how-to-add' modes.
12355
12356         * select-msw.c (x_sym_p): New.
12357         * select-msw.c (symbol_to_ms_cf): New.
12358         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12359         symbols & clipboard formats. Can also handle string names.
12360         * select-msw.c (mswindows_own_selection):
12361         * select-msw.c (mswindows_selection_exists_p):
12362         Added `data-type' parameter. Use it.
12363         * select-msw.c (mswindows_available_selection_types): New.
12364         * select-msw.c (mswindows_register_selection_data_type): New.
12365         * select-msw.c (mswindows_selection_data_type_name): New.
12366         * select-msw.c (mswindows_own_selection):
12367         * select-msw.c (mswindows_get_foreign_selection):
12368         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12369         * select-msw.c (console_create_select_mswindows): Added new methods.
12370         * select-msw.c (mswindows_destroy_selection): New.
12371         * select-msw.c (Vhandle_alist): New list.
12372         * select-msw.c (mswindows_own_selection):
12373
12374         * select-x.c (x_own_selection):
12375         * select-x.c (x_selection_exists_p):
12376         * select-x.c: Added some comments about maybe using new
12377         functionality.
12378         * select-x.c (x_own_selection):
12379
12380         * specifier.c: Remove definition of Qappend (now in general.c)
12381         * specifier.c (syms_of_specifier): Remove Qappend.
12382
12383 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12384
12385         * config.h.in: Add socklen_t.
12386
12387         * s/decosf4-0.h: No special compiler flags needed or desired.
12388         In particular, undefine _BSD for DEC OSF 4.0.
12389
12390 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12391
12392         * redisplay-msw.c (msprinter_frame_output_end): Added.
12393         (console_type_create_redisplay_mswindows): Referred the above.
12394
12395         * frame.c (setup_frame_without_minibuffer): Do not create a
12396         default minibuffer frame on a printer device.
12397
12398         * frame-msw.c (apply_dc_geometry): Added.
12399         (msprinter_start_page):
12400         (msprinter_init_frame_3):
12401         (msprinter_eject_page): Use it.
12402
12403         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12404         and removed residual duplex and orientation properties.
12405
12406 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12407
12408         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12409
12410         * unexalpha.c: Remove system prototypes from C sources!
12411
12412 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12413
12414         * eval.c: Remove references to M-x edit-options in DEFUNs for
12415         `defvar' and `defconst'.
12416
12417 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12418
12419         * config.h.in: Remove SMART_INCLUDE hackery.
12420
12421         PostgreSQL hacking:
12422         * config.h.in: Don't use SMART_INCLUDE.
12423
12424         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12425         * inline.c: Simply #include "postgresql.h"
12426         * postgresql.c:
12427         - Don't use SMART_INCLUDE
12428         - Use simply "const".
12429         - Use standard doc string conventions.
12430         - Use correct type for result of PQstatus.
12431
12432 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12433
12434         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12435
12436         C++ compilation changes.
12437         * config.h.in (EXTERN_C): Define.
12438         * config.h.in (not): This is also a C++ keyword.
12439         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12440         * cm.c: Use EXTERN_C.
12441         * redisplay-tty.c: Use EXTERN_C.
12442         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12443
12444 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12445
12446         * general.c: Remove duplicate definition for Qfunction.
12447
12448 2000-07-08  Ben Wing  <ben@xemacs.org>
12449
12450         * device-msw.c (msprinter_init_device):
12451         * device-msw.c (sync_printer_with_devmode):
12452         * device-msw.c (handle_devmode_changes):
12453         * device-msw.c (print_dialog_worker):
12454         * device-msw.c (Fmsprinter_apply_settings):
12455         * device-msw.c (hash_devmode):
12456         * device-msw.c (Fmsprinter_settings_despecialize):
12457         use Qmswindows_tstr, not Qctext.
12458
12459         * vm-limit.c (check_memory_limits):
12460         avoid infinite loop printing warning messages.
12461
12462 2000-07-05  Craig Lanning  <lanning@scra.org>
12463
12464         * Makefile.in.in: Add support for including the Windows resources
12465         when building with the cygwin and mingw targets.
12466
12467         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12468         not set or not correct.
12469         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12470         (init_initial_directory): Don't try to use $PWD on the
12471         WIN32_NATIVE target.
12472
12473         * s\cygwin32.h:
12474         [[Add -mwindows to eliminate console window.]] not required --ben
12475         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12476         (MAIL_USE_POP): removed; now handled by configure.
12477
12478         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12479         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12480         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12481         (MAIL_USE_POP): removed; now handled by configure.
12482         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12483         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12484         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12485         constant string.
12486         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12487         up from <winsock.h> via systime.h.
12488         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12489         (getpagesize): from Dan Holmsand, added.
12490         Added #endif which was left dangling by Ben's mega patch; added
12491         comment to help prevent this in the future.
12492
12493         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12494
12495 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12496
12497         * console-msw.h (struct mswindows_device): Removed unnecessary
12498         cached device geometry values.
12499         Added update_tick and an accessor macro.
12500         (Lisp_Devmode): Added lrecord declaration.
12501         (struct msprinter_device): Contain devmode as a Lisp object.
12502         Added mswindows_get_selected_frame_hwnd();
12503
12504         * console.h (struct console_methods): Indentation nitpicking.
12505
12506         * device-msw.c (mswindows_init_device): Do not initialize geometry
12507         cache. Initialize update tick.
12508         (mswindows_device_system_metrics): Ask the device for its geometry.
12509         (global_free_2_maybe):
12510         (devmode_to_hglobal):
12511         (handle_printer_changes):
12512         (ensure_not_printing):
12513         (print_dialog_worker):
12514         (Fmsprinter_print_setup_dialog):
12515         (Fmsprinter_print_dialog):
12516         (plist_get_margin):
12517         (plist_set_margin):
12518         (Fmsprinter_page_setup_dialog): Added functions.
12519         (sync_printer_with_devmode):
12520         (handle_devmode_changes):
12521         (Fmsprinter_get_settings):
12522         (Fmsprinter_select_settings):
12523         (Fmsprinter_apply_settings):
12524         (allocate_devmode):
12525         (Fmsprinter_settings_copy):
12526         (Fmsprinter_settings_despecialize):
12527         (print_devmode):
12528         (finalize_devmode):
12529         (equal_devmode):
12530         (hash_devmode): Added functions
12531         (syms_of_device_mswindows): Init devmode lrecord class.
12532
12533         * device.h: Added an exfun for find-device.
12534
12535         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12536         geometry; although, recreate the device compatible DC.
12537
12538         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12539         (msprinter_init_frame_3):
12540         (msprinter_frame_property):
12541         (msprinter_internal_frame_property_p):
12542         (msprinter_frame_properties):
12543         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12544         print job properties (will move to device settings).
12545
12546         * lisp.h: Added symbols.
12547
12548         * general.c (syms_of_general): Declared them.
12549
12550         * hash.c (string_hash): Added.
12551
12552         * lrecord.h (lrecord_type): Added devmode lrecord type.
12553
12554 2000-07-02  Mike Sperber <mike@xemacs.org>
12555
12556         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12557         FreeBSD 4.0.
12558
12559 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12560
12561         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12562         integer.
12563
12564 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12565
12566         * data.c (Fstring_to_number): Don't recognize floating point if
12567         base is not 10.
12568
12569 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12570
12571         * glyphs-widget.c (tab_control_query_geometry):
12572         (widget_query_geometry):
12573         (button_query_geometry):
12574         * glyphs.c (text_query_geometry):
12575         Enforce type correctness.
12576
12577 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12578
12579         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12580         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12581
12582 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12583
12584         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12585         conflicts with gcc's fixincluded version of FOO.h.
12586
12587         * glyphs.h (image_instance_geometry): Remove trailing `,'
12588
12589 2000-06-08  Mike Alexander  <mta@arbortext.com>
12590
12591         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12592         (shove_thread): Don't write the same output twice
12593         (make_ntpipe_output_stream): Increase priority of shove thread
12594         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12595         chance to run
12596         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12597         it.
12598
12599 2000-06-12  Ben Wing  <ben@xemacs.org>
12600
12601         * s\mingw32.h (sigset):
12602         * s\windowsnt.h (sigset):
12603         rename msw_ to mswindows_ for consistency with general convention.
12604
12605 2000-06-12  Ben Wing  <ben@xemacs.org>
12606
12607         * console-msw.c:
12608         * console-msw.c (mswindows_get_console_hwnd):
12609         * console-msw.c (mswindows_ensure_console_allocated):
12610         * console-msw.c (mswindows_hide_console):
12611         * console-msw.c (mswindows_show_console):
12612         * console-msw.c (mswindows_ensure_console_buffered):
12613         * console-msw.c (mswindows_output_console_string):
12614         * console-msw.c (mswindows_windows9x_p):
12615         * console-msw.h:
12616         * device-msw.c (mswindows_get_workspace_coords):
12617         * device-msw.c (mswindows_device_system_metrics):
12618         * dialog-msw.c (mswindows_popup_dialog_box):
12619         * event-msw.c (mswindows_wnd_proc):
12620         * frame-msw.c (mswindows_size_frame_internal):
12621         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12622         * menubar-msw.c (displayable_menu_item):
12623         * menubar-msw.c (mswindows_char_is_accelerator):
12624         * nt.c:
12625         * nt.c (mswindows_sigset):
12626         * nt.c (mswindows_sigrelse):
12627         * nt.c (mswindows_sigpause):
12628         * nt.c (mswindows_raise):
12629         * nt.c (timer_proc):
12630         * ntproc.c:
12631         * ntproc.c (find_child_console):
12632         * ntproc.c (sys_kill):
12633         * print.c:
12634         * print.c (std_handle_out_external):
12635         * process-nt.c (find_child_console):
12636         * process-nt.c (send_signal_the_95_way):
12637         * process-nt.c (ensure_console_window_exists):
12638         * process-nt.c (nt_create_process):
12639         * syssignal.h:
12640         rename msw_ to mswindows_ for consistency with general convention.
12641
12642         * emacs.c:
12643         * dumper.c:
12644         include nt.h, not syswindows.h.
12645
12646         * nt.c (mswindows_fstat):
12647         * nt.c (mswindows_stat):
12648         prefix mswindows_ instead of attempting to directly override the
12649         library functions.  fix declarations.
12650
12651         * nt.h:
12652         include syswindows.h.  move some sysdep.h stuff here.
12653
12654         * ntheap.h:
12655         include syswindows.h, not <windows.h>.
12656
12657         * ntplay.c:
12658         clean up headers.
12659
12660         * sysdep.c:
12661         clean up headers.
12662
12663         * sysdep.c (sys_fstat):
12664         * sysdep.c (sys_stat):
12665         call mswindows versions when appropriate.
12666
12667         * sysdep.h:
12668         move mswin decls to nt.h.
12669
12670         * syswindows.h:
12671         add long comment describing appropriate use of the various windows
12672         headers.
12673
12674 2000-06-11  Ben Wing  <ben@xemacs.org>
12675
12676         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12677
12678 2000-06-10  Ben Wing  <ben@xemacs.org>
12679
12680         * Makefile.in.in (release):
12681         Correction to make sure xemacs.exe always dumped when correct.
12682
12683         * alloca.c:
12684         * balloon_help.c:
12685         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12686
12687         * buffer.c (set_buffer_internal):
12688         [[[[2]]]]: Remove HAVE_FEP code.
12689
12690         * buffer.c (init_initial_directory):
12691         [3].
12692
12693         * bytecode.c:
12694         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12695         individual files.
12696
12697         * callproc.c:
12698         * callproc.c (call_process_cleanup):
12699         * callproc.c (Fold_call_process_internal):
12700         * callproc.c (child_setup):
12701         * callproc.c (getenv_internal):
12702         * callproc.c (init_callproc):
12703         * callproc.c (vars_of_callproc):
12704         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12705         __CYGWIN32__ -> CYGWIN.
12706         DOS_NT -> WIN32_NATIVE.
12707         Remove MSDOS support/references, converting to WIN32_NATIVE
12708           where correct.
12709         __MINGW32__ -> MINGW.
12710         Fix windows.h includes.
12711         Remove bogus HAVE_NTGUI.
12712
12713         * config.h.in:
12714         [2].
12715
12716         * console-msw.c:
12717         mswindows_message_outputted added for use in allowing startup
12718         errors on the console to be seen.
12719
12720         * console-msw.c (msw_ensure_console_allocated):
12721         * console-msw.c (msw_output_console_string):
12722         * console-msw.c (DHEADER):
12723         * console-msw.c (DOPAQUE_DATA):
12724         * console-msw.c (DEVENT):
12725         * console-msw.c (DCONS):
12726         * console-msw.c (DCONSCDR):
12727         * console-msw.c (DSTRING):
12728         * console-msw.c (DVECTOR):
12729         * console-msw.c (DSYMBOL):
12730         * console-msw.c (DSYMNAME):
12731         Fix warnings.
12732
12733         * console-stream.c (stream_init_console):
12734         Fix text/binary problems.
12735
12736         * device-msw.c:
12737         * device-msw.c (mswindows_finish_init_device):
12738         * device-msw.c (mswindows_delete_device):
12739         [1].
12740
12741         * device.c (handle_asynch_device_change):
12742         [3].
12743
12744         * dgif_lib.c:
12745         * dgif_lib.c (DGifOpenFileName):
12746         * dgif_lib.c (DGifOpenFileHandle):
12747         * dgif_lib.c (DGifGetLine):
12748         * dgif_lib.c (DGifGetPixel):
12749         Added config.h/lisp.h, fix up includes.
12750         [1].
12751
12752         * dired-msw.c:
12753         [4].
12754
12755         * dired.c:
12756         * dired.c (file_name_completion):
12757         * dired.c (Ffile_attributes):
12758         * dired.c (syms_of_dired):
12759         [1].
12760
12761         * dumper.c:
12762         * dumper.c (pdump_file_unmap):
12763         * dumper.c (pdump_load):
12764         [1].
12765
12766         * editfns.c:
12767         * editfns.c (Ftemp_directory):
12768         * editfns.c (user_login_name):
12769         * editfns.c (Fuser_real_login_name):
12770         * editfns.c (get_home_directory):
12771         [1].
12772
12773         * elhash.c (finish_marking_weak_hash_tables):
12774         [[[[5]]]]: Fix GCC warnings.
12775
12776         * emacs.c:
12777         * emacs.c (mswindows_handle_hardware_exceptions):
12778         * emacs.c (make_arg_list_1):
12779         * emacs.c (main_1):
12780         * emacs.c (Fkill_emacs):
12781         * emacs.c (Fdump_emacs):
12782         [1].
12783         Fix problems with nested crashes, add long comment.
12784
12785         * event-Xt.c (init_event_Xt_late):
12786         [1].
12787
12788         * event-msw.c:
12789         * event-msw.c (mswindows_dde_callback):
12790         * event-msw.c (mswindows_handle_sticky_modifiers):
12791         * event-msw.c (mswindows_wnd_proc):
12792         [1].
12793         [5].
12794
12795         * events.c (character_to_event):
12796         [1].
12797
12798         * fileio.c:
12799         * fileio.c (Ffile_name_directory):
12800         * fileio.c (Ffile_name_nondirectory):
12801         * fileio.c (directory_file_name):
12802         * fileio.c (Fexpand_file_name):
12803         * fileio.c (Fsubstitute_in_file_name):
12804         * fileio.c (Ffile_name_absolute_p):
12805         * fileio.c (check_executable):
12806         * fileio.c (Ffile_readable_p):
12807         * fileio.c (Ffile_accessible_directory_p):
12808         * fileio.c (Ffile_modes):
12809         * fileio.c (Funix_sync):
12810         * fileio.c (vars_of_fileio):
12811         [1]. [4].
12812
12813         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12814
12815         Expand getdefdir defn.
12816         Fix bogus rename() comment.
12817
12818         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12819         to use standard XEmacs include files, e.g. sysfile.h, rather
12820         than system-specific includes.
12821
12822         * fns.c:
12823         * fns.c (Fsubseq):
12824         [5]. [6].
12825
12826         * frame.c (vars_of_frame):
12827         [1].
12828
12829         * getloadavg.c:
12830         * getloadavg.c (getloadavg):
12831         [1]. [6].
12832         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12833         (We don't use it elsewhere in the code; just add a comment.)
12834
12835         * gif_io.c:
12836         [6].
12837         Add config.h.
12838
12839         * glyphs-msw.c:
12840         * glyphs-msw.c (mswindows_resource_instantiate):
12841         [1].
12842
12843         * glyphs-x.c (x_native_layout_instantiate):
12844         [5].
12845
12846         * gui-msw.c (Fmswindows_shell_execute):
12847         [1].
12848
12849         * insdel.c:
12850         [4].
12851
12852         * lisp.h:
12853         [4]. [5].
12854
12855         * lread.c (locate_file_in_directory_mapper):
12856         [1].
12857
12858         * lstream.c:
12859         [4].
12860
12861         * mem-limits.h:
12862         * mem-limits.h (get_lim_data):
12863         [1].
12864
12865         * menubar-msw.c:
12866         [4].
12867
12868         * ndir.h:
12869         [1].
12870
12871         * nt.c:
12872         * nt.c (getwd):
12873         * nt.c (closedir):
12874         * nt.c (rva_to_section):
12875         * nt.c (mswindows_executable_type):
12876         [1]. [6].
12877         Fix closedir() defn.
12878
12879         * nt.h:
12880         [[[[8]]]]: *_OK defs moved to sysfile.h.
12881
12882         * ntproc.c:
12883         [6]. [7].
12884
12885         * objects-x.c:
12886         [4].
12887
12888         * print.c:
12889         * print.c (std_handle_out_external):
12890         [1]. [4].
12891
12892         * process-nt.c:
12893         * process-nt.c (nt_create_process):
12894         [6].
12895         try to fix process quoting somewhat.
12896
12897         * process-unix.c (unix_create_process):
12898         [1].
12899
12900         * process.c:
12901         * process.c (vars_of_process):
12902         Add Vnull_device.
12903
12904         * process.h:
12905         [1].
12906
12907         * realpath.c:
12908         * realpath.c (xrealpath):
12909         [1].
12910
12911         * redisplay-tty.c (init_tty_for_redisplay):
12912         [3].
12913
12914         * redisplay.c:
12915         [4]. [6].
12916
12917         * scrollbar-msw.c:
12918         [4].
12919
12920         * sheap.c:
12921         * sheap.c (more_static_core):
12922         * sheap.c (report_sheap_usage):
12923         [5]. [6].
12924
12925         * signal.c:
12926         * signal.c (alarm_signal):
12927         [1]. [6].
12928
12929         * sound.c:
12930         [6].
12931
12932         * strftime.c:
12933         * strftime.c (zone_name):
12934         [1]. [5].
12935
12936         * symsinit.h (init_sunpro):
12937         [1].
12938
12939         * syscommctrl.h:
12940         commctrl.h not in Cygwin b20.1.
12941
12942         * sysdep.c:
12943         * sysdep.c (endif):
12944         * sysdep.c (sys_subshell):
12945         * sysdep.c (init_baud_rate):
12946         * sysdep.c (emacs_get_tty):
12947         * sysdep.c (emacs_set_tty):
12948         * sysdep.c (tty_init_sys_modes_on_device):
12949         * sysdep.c (init_system_name):
12950         * sysdep.c (sys_open):
12951         * sysdep.c (interruptible_open):
12952         * sysdep.c (sys_fopen):
12953         * sysdep.c (sys_mkdir):
12954         * sysdep.c (sys_rename):
12955         * sysdep.c (get_process_times_1):
12956         [1]. [6].
12957
12958         * sysdep.h:
12959         [1].
12960
12961         * sysdir.h:
12962         * sysdir.h (DIRENTRY_NONEMPTY):
12963         [1]. [6].
12964
12965         * sysdll.c (dll_init):
12966         * sysdll.h:
12967         [1].
12968
12969         * sysfile.h:
12970         [1]. [6]. [8].
12971         added text/binary defs.
12972
12973         * sysfloat.h:
12974         [1].
12975
12976         * sysproc.h:
12977         * sysproc.h (EDESTADDRREQ):
12978         * sysproc.h (poll_fds_for_input):
12979         [1]. [6].
12980
12981         * syspwd.h:
12982         [6].
12983
12984         * syssignal.h:
12985         [1].
12986
12987         * systime.h:
12988         [1]. [6].
12989
12990         * systty.h:
12991         [1].
12992
12993         * syswindows.h:
12994         [1].
12995         Always define WIN32_LEAN_AND_MEAN.
12996
12997         * unexcw.c (unexec):
12998         [5].
12999
13000         * unexec.c:
13001         * unexec.c (copy_text_and_data):
13002         * unexec.c (adjust_lnnoptrs):
13003         [1].
13004
13005         * unexnt.c:
13006         * unexnt.c (_start):
13007         [1].
13008
13009 2000-06-07  Ben Wing  <ben@xemacs.org>
13010
13011         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13012         was used only as a model.  We've long since extracted any useful
13013         logic or code out of this. (I just did an exhaustive search.)
13014
13015         * s\msdos.h: Removed.
13016
13017         * s\windows95.h: Removed.
13018
13019 2000-06-10  Ben Wing  <ben@xemacs.org>
13020
13021         * s\cygwin32.h:
13022         [1]. [5].
13023         Don't use extern with fun defs.
13024
13025         * s\mingw32.h:
13026         [1]. [7].
13027         Remove nt\inc include.
13028         Remove getdisk, getdefdir. (The former is unused, the latter
13029         expanded in fileio.h.)
13030
13031         * s\windowsnt.h:
13032         * s\windowsnt.h (WIN32_NATIVE):
13033         * s\windowsnt.h (HAVE_STRCASECMP):
13034         [1]. [7].
13035         Add long comment about preprocessor changes.
13036         Remove getdisk, getdefdir. (The former is unused, the latter
13037         expanded in fileio.h.)
13038
13039 2000-06-10  Ben Wing  <ben@xemacs.org>
13040
13041         * m\arm.h:
13042         * m\delta.h:
13043         * m\intel386.h:
13044         * m\sequent.h:
13045         * m\template.h:
13046         * m\windowsnt.h:
13047         [1].
13048         Remove bogus/unused NO_SOCK_SIGIO.
13049
13050 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13051
13052         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13053         not an Emchar.
13054
13055 2000-06-04  Mike Sperber <mike@xemacs.org>
13056
13057         * casetab.c (set_case_table): For `set-standard-case-table',
13058         actually deposit the new case tables where the rest of XEmacs can
13059         see them.
13060
13061 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13062
13063         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13064
13065 2000-06-05  Ben Wing  <ben@xemacs.org>
13066
13067         * callproc.c (child_setup): Don't do close_load_descs() under
13068         MS Windows.  Put in a comment explaining why.
13069
13070 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13071
13072         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13073         Toolkit shell" which breaks `kill-compilation' on Windows NT
13074         native, retaining STDERR handling improvements.
13075
13076 2000-06-01  Andreas Jaeger  <aj@suse.de>
13077
13078         * s/s390.h: Support for S390, based on a patch by Martin
13079         Schwidefsky <schwidefsky@de.ibm.com>.
13080
13081 2000-05-30  Andy Piper  <andy@xemacs.org>
13082
13083         * window.c (allocate_window):
13084         (make_dummy_parent):
13085         (Fset_window_configuration): use new hashtable type.
13086
13087         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13088         (struct image_instantiator_methods):
13089         (struct Lisp_Image_Instance): make instance geometry signed.
13090
13091         * glyphs.c (instantiate_image_instantiator):
13092         (image_instance_query_geometry):
13093         (image_instance_layout):
13094         (image_instance_layout):
13095         (query_string_geometry):
13096         (text_query_geometry):
13097         (image_instantiate):
13098         (image_instantiate):
13099         (cache_subwindow_instance_in_frame_maybe):
13100         (subwindow_query_geometry): make instance geometry signed.
13101
13102         * glyphs-widget.c (widget_query_geometry):
13103         (widget_layout):
13104         (button_query_geometry):
13105         (tree_view_query_geometry):
13106         (tab_control_query_geometry):
13107         (layout_query_geometry):
13108         (layout_layout):
13109         (native_layout_layout): make instance geometry signed.
13110
13111 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13112
13113         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13114         constant.
13115
13116         * general.c (syms_of_general): Add Qfull_assoc symbol.
13117
13118         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13119         correctly.
13120         (decode_weak_list_type): Decode full-assoc type.
13121         (encode_weak_list_type): Encode full-assoc type.
13122         (Fmake_weak_list): Update doc string.
13123
13124 2000-05-30  Andy Piper  <andy@xemacs.org>
13125
13126         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13127
13128         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13129         (decode_hash_table_weakness): ditto.
13130         (Fhash_table_weakness): ditto.
13131         (Fhash_table_type): ditto.
13132         (finish_marking_weak_hash_tables): ditto.
13133         (hash_table_weakness_validate): ditto.
13134         (syms_of_elhash): ditto.
13135
13136 2000-05-28  Martin Buchholz <martin@xemacs.org>
13137
13138         * XEmacs 21.2.34 is released.
13139
13140 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13141
13142         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13143         start cache.
13144         (updating_line_start_cache): Gone.
13145         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13146         generic code to force a minimum of 1 line laid out in the
13147         CMOTION_DISP case.
13148
13149 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13150
13151         * glyphs.c (instantiate_image_instantiator): Check for initialized
13152         height & width no longer special cases IMAGE_NOTHING.
13153         (nothing_instantiate): Set height and width of instance.
13154
13155 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13156
13157         * unexelf.c (unexec): Search for ".data" section.
13158         Initialize new_data2_offset from old_data_index.
13159         Remove redundant check for ElfW.
13160
13161 2000-05-23  Andy Piper  <andy@xemacs.org>
13162
13163         * glyphs.c (get_image_instantiator_governing_domain): allow more
13164         specific domains as the governing domain rather than expecting an
13165         exact match. This fixes problems with layouts.
13166
13167 2000-05-22  Andy Piper  <andy@xemacs.org>
13168
13169         * redisplay-output.c (compare_runes): check for non-images
13170
13171         * glyphs.c (set_glyph_dirty_p): ditto.
13172         (update_glyph_cachel_data): ditto.
13173
13174         * glyphs-widget.c (layout_post_instantiate): ditto.
13175         (layout_post_instantiate): ditto.
13176
13177         * event-msw.c (mswindows_wnd_proc): warning removal.
13178
13179 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13180
13181         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13182
13183         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13184
13185         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13186
13187         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13188         (mswindows_executable_type): mingw32 now has enough headers for
13189         this to work.
13190
13191 2000-05-20  Andy Piper  <andy@xemacs.org>
13192
13193         * console-msw.c (mswindows_output_last_error): ; -> ,
13194
13195 2000-05-12  Andy Piper  <andy@xemacs.org>
13196
13197         * console-msw.c (FROB): compare ints with ints.
13198
13199 2000-05-11  Andy Piper  <andy@xemacs.org>
13200
13201         * glyphs-x.c (x_finalize_image_instance): make minimal build
13202         happy.
13203
13204 2000-05-20  Ben Wing  <ben@xemacs.org>
13205
13206         * event-Xt.c:
13207         * event-Xt.c (vars_of_event_Xt):
13208         move modifier-keys-are-sticky to event-stream.c.
13209
13210         * event-msw.c:
13211         * event-msw.c (mswindows_enqueue_mouse_button_event):
13212         * event-msw.c (key_needs_default_processing_p):
13213         * event-msw.c (XEMSW_LCONTROL):
13214         * event-msw.c (mswindows_handle_sticky_modifiers):
13215         * event-msw.c (FROB):
13216         * event-msw.c (clear_sticky_modifiers):
13217         * event-msw.c (output_modifier_keyboard_state):
13218         * event-msw.c (output_alt_keyboard_state):
13219         * event-msw.c (mswindows_wnd_proc):
13220         * event-msw.c (mswindows_modifier_state):
13221         * event-msw.c (emacs_mswindows_handle_magic_event):
13222         implement sticky modifiers.
13223
13224         * event-stream.c:
13225         * event-stream.c (vars_of_event_stream):
13226         move modifier-keys-are-sticky here.
13227
13228         * lisp.h:
13229         add CHECK_FUNCTION.
13230
13231         * rangetab.c:
13232         implement map-range-table.
13233
13234
13235 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13236
13237         * redisplay-tty.c (reset_tty_modes):
13238         (tty_redisplay_shutdown): Adjust argument type to
13239         tty_frame_output_end.
13240
13241 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13242
13243         * eval.c (Fbacktrace): Don't output a line with only right
13244         parenthesis.
13245
13246 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13247
13248         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13249         (Fpq_reset_poll): Ditto.
13250
13251 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13252
13253         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13254
13255 2000-05-16  Ben Wing  <ben@xemacs.org>
13256
13257         * buffer.c:
13258         * buffer.c (dfc_convert_to/from_internal_format):
13259         * buffer.c (reinit_vars_of_buffer):
13260         Fix conversion functions to allow reentrancy.
13261
13262         * console-msw.c:
13263         * console-msw.c (mswindows_output_last_error):
13264         New fun, generally useful -- output a human-readable
13265         version of GetLastError() on the console.
13266
13267         * console-msw.h:
13268         * console-msw.h (struct mswindows_frame):
13269         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13270
13271         * console-stream.c (stream_output_begin):
13272         * console-stream.c (stream_output_end):
13273         * console-stream.c (stream_output_vertical_divider):
13274         * console-stream.c (stream_clear_region):
13275         * console-stream.c (stream_flash):
13276         * console-stream.c (console_type_create_stream):
13277         Delete blank stream methods, not needed.
13278
13279         * console.h (struct console_methods):
13280         Split begin/end methods into window and frame.
13281
13282         * event-msw.c:
13283         * event-msw.c (mswindows_handle_paint):
13284         * event-msw.c (output_alt_keyboard_state):
13285         * event-msw.c (mswindows_wnd_proc):
13286         * event-msw.c (vars_of_event_mswindows):
13287         Comment about problems with ignored-expose.
13288         Define mswindows-debug-events; not really implemented.
13289
13290         * frame-msw.c (mswindows_init_frame_1):
13291         random cleanups.
13292
13293         * glyphs-msw.c:
13294         * glyphs-msw.c (begin_defer_window_pos):
13295         * glyphs-msw.c (mswindows_unmap_subwindow):
13296         * glyphs-msw.c (mswindows_map_subwindow):
13297         * glyphs-msw.c (mswindows_resize_subwindow):
13298         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13299
13300         * glyphs.c (make_image_instance_1):
13301         Fix crash.
13302
13303         * gutter.c (Fredisplay_gutter_area):
13304         Use new begin/end methods.
13305
13306         * lisp.h (Dynarr_new2):
13307         New creation fun.
13308
13309         * redisplay-msw.c:
13310         * redisplay-msw.c (mswindows_frame_output_begin):
13311         * redisplay-msw.c (mswindows_frame_output_end):
13312         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13313         New begin/end methods -- handle DeferWindowPos.
13314
13315         * redisplay-output.c (redisplay_move_cursor):
13316         * redisplay-output.c (redraw_cursor_in_window):
13317         * redisplay-output.c (redisplay_update_line):
13318         * redisplay-output.c (redisplay_output_window):
13319         New begin/end methods.
13320
13321         * redisplay-tty.c:
13322         * redisplay-tty.c (tty_frame_output_begin):
13323         * redisplay-tty.c (tty_frame_output_end):
13324         * redisplay-tty.c (console_type_create_redisplay_tty):
13325         New begin/end methods.
13326
13327         * redisplay-x.c:
13328         * redisplay-x.c (x_window_output_begin):
13329         * redisplay-x.c (x_window_output_end):
13330         * redisplay-x.c (console_type_create_redisplay_x):
13331         New begin/end methods.
13332
13333         * redisplay.c (redisplay_frame):
13334         * redisplay.c (Fredisplay_echo_area):
13335         New begin/end methods.
13336         use MAYBE_DEVMETH for clear_frame; it may not exist.
13337
13338         * window.h (WINDOW_XFRAME):
13339         WINDOW_XFOO macros -- get locale and decode struct pointer.
13340
13341
13342 2000-05-12  Ben Wing  <ben@xemacs.org>
13343
13344         * emacs.c:
13345         * emacs.c (ensure_no_quitting_from_now_on):
13346         * emacs.c (fatal_error_signal):
13347         * emacs.c (mswindows_handle_hardware_exceptions):
13348         * emacs.c (main):
13349         * emacs.c (Fkill_emacs):
13350         * emacs.c (shut_down_emacs):
13351         * emacs.c (assert_failed):
13352         various improvements in fatal error handling.
13353
13354         * eval.c:
13355         move preparing_for_armageddon to emacs.c.
13356
13357         * lisp.h:
13358         declare fatal_error_in_progress.
13359
13360         * print.c:
13361         * print.c (std_handle_out_external):
13362         * print.c (std_handle_out_va):
13363         * print.c (stderr_out):
13364         * print.c (stdout_out):
13365         use console under mswin when no standard output.
13366         don't do code conversion during fatal error.
13367
13368         * scrollbar.c (Fscrollbar_page_up):
13369         * scrollbar.c (Fscrollbar_page_down):
13370         fix missing else.  reindent.
13371
13372 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13373
13374         Emergency fix.
13375
13376         * glyphs.h (GLYPH_CACHEL_DESCENT):
13377         (GLYPH_CACHEL_DESCENT):
13378         (GLYPH_CACHEL_DESCENT):
13379         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13380         used in case these are inline functions.
13381         Use more absurd values to error check.
13382
13383         include window.h for error check functions.
13384
13385 2000-05-11  Ben Wing  <ben@xemacs.org>
13386
13387         * cmdloop.c (Freally_early_error_handler):
13388         Display message box under windows; otherwise, message will disappear
13389         before it can be viewed.
13390
13391         * console-msw.c:
13392         * console-msw.c (Fmswindows_message_box):
13393         * console-msw.c (FROB):
13394         * console-msw.c (syms_of_console_mswindows):
13395         Define new fun `mswindows-message-box'.
13396         #### I will merge this into `popup-dialog-box'; just give me
13397         a bit of time.
13398
13399         * general.c:
13400         * general.c (syms_of_general):
13401         Some new symbols used in `mswindows-message-box'.
13402
13403         * glyphs.c:
13404         * glyphs.c (Fset_image_instance_property):
13405         put warning in this fun.
13406
13407         * glyphs.h:
13408         * glyphs.h (GLYPH_CACHEL_WIDTH):
13409         * glyphs.h (GLYPH_CACHEL_ASCENT):
13410         * glyphs.h (GLYPH_CACHEL):
13411         * glyphs.h (GLYPH_CACHEL_GLYPH):
13412         define error-checking versions to try to catch a bug i've seen --
13413         redisplay gets in an infinite loop because the glyph width of the
13414         continuation glyph is 65535.
13415
13416         * lisp.h:
13417         Extern message-box stuff.
13418
13419         * window.c (allocate_window):
13420         * window.c (make_dummy_parent):
13421         * window.c (Fset_window_configuration):
13422         Use EQUAL not EQ for subwindow caches to make them work a bit
13423         better. (Something is still very broken.)
13424
13425
13426 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13427
13428         * glyphs.c (image_instantiate): Suppress gcc warnings.
13429         (Fmake_image_instance): Fix doc string.
13430         * specifier.c (Fmake_specifier): Ditto.
13431
13432 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13433
13434         * paths.h.in (PATH_LOCK): Removed.
13435         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13436         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13437
13438 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13439
13440         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13441         Document (featurep '(and xemacs 21.02)).
13442
13443 2000-05-09  Ben Wing  <ben@xemacs.org>
13444
13445         * buffer.c (complex_vars_of_buffer):
13446         update modeline-format doc.
13447
13448         * device.h:
13449         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13450
13451         * emacs.c:
13452         timeline of all released versions of Emacs, for use in creating
13453         authorship comments and in synching up.
13454
13455         * glyphs-widget.c (image_instantiator_buttons):
13456         * glyphs-widget.c (image_instantiator_edit_fields):
13457         * glyphs-widget.c (image_instantiator_combo_box):
13458         * glyphs-widget.c (image_instantiator_scrollbar):
13459         * glyphs-widget.c (image_instantiator_progress_guage):
13460         * glyphs-widget.c (image_instantiator_tree_view):
13461         * glyphs-widget.c (image_instantiator_tab_control):
13462         * glyphs-widget.c (image_instantiator_labels):
13463         * glyphs-widget.c (image_instantiator_layout):
13464         * glyphs-widget.c (image_instantiator_native_layout):
13465         rename decode_domain method to governing_domain.
13466
13467         * glyphs.c:
13468         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13469         * glyphs.c (add_entry_to_device_ii_format_list):
13470         make sure we don't put an entry more than once into the list.
13471         * glyphs.c (check_instance_cache_mapper):
13472         *************************************************************
13473         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13474         HAVE BEEN GETTING.
13475         *************************************************************
13476         * glyphs.c (get_image_instantiator_governing_domain):
13477         clean up, expand on new concept of governing domain.
13478         * glyphs.c (instantiate_image_instantiator):
13479         * glyphs.c (allocate_image_instance):
13480         use governing_domain instead of cache_domain in naming.
13481         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13482         * glyphs.c (make_image_instance_1):
13483         * glyphs.c (Fmake_image_instance):
13484         allow for any domain (not just device), and process the
13485         governing domain correctly.  very big doc fix.
13486         * glyphs.c (Fimage_instance_domain):
13487         new primitive, to retrieve the governing domain of an image instance.
13488         * glyphs.c (image_instantiate):
13489         use new governing_domain stuff.  this fixes a crash you could get
13490         by instantiating certain widget glyphs in frame locales. (should
13491         signal an error instead of crashing.)
13492         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13493         * glyphs.c (Fglyphp): clean up doc.
13494         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13495         * glyphs.c (syms_of_glyphs):
13496         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13497         * glyphs.c (image_instantiator_format_create): add some comments about
13498         bogus code.
13499         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13500         for current-display-table. (Apparently Hrjove implemented in 1998 a
13501         design I wrote up in 1996, but didn't update the doc string.)
13502
13503         * glyphs.h: clean up a doc string.
13504         * glyphs.h (governing_domain):
13505         * glyphs.h (struct image_instantiator_methods):
13506         changes for governing_domain stuff.
13507
13508         * gutter.c:
13509         * gutter.c (Fgutter_specifier_p):
13510         * gutter.c (Fgutter_size_specifier_p):
13511         * gutter.c (Fgutter_visible_specifier_p):
13512         * objects.c:
13513         * objects.c (Fcolor_specifier_p):
13514         * objects.c (Ffont_specifier_p):
13515         * objects.c (Fface_boolean_specifier_p):
13516         doc strings moved to make-*-specifier.
13517
13518         * redisplay.c (add_disp_table_entry_runes_1):
13519         * redisplay.c (generate_fstring_runes):
13520         * redisplay.c (screen):
13521         add random comments and doc strings.
13522
13523         * specifier.c:
13524         * specifier.c (Fmake_specifier):
13525         major overhaul of this doc string.
13526
13527         * specifier.c (Fvalid_specifier_domain_p):
13528         comment about the bogosity of image instances being domains.
13529         * specifier.c (decode_domain):
13530         now non-static, used in glyphs.c.
13531         * specifier.c (specifier_instance):
13532         comment about the bogosity of image instances being domains.
13533         * specifier.c (Fgeneric_specifier_p):
13534         move doc string to make-generic-specifier.
13535         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13536         rebackslashify.
13537
13538         * specifier.h:
13539         * specifier.h (DOMAIN_FRAME):
13540         * specifier.h (DOMAIN_LIVE_P):
13541         * specifier.h (DOMAIN_XDEVICE):
13542         rebackslashify.
13543         add comments about problems with these macros.
13544         prototype for decode_domain.
13545
13546         * toolbar.c:
13547         * toolbar.c (Ftoolbar_specifier_p):
13548         move doc string to `make-toolbar-specifier'.
13549
13550         * window.c (window_unmap_subwindows_cache_mapper):
13551         *************************************************************
13552         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13553         HAVE BEEN GETTING.
13554         *************************************************************
13555
13556 2000-05-09  Andy Piper  <andy@xemacs.org>
13557
13558         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13559
13560         * window.c (Fset_window_configuration): reset the frame subwindow
13561         cache and re-initialize the window subwindow caches.
13562
13563         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13564
13565 2000-05-09  Ben Wing  <ben@xemacs.org>
13566
13567         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13568         DWORD.
13569
13570 2000-04-26  Mike Woolley  <mike@bulsara.com>
13571
13572         * ntheap.c: Changed recreate_heap to limit the amount reserved
13573         for the heap to that which is actually available. Also now
13574         displays a message box (with some dignostics) in the event that
13575         it still can't start.
13576
13577 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13578
13579         * callproc.c (Fold_call_process_internal): GCPRO path
13580
13581 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13582
13583         Patch by Bill Perry.
13584
13585         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13586         back data instead of #ifdef.
13587         (Fscrollbar_page_down): ditto.
13588
13589 2000-05-07  Ben Wing  <ben@xemacs.org>
13590
13591         * buffer.h:
13592         Kludge for defining Qmswindows_tstr.
13593
13594         * nt.c:
13595         * nt.c (open_input_file):
13596         * nt.c (open_output_file):
13597         * nt.c (rva_to_section):
13598         * nt.c (mswindows_executable_type):
13599         Move all memory-mapped-file routines here (some were in unexnt.c,
13600         which is bad because they are used by process-nt.c, and unexnt
13601         won't be around when portable dumping).  Synched the above routines
13602         with FSF 20.6.
13603
13604         * nt.h:
13605         Removed ifdef'd out bogus code.
13606         Fixed some prototypes.
13607
13608         * nt.h (file_data):
13609         * nt.h (OFFSET_TO_RVA):
13610         * nt.h (RVA_TO_OFFSET):
13611         * nt.h (RVA_TO_PTR):
13612         Moved the memory-mapped-file structures, macros and prototypes
13613         here, to parallel nt.c.  ntheap.h should really be removed
13614         entirely, and it's a non-portable-dumper specific file.
13615
13616         * ntheap.h (round_to_next):
13617         Moved the memory-mapped-file structures, macros and prototypes
13618         to nt.h.
13619
13620         * ntproc.c (compare_env):
13621         Moved rva_to_section and mswindows_executable_type to nt.c.
13622         Moved compare_env to process-nt.c.
13623         ntproc.c will die, one day.
13624
13625         * ntproc.c (sys_spawnve):
13626         Account for win32_ -> mswindows_.
13627
13628         * process-nt.c:
13629         * process-nt.c (struct nt_process_data):
13630         * process-nt.c (ensure_console_window_exists):
13631         * process-nt.c (compare_env):
13632         * process-nt.c (nt_create_process):
13633         * process-nt.c (nt_kill_process_by_pid):
13634         * process-nt.c (syms_of_process_nt):
13635         * process-nt.c (vars_of_process_nt):
13636         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13637         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13638         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13639         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13640         Move compare_env here from ntproc.c.
13641
13642         * process.c (Fprocess_send_region):
13643         Takes an optional fourth argument, BUFFER, which should fix some
13644         problems with call-process.
13645
13646         * syscommctrl.h:
13647         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13648
13649         * syswindows.h:
13650         Move ICC_BAR_CLASSES to syscommctrl.h.
13651         Add preliminary macros for MSWindows/Mule.  More to come.
13652
13653         * unexnt.c:
13654         * unexnt.c (unexec):
13655         open_output_file moved to nt.c.
13656
13657
13658 2000-05-05  Andy Piper  <andy@xemacs.org>
13659
13660         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13661         instance from the frame cache also since GC may catch up too late
13662         to make frame deletion sane.
13663
13664 2000-05-04  Andy Piper  <andy@xemacs.org>
13665
13666         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13667         (x_finalize_image_instance): ungcpro on deletion.
13668
13669         * glyphs.c (image_instantiator_format_create): give pointers a
13670         query geometry method so that the geometry is at least set.
13671
13672         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13673         initialize layouts if using widgets.
13674
13675 2000-05-03  Andy Piper  <andy@xemacs.org>
13676
13677         * nt.c: remove bogus reference to sysmmsystem.h
13678
13679         * gui-x.c (popup_selection_callback): fix no selection abort.
13680
13681 2000-05-02  Andy Piper  <andy@xemacs.org>
13682
13683         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13684         (mswindows_widget_instantiate): ditto.
13685
13686         * glyphs-widget.c (initialize_widget_image_instance): initialize
13687         children correctly.
13688         (widget_instantiate): cope with children and items in the same
13689         instance.
13690
13691         * glyphs.c (mark_image_instance): cope with children as a first
13692         class member.
13693         (image_instance_equal): ditto.
13694         (image_instance_hash): ditto.
13695         (image_instance_changed): ditto.
13696
13697 2000-04-30  Andy Piper  <andy@xemacs.org>
13698
13699         * glyphs.c (subwindow_query_geometry): new function. Return some
13700         defaults.
13701         (subwindow_instantiate): don't assign dimensions if none have been
13702         given.
13703         (image_instantiator_format_create): add subwindow_query_geometry.
13704         (print_image_instance): cope with layouts as widgets.
13705
13706 2000-04-29  Andy Piper  <andy@xemacs.org>
13707
13708         * frame.c (delete_frame_internal): call
13709         free_frame_subwindow_instance_cache so that all subwindows are
13710         finalized before their parent.
13711         (mark_frame): remove subwindow_cachels.
13712         (Fmake_frame): remove subwindow_cachel manipulation.
13713         (allocate_frame_core): subwindow_instance_cache is a weak list.
13714         (delete_frame_internal): set subwindow_instance_cache to nil.
13715
13716         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13717         finalization safe.
13718         (mswindows_finalize_image_instance): use the device
13719         not the domain as the domain may have died already.
13720
13721         * glyphs-x.c (x_finalize_image_instance): ditto.
13722         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13723         HEIGHT.
13724
13725         * redisplay-output.c (redisplay_unmap_subwindows): update for
13726         subwindow instance cache as a weak list.
13727         (redisplay_unmap_subwindows_maybe): ditto.
13728         (redisplay_unmap_subwindows_except_us): ditto.
13729
13730         * glyphs.c (unmap_subwindow): error checking will check the domain
13731         so don't deal with it here. Don't use cachels anymore.
13732         (map_subwindow): ditto.
13733         (update_subwindow_cachel_data): remove old accessor names.
13734         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13735         (Fresize_subwindow): don't update cachel.
13736         (mark_subwindow_cachels):
13737         (update_subwindow_cachel_data):
13738         (add_subwindow_cachel):
13739         (get_subwindow_cachel_index):
13740         (update_subwindow_cachel):
13741         (reset_subwindow_cachels):
13742         (mark_subwindow_cachels_as_not_updated): deleted.
13743         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13744         subwindow instance to the frame cache.
13745         (find_matching_subwindow): update for subwindow instance cache as
13746         a weak list.
13747         (update_widget_instances): ditto.
13748         (image_instance_type_to_mask):inlined.
13749         (free_frame_subwindow_instance_cache): new function. finalize all
13750         subwindows that are instantiated.
13751
13752         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13753         of cachel information.
13754         (IMAGE_INSTANCE_DISPLAY_X):
13755         (IMAGE_INSTANCE_DISPLAY_Y):
13756         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13757         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13758         (XIMAGE_INSTANCE_DISPLAY_X):
13759         (XIMAGE_INSTANCE_DISPLAY_Y):
13760         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13761         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13762         remove subwindow_cachel structure and function references.
13763         (image_instance_type_to_mask): inline from glyphs.c
13764
13765         * redisplay.c (redisplay_frame): remove subwindow_cachel
13766         references.
13767
13768         * frame.h (struct frame): remove subwindow_cachels.
13769         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13770
13771         * frameslots.h: add subwindow_instance_cache.
13772
13773         * window.c (replace_window): check subwindow cache of replacement.
13774         (window_unmap_subwindows_cache_mapper):
13775         (window_unmap_subwindows): new functions. Unmap all subwindows
13776         cached on this window.
13777         (mark_window_as_deleted): unmap all subwindows.
13778
13779 2000-04-27  Andy Piper  <andy@xemacs.org>
13780
13781         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13782
13783         * glyphs-widget.c (widget_layout): return something.
13784         (layout_layout): return something. Fail if not initialized.
13785         (layout_query_geometry): ditto.
13786         (image_instantiator_native_layout): new function. Initialized the
13787         native layout type.
13788         (widget_instantiate): don't do layout stuff here.
13789
13790         * glyphs.c (instantiate_image_instantiator): reorded calling or
13791         instantiate and post_instantiate with layout in between.
13792         (image_instance_layout): be more selective about deciding whether
13793         the layout has been done or not.
13794
13795         * glyphs.h (struct image_instantiator_methods): return a value
13796         from layout_method.
13797
13798 2000-04-26  Andy Piper  <andy@xemacs.org>
13799
13800         * glyphs.c (allocate_image_instance): make initial width and
13801         height unspecified. Set initialized to 0.
13802
13803         * syscommctrl.h new file. Encapsulates commctrl.h.
13804
13805         * syswindows.h new file. Encapsulates windows.h.
13806
13807         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13808         * nt.c: ditto.
13809         * console-msw.h: ditto.
13810
13811         * redisplay-tty.c (tty_output_display_block): remove layout references.
13812
13813         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13814         window handle rather than just the frame.
13815
13816         * glyphs.c (mark_image_instance): remove layout references.
13817         (print_image_instance): ditto.
13818         (image_instance_equal): ditto.
13819         (image_instance_hash): ditto.
13820         (decode_image_instance_type): ditto.
13821         (encode_image_instance_type): ditto.
13822         (image_instantiate): ditto.
13823         (allocate_glyph): ditto.
13824         (Fimage_instance_height): ditto.
13825         (Fimage_instance_width): ditto.
13826         (update_subwindow): ditto.
13827
13828         * redisplay-x.c (x_output_display_block): recode for layouts as
13829         widgets.
13830
13831         * redisplay-output.c (redisplay_output_layout): recode for layouts
13832         as widgets.
13833         (compare_runes): remove layout references.
13834
13835         * redisplay-msw.c (mswindows_output_display_block): recode for
13836         layouts as widgets.
13837
13838         * glyphs-widget.c (image_instantiator_layout): remove
13839         layout_possible_dest_types.
13840         (layout_possible_dest_types): deleted.
13841
13842         * glyphs.h (image_instance_type): remove layout references.
13843         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13844         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13845         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13846
13847 2000-04-25  Andy Piper  <andy@xemacs.org>
13848
13849         * glyphs-widget.c (image_instantiator_buttons):
13850         (image_instantiator_edit_fields):
13851         (image_instantiator_combo_box):
13852         (image_instantiator_scrollbar):
13853         (image_instantiator_progress_guage):
13854         (image_instantiator_tree_view):
13855         (image_instantiator_tab_control):
13856         (image_instantiator_labels):
13857         (image_instantiator_layout): call default post_instantiate method.
13858         (widget_post_instantiate): new function. Simply lays out the
13859         widgets.
13860
13861         * glyphs.h (struct image_instantiator_methods): add
13862         post_instantiate method.
13863
13864         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13865         method calls.
13866
13867 2000-04-23  Andy Piper  <andy@xemacs.org>
13868
13869         * glyphs.h (struct image_instantiator_methods): add
13870         decode_domain_method.
13871         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13872         derived from the domain.
13873         (IMAGE_INSTANCE_FRAME): new accessor.
13874         (XIMAGE_INSTANCE_FRAME): ditto.
13875
13876         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13877         instead of _SUBWINDOW_FRAME.
13878         (finalize_image_instance): ditto.
13879         (Fimage_instance_foreground): ditto.
13880         (Fimage_instance_background): ditto.
13881         (image_instantiate): ditto.
13882         (update_subwindow_cachel): ditto.
13883         (update_subwindow): ditto.
13884         (unmap_subwindow): ditto.
13885         (map_subwindow): ditto
13886         (subwindow_instantiate): ditto.
13887         * glyphs-msw.c (mswindows_update_widget): ditto.
13888         (mswindows_progress_gauge_instantiate): ditto.
13889         (mswindows_tab_control_update): ditto.
13890         * glyphs-x.c (x_update_widget): ditto.
13891         (x_widget_instantiate): ditto.
13892         (x_tab_control_instantiate): ditto.
13893         (x_tab_control_update): ditto.
13894         * event-msw.c (mswindows_wnd_proc): ditto
13895
13896         * glyphs-widget.c (image_instantiator_layout): use
13897         subwindow_decode_domain.
13898         (image_instantiator_buttons): ditto.
13899         (image_instantiator_edit_fields): ditto.
13900         (image_instantiator_combo_box): ditto.
13901         (image_instantiator_scrollbar): ditto.
13902         (image_instantiator_progress_guage): ditto.
13903         (image_instantiator_tree_view): ditto.
13904         (image_instantiator_tab_control): ditto.
13905         (image_instantiator_labels): ditto.
13906         (image_instantiator_layout): ditto.
13907
13908         * glyphs.c: add instance error checking to many functions.
13909         (instantiate_image_instantiator): decode device from cache_domain.
13910         (image_instantiate): partially rewrite by using
13911         decode_image_instantiator_domain to determine what domain the
13912         instance needs to be cached in.
13913         (decode_image_instantiator_domain): new function. Determine what
13914         domain the image needs to be cached in.
13915         (check_window_subwindow_cache): new error checking function.
13916         (check_instance_cache_mapper): ditto.
13917         (check_image_instance_structure): ditto.
13918         (subwindow_decode_domain): new function. Encodes a window as a
13919         subwindow's cache domain.
13920         (image_instantiator_format_create): use it for text and
13921         subwindows.
13922
13923 2000-04-21  Andy Piper  <andy@xemacs.org>
13924
13925         * glyphs.c (image_instance_device): new function.
13926         (image_instance_frame): new function.
13927         (image_instance_window): new function.
13928         (image_instance_live_p): new function.
13929
13930         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13931         cache to nil.
13932
13933         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13934         (IMAGE_INSTANCE_DOMAIN): new accessor.
13935         (XIMAGE_INSTANCE_DOMAIN): ditto.
13936
13937         * glyphs-x.c (x_finalize_image_instance): device->domain.
13938
13939         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13940         (mswindows_finalize_image_instance): ditto.
13941
13942         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13943         (gif_instantiate): ditto.
13944         (png_instantiate): ditto.
13945         (tiff_instantiate): ditto.
13946
13947         * glyphs.c (instantiate_image_instantiator): use domain rather
13948         than device.
13949         (mark_image_instance): device -> domain.
13950         (print_image_instance): ditto.
13951         (finalize_image_instance): ditto.
13952         (image_instance_equal): ditto.
13953         (allocate_image_instance): ditto.
13954         (Fcolorize_image_instance): ditto.
13955         (query_string_geometry): ditto.
13956         (image_instantiate): ditto
13957         (query_string_font): ditto.
13958         (image_instantiate): ditto.
13959         (update_subwindow): ditto.
13960         (unmap_subwindow): ditto.
13961         (map_subwindow): ditto.
13962         (subwindow_instantiate): ditto.
13963
13964         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13965         (DOMAIN_FRAME): ditto.
13966         (DOMAIN_WINDOW): ditto.
13967         (DOMAIN_LIVE_P): ditto.
13968         (XDOMAIN_DEVICE): ditto.
13969         (XDOMAIN_FRAME): ditto.
13970         (XDOMAIN_WINDOW): ditto.
13971
13972         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13973         a valid specifier domain.
13974
13975 2000-04-19  Andy Piper  <andy@xemacs.org>
13976
13977         * glyphs-widget.c (syms_of_glyphs_widget): remove
13978         widget-callback-current-channel.
13979         (vars_of_glyphs_widget): ditto.
13980         * glyphs.h: ditto
13981
13982         * gui.c (get_gui_callback): revert to previous behaviour.
13983
13984 2000-04-18  Andy Piper  <andy@xemacs.org>
13985
13986         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13987         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13988         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13989
13990         * glyphs.c (image_instance_equal): add margin_width.
13991         (image_instance_hash): ditto.
13992
13993         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13994         (layout_query_geometry): ditto.
13995         (layout_layout): ditto.
13996         (syms_of_glyphs_widget): add margin-width.
13997         (image_instantiator_layout): allow margin-width.
13998
13999         * glyphs.c (update_widget_instances): make a normal function.
14000         (syms_of_glyphs): remove Qupdate_widget_instances.
14001         * glyphs.h: ditto.
14002
14003         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14004         so that we don't corrupt ideas about the last event or
14005         command. Remove widget-callback-current-channel fiddling.
14006         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14007
14008 2000-05-01  Martin Buchholz <martin@xemacs.org>
14009
14010         * XEmacs 21.2.33 is released.
14011
14012 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14013
14014         * make-src-depend: Allow dots in header file name.
14015
14016 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14017
14018         * mule-charset.h (struct charset_lookup): Add
14019         next_allocated_1_byte_leading_byte and
14020         next_allocated_2_byte_leading_byte.
14021         * mule-charset.c: Move above two variables so that those values
14022         will be dumped.
14023
14024 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14025
14026         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14027         when string length is zero.
14028         (find_charsets_in_emchar_string): Ditto.
14029
14030 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14031
14032         * lisp.h: extern Qdialog and Qmenubar.
14033
14034         * gui-x.c: added events.h.
14035                 also fixed typo which made the file uncompilable.
14036
14037         * general.c: Added Qmenubar and Qdialog
14038
14039 2000-04-28  Ben Wing  <ben@xemacs.org>
14040
14041         * frame-msw.c (mswindows_init_frame_1):
14042         * frame-msw.c (mswindows_mark_frame):
14043         * event-msw.c (mswindows_enqueue_dispatch_event):
14044         * console-msw.h:
14045         * console-msw.h (struct mswindows_frame):
14046         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14047         there are now three hash tables for callbacks.
14048         mswindows_enqueue_dispatch_event is no longer static.
14049
14050         * dialog-x.c (maybe_run_dbox_text_callback):
14051         * dialog-x.c (dbox_descriptor_to_widget_value):
14052         switch to new cons3 form for callbacks.
14053
14054         * glyphs-msw.c (mswindows_register_gui_item):
14055         * glyphs-msw.c (mswindows_widget_instantiate):
14056         * glyphs-msw.c (add_tree_item):
14057         * glyphs-msw.c (add_tab_item):
14058         new image instance parameter, so it can be passed to callback-ex.
14059         respect :callback-ex as well as :callback.
14060
14061         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14062         add :callback-ex.
14063
14064         * glyphs.c (print_image_instance):
14065         prettify, e.g. now prints widget type.
14066
14067         * gui-x.h:
14068         certain funs have new image instance parameter.
14069
14070         * gui.c:
14071         * gui.c (get_gui_callback):
14072         * gui.c (gui_item_add_keyval_pair):
14073         * gui.c (gui_item_init):
14074         * gui.c (gui_add_item_keywords_to_plist):
14075         * gui.c (mark_gui_item):
14076         * gui.c (gui_item_hash):
14077         * gui.c (gui_item_equal):
14078         * gui.c (copy_gui_item):
14079         * gui.c (syms_of_gui):
14080         recognize callback-ex in a number of places.
14081         also, fix the annoying "can't get out of yes-no dialog" bug.
14082
14083         * gui.h:
14084         * gui.h (struct Lisp_Gui_Item):
14085         recognize callback-ex in a number of places.
14086
14087         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14088         new parameter in button_item_to_widget_value.
14089
14090         * glyphs-x.c (x_update_widget):
14091         * glyphs-x.c (x_button_instantiate):
14092         * glyphs-x.c (x_button_update):
14093         * glyphs-x.c (x_progress_gauge_instantiate):
14094         * glyphs-x.c (x_edit_field_instantiate):
14095         * glyphs-x.c (x_combo_box_instantiate):
14096         * glyphs-x.c (x_tab_control_instantiate):
14097         * glyphs-x.c (x_label_instantiate):
14098         new image instance parameter in various places.
14099
14100         * event-Xt.c:
14101         * event-Xt.c (enqueue_Xt_dispatch_event):
14102         this fun gets exported.
14103
14104         * gui-msw.c:
14105         * gui-msw.c (mswindows_handle_gui_wm_command):
14106         handle both :callback and :callback-ex, and generate our own
14107         event because it's one of the callback-ex arguments.
14108
14109         * gui-x.c:
14110         * gui-x.c (popup_selection_callback):
14111         handle both :callback and :callback-ex, and generate our own
14112         event because it's one of the callback-ex arguments.
14113         * gui-x.c (button_item_to_widget_value):
14114         * gui-x.c (gui_items_to_widget_values_1):
14115         * gui-x.c (gui_item_children_to_widget_values):
14116         * gui-x.c (gui_items_to_widget_values):
14117         new image instance parameter in various places.
14118
14119         * fns.c (Freplace_list):
14120         fix small typo in doc string.
14121
14122         * lisp.h:
14123         declare enqueue_Xt_dispatch_event.
14124
14125 2000-04-28  Ben Wing  <ben@xemacs.org>
14126
14127         * buffer.c:
14128         * buffer.c (Frecord_buffer):
14129         * buffer.c (syms_of_buffer):
14130         delete record-buffer-hook.
14131
14132         * fns.c:
14133         * fns.c (Freplace_list):
14134         * fns.c (syms_of_fns):
14135         new primitive replace-list.
14136
14137         * frameslots.h:
14138         slot for old buffer-alist.
14139
14140         * lisp.h:
14141         exfun replace-list.
14142
14143         * redisplay.c:
14144         * redisplay.c (redisplay_frame):
14145         * redisplay.c (syms_of_redisplay):
14146         * redisplay.c (vars_of_redisplay):
14147         new hook buffer-list-changed-hook.
14148         call it.
14149
14150 2000-04-27  Ben Wing  <ben@xemacs.org>
14151
14152         * extents.h: extern in_modeline_generation.
14153
14154         * redisplay.c (generate_formatted_string_db): set
14155         in_modeline_generation.
14156
14157         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14158         flags if in modeline generation.  otherwise frame-modified-tick
14159         is ticked far too often.
14160         Declare in_modeline_generation.
14161
14162 2000-04-26  Ben Wing  <ben@xemacs.org>
14163
14164         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14165         option.
14166         (vars_of_emacs): add quick-build as an error-checking option.
14167         A bit kludgy, but there doesn't seem much point in creating
14168         a real var for this.
14169
14170         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14171
14172 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14173
14174         * redisplay.h (struct display_line): Add a new variable,
14175         line_continuation.
14176
14177         * redisplay.c (create_text_block): Set dl->line_continuation if
14178         the line continues.
14179         (create_string_text_block): Ditto.
14180         (regenerate_window_incrementally): Use line_continuation instead
14181         of searching continuation glyph.
14182         (add_margin_runes): Call add_glyph_rune.
14183         (add_glyph_rune): Handle margin glyph.
14184
14185 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14186
14187         * filelock.c (fill_in_lock_file_name):
14188         ANSIfy.
14189         Check for IS_ANY_SEP instead of '/'.
14190         (lock_file_1):
14191         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14192         Never check errno without first seeing that system call failed.
14193         (unlock_file): Add GCPRO.
14194         (Flock_buffer): Fix docstring.
14195         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14196
14197 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14198
14199         * sysdep.c (get_pty_max_bytes):
14200         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14201         strings longer than 252 bytes.
14202
14203         * md5.c: Unconditionally include ANSI header <limits.h>
14204
14205         * glyphs-x.c (convert_EImage_to_XImage):
14206         * lisp-union.h (union Lisp_Object):
14207         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14208
14209 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14210
14211         * filelock.c (current_lock_owner): Remove unused variable o, p.
14212
14213 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14214
14215         * callint.c: Remove multiply defined symbol Qlet
14216         (syms_of_callint): ditto.
14217
14218 2000-04-14  Andy Piper  <andy@xemacs.org>
14219
14220         * general.c (syms_of_general): add last-command, this-command, let
14221         and funcall.
14222
14223         * lisp.h: declare various symbols.
14224
14225         * glyphs.h: declare Qwidget_callback_current_channel;
14226
14227         * glyphs-widget.c (syms_of_glyphs_widget): add
14228         Qgui_callback_current_channel.
14229         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14230
14231         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14232         widget-callback-current-channel when invoking the interactive
14233         arg. Also bind last-command and next-command when invoking the
14234         widget updates.
14235         * gui-x.c (popup_selection_callback): ditto.
14236
14237         * gui.c (get_gui_callback): massage args so that we are always
14238         calling eval. This allows us to add our own variable bindings
14239         outside.
14240
14241         * glyphs-x.c (x_button_instantiate): use
14242         gui_items_to_widget_values since this is GC safe.
14243         (x_progress_gauge_instantiate): ditto.
14244         (x_edit_field_instantiate): ditto.
14245         (x_label_instantiate): ditto.
14246
14247         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14248         (emacs_Xt_event_widget_focus_out): new function
14249         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14250         focus.
14251         (emacs_Xt_event_add_widget_actions): new function. add focus
14252         functions as actions.
14253         (init_event_Xt_late): use it.
14254
14255 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14256
14257         * event-stream.c (Fdispatch_event): Doc fix.
14258
14259 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14260
14261         * postgresql.c: Remove all references to PQsetenv*.
14262
14263         * postgresql.h: Remove references to PGsetenvHandler object.
14264         * lrecord.h (lrecord_type): Ditto.
14265
14266 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14267
14268         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14269         real_heigh and real_width members, and accessor macros for these.
14270
14271         * glyphs-msw.c (init_image_instance_geometry): New function.
14272         (init_image_instance_from_dibitmap): Use it.
14273         (mswindows_resource_instantiate): Use it.
14274         (init_image_instance_from_xbm_inline): Use it.
14275         (mswindows_initialize_image_instance_mask): Use real bitmap
14276         geometry.
14277         (mswindows_create_resized_bitmap): Ditto.
14278         (mswindows_create_resized_mask): Ditto.
14279
14280         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14281         and bitmap to their surface size.
14282
14283 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14284
14285         * process-unix.c (unix_send_process): Guard against process MIA
14286         after Faccept_process_output.
14287
14288 2000-04-11  Ben Wing  <ben@xemacs.org>
14289
14290         * eval.c (unbind_to_hairy): fix brokenness introduced by
14291         nanosecond speed improvements.
14292
14293 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14294
14295         * sunplay.c (init_device): To play sounds correctly, the device
14296         apparently needs to be initialized at least once by XEmacs.  Make
14297         it so.
14298
14299 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14300
14301         * redisplay.c (add_margin_runes): Add text image glyph
14302           handling.
14303
14304 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14305
14306         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14307         gcc is newer than 2.5.
14308
14309 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14310
14311         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14312
14313         * fns.c (size_bit_vector):
14314         * alloc.c (size_vector):
14315         (make_vector_internal):
14316         (make_bit_vector_internal):
14317         (sweep_bit_vectors_1):
14318         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14319
14320 2000-04-06  Andy Piper  <andy@xemacs.org>
14321
14322         * gmalloc.c (malloc): undo previous change.
14323         (malloc): ditto.
14324         (free): ditto.
14325         (realloc): ditto.
14326
14327 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14328
14329         * line-number.c (buffer_line_number): Revert to former version.
14330
14331 2000-04-06  Andy Piper  <andy@xemacs.org>
14332
14333         * gmalloc.c (malloc): add error checking.
14334         (malloc): ditto.
14335         (free): ditto.
14336         (realloc): ditto.
14337
14338         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14339         button_item_to_widget_value arg.
14340
14341         * glyphs-x.c (x_button_instantiate): add extra
14342         button_item_to_widget_value arg.
14343         (x_progress_gauge_instantiate): ditto.
14344         (x_edit_field_instantiate): ditto.
14345         (x_label_instantiate): ditto.
14346
14347         * gui-x.c (gui_items_to_widget_values_1): add extra
14348         button_item_to_widget_value arg.
14349         (button_item_to_widget_value): add extra menu_item_p arg.
14350
14351         * gui-x.h: change signature of button_item_to_widget_value.
14352
14353         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14354         button_item_to_widget_value arg.
14355
14356 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14357
14358         * buffer.h (struct buffer): auto_save_modified should be long.
14359
14360 2000-04-05  Andy Piper  <andy@xemacs.org>
14361
14362         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14363         type.
14364         (button_query_geometry): give a little more room so that athena
14365         buttons fit.
14366
14367 2000-04-05  Andy Piper  <andy@xemacs.org>
14368
14369         * faces.c (complex_vars_of_faces): The widget face should inherit
14370         the font of the gui-element face.
14371
14372 2000-04-04  Andy Piper  <andy@xemacs.org>
14373
14374         * glyphs-x.c (x_button_update): new function. unconditionally
14375         update a button's state when the instance is dirty.
14376         (image_instantiator_format_create_glyphs_x): add x_button_update.
14377         (x_widget_instantiate): remove old resize cruft.
14378
14379 2000-04-02  Andy Piper  <andy@xemacs.org>
14380
14381         * frame.c (change_frame_size_1): The introduction of gutters means
14382         that we need to allow 0 as a potential frame dimension.
14383
14384 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14385
14386         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14387         image glyph if allow_cursor.
14388         (add_hscroll_rune): Don't allow cursor to border glyph.
14389         (create_text_block): Ditto.
14390
14391         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14392         text not in buffer.
14393         (redisplay_output_layout): Call ensure_face_cachel_complete for
14394         text image glyph.
14395
14396
14397 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14398
14399         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14400
14401         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14402         not in buffer
14403
14404         * redisplay-tty.c (tty_output_display_block): Delete the routine
14405         for text image glyph
14406         * redisplay-x.c (x_output_display_block): ditto
14407         * redisplay-msw.c (mswindows_output_display_block): ditto
14408
14409 2000-02-02  Mike Alexander  <mta@arbortext.com>
14410
14411         Note: Some of these were committed by accident as part of other
14412         patches.
14413
14414         * regex.c (regex_compile): Avoid compiler warnings.
14415
14416         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14417
14418         * nt.h: Declare term_ntproc correctly.
14419
14420         * nt.c: Remove incorrect declaration of get_home_directory which
14421         is declared correctly in lisp.h.
14422
14423         * keymap.c (get_keyelt): Avoid compiler warnings.
14424         (raw_lookup_key_mapper): Avoid compiler warnings.
14425
14426         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14427
14428         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14429
14430         * filemode.c (mode_string): Avoid compiler warnings.
14431
14432         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14433         avoid warning.
14434
14435         * events-mod.h: Undef some things that winuser.h defines differently.
14436
14437         * data.c (Faset): Avoid compiler warnings.
14438
14439         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14440
14441 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14442
14443         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14444         Fall through to simple beep on error.
14445         Replace "extern" by real header file.
14446
14447         * linuxplay.c: Use nativesound.h
14448         (play_sound_data): Return error code. Be less verbose on error.
14449
14450         * sunplay.c: Use nativesound.h
14451         (play_sound_data): Return error code. Be less verbose on error.
14452
14453         * ntplay.c: Use nativesound.h
14454         (play_sound_data): Return fake error code
14455
14456         * sgiplay.c: Use nativesound.h
14457         (play_sound_data): Return error code
14458
14459         * hpplay.c: Use nativesound.h, partially implement
14460         new error code. Break compilation until finished.
14461         (play_sound_data): error code.
14462
14463         * nativesound.h (play_sound_file):
14464           (play_sound_data): Prototype in new header.
14465
14466 2000-03-31  Andy Piper  <andy@xemacs.org>
14467
14468         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14469         for toggle and radio buttons.
14470         (image_instantiator_buttons): use it.
14471
14472 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14473
14474         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14475         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14476         found. Scrollbar event probably belonged to some old config.
14477
14478 2000-03-31  Andy Piper  <andy@xemacs.org>
14479
14480         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14481         than 1.
14482         (initialize_widget_image_instance): default layout to
14483         LAYOUT_HORIZONTAL rather than 0.
14484         (widget_instantiate): reverse the item list at the end rather than
14485         every iteration.
14486         (layout_layout): re-code for the border text at the front of the
14487         item list rather than at the end.
14488         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14489         provided by the user.
14490         (widget_query_geometry): comment.
14491
14492 2000-03-30  Andy Piper  <andy@xemacs.org>
14493
14494         * glyphs-widget.c (image_instantiator_layout): allow standard
14495         widget keywords in layouts.
14496
14497         * gutter.c (output_gutter): cope with nil gutter contents.
14498
14499         * frame.c (Fset_frame_properties): add gutter docs.
14500
14501 2000-03-29  Andy Piper  <andy@xemacs.org>
14502
14503         * toolbar-msw.c (TBSTYLE_FLAT): add.
14504         (mswindows_output_toolbar): minor fiddling.
14505
14506 2000-03-29  Andy Piper  <andy@xemacs.org>
14507
14508         * gutter.c (output_gutter): force gutter size recalculation if
14509         what we are trying to display won't fit.
14510         (update_gutter_geometry): new function. A per-gutter version of
14511         update_frame_gutter_geometry.
14512         (update_frame_gutter_geometry): use it.
14513         (redraw_exposed_gutter): add extra debugging output.
14514
14515 2000-03-28  Mike Alexander  <mta@arbortext.com>
14516
14517         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14518         (pdump_file_unmap): Implement it on Windows
14519         (pdump_file_get): Save alocated handles for pdump_file_unmap
14520
14521 2000-03-28  Andy Piper  <andy@xemacs.org>
14522
14523         * gui.c (get_gui_callback): treat Quit specially.
14524
14525 2000-03-27  Andy Piper  <andy@xemacs.org>
14526
14527         * glyphs.c (image_instantiate): be careful to check in the same
14528         way we assigned.
14529
14530 2000-03-27  Didier Verna  <didier@xemacs.org>
14531
14532         * config.h.in: define the proper SMART_INCLUDE macro.
14533         handle renaming of `foo_h_path' to `foo_h_file'.
14534
14535         * database.c: ditto.
14536
14537         * emacs.c: ditto.
14538
14539         * linuxplay.c: ditto.
14540
14541         * terminfo.c: ditto.
14542
14543         * tooltalk.h: ditto.
14544
14545 2000-03-27  Andy Piper  <andy@xemacs.org>
14546
14547         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14548         gets updated whenever the face might have changed.
14549
14550 2000-03-26  Mike Alexander  <mta@arbortext.com>
14551
14552         * dumper.c (pdump_resource_free): Fix the comment.
14553
14554 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14555
14556         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14557
14558 2000-03-22  Mike Alexander  <mta@arbortext.com>
14559
14560         * dumper.c: Include Windows headers on Windows
14561         (pdump_resource_free): Add a body to the function
14562         (pdump_load): exe_name -> exe_path and add some comments.
14563
14564 2000-03-25  Mike Alexander  <mta@arbortext.com>
14565
14566         * gui.c (copy_gui_item_tree): Return a value in all cases
14567
14568 2000-03-21  Didier Verna  <didier@xemacs.org>
14569
14570         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14571         lwlib/config.h.in.
14572         (SMART_INCLUDE): new macro.
14573         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14574         the proper location.
14575
14576         * postgresql.c: use it.
14577
14578         * inline.c: ditto.
14579
14580 2000-03-24  Andy Piper  <andy@xemacs.org>
14581
14582         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14583         do this.
14584
14585 2000-03-24  Andy Piper  <andy@xemacs.org>
14586
14587         * redisplay-output.c (compare_runes): use image_instance_changed
14588         to detect changes. Do not depend on glyphs_changed, only depend on
14589         dirtiness.
14590          (redisplay_output_layout): add debug messages.
14591         (compare_runes): ditto.
14592
14593         * glyphs.h: declare new functions.
14594         (struct Lisp_Image_Instance): remove percent and associated
14595         accessors.
14596
14597         * gui.h: declare new copying functions.
14598
14599         * gui.c (copy_gui_item_tree): new function.
14600         (copy_gui_item): new function.
14601         (gui_item_id_hash): revert to standard hash.
14602         (gui_item_hash): ditto.
14603         (gui_item_hash_internal): deleted.
14604         (mark_gui_item): mark value.
14605         (gui_item_add_keyval_pair): add value.
14606         (gui_item_init): ditto.
14607         (gui_add_item_keywords_to_plist): ditto.
14608         (gui_item_equal): ditto.
14609         (syms_of_gui): add Q_value.
14610
14611         * glyphs-x.c (x_progress_gauge_update): use pending items and
14612         value for setting the state.
14613         (x_update_widget): don't set items from pending here.
14614
14615         * glyphs-widget.c (update_widget): update items here.
14616         (progress_gauge_set_property): use items for storing value. Put
14617         new value in pending items.
14618
14619         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14620         items for new value. Convert percent -> value.
14621         (mswindows_tab_control_update): don't update items here.
14622
14623         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14624         (update_subwindow): ditto.
14625         (image_instance_changed): new function. Compare hash values and
14626         past and present widget items.
14627         (image_instantiate): We more careful about where we instantiate
14628         things.
14629         (image_instantiate): add error checking.
14630
14631         * gutter.c (syms_of_gutter): use -hook.
14632
14633 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14634
14635         * console-tty.c (Fset_console_tty_input_coding_system): Use
14636         Qkeyboard.
14637         (Fset_console_tty_output_coding_system): Use Qterminal.
14638         (tty_init_console): Use Qkeyboard and Qterminal.
14639
14640 2000-03-21  Ben Wing  <ben@xemacs.org>
14641
14642         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14643         From Mike Alexander <mta@arbortext.com>.
14644
14645 2000-03-21  Ben Wing  <ben@xemacs.org>
14646
14647         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14648         process brokenness.  Proper implementation to come.
14649         * callproc.c:
14650         Rename call-process-internal to old-call-process-internal.
14651         New impl. in process.el.
14652
14653 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14654
14655         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14656
14657 2000-03-20  Andy Piper  <andy@xemacs.org>
14658
14659         * glyphs.c (full_list_hash): make hashes of the same elements in
14660         different orders return different values.
14661
14662 2000-03-20  Martin Buchholz <martin@xemacs.org>
14663
14664         * XEmacs 21.2.32 is released.
14665
14666 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14667
14668         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14669         (DFC_MALLOC_USE_CONVERTED_DATA):
14670         Add aliasing-safe casts to allow use with char* or unsigned char*
14671         lvalues.
14672
14673         * eldap.c (Fldap_open):
14674         (Fldap_search_basic):
14675         (Fldap_add):
14676         (Fldap_modify):
14677         Make C++-compilable.
14678         Make sure GCPRO'ed variables are initialized.
14679         Use temp variables to avoid repeated calls to Flength.
14680
14681 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14682
14683         * sysfile.h:
14684         Make sure PATH_MAX is always defined.
14685         Include limits.h for PATH_MAX.
14686         Deprecate use of MAXPATHLEN.
14687
14688 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14689
14690         * emacs.c: Add reinit_vars_of_fileio.
14691         * symsinit.h: Add reinit_vars_of_fileio.
14692         * fileio.c (reinit_vars_of_fileio): New.
14693         * fileio.c (Fmake_temp_name):
14694         Initialize temp_name random number from microseconds to make
14695         collisions even less likely.  Initialize always at process startup
14696         time.  (make-temp-name) used to return the same file name twice in
14697         a row when PDUMP.
14698         Random stylistic fiddling.
14699         Comment fixes.
14700
14701 2000-03-20  Andy Piper  <andy@xemacs.org>
14702
14703         * glyphs.c (image_instantiate): allow text glyphs to be
14704         instantiated in the minibuffer window.
14705
14706 2000-03-19  Andy Piper  <andy@xemacs.org>
14707
14708         * glyphs.c (image_instance_hash): be careful about which items we
14709         hash on.
14710
14711         * glyphs-widget.c (tab_control_set_property): record into pending
14712         items rather than the actual items.
14713
14714         * glyphs-x.c (x_update_widget): use pending items to update with.
14715
14716         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14717         to update with.
14718
14719         * glyphs.c (mark_image_instance): mark pending items.
14720
14721         * window.c (Fset_window_configuration): record the buffer.
14722         (Fselect_window): totally revert previous change which breaks many
14723         things.
14724
14725 2000-03-18  Andy Piper  <andy@xemacs.org>
14726
14727         * glyphs-msw.c (mswindows_tab_control_update): force selected
14728         item.
14729
14730         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14731         window domain cache, otherwise we get inconsistencies at
14732         startup. There is something fishy at startup which can lead to the
14733         minibuffer being the selected window when the gutter content is
14734         instantiated.
14735
14736         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14737         gcpros.
14738         (parse_gui_item_tree_children): ditto.
14739         (parse_gui_item_tree_item): ditto.
14740
14741         * glyphs.c (Fupdate_widget_instances): return something.
14742
14743 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14744
14745         * window.c (Fselect_window): Undo 2000-03-17 change.
14746
14747 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14748
14749         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14750         against v7.0 libraries.  Insta-coredump city until the postgres
14751         folks fix it.
14752
14753 2000-03-17  Andy Piper  <andy@xemacs.org>
14754
14755         * faces.c (complex_vars_of_faces): don't give the widget face an
14756         inherited background pixmap.
14757
14758         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14759         selected item.
14760
14761         * event-stream.c (Fdispatch_non_command_events): return something.
14762
14763         * gutter.c (output_gutter): use widget face.
14764         (clear_gutter): ditto.
14765
14766         * NEWS: adjust again.
14767
14768         * window.c (Fselect_window): make sure this runs to completion to
14769         avoid oddities with Fset_window_configuration.
14770         (Fcurrent_window_configuration): in general do not save the
14771         minibuffer as the selected window.
14772
14773         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14774
14775 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14776
14777         * emacs.c (Frunning_temacs_p): Revert previous patch.
14778         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14779
14780 2000-03-16  Andy Piper  <andy@xemacs.org>
14781
14782         * glyphs-x.c (x_tab_control_update): if no widget values then
14783         return.
14784
14785         * NEWS: update for new features.
14786
14787         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14788         synthetic event to the native system.
14789         (reinit_vars_of_event_Xt): set force_event_pending to
14790         emacs_Xt_force_event_pending.
14791
14792         * events.h (struct event_stream): add force_event_pending.
14793
14794         * specifier.c (recompute_one_cached_specifier_in_window): add
14795         comment.
14796
14797         * redisplay.c (redisplay_frame): don't call
14798         update_frame_subwindows. Reset subwindow cachels when
14799         subwindows_changed, removing this was an optimization too far.
14800
14801         * redisplay-output.c (compare_runes): reorganize so that we catch
14802         glyph changes when we want them. Set optimize_output when this
14803         would help layouts.
14804         (redisplay_output_layout): remove frame_really_changed, use
14805         optimize_output instead.
14806
14807         * redisplay-msw.c (mswindows_output_display_block): reset
14808         optimize_output after outputting a glyph.
14809         * redisplay-x.c (x_output_display_block): ditto.
14810         * redisplay-tty.c (tty_output_display_block): ditto.
14811
14812         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14813         functions.
14814         (gutter_specs_changed): do specific gutter positions.
14815         (top_gutter_specs_changed): new function. Only update the
14816         specified gutter specs.
14817         (bottom_gutter_specs_changed): ditto.
14818         (left_gutter_specs_changed): ditto.
14819         (right_gutter_specs_changed): ditto.
14820
14821         * gui.c (gui_item_hash_internal): new function, does a real hash.
14822         (gui_item_id_hash): use it.
14823         (gui_item_hash): hash the eval'ed gui_item.
14824
14825         * gui-x.c (popup_selection_callback): send an eval event to call
14826         Fupdate_widget_instances.
14827
14828         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14829         to call Fupdate_widget_instances.
14830
14831         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14832         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14833
14834         * glyphs.c: (update_frame_subwindows): deleted.
14835         (Fupdate_widget_instances): new function for updating the dirty
14836         state of widgets that might have changed.
14837         (syms_of_glyphs): add Qupdate_widget_instances.
14838         (full_list_hash): hash a list completely.
14839         (image_instance_hash): use it for items and properties.
14840
14841         * frame-msw.c (mswindows_size_frame_internal): remove unused
14842         variable.
14843
14844         * faces.h (struct face_cachel): fix comment.
14845
14846         * event-stream.c (Fdispatch_non_command_events): new
14847         function. Process non-command events, forcing an event cycle
14848         beforehand.
14849         (syms_of_event_stream): declare.
14850         (event_stream_force_event_pending): new function. Force an event
14851         on the native event queue so that an event cycle will occur next
14852         time we check.
14853
14854         * event-msw.c:
14855         (struct ntpipe_shove_stream):
14856         (mswindows_enqueue_dispatch_event):
14857         (mswindows_dequeue_dispatch_event):
14858         (mswindows_cancel_dispatch_event):
14859         (mswindows_pump_outstanding_events):
14860         (mswindows_drain_windows_queue):
14861         (mswindows_handle_paint):
14862         (mswindows_wnd_proc):
14863         (mswindows_key_to_emacs_keysym):
14864         (get_process_input_waitable):
14865         (emacs_mswindows_delete_stream_pair): re-indent file.
14866         (mswindows_need_event): do not process further fds if the windows
14867         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14868         fixes the 100% cpu problem.
14869         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14870
14871 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14872
14873         * alloc.h: New.
14874         * dumper.h: New.
14875         * dumper.c: New.
14876
14877         * emacs.c: Moved dump file searching to dumper.c.
14878         (Frunning_temacs_p): Fixed.
14879
14880         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14881         last_lrecord_type_index_assigned.
14882
14883 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14884
14885         * symsinit.h: Added reinit parameter to init_console_stream
14886         declaration.
14887
14888         * lisp.h: Added file parameter to pdump_load declaration.
14889
14890         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14891         support.  Added dump file searching.
14892
14893         * config.h.in: Added EMACS_PROGNAME.
14894
14895         * console-stream.c (init_console_stream): Fix reinitialisation
14896         when running from temacs.
14897
14898         * alloc.c (pdump): Add id support.
14899         (pdump_load): Add file parameter and signature/id support.
14900
14901         * Makefile.in.in: Add full pdump support.
14902
14903 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14904
14905         * postgresql.c: Update documentation to reflect latest code
14906         status.
14907         (print_result): Show tuple counts in printed representation when
14908         appropriate.
14909         (Fpq_put_nbytes): MULE-ize.
14910         (Fpq_get_line_async): Ditto.
14911
14912 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14913
14914         * postgresql.c (Fpq_lo_import): Fix return value.
14915         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14916
14917 2000-03-13  Ben Wing  <ben@xemacs.org>
14918
14919         * alloc.c (pdump_load):
14920         Fix compile warning under mswin.
14921
14922 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14923
14924         * postgresql.c: Mule-ization, bug fixes.
14925         Use PG_CODING to encapsulate coding system name changes.
14926         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14927         (pg-coding-system): Create.
14928
14929         (Fpq_conn_defaults): Mule-ize.
14930         (Fpq_connectdb): Mule-ize & bug fix.
14931         (Fpq_connect_start): Mule-ize.
14932         (Fpq_set_client_encoding): Mule-ize.
14933         (Fpq_finish): Document `DEAD' connection status.
14934         (Fpq_clear): Ditto.
14935         (Fpq_pgconn): Mule-ize.
14936         (Fpq_exec): Mule-ize & bug fix.
14937         (Fpq_send_query): Ditto.
14938         (Fpq_get_result): Ditto.
14939         (Fpq_res_status): Mule-ize.
14940         (Fpq_result_error_message): Mule-ize.
14941         (Fpq_ntuples): fix comments.
14942         (Fpq_fname): Mule-ize.
14943         (Fpq_fnumber): Mule-ize.
14944         (Fpq_ftype): fix comments.
14945         (Fpq_get_value): Mule-ize.
14946         (Fpq_cmd_status): Ditto.
14947         (Fpq_cmd_tuples): Ditto.
14948         (Fpq_oid_value): Ditto.
14949         (Fpq_notifies): Ditto.
14950         (Fpq_lo_import): Ditto.
14951         (Fpq_lo_export): Ditto.
14952         (Fpq_get_line): Ditto.
14953         (Fpq_put_line): Mule-ize and bug fix.
14954         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14955
14956 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14957
14958         * postgresql.c (vars_of_postgresql): Mule-ize.
14959         (Fpq_conn_defaults): Ditto.
14960
14961 2000-03-12  Ben Wing  <ben@xemacs.org>
14962
14963         * alloc.c (Fmake_byte_code):
14964         * alloc.c (debug_string_purity_print):
14965         * alloc.c (pdump_backtrace):
14966         * alloc.c (pdump_get_indirect_count):
14967         * alloc.c (pdump_register_sub):
14968         * alloc.c (pdump_register_object):
14969         * alloc.c (pdump_register_struct):
14970         * alloc.c (pdump_dump_data):
14971         * alloc.c (pdump_reloc_one):
14972         Minor cleanups.
14973
14974         * console-msw.c:
14975         * console-msw.c (GetConsoleHwnd):
14976         * console-msw.c (msw_hide_console):
14977         * console-msw.c (msw_show_console):
14978         * console-msw.c (msw_ensure_console_buffered):
14979         * console-msw.c (msw_output_console_string):
14980         * console-msw.c (console_type_create_mswindows):
14981
14982         a) Added functions to manipulate the console window for use with
14983         shell support.
14984
14985         b) Added support for writing text to the console, which is now
14986         used under Windows when xemacs is not being run non-interactively,
14987         to write text that would otherwise be destined for stdout because
14988         under these circumstances, text written to stdout tends to
14989         disappear and not be seen.
14990
14991         * console-msw.h:
14992         * event-Xt.c:
14993         * event-Xt.c (x_event_to_emacs_event):
14994         * event-Xt.c (describe_event_window):
14995         * events-mod.h (XEMACS_MOD_CONTROL):
14996         * events.c:
14997         * events.c (Fmake_event):
14998         * events.c (character_to_event):
14999         * events.c (event_to_character):
15000         * events.c (format_event_object):
15001         * events.c (Fevent_modifiers):
15002         * events.h:
15003         * events.h (struct key_data):
15004         * events.h (struct button_data):
15005         * events.h (struct misc_user_data):
15006         * frame-x.c (Fcde_start_drag_internal):
15007         * frame-x.c (Foffix_start_drag_internal):
15008         * gpmevent.c (Freceive_gpm_event):
15009         * keymap.c:
15010         * keymap.c (bucky_sym_to_bucky_bit):
15011         * keymap.c (control_meta_superify):
15012         * keymap.c (make_key_description):
15013         * keymap.c (keymap_lookup_directly):
15014         * keymap.c (create_bucky_submap):
15015         * keymap.c (keymap_store):
15016         * keymap.c (define_key_check_and_coerce_keysym):
15017         * keymap.c (define_key_parser):
15018         * keymap.c (define_key_alternate_name):
15019         * keymap.c (Fdefine_key):
15020         * keymap.c (raw_lookup_key_mapper):
15021         * keymap.c (struct map_keymap_unsorted_closure):
15022         * keymap.c (map_keymap_unsorted_mapper):
15023         * keymap.c (map_keymap_sort_predicate):
15024         * keymap.c (map_keymap_sorted):
15025         * keymap.c (accessible_keymaps_mapper_1):
15026         * keymap.c (where_is_recursive_mapper):
15027         * keymap.c (describe_map_mapper):
15028         * keymap.c (describe_map_sort_predicate):
15029         * keymap.c (describe_map):
15030         * keymap.c (complex_vars_of_keymap):
15031         And a number of other files, the key modifier preprocessor
15032         constants that xemacs uses have names that conflict with constants
15033         defined under MS Windows for other purposes, so they were renamed
15034         to begin with the prefix XEMACS_. The variables that hold such
15035         modifiers were changed to consistently be of type int to fix
15036         various compile warnings.
15037
15038         * console.c (complex_vars_of_console):
15039         * device.c:
15040         * device-msw.c:
15041         * device-msw.c (mswindows_finish_init_device):
15042         * device-msw.c (msw_get_workspace_coords):
15043         * device-msw.c (mswindows_device_system_metrics):
15044         and various other files, added support for a new
15045         device property called offset-workspace which returns the position
15046         of the upper left corner of the workspace area and goes along with
15047         the existing size-workspace property.
15048
15049         * dialog-msw.c:
15050         * dialog-msw.c (push_bufbyte_string_as_unicode):
15051         * dialog-msw.c (mswindows_popup_dialog_box):
15052         Added support for XEmacs-style accelerator specifications in
15053         button text.  Note: I didn't add support for this under X Windows,
15054         and somebody needs to do this.
15055
15056         * dialog.c:
15057         * dialog.c (Fpopup_dialog_box):
15058         Documented the support for accelerators that was just mentioned.
15059
15060         editfns.c (get_home_directory): Changed behavior under Windows
15061         when HOME not defined; former behavior was irretrievably broken.
15062
15063         * emacs.c:
15064         * emacs.c (main_1):
15065         * emacs.c (main):
15066         * minibuf.c (clear_echo_area_internal):
15067         * minibuf.c (echo_area_append):
15068         * print.c:
15069         * print.c (std_handle_out_external):
15070         * print.c (std_handle_out_va):
15071         * print.c (fatal):
15072         * print.c (write_string_to_stdio_stream):
15073         * print.c (output_string):
15074         * print.c (debug_print):
15075         * print.c (debug_backtrace):
15076         * print.c (debug_short_backtrace):
15077         Cleaned up the code that prints text to stdout so that this can be
15078         changed to output into a console window instead under MS Windows,
15079         as described above.
15080
15081         * eval.c:
15082         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15083         * eval.c (internal_catch):
15084         * eval.c (unwind_to_catch):
15085         * eval.c (throw_or_bomb_out):
15086         * eval.c (condition_case_1):
15087         * eval.c (signal_1):
15088         * eval.c (check_error_state_sanity):
15089         * eval.c (call_with_suspended_errors_1):
15090         * eval.c (call_with_suspended_errors):
15091         * eval.c (reinit_vars_of_eval):
15092         Added code to catch throw loops and check for a pesky bug that may
15093         be gone now.
15094
15095         * event-msw.c:
15096         * event-msw.c (key_needs_default_processing_p):
15097         * event-msw.c (mswindows_wnd_proc):
15098         * event-msw.c (mswindows_modifier_state):
15099         * event-msw.c (emacs_mswindows_quit_p):
15100         * event-msw.c (vars_of_event_mswindows):
15101         a) Added support for using the alt key to select menu items as is
15102         standard under MS Windows.  This is controlled using the variable
15103         menu-accelerator-enabled, just like under X Windows.  There is an
15104         option on the options menu to turn this support on.  I really
15105         think that it should be on by default under Windows, but I'm not
15106         going to make this change yet.
15107
15108         b)  Added support for dynamic display size changes under Windows.
15109
15110         * event-stream.c:
15111         * event-stream.c (maybe_echo_keys):
15112         * event-stream.c (Fnext_event):
15113         * event-stream.c (command_builder_find_leaf):
15114         * event-stream.c (lookup_command_event):
15115         * event-stream.c (execute_command_event):
15116         * event-stream.c (pre_command_hook):
15117         * event-stream.c (post_command_hook):
15118         * event-stream.c (syms_of_event_stream):
15119         * event-stream.c (vars_of_event_stream):
15120         * event-stream.c (complex_vars_of_event_stream):
15121         * events.h (struct command_builder):
15122
15123         a) Tried to clean up a little bit the horribly written x-specific
15124         accelerator code that crept into this file.  I moved this code
15125         into menubar-x.c where it belongs. I also needed to move the
15126         command builder structure into the file events.h because it is
15127         accessed directly by this accelerator code.  What I didn't do, but
15128         which should be done at some point, is to properly abstract this
15129         code using device methods instead of the kludgy way that it
15130         currently hooks into the event code.
15131
15132         b) Added the lisp variables this-command-properties and
15133         last-command- properties, which should be used to synchronize two
15134         adjacent commands in preference to playing games with the variable
15135         this-command, which is typically what happens.
15136
15137         c) Added some slightly nasty code to hook into the lisp support
15138         for shifted- motion-key selection.  This is actually necessary for
15139         somewhat complicated reasons, which are described in
15140         simple.el. (NB: I think the proper thing would be to have the code
15141         that calls the pre and post command hooks also call out to generic
15142         lisp functions in simple.el, where all built-in stuff could be
15143         added.  I will think about this more.)
15144
15145         * event-unixoid.c (poll_fds_for_input):
15146         * lread.c (readchar):
15147         * redisplay-tty.c (tty_clear_frame):
15148         * redisplay-x.c (x_get_gc):
15149         * signal.c (interrupt_signal):
15150         And a whole bunch of other files: fixed up places that printed
15151         directly to stderr to instead call the function stderr_out so that
15152         the changes I made under Windows work correctly.
15153
15154         * filemode.c (mode_string):
15155         Warning fixes.
15156
15157         * frame-msw.c:
15158         * frame-msw.c (mswindows_size_frame_internal):
15159         Fixed the computation of frame size and position to keep the frame
15160         within the workspace area, rather than within the physical
15161         dimensions of the screen, so that the frame doesn't overlap window
15162         manager decorations, such as the start menu and toolbar, typically
15163         at the bottom of the screen.
15164
15165         * frame.c (vars_of_frame):
15166         Changed the default frame title format under MS Windows to consist
15167         of buffername-XEmacs, which is standard under MS Windows.  I think
15168         it might be a good idea to change this everywhere because I think
15169         it is superior to the current frame title format, but this is the
15170         kind of change that is likely to cause some people to get annoyed,
15171         so I'm not making it.
15172
15173         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15174
15175         * gui-msw.c (mswindows_handle_gui_wm_command):
15176         Fixed compile warnings.
15177
15178         * gui-x.c:
15179         * gui-x.c (strdup_and_add_accel):
15180         * gui-x.c (button_item_to_widget_value):
15181         * gui-x.h:
15182         Added code to automatically put an accelerator onto the beginning
15183         of menu items that don't have one as is now the standard, and is
15184         described more later.  Also fixed things so that the menu item
15185         name can be an evaluated expression, again a new standard.
15186
15187         * gui.c:
15188         * gui.c (gui_item_add_keyval_pair):
15189         * gui.c (make_gui_item_from_keywords_internal):
15190         * gui.c (gui_add_item_keywords_to_plist):
15191         * gui.c (gui_item_accelerator):
15192         * gui.c (gui_name_accelerator):
15193         * gui.c (gui_item_included_p):
15194         * gui.c (gui_item_display_flush_left):
15195         * gui.c (gui_item_display_flush_right):
15196         * gui.c (parse_gui_item_tree_item):
15197         * gui.c (parse_gui_item_tree_children):
15198         * gui.c (parse_gui_item_tree_list):
15199         Mule-ized.  Cleanup.  GCPRO addition.
15200
15201         * line-number.c (buffer_line_number):
15202         * lisp.h:
15203         * lisp.h (EMACS_INT_MAX):
15204         Added the manifest constant EMACS_INT_MIN corresponding to the
15205         existing constant EMACS_INT_MAX.  This is partially to fix compile
15206         warnings under Windows, and partly for cleanliness.
15207
15208         * menubar-msw.c:
15209         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15210         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15211         * menubar-msw.c (displayable_menu_item):
15212         * menubar-msw.c (populate_menu_add_item):
15213         * menubar-msw.c (populate_or_checksum_helper):
15214         * menubar-msw.c (populate_menu):
15215         * menubar-msw.c (update_frame_menubar_maybe):
15216         * menubar-msw.c (prune_menubar):
15217         * menubar-msw.c (msw_char_is_accelerator):
15218         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15219         * menubar-msw.c (mswindows_handle_wm_command):
15220         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15221         * menubar-msw.c (mswindows_handle_wm_initmenu):
15222         * menubar-msw.c (mswindows_update_frame_menubars):
15223         * menubar-msw.c (mswindows_free_frame_menubars):
15224         * menubar-msw.c (mswindows_popup_menu):
15225         Fixed a bug in handling accelerators where an extra character
15226         would be displayed in the menu item.  Also generalized the
15227         function displayable_menu_item because it is now used by the
15228         dialog box code as well.  And finally, added code in the functions
15229         that create the menubar to extract a list of accelerators for the
15230         top level menubar, which is used in the event code to determine
15231         whether a particular alt-key combination should be used to invoke
15232         a menu item, or should be passed through to access the standard
15233         XEmacs keymap binding for this key combination.
15234
15235         Much needed GCPROing.
15236
15237         * menubar-x.c:
15238         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15239         * menubar-x.c (menu_item_descriptor_to_widget_value):
15240         * menubar-x.c (restore_in_menu_callback):
15241         * menubar-x.c (x_popup_menu):
15242         * menubar-x.c (menu_move_up):
15243         * menubar-x.c (menu_move_down):
15244         * menubar-x.c (menu_move_left):
15245         * menubar-x.c (menu_move_right):
15246         * menubar-x.c (menu_select_item):
15247         * menubar-x.c (command_builder_operate_menu_accelerator):
15248         * menubar-x.c (menu_accelerator_junk_on_error):
15249         * menubar-x.c (command_builder_find_menu_accelerator):
15250         * menubar-x.c (Faccelerate_menu):
15251         * menubar.h:
15252         Moved a whole bunch of code here that was previously in
15253         event-stream.c as described above.  There is also code connected
15254         to the new standard of adding an accelerator to the beginning of
15255         menu items that don't have one as described above and below.
15256
15257         * menubar.c:
15258         * menubar.c (menu_parse_submenu_keywords):
15259         * menubar.c (Fmenu_find_real_submenu):
15260         * menubar.c (Fnormalize_menu_item_name):
15261         * menubar.c (syms_of_menubar):
15262         * menubar.c (vars_of_menubar):
15263         * menubar.c (complex_vars_of_menubar):
15264
15265         a) Cleaned up a bunch of documentation and improved it.
15266
15267         b) XEmacs now automatically adds an accelerator onto the beginning
15268         of any menu items that don't have one.  I did this because there
15269         will inevitably be some menu items on the main menubar that don't
15270         have accelerators on them because the package that adds that
15271         particular menu item hasn't yet been fixed up to have accelerators
15272         in them and it looked rather strange to have some items with and
15273         some items without accelerators, especially since even in items
15274         without accelerators, you can, at least under windows, still
15275         access the item through an accelerator corresponding to the first
15276         character in the item's name.  If people don't like this behavior,
15277         I can add a variable to turn it off optionally, but I'm not sure
15278         this is a good idea because we really do need to have accelerators
15279         on all of the menu items, and if a package doesn't like the
15280         accelerators being put on the first character, then it should put
15281         the accelerators where they belong.
15282
15283         c) I made a behavior change, which is that the descriptor that
15284         specifies the text of the menu item, which formerly was just a
15285         string, can now also be an evaluated expression.  This makes this
15286         descriptor parallel with all of the others, which could also be
15287         evaluated expressions.  This also obviates the need for the
15288         keyword :label, which was previously listed in the documentation
15289         as unimplemented, and which was for the same purpose.
15290
15291         d) GCPROing.
15292
15293         * ntproc.c:
15294         * ntproc.c (new_child):
15295         * ntproc.c (sys_spawnve):
15296         * ntproc.c (find_child_console):
15297         * ntproc.c (sys_kill):
15298         Fixed compile warnings.  By the way, this file should really go
15299         away entirely, and this will happen as soon as Kirill makes his
15300         final round of process cleanups, which affect the function
15301         call-process.
15302
15303         * process-nt.c:
15304         * process-nt.c (struct nt_process_data):
15305         * process-nt.c (find_process_from_pid):
15306         * process-nt.c (send_signal_the_nt_way):
15307         * process-nt.c (enable_child_signals):
15308         * process-nt.c (find_child_console):
15309         * process-nt.c (send_signal_the_95_way):
15310         * process-nt.c (nt_finalize_process_data):
15311         * process-nt.c (ensure_console_window_exists):
15312         * process-nt.c (nt_create_process):
15313         * process-nt.c (nt_kill_child_process):
15314         * process-nt.c (nt_kill_process_by_pid):
15315         * process-nt.c (nt_open_network_stream):
15316         * process-nt.c (vars_of_process_nt):
15317         Copied over code from Emacs 20.5 to correctly send signals to sub-
15318         processes under Windows 95.  Also added code to automatically
15319         create and hide console window when a sub-process is created under
15320         Windows 95, which obviates the need for the separate runemacs.exe
15321         executable, and finally implemented some variables that were
15322         implemented in Emacs 20.5, but previously not in XEmacs.  These
15323         include mswindows- start-process-share-console and
15324         mswindows-start-process-inherit-error-mode. (Both of these only
15325         apply to Windows 95.)
15326
15327         * regex.c (regex_compile): Fixed a compile warning.
15328
15329         * select-msw.c:
15330         * select-msw.c (mswindows_own_selection):
15331         * select-msw.c (mswindows_get_foreign_selection):
15332         * select-msw.c (mswindows_disown_selection):
15333         * select-msw.c (console_type_create_select_mswindows):
15334         * select-msw.c (syms_of_select_mswindows):
15335         Cleaned up the file and implemented the device method
15336         selection_exists_p, which had accidentally been left out.  Also
15337         removed four lisp functions that were remnants from before the
15338         time when the selection code was properly device abstracted.
15339         These functions are no longer needed because there are generic
15340         equivalents, and because they were added recently and don't exist
15341         in FSF Emacs, I don't think there's any problem with just deleting
15342         them.
15343
15344         * sysdep.c:
15345         * sysdep.c (sys_subshell):
15346         Fixed a compile warning, although in this case there's probably
15347         something wrong with this code, and it ought to be looked into
15348         more thoroughly by somebody who understands it.
15349
15350         * window.c:
15351         * window.c (Fwindow_text_area_height):
15352         * window.c (Fwindow_width):
15353         * window.c (Fwindow_full_width):
15354         * window.c (Fwindow_pixel_width):
15355         * window.c (debug_print_window):
15356         * window.c (syms_of_window):
15357         Added functions window-text-area-height and window-full-width,
15358         which are functions for returning various width and height
15359         characteristics of a window. (One of these functions is necessary
15360         for making the file dialog box work correctly, and the other one
15361         was added for completeness.)  Also added a table to the
15362         documentation for window-height which describes the entire scheme
15363         for accessing width and height characteristics of a window.
15364
15365 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15366
15367         * nt.c (fstat): Added a comment for another problem with
15368         non-encapsulated [f]stat(), reported by Adrian Aichner
15369         <aichner@ecf.teradyne.com>.
15370
15371 2000-03-11  Andy Piper  <andy@xemacs.org>
15372
15373         * window.c (make_dummy_parent): initialize subwindow instance
15374         cache.
15375         (Fset_window_configuration): zero extent_modiff.
15376
15377 2000-03-10  Andy Piper  <andy@xemacs.org>
15378
15379         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15380         more changes can be triggered.
15381         (Fredisplay_frame): ditto.
15382         (Fredraw_device): ditto.
15383         (Fredisplay_device): ditto.
15384         (redisplay_frame): make non-static.
15385         (redisplay_frame): call update_frame_gutter_geometry outside of
15386         display proper.
15387
15388         * gutter.h: declare update_frame_gutter_geometry.
15389
15390         * redisplay.h: declare redisplay_frame.
15391
15392         * gutter.c (update_frame_gutter_geometry): move geometry changes
15393         in update_frame_gutters here. Geometry changes can only occur
15394         outside of redisplay.
15395         (update_frame_gutters): remove geometry change code.
15396         (Fredisplay_gutter_area): make sure that we are in display when we
15397         update and that we have flushed any size changes.
15398
15399 2000-03-11  Andy Piper  <andy@xemacs.org>
15400
15401         * alloc.c (pdump_dump_data): remove i & count shadows.
15402
15403 2000-02-27  Mike Alexander  <mta@arbortext.com>
15404
15405         * sysdep.h: Declare pdump_read_file
15406
15407         * sysdep.c (pdump_read_file): New function
15408
15409         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15410         dump data
15411
15412 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15413
15414         * lrecord.h: add `lrecord_type_pgsetenv'.
15415
15416 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15417
15418         * symsinit.h: declare (vars|syms)_of* functions.
15419         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15420
15421 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15422
15423         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15424
15425         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15426         GCCs.
15427
15428         * emacs.c (main_1): Call postgres initialization code.
15429
15430         * postgresql.h: New file.  PostgreSQL RDBMS support.
15431         * postgresql.c: New file.
15432
15433 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15434
15435         * redisplay-output.c (redisplay_output_display_block): Disable
15436         redundant code.
15437
15438 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15439
15440         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15441         (Fcanna_henkan_next): Ditto.
15442         (Fcanna_bunsetu_henkou): Ditto.
15443         (Fcanna_henkan_kakutei): Ditto.
15444         (Fcanna_henkan_end): Ditto.
15445         (Fcanna_henkan_quit): Ditto.
15446         (Fcanna_henkan_next): Set retun value correctly.
15447         (c2mu): Use unsigned char instead of signed char.
15448
15449 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15450
15451         * emacs.c (main_1): Always call syms_of_gui.
15452         * inline.c: include gui.h
15453
15454 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15455
15456         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15457         converted to Lisp_Object.
15458         (Qtop_bottom): New variable.
15459         (syms_of_redisplay): Initialize it.
15460         * redisplay.h (Vvisible_bell): Ditto.
15461         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15462         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15463         only flash top and bottom.
15464
15465 2000-03-08  Andy Piper  <andy@xemacs.org>
15466
15467         * buffer.c (Frename_buffer): record new buffer name the right way.
15468
15469 2000-03-08  Andy Piper  <andy@xemacs.org>
15470
15471         * glyphs.c (update_subwindow): increase hash depth so that widget
15472         items get picked up properly.
15473
15474         * redisplay-output.c (compare_runes): increase hash depth so that
15475         widget items get picked up properly.
15476
15477 2000-03-08  Andy Piper  <andy@xemacs.org>
15478
15479         * gutter.c (output_gutter): add some debug.
15480
15481         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15482         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15483         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15484
15485         * redisplay-output.c (compare_runes): use display_hash to
15486         determine if glyphs really are not the same.
15487
15488         * glyphs.c (update_subwindow): check display_hash to see if
15489         anything really needs to be updated. If not then do
15490         nothing. Record the display_hash after updating.
15491         (image_instance_equal): compare the image_instance face also.
15492
15493 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15494
15495         * redisplay.h: Fix comment style.
15496
15497 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15498
15499         * consle-msw.h (struct mswindows_frame):
15500         Added new member paint_pending to indicate whether a WM_PAINT
15501         magic event has been queued for this frame.
15502
15503         * event-msw.c (mswindows_drain_windows_queue):
15504         Don't queue a WM_PAINT magic event if one is already queued.
15505         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15506
15507         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15508
15509 2000-03-07  Didier Verna  <didier@xemacs.org>
15510
15511         * dired.c: #include `regex.h' after `sysfile.h'.
15512
15513 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15514
15515         * sound.c (init_nas_sound): Fix compiler warning.
15516
15517         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15518         (FREE_STRUCT_P):
15519         (MARK_STRUCT_AS_FREE):
15520         (MARK_STRUCT_AS_NOT_FREE):
15521         Make `gcc -fstrict-aliasing' work properly.
15522
15523 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15524
15525         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15526         (mswindows_delete_device): Call CoUnnitialize().
15527
15528         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15529
15530 2000-02-25    <CraigL@DyCon.com>
15531
15532         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15533         <errno.h>.
15534
15535         * sysdep.c: This extern declaration for environ prevents MinGW
15536         from finding the variable in CRTDLL.DLL.
15537
15538         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15539         windows headers.
15540         (SHGFI_EXETYPE): ..
15541         (WM_MOUSEWHEEL): ..
15542         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15543         definitions.
15544         (MMRESULT): Removed, now defined in cygwin's windows headers.
15545         (TIMECAPS): ..
15546         (uid_t,gid_t,pid_t,ssize_t): ..
15547         (_timeb): Removed, MinGW defines both _timeb and timeb.
15548         (HAVE_H_ERRNO): Added.
15549         (HAVE_TZNAME): Added, configure is not detecting this.
15550
15551 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15552
15553         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15554         * syntax.c (syntax_match): Use it.
15555
15556         * cmds.c: Import auto-fill-chars from FSF Emacs.
15557         (Vauto_fill_chars): New variables.
15558         (internal_self_insert): Check Vauto_fill_chars.
15559         (vars_of_cmds):
15560         Declare auto-fill-chars as a Lisp variable and initialize it.
15561
15562 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15563
15564         * fileio.c (Fmake_symbolic_link):
15565         (Ffile_symlink_p):
15566         Run handlers even if local machine doesn't have symlinks.
15567
15568 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15569
15570         * event-msw.c (mswindows_drain_windows_queue):
15571         Don't generate paint magic events for non-XEmacs frames.
15572
15573 2000-03-05  Andy Piper  <andy@xemacs.org>
15574
15575         * redisplay.c (redisplay_frame): generate_displayable_area and
15576         friends assumes that we are not in GC, we therefore have to make
15577         sure that this doesn't happen.
15578
15579         * gutter.c (calculate_gutter_size): generate_displayable_area
15580         assumes that we are not in GC, we therefore have to make sure that
15581         this doesn't happen.
15582
15583 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15584
15585         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15586
15587 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15588
15589         * redisplay.c (regenerate_window): Make sure we set a sane value
15590         for end_pos even if we jump out of the loop.
15591         (regenerate_window): Answer Ben's question :-).
15592         (start_end_of_last_line): Add may_error argument.
15593         (start_of_last_line):
15594         (end_of_last_line): Pass may_error = 0.
15595         (end_of_last_line_may_error): New function.
15596         (pixel_to_glyph_translation): Use it, so we don't crash in
15597         event_to_glyph.
15598
15599 2000-03-04  Andy Piper  <andy@xemacs.org>
15600
15601         * window.h (struct window): add gutter_extent_modiff.
15602
15603         * window.c (allocate_window): zero out gutter_extent_modiff.
15604
15605         * redisplay.h: declare sync_display_line_structs.
15606
15607         * redisplay.c (add_glyph_rune): add a better comment.
15608
15609         * redisplay-output.c (sync_display_line_structs): made non-static.
15610         (compare_runes): remove unneccesary glyph cachel access.
15611
15612         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15613
15614         * gutter.c (output_gutter): don't output the gutter if extent
15615         changes only involve extents in buffers. use 4 sets of display
15616         lines.
15617         (gutter_extent_signal_changed_region_maybe): new function. Mark
15618         extents in gutters as changed.
15619         (update_frame_gutters): use 4 sets of display lines.
15620         (reset_gutter_display_lines): ditto.
15621         (free_frame_gutters): ditto.
15622         (redraw_exposed_gutter): force output of gutters.
15623
15624         * frame.h (struct frame): add 4 sets of gutter display lines.
15625
15626         * extents.c: (extent_changed_for_redisplay): signal changes to
15627         extents in strings in the gutter as well as extents in buffers.
15628
15629 2000-03-02  Andy Piper  <andy@xemacs.org>
15630
15631         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15632
15633         * frame.c (Fmake_frame): make sure the gutters get initialized
15634         after the frame is visible.
15635         (set_frame_selected_window): re-arrange compilation macros a
15636         little.
15637         (change_frame_size_1): mark gutters changed.
15638
15639         * device.c (Fset_device_class): mark gutters changed.
15640
15641 2000-03-01  Andy Piper  <andy@xemacs.org>
15642
15643         * window.c (window_top_frame_gutter_height): deleted.
15644         (window_bottom_frame_gutter_height): ditto.
15645         (window_left_frame_gutter_height): ditto.
15646         (window_right_frame_gutter_height): ditto.
15647         (window_top_gutter_height): don't use them.
15648         (window_bottom_gutter_height): ditto.
15649         (window_left_gutter_width): ditto.
15650         (window_right_gutter_width): ditto.
15651         (Fsplit_window): ditto.
15652         (Fwindow_pixel_edges): don't use border dimensions here.
15653
15654         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15655         (update_scrollbar_instance): ditto.
15656
15657         * redisplay.c (generate_modeline): don't take gutters into account.
15658         (generate_modeline): ditto.
15659         (redisplay_frame): small gutter display optimization.
15660
15661         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15662
15663         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15664         gutters into account.
15665
15666         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15667         for window position and type.
15668
15669         * gutter.c (get_gutter_coords): fix for frame gutters.
15670         (update_frame_gutters): update frame geometry if the gutters have
15671         changed.
15672         (init_frame_gutters): record current gutter geometries.
15673
15674         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15675         var.
15676         (mswindows_widget_instantiate): ditto.
15677
15678         * frame.h (struct frame): add current_gutter_bounds.
15679
15680         * frame.c (change_frame_size_1): position window and minibuffer
15681         appropriately taking into account the frame gutters.
15682
15683         * frame-x.c: (x_initialize_frame_size): take into account the
15684         frame gutters.
15685
15686 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15687
15688         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15689
15690 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15691
15692         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15693
15694 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15695
15696         * file-coding.c (reset_decoding_stream): Clear previous
15697         detection state when autodetect.
15698
15699 2000-02-29  Didier Verna  <didier@xemacs.org>
15700
15701         * extents.c (set_extent_glyph_1): don't require extents to be
15702         attached.
15703
15704 2000-02-27  Andy Piper  <andy@xemacs.org>
15705
15706         * gutter.c (Fset_default_gutter_position): don't default left and
15707         right gutter visibility to t.
15708         (Fset_default_gutter_position): run
15709         default-gutter-position-changed-hook.
15710         (syms_of_gutter): add default-gutter-position-changed-hook.
15711
15712 2000-02-26  Andy Piper  <andy@xemacs.org>
15713
15714         * specifier.c (Fmake_specifier): add gutter references.
15715
15716         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15717
15718         * lisp.h: declare Fvalid_plist_p.
15719
15720         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15721         as changed.
15722         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15723         well as its visibility so that it gets reconstructed.
15724         (construct_window_gutter_spec): new function. Construct a string
15725         to be displayed in the gutter from a plist of strings. Take care
15726         to only use elements that are declared as visible.
15727         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15728         WINDOW_GUTTER.
15729         (gutter_validate): allow plists of strings in the specifier.
15730         (gutter_specs_changed): construct the real_gutter from the gutter
15731         specs using construct_window_gutter_spec.
15732         (gutter_visible_validate): gutter-visible is a new specifier type.
15733         (Fgutter_visible_specifier_p): new function for the new specifier.
15734         (syms_of_gutter): declare gutter-visible and
15735         Fgutter_visible_specifier_p.
15736         (specifier_type_create_gutter): intitalize new gutter-visible
15737         specifier.
15738         (reinit_specifier_type_create_gutter): ditto.
15739         (specifier_vars_of_gutter): use new specifier type for gutter
15740         visibility.
15741         (init_frame_gutters): construct real_gutter correctly.
15742         (Fgutter_specifier_p): beef up documentation.
15743         (Fgutter_size_specifier_p): ditto.
15744
15745         * winslots.h: add real_gutter slots.
15746
15747 2000-02-25  Andy Piper  <andy@xemacs.org>
15748
15749         * device-msw.c: Be kind to older cygwin versions. From Raymond
15750         Toy <toy@rtp.ericsson.se>.
15751
15752         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15753         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15754
15755 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15756
15757         * elhash.c (MARK_OBJ): Practice macro hygiene.
15758
15759 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15760
15761         * miscplay.c: s/__inline__/inline/g;
15762         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15763         (get_device_compdc): INLINE ==> static inline
15764         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15765         find -name '*.h' | \
15766         xargs global-replace \
15767         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15768
15769 2000-02-25  Andy Piper  <andy@xemacs.org>
15770
15771         * window.c (window_top_frame_gutter_height): new function.
15772         (window_top_window_gutter_height): ditto.
15773         (window_top_gutter_height): use them.
15774         (window_bottom_frame_gutter_height): new function.
15775         (window_bottom_window_gutter_height): ditto.
15776         (window_bottom_gutter_height): use them.
15777         (window_left_window_gutter_width): new function.
15778         (window_left_frame_gutter_width): ditto.
15779         (window_left_gutter_width): use them.
15780         (window_right_window_gutter_width): new function.
15781         (window_right_frame_gutter_width): ditto.
15782         (window_right_gutter_width): use them.
15783         (window_pixel_height): new function. calulate window pixel height
15784         with frame gutter involvement.
15785         (Fsplit_window): calculate new sizes taking frame gutters into
15786         account.
15787         (window_char_height_to_pixel_height): don't include frame gutters.
15788         (window_char_height): use window_pixel_height.
15789         (window_pixheight): rename from window_pixel_height.
15790         (change_window_height): use it.
15791         (window_pixel_height_to_char_height): don't include frame gutters.
15792         (window_char_width_to_pixel_width): ditto.
15793
15794 2000-02-25  Andy Piper  <andy@xemacs.org>
15795
15796         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15797         if it is.
15798
15799 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15800
15801         * alloc.c (staticpro):
15802         (staticpro_nodump):
15803         (dumpstruct):
15804         (dumpopaque):
15805         (pdump_wire):
15806         (pdump_wire_list):
15807         (compact_string_chars):
15808         (pdump_dump_wired):
15809         Convert:  if (foo) abort();  ==>  assert (! foo);
15810
15811         * eldap.c (Fldap_search_basic):
15812         (Fldap_add):
15813         (Fldap_modify):
15814         (Fldap_delete):
15815         Fix compiler warnings, and possible crashes if (random) return
15816         value were to be used.
15817
15818 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15819
15820         * device-msw.c: Workaround ResetDC failure.
15821
15822         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15823         applying a devmode.
15824
15825         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15826         (mswindows_text_width): Do not start printer page.
15827
15828         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15829
15830         * glyphs-msw.c: Added image methods to msprinter console and
15831         msprinter-specific image instantiation.
15832
15833 2000-02-20  Mike Alexander  <mta@arbortext.com>
15834
15835         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15836         to avoid crashes when selection-sets-clipboard is on
15837         (mswindows_own_selection): ditto
15838
15839 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15840
15841         * glyphs-msw.c:
15842         * redisplay-msw.c (get_frame_dc):
15843         (get_frame_compdc):
15844         * console-msw.h:
15845         * device-msw.c (mswindows_init_device):
15846         (mswindows_delete_device):
15847         (msprinter_init_device):
15848         (msprinter_delete_device):
15849         * frame-msw.c (mswindows_init_frame_1):
15850         (mswindows_delete_frame):
15851         (msprinter_init_frame_3):
15852         (msprinter_delete_frame): Move compatible DC to device object from
15853         frame object, for both mswindows and msprinter. Only one at a time
15854         is needed, it is a real waste to have one per frame!
15855
15856 2000-02-23  Andy Piper  <andy@xemacs.org>
15857
15858         * glyphs.c: add dynamic width and height elements.
15859         (image_instance_equal): ditto.
15860
15861         * glyphs-widget.c (widget_query_geometry): calculate width and
15862         height dynamically if required.
15863         (initialize_widget_image_instance): initialize dynamic dimensions.
15864         (widget_instantiate): pick-up dynamic dimensions.
15865
15866         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15867         dynamic determination. Add appropriate macros.
15868
15869         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15870         dimensions safe.
15871         (WINDOW_GUTTER_SIZE): ditto.
15872         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15873
15874         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15875         inline.
15876         (get_frame_dc): ditto.
15877
15878         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15879         here.
15880
15881 2000-02-23  Martin Buchholz <martin@xemacs.org>
15882
15883         * XEmacs 21.2.31 is released.
15884
15885 2000-02-22  Ben Wing <ben@xemacs.org>
15886
15887         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15888
15889 2000-02-22  Andy Piper  <andy@xemacs.org>
15890
15891         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15892
15893 2000-02-21  Mike Sperber <mike@xemacs.org>
15894
15895         * .dbxrc:
15896         * .gdbinit:
15897         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15898         variables.
15899
15900 2000-02-21  Mike Sperber <mike@xemacs.org>
15901
15902         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15903
15904 2000-02-21  Martin Buchholz <martin@xemacs.org>
15905
15906         * XEmacs 21.2.30 is released.
15907
15908 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15909
15910         Performance hacking.
15911         * *.c (syms_of_*):
15912         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15913         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15914         * emacs.c (main_1):
15915         * lisp.h (DEFUN):
15916         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15917         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15918         * symeval.h (DEFVAR_SYMVAL_FWD):
15919         * symbols.c (guts_of_unbound_marker):
15920         Make all c_readonly objects also lisp_readonly and marked for life.
15921         * lrecord.h (struct lrecord_implementation):
15922         Document flags better.
15923         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15924         * lrecord.h (DECLARE_LRECORD):
15925         * lrecord.h (XSETRECORD):
15926         * lrecord.h (RECORDP):
15927         * lrecord.h (RECORD_TYPEP):
15928         * lrecord.h (RECORD_MARKER): New.
15929         * lrecord.h (error_check_*):
15930         * lrecord.h (CONCHECK_NONRECORD):
15931         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15932         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15933         * lrecord.h (set_lheader_implementation):
15934         * lrecord.h (enum lrecord_type): New.
15935         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15936         * alloc.c (disksave_object_finalization_1):
15937         * alloc.c (mark_object):
15938         * alloc.c (lrecord_type_index):
15939         * alloc.c (tick_lcrecord_stats):
15940         * alloc.c (Fgarbage_collect):
15941         * alloc.c (init_alloc_once_early):
15942         * alloc.c (pdump_load):
15943         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15944         * alloc.c (lrecord_type_index): Delete.
15945         Make lisp object type indexes be constant.
15946           Makes (byte-compile) 5% faster.
15947         Put all marker functions into their own array.
15948           Makes (garbage-collect) 5% faster.
15949         Optimize SYMBOL_VALUE_MAGIC_P.
15950           Makes (byte-compile) 2-3% faster.
15951         * config.h.in (gc_checking_assert): New.
15952         * alloc.c: Use gc_checking_assert().
15953         * .dbxrc: Make compatible with new object type implementation.
15954         * .gdbinit: Make compatible with new object type implementation.
15955         * alloc.c: Delete all symbols defined only for debugging, such as
15956         Lisp_Type_Vector and lrecord_charset.
15957
15958 2000-02-21  Andy Piper  <andy@xemacs.org>
15959
15960         * gui-msw.c (Fmswindows_shell_execute): fix file location
15961         problems.
15962
15963         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15964         unshowing so that set_window_buffer doesn't undo
15965         kill_buffer_hook's hard work.
15966
15967         * glyphs-widget.c (tab_control_query_geometry): don't count the
15968         first item when calculating geometry.
15969
15970         * glyphs.c (map_subwindow): remove redundant code.
15971         (update_frame_subwindows): be more circumspect about when to
15972         update subwindows.
15973
15974         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15975         when items haven't changed. Update faces if faces have changed as
15976         well as just the widget face.
15977         (x_tab_control_update): Update faces if faces have changed as well
15978         as just the widget face.
15979
15980 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15981
15982         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15983         registration.
15984         (build_syscolor_string): Use mswindows_color_to_string to try to
15985         get a named color.
15986         (mswindows_device_system_metrics): Reverse the foreground and
15987         background colors so that they match the documentation.
15988
15989         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15990         they match the default Windows palette.
15991         (mswindows_color_to_string): New function.
15992
15993 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15994
15995         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15996
15997 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15998
15999         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16000         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16001
16002         * symbols.c (init_symbols_once_early): Removed obsolete
16003         DATA_SEG_BITS related kludge.
16004         (defvar_magic): Ditto.
16005
16006         * malloc.c: Removed obsolete DATA_SEG_BITS
16007         * ralloc.c: Ditto.
16008         * mem-limits.h: Ditto.
16009
16010         * Makefile.in.in: Removed obsolete HAVE_SHM
16011         * emacs.c: Ditto.
16012
16013 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16014
16015         *  device-msw.c (mswindows_delete_device): Free DDE string
16016         handles.
16017
16018 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16019
16020         * keymap.c (get_keyelt):
16021         * unexnt.c (unexec):
16022         * vm-limit.c (memory_warnings):
16023         * ntheap.c (recreate_heap):
16024         * ntheap.h (UNINIT_PTR):
16025         * select-msw.c (Fmswindows_get_clipboard):
16026         (Fmswindows_set_clipboard):
16027         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16028         * objects-msw.c:
16029         * menubar-msw.c (displayable_menu_item):
16030         * glyphs-msw.c:
16031         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16032         * sysdep.c (sys_subshell):
16033         * process-nt.c (nt_create_process):
16034         * nt.c (normalize_filename):
16035         (dostounix_filename):
16036         (unixtodos_filename):
16037         * ntproc.c (win32_executable_type):
16038         * ntplay.c (play_sound_data_1):
16039         (play_sound_file):
16040         * editfns.c (get_home_directory):
16041         * event-msw.c (struct winsock_stream):
16042         (mswindows_dde_callback):
16043         * device-msw.c (msprinter_init_device):
16044         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16045
16046         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16047         mswindows_clear_toolbar were swapped!
16048
16049         * objects-msw.c:(colormap_t):
16050         (fontmap_t):
16051         * emacs.c (struct standard_args): Fixed const jumble.
16052
16053         * glyphs-widget.c (update_widget): Fixed comparison notation.
16054
16055         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16056
16057         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16058         __declspec(noreturn) syntax.
16059
16060 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16061
16062         * eldap.c (Fldap_open):
16063         (Fldap_search_basic):
16064         (Fldap_add):
16065         (Fldap_modify):
16066         Use new coding system conversion macros.
16067
16068 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16069
16070         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16071
16072 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16073
16074         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16075         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16076
16077         * eldap.c (Qadd, Qreplace): New constant symbols
16078         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16079         interruptions by XEmacs signals
16080         Remove unnecessary calls to slow_down_interrupts and
16081         speed_up_interrupts
16082         (Fldap_search_basic): Renamed from Fldap_search_internal
16083         Added new optional parameter VERBOSE that triggers the
16084         display of progress messages
16085         Remove unnecessary calls to slow_down_interrupts and
16086         speed_up_interrupts
16087         LDAP result code analysis rewritten
16088         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16089         (syms_of_eldap): Define the new symbols and functions
16090
16091
16092 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16093
16094         * realpath.c: Determine PATH_MAX maximally portably.
16095
16096         * insdel.c (bytecount_to_charcount): Optimize.
16097         The function used to be optimized for entirely ASCII sequences.
16098         Now it is optimized for successive characters from the same
16099         charset.  This also wins big for _mostly_ ASCII sequences.
16100
16101         * fileio.c (Ffile_truename): convert return from realpath() using
16102         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16103         - Rewrite GCPROing slightly.
16104
16105         * sysdep.c (sys_open): Do filename conversion, like all other
16106         sys_* functions.  Fixes bug:
16107         (let ((file-name-coding-system 'iso-8859-2))
16108            (write-region x y latin2-name))
16109         ==> writes filename using internal encoding.
16110
16111 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16112
16113         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16114         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16115         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16116         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16117         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16118         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16119         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16120         (CONST_IF_NOT_DEBUG): Delete.
16121         * alloc.c (this_one_is_unmarkable): Delete.
16122         (mark_object): Don't check for this_one_is_unmarkable. Use the
16123         c_readonly flag instead.
16124         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16125
16126 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16127
16128         * event-msw.c (mswindows_drain_windows_queue):
16129         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16130         away redundant repaint events.
16131
16132 2000-02-17  Andy Piper  <andy@xemacs.org>
16133
16134         * redisplay.h: declare mark_redisplay_structs.
16135
16136         * redisplay.c (redisplay_window):
16137         (redisplay_frame): don't check subwindows_state_changed.
16138         (mark_redisplay): mark gutters here.
16139
16140         * glyphs.c: (instantiate_image_instantiator): always layout if we
16141         haven't done so already.
16142         (allocate_image_instance): don't mark as dirty.
16143         (update_subwindow): bind inhibit_quit.
16144
16145         * gutter.c (mark_gutters): new function.
16146
16147         * glyphs-x.c (x_update_widget): Always resize to get round a
16148         widget bug.
16149
16150         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16151         breaking absolutely everything.
16152
16153         * gutter.h: declare mark_gutters.
16154
16155 2000-02-16  Martin Buchholz <martin@xemacs.org>
16156
16157         * XEmacs 21.2.29 is released.
16158
16159 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16160
16161         * fns.c (size_bit_vector): Fix computation of the size.
16162
16163 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16164
16165         * *.[ch]: Change CONST to const globally.
16166         find -name '*.[ch]' | \
16167         xargs global-replace \
16168         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16169         - Remove vestigial references to CONST_IS_LOSING
16170
16171 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16172
16173         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16174         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16175         events instead of dispatching them directly.
16176         (mswindows_handle_paint): New function to do repainting.
16177         (mswindows_wnd_proc):
16178         (emacs_mswindows_handle_magic_event): Call above function.
16179
16180 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16181
16182         * objects-msw.c (mswindows_create_font_variant): Return the new
16183         font handle.
16184         (initialize_font_instance): Get font metrics from the underlined
16185         variant of the font to cope with the case where the underlined
16186         font has a bigger descent.
16187
16188 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16189
16190         * gui.c (gui_item_accelerator): Return the first underlined
16191         character in item name.
16192
16193 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16194
16195         * lisp.h: Added Qprinter.
16196
16197         * general.c (syms_of_general): Initialized it.
16198
16199         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16200         (get_frame_dc):
16201         (get_frame_compdc): Made inline.
16202
16203         * console.h (struct console_methods): Added eject_page method.
16204
16205         * frame.h: Added FRAME_DISPLAY_P and friends.
16206         Aligned backslahes in many macros in more readable fashion.
16207         Added page_number to struct frame, and an accessor macro
16208         for it.
16209
16210         * defice.h: Added DEVICE_DISPLAY_P and friends.
16211
16212         * device.c (Fdevice_printer_p): Used these.
16213
16214         * frame.c (allocate_frame_core): Initialize page number.
16215         (Fprint_job_page_number):
16216         (Fprint_job_eject_page): Implemented.
16217
16218         * frame-msw.c (msprinter_eject_page): Added method.
16219         (msprinter_start_page): Added.
16220
16221         * window.c (Fwindow_truncated_p): Fixed docstring.
16222         (Fwindow_last_line_visible_height): Implemented.
16223
16224 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16225
16226         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16227
16228 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16229
16230         * syntax.c (scan_words): Always advance at least one character.
16231
16232 2000-02-13  Andy Piper  <andy@xemacs.org>
16233
16234         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16235         to make sure the glyph is in the cachels.
16236
16237         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16238         global image instance flag.
16239         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16240         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16241
16242         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16243         (Fset_image_instance_property): mark layout as changed.
16244         (invalidate_glyph_geometry_maybe): mark layout as changed.
16245         (glyph_width): use new NEEDS_LAYOUT macro.
16246         (glyph_ascent): ditto.
16247         (glyph_descent): ditto.
16248         (glyph_height): ditto.
16249         (image_instance_layout): mark layout as clean after laying out.
16250         (update_subwindow): don't mark layout as clean here.
16251
16252         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16253         should no longer be needed.
16254
16255         * glyphs-x.c (x_update_widget): sanitize asserts.
16256         (x_finalize_image_instance): sanitize assignment to widgets.
16257
16258         * glyphs-widget.c (widget_instantiate): don't need to clear the
16259         layout flag here.
16260
16261 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16262
16263         * sysdep.c (getcwd): Use standard prototype.
16264         * sysdep.h (getcwd): Use standard prototype.
16265
16266         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16267         (sequence, start, end).
16268         Remove redundant type checking.
16269         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16270         view of `caller-protects') to avoid a crash where the real fix was
16271         found elsewhere.
16272
16273 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16274
16275         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16276
16277         * s/sol2.h: Remove feature macro initialization.
16278
16279         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16280         (vector_hash): New.  Code from internal_hash.
16281         * lrecord.h:
16282         Fix up allocation subsystem comments.
16283
16284         * config.h.in: Add __EXTENSIONS__ for Solaris.
16285
16286         * systime.h (EMACS_GETTIMEOFDAY): New.
16287         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16288         Remove Solaris-specific code.
16289         Use void* for the (ignored) second arg for gettimeofday().
16290
16291         * elhash.c (hash_table_hash): Implement it, finally.
16292         * elhash.c:  Use hashcode_t.
16293
16294         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16295         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16296
16297         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16298         * fns.c (size_bit_vector):
16299         * alloc.c (size_vector):
16300         (make_vector_internal):
16301         (make_bit_vector_internal):
16302         (sweep_bit_vectors_1):
16303         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16304
16305 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16306
16307         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16308         Include strings.h to avoid warnings for bzero and strcasecmp.
16309
16310 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16311
16312         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16313         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16314
16315         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16316         sequence.
16317
16318 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16319
16320         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16321         use a value field instead.
16322         (symbol_value_forward_forward): Use value field.
16323         (DEFVAR_SYMVAL_FWD): Use value field.
16324         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16325         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16326         (DEFVAR_CONST_INT): Ditto.
16327         (DEFVAR_BOOL): Ditto.
16328         (DEFVAR_CONST_BOOL): Ditto.
16329         (DEFVAR_INT_MAGIC): Ditto.
16330         (DEFVAR_BOOL_MAGIC): Ditto.
16331
16332         * symbols.c (guts_of_unbound_marker): Use value field.
16333         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16334         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16335
16336         * lisp.h: Declare dumpopaque and noninteractive1.
16337
16338         * alloc.c (dumpopaque): Added.
16339         (pdump_dump_opaquevec): Added.
16340         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16341         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16342         noninteractive.
16343
16344 2000-02-10  Andy Piper  <andy@xemacs.org>
16345
16346         * glyphs.c (image_instance_layout): if the size changes, mark it
16347         as such.
16348
16349         * redisplay-output.c (redisplay_output_layout): Update the
16350         subwindow here.
16351         (redisplay_output_subwindow): ditto.
16352
16353         * glyphs.c (update_subwindow): make sure we reset flags for
16354         layouts as well as everything else.
16355
16356         * glyphs-widget.c (layout_layout): don't need to set the instances
16357         dimensions here.
16358
16359 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16360
16361         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16362         not HAVE_DLOPEN, which is a lower-level thing.
16363
16364         * .cvsignore: Ignore gmon.out
16365
16366 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16367
16368         * .cvsignore: Ignore portable dumper xemacs.dmp file
16369
16370 2000-02-09  Andy Piper  <andy@xemacs.org>
16371
16372         * redisplay-output.c (redisplay_output_layout): be more clever
16373         about when we output based on the changed flags.
16374
16375         * glyphs.h (struct image_instantiator_methods): add update_method.
16376         (struct Lisp_Image_Instance): add changed flags. Declare new
16377         macros for manipulating them.
16378
16379         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16380         (image_instance_parent_glyph): find an image_instance's parent
16381         glyph or image_instance.
16382         (image_instance_layout): mark the size as changed.
16383         (set_image_instance_dirty_p): new function. mark an image
16384         instance, plus all of its parents, as dirty.
16385         (Fset_image_instance_property): use it.
16386         (Fglyph_animated_timeout_handler): use it.
16387         (update_subwindow): call update_widget and device methods for
16388         update_subwindow. Mark all changed flags as clean.
16389         (Fresize_subwindow): mark size as changed.
16390
16391         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16392         failures.
16393         (x_update_subwindow): only resize subwindows here.
16394         (x_update_widget): new function. Update all changed properties of
16395         a widget.
16396         (x_resize_subwindow): deleted.
16397         (x_widget_set_property): deleted.
16398         (x_progress_gauge_set_property): deleted.
16399         (x_progress_gauge_update): new function. Implement recorded
16400         changes.
16401         (x_tab_control_update): ditto.
16402         (x_tab_control_set_property): deleted.
16403         (console_type_create_glyphs_x): declare new functions.
16404         (image_instantiator_format_create_glyphs_x): ditto.
16405
16406         * glyphs-widget.c (widget_set_property): mark text changed.
16407         (update_widget): new function. Update properties of a widget.
16408         (widget_instantiate): for layouts make sure we set their
16409         children's parent correctly.
16410         (tab_control_set_property): new function. Record changes that will
16411         take place under redisplay's control.
16412         (progress_gauge_set_property): ditto.
16413         (image_instantiator_progress_guage): declare new functions.
16414         (image_instantiator_tab_control): ditto.
16415
16416         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16417         now.
16418         (mswindows_update_widget): new function. Update all properties on
16419         a widget that have changed.
16420         (mswindows_button_update): new function. Update a button's set
16421         state.
16422         (mswindows_tab_control_update): new function. Update the items in
16423         a tab.
16424         (mswindows_tab_control_set_property): deleted.
16425         (mswindows_progress_gauge_update): new function. Update the
16426         progress gauge's progress.
16427         (mswindows_widget_set_property): deleted. This is all done
16428         asynchronously now.
16429         (mswindows_progress_gauge_set_property): ditto.
16430         (console_type_create_glyphs_mswindows): declare new methods.
16431         (image_instantiator_format_create_glyphs_mswindows): ditto.
16432
16433         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16434         (msprinter_set_frame_properties): ditto.
16435
16436         * console.h (struct console_methods): Add update_widget_method.
16437
16438 2000-02-09  Andy Piper  <andy@xemacs.org>
16439
16440         * gui-msw.c (Fmswindows_shell_execute): Make
16441         mswindows-shell-execute industrial strength.
16442
16443 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16444
16445         * lrecord.h: Make macro argument `props' match member function `plist'.
16446         * fns.c (Fget):
16447         * fns.c (Fput):
16448         * fns.c (Fremprop):
16449         * fns.c (Fobject_plist):
16450         * alloc.c:
16451         * symbols.c:
16452         Object property list frobbing cleanup.
16453         - Allow any lisp object (compared with `eq'), not just symbols, as
16454           keys in object plists.
16455         - Move symbol plist frobbing into symbols.c, where it belongs.
16456         - Move string plist frobbing into alloc.c, where it belongs.
16457         - Everything's an lrecord now, so no need to test for symbolp, etc.
16458         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16459
16460         * extents.c: Reorder code to remove declarations.
16461
16462         * frame.h (store_in_alist): Remove useless declaration.
16463
16464 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16465
16466         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16467         * config.h.in: Add HAVE_XCONVERTCASE.
16468
16469 2000-02-07  Andy Piper  <andy@xemacs.org>
16470
16471         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16472         it breaks many things.
16473
16474 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16475
16476         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16477         actually can start a common comment type.
16478         * src/syntax.h (SYNTAX_END_P): ditto for end.
16479
16480 2000-02-07  Martin Buchholz <martin@xemacs.org>
16481
16482         * XEmacs 21.2.28 is released.
16483
16484 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16485
16486         * event-Xt.c (x_keysym_to_character): New.
16487         (maybe_define_x_key_as_self_inserting_character): New.
16488         (x_has_keysym): New.
16489         Auto-define all keys on the keyboard as self-insert-key.
16490
16491 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16492
16493         * menubar.c (vars_of_menubar): A small code simplification.
16494
16495         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16496
16497         * ExternalShell.c:
16498         * ExternalClient.c:
16499         * EmacsShell-sub.c:
16500         * EmacsManager.c:
16501         * EmacsFrame.c:
16502         Use consistent style for specifying X resources.
16503
16504         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16505         This makes (dontusethis-set-symbol-value-handler) actually usable.
16506
16507         * lrecord.h (lrecord_decription_type):
16508         * alloc.c (pdump_register_sub):
16509         (pdump_dump_data):
16510         (pdump_reloc_one):
16511         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16512         Comply with XEmacs coding style.
16513         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16514         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16515
16516         * keymap.c (Faccessible_keymaps):
16517         Make (accessible-keymaps map "\C-h") do the Right Thing.
16518         Make (accessible-keymaps map []) do the Right Thing.
16519         Make (accessible-keymaps map "") do the Right Thing.
16520         (check_keymap_definition_loop): New function.
16521         (keymap_store_internal): Keep luser from shooting self in foot,
16522           via (define-key ctl-x-4-map "p" global-map).
16523         Remove fullness slot from struct Lisp_Keymap, since hash tables
16524         are now reliable.
16525         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16526
16527 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16528
16529         * redisplay.c (init_redisplay): Fix small memory leak.
16530         * elhash.h:
16531         * elhash.c (pdump_reorganize_hash_table):
16532         Rename from reorganize_hash_table. Change prototype.
16533         Reuse the original memory for hentries.  Save 100k.
16534         * alloc.c (PDUMP_READ): new macro.
16535         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16536         * alloc.c: No need to #ifndef before #undef.
16537
16538         * print.c: Allow debug_print() to print readably by modifying
16539         debug_print_readably.  Use consistent variable names.
16540
16541         * .dbxrc: Try to get things to work even if stopped in a function
16542         without source available by explicitly specifying source files.
16543 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16544
16545         * unexnt.c (_start): Removed bogus code which caused loading heap
16546         from differrent executable file.
16547         Removed bogus assignment to _fmode, which caused inconsistencies.
16548
16549 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16550
16551         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16552         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16553         Do not preliminary `#define signal sigset'.
16554
16555         * systime.h: Do not prototype environ on windows nt and cygwin,
16556         this conflicts with system header.
16557
16558         * syssignal.h: Use correct define for WINDOWSNT
16559
16560         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16561         with system header.
16562
16563         * sysdep.c (near start of file): Fixed commentary and rearranged
16564         ifdefs in readable order.
16565         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16566         (start_of_text):
16567         (end_of_text):
16568         (end_of_data): Do not compile in if using PDUMP.
16569
16570         * symsinit.h: Prototyped vars_of_nt().
16571
16572         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16573         (find_child_console): Use it.
16574         (sys_kill): Use it.
16575
16576         * ntheap.h: Do not extern os_subtype.
16577
16578         * ntheap.c (cache_system_info): Do not cache unneeded:
16579         nt_major_version, nt_minor_version and os_subtype.
16580         (recreate_heap): Do not compile in when PDUMPing.
16581
16582         * nt.c (geteuid and friends): Use the new varibale
16583         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16584         (init_user_info): Removed the above mentioned hackery.
16585         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16586         stat has been fixed in the C runtime.
16587         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16588
16589         * file-coding.c (struct file_coding_dump): Do not define
16590         ucs_to_mule_table in the struct if not MULE.
16591         (struct struct lrecord_description fcd_description_1): Do not dump
16592         the above.
16593
16594         * emacs.c (main_1): Call vars_of_nt().
16595         (right before Fdump_emacs_data): Don't need lastfile if using both
16596         portabe dumper and system malloc.
16597
16598         * alloc.c (Fmemory_limit): Conditionalized out.
16599         (pdump): Use OPEN_BINARY for the portable dump file.
16600         (pdump_load): Ditto.
16601
16602 2000-02-02  Mike Alexander  <mta@arbortext.com>
16603
16604         * nt.c (convert_time): Set tm_isdst before calling mktime and
16605         avoid calling it at all if the compiler supports 64 bit integers.
16606         Also initialize utc_base_ft before using it.
16607
16608 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16609
16610         * frame.c (change_frame_size_1): Take f->internal_border_width
16611         into consideration when calculating the width of the frame.
16612
16613 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16614
16615         * window.c (frame_min_height):
16616         (frame_size_valid_p):
16617         (frame_pixsize_valid_p): Added.
16618         (check_frame_size): Generalized.
16619
16620         * window.h: Prototyped the above.
16621
16622         * lisp.h:
16623         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16624         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16625         Deleted Vwin32_* and Vbinary_process_* unused variables.
16626
16627         * device-msw.c (msprinter_init_device): Do not get printer font
16628         list; Added DEVMODE functions.
16629
16630         * frame-msw.c: Added lots of printer code.
16631
16632         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16633         general.c.
16634
16635         * console-msw.h: Added more msprinter device private slots.
16636
16637 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16638
16639         * event-msw.c (key_needs_default_processing_p): Added.
16640         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16641
16642 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16643
16644         * glyphs.c (image_instance_layout): Mark image instance as clean
16645         after layout.
16646         (glyph_dirty_p): Removed redundant function.
16647         (invalidate_glyph_geometry_maybe): Added.
16648         (update_glyph_cachel_data): Call it.
16649
16650         * glyphs.h: Prototyped it.
16651
16652         * redisplay.c (add_glyph_rune): Call it.
16653         (redisplay_window): Reset glyphs cachels when frame faces have
16654         changed, thus forcing recomputation of built-in border glyphs.
16655
16656 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16657
16658         * Makefile.in.in: Make portable dumper and purify play well together.
16659         Add imperfect, but better than nothing, support for pdump.
16660         Remove xemacs.dmp when temacs is re-generated.
16661         Don't ignore errors when dumping xemacs.
16662
16663         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16664
16665 2000-01-28  Andy Piper  <andy@xemacs.org>
16666
16667         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16668         (setup_normal_frame): ditto.
16669         (setup_frame_without_minibuffer): ditto.
16670         (setup_minibuffer_frame): ditto.
16671         (delete_frame_internal): ditto.
16672         (Fmake_frame_invisible): ditto.
16673         (Ficonify_frame): ditto.
16674
16675         * window.h: change Fset_window_buffer signature.
16676
16677         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16678         (Fset_window_buffer): allow recording of buffer if the window is
16679         the selected window.
16680         (window_loop): Use new Fset_window signature.
16681
16682 2000-01-23  Daniel Pittman  <daniel@danann.net>
16683
16684         * config.h.in: Added template for `HAVE_ATHENA_3D'
16685
16686 2000-01-29  Andy Piper  <andy@xemacs.org>
16687
16688         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16689
16690         * gutter.c (output_gutter): Don't output if the window isn't live.
16691
16692 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16693
16694         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16695         of 01/12/00: Moved SetFocus back here where it belongs.
16696
16697 2000-01-23  Andy Piper  <andy@xemacs.org>
16698
16699         * s/cygwin32.h: declare printer things.
16700
16701 2000-01-26  Andy Piper  <andy@xemacs.org>
16702
16703         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16704         Alexander.
16705
16706 2000-01-24  Andy Piper  <andy@xemacs.org>
16707
16708         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16709         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16710
16711         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16712
16713         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16714
16715         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16716
16717         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16718         (mswindows_output_display_block): Avoid local shadows.
16719
16720         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16721         (mswindows_enqueue_mouse_button_event): ditto.
16722         (mswindows_handle_gui_wm_command): remove declaration.
16723
16724         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16725         warnings.
16726
16727         * console-msw.h: Avoid shadows.
16728         (mswindows_get_toolbar_button_text):
16729         (emacs_mswindows_create_stream_pair):
16730         (emacs_mswindows_delete_stream_pair):
16731         (mswindows_handle_toolbar_wm_command): declare.
16732
16733         * device-msw.c (build_syscolor_string): Avoid shadows.
16734
16735 2000-01-23  Andy Piper  <andy@xemacs.org>
16736
16737         * glyphs-widget.c (widget_instantiate): reverse the items for
16738         layouts so that children are in the expected order.
16739
16740 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16741
16742         * ralloc.c: safe_bcopy ==> memmove
16743         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16744         * s/msdos.h: Remove BCOPY macros.
16745         * insdel.c (gap_right): Remove BCOPY conditional code.
16746         * insdel.c (gap_left): Remove BCOPY conditional code.
16747         XEmacs demands a working ANSI C compiler - hence memmove.
16748
16749         * regex.c (regex_compile): Remove accidental use of trigraphs.
16750
16751 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16752
16753         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16754         event timestamp.
16755
16756 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16757
16758         * event-msw.c (mswindows_drain_windows_queue): Added the
16759         parameter.
16760         (mswindows_need_event): Commented the call to
16761         mswindows_drain_windows_queue().
16762         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16763         only.
16764
16765         * console-msw.h: Moved a few function prototypes here from
16766         event-msw.c.
16767
16768         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16769         parameter from unsigned short to unsigned long.
16770         (Fmswindows_shell_execute): Added return value.
16771
16772 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16773
16774         * sysdep.c (init_system_name):
16775           process-unix.c (unix_canonicalized_host_name):
16776         Don't call freeaddrinfo() if getaddrinfo() fails.
16777
16778         * process-unix.c (unix_open_unix_network_stream):
16779         Moved the code to get a port # into address loop.
16780
16781 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16782
16783         * buffer.c (reinit_vars_of_buffer):
16784         The right place to initialize conversion_in_dynarr and
16785         conversion_out_dynarr.
16786
16787         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16788
16789         * process-unix.c (unix_canonicalize_host_name): Muleize.
16790         (unix_open_network_stream): Muleize.
16791
16792         * buffer.h: Fix up prototypes for ralloc.c functions.
16793
16794 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16795         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16796         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16797                 instead of gethostbyname()
16798         * process-unix.c: In unix_canonicalize_host_name() and
16799                 unix_open_network_stream(), add code to use getaddrinfo()
16800                 instead of gethostbyname().
16801
16802 2000-01-27  Daniel Pittman <daniel@danann.net>
16803
16804         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16805         libs when built with flat Athena.
16806
16807 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16808
16809         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16810         Use coding standards for function prototypes.
16811
16812 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16813
16814         * dialog-msw.c (push_lisp_string_as_unicode):
16815         * doc.c (unparesseuxify_doc_string):
16816         * dired.c (Fuser_name_completion_1):
16817         * dired.c (Fuser_name_all_completions):
16818         * dired.c (free_user_cache):
16819         * dired.c (user_name_completion):
16820         * console-x.c (get_display_arg_connection):
16821         * minibuf.c (clear_echo_area_internal):
16822         * minibuf.c (echo_area_append):
16823         * eldap.c (Fldap_open):
16824         * eldap.c (Fldap_search_internal):
16825         * frame-x.c (x_set_frame_text_value):
16826         * frame-x.c (x_set_frame_properties):
16827         * frame-x.c (x_create_widgets):
16828         * redisplay-tty.c (term_get_fkeys_1):
16829         * objects-x.c (x_parse_nearest_color):
16830         * objects-x.c (x_valid_color_name_p):
16831         * objects-x.c (x_initialize_font_instance):
16832         * objects-x.c (x_list_fonts):
16833         * objects-x.c (x_find_charset_font):
16834         * tooltalk.c (Fadd_tooltalk_message_arg):
16835         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16836         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16837         * process-unix.c (unix_create_process):
16838         * ntproc.c (sys_spawnve):
16839         * sound.c (Fplay_sound_file):
16840         * sound.c (Fplay_sound):
16841         * buffer.c (init_initial_directory):
16842         * buffer.c (init_buffer):
16843         * editfns.c (init_editfns):
16844         * editfns.c (Ftemp_directory):
16845         * editfns.c (Fuser_full_name):
16846         * editfns.c (uncache_home_directory):
16847         * editfns.c (get_home_directory):
16848         * editfns.c (Fuser_home_directory):
16849         * editfns.c (Fformat_time_string):
16850         * editfns.c (Fcurrent_time_string):
16851         * gui-x.c (button_item_to_widget_value):
16852         * database.c (Fopen_database):
16853         * event-Xt.c (x_to_emacs_keysym):
16854         * event-Xt.c (x_event_to_emacs_event):
16855         * event-Xt.c (describe_event_window):
16856         * event-msw.c (mswindows_wnd_proc):
16857         * glyphs-eimage.c (jpeg_instantiate):
16858         * glyphs-eimage.c (gif_instantiate):
16859         * glyphs-eimage.c (png_instantiate):
16860         * glyphs-eimage.c (tiff_instantiate):
16861         * glyphs-x.c (xbm_instantiate_1):
16862         * glyphs-x.c (x_xbm_instantiate):
16863         * glyphs-x.c (x_xface_instantiate):
16864         * glyphs-x.c (autodetect_instantiate):
16865         * glyphs-x.c (cursor_font_instantiate):
16866         * glyphs-x.c (x_widget_instantiate):
16867         * glyphs-x.c (x_widget_set_property):
16868         * glyphs-x.c (x_widget_property):
16869         * glyphs-x.c (BUILD_GLYPH_INST):
16870         * print.c (write_string_to_stdio_stream):
16871         * print.c (output_string):
16872         * print.c (Falternate_debugging_output):
16873         * print.c (Fexternal_debugging_output):
16874         * glyphs-msw.c (extract_xpm_color_names):
16875         * glyphs-msw.c (mswindows_xpm_instantiate):
16876         * glyphs-msw.c (bmp_instantiate):
16877         * glyphs-msw.c (resource_name_to_resource):
16878         * glyphs-msw.c (mswindows_resource_instantiate):
16879         * glyphs-msw.c (xbm_instantiate_1):
16880         * glyphs-msw.c (mswindows_xbm_instantiate):
16881         * glyphs-msw.c (mswindows_xface_instantiate):
16882         * glyphs-msw.c (mswindows_widget_instantiate):
16883         * glyphs-msw.c (add_tree_item):
16884         * glyphs-msw.c (add_tab_item):
16885         * glyphs-msw.c (mswindows_combo_box_instantiate):
16886         * glyphs-msw.c (mswindows_widget_property):
16887         * glyphs-msw.c (mswindows_combo_box_property):
16888         * glyphs-msw.c (mswindows_widget_set_property):
16889         * console.c (stuff_buffered_input):
16890         * objects-msw.c (mswindows_initialize_color_instance):
16891         * objects-msw.c (mswindows_valid_color_name_p):
16892         * objects-msw.c (mswindows_list_fonts):
16893         * objects-msw.c (mswindows_font_instance_truename):
16894         * bytecode.c (optimize_compiled_function):
16895         * select-x.c (symbol_to_x_atom):
16896         * select-x.c (x_atom_to_symbol):
16897         * select-x.c (hack_motif_clipboard_selection):
16898         * select-x.c (selection_data_to_lisp_data):
16899         * select-x.c (lisp_data_to_selection_data):
16900         * select-x.c (Fx_get_cutbuffer_internal):
16901         * select-x.c (Fx_store_cutbuffer_internal):
16902         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16903         * buffer.h (TO_INTERNAL_FORMAT): New function.
16904         * emacs.c (make_arg_list_1):
16905         * emacs.c (make_argc_argv):
16906         * emacs.c (main_1):
16907         * emacs.c (Fdump_emacs):
16908         * emacs.c (split_string_by_emchar_1):
16909         * file-coding.h:
16910         * lisp.h:
16911         * lstream.h:
16912         * symsinit.h:
16913         * device-x.c (x_init_device):
16914         * device-x.c (Fx_valid_keysym_name_p):
16915         * device-x.c (Fx_get_font_path):
16916         * device-x.c (Fx_set_font_path):
16917         * glyphs.c (bitmap_to_lisp_data):
16918         * glyphs.c (pixmap_to_lisp_data):
16919         * alloc.c (make_ext_string): Use coding system arguments.  Update
16920         all callers.
16921         * alloc.c (build_string):
16922         * callproc.c (child_setup):
16923         * callproc.c (init_callproc):
16924         * fileio.c (lisp_strerror):
16925         * fileio.c (directory_file_name):
16926         * fileio.c (Fexpand_file_name):
16927         * fileio.c (Ffile_truename):
16928         * fileio.c (Fsysnetunam):
16929         * fileio.c (Fdo_auto_save):
16930         * sysdep.c (sys_readdir):
16931         * tests.c: New file.  Allow adding C tests.
16932         Replace GET_* macros with a more comprehensible and flexible
16933         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16934         Modify all calls.
16935         Any coding system can be used to do format conversion.
16936         Eliminate enum external_data_format.
16937         Eliminate convert_to_external_format.
16938         Eliminate convert_to_internal_format.
16939         Make sure file-name, keyboard, terminal, and ctext are always
16940         defined as coding systems or aliases.  Make
16941         file-name-coding-system, terminal-coding-system, and
16942         keyboard-coding-system magical variables that are equivalent to
16943         defining the corresponding coding system aliases.
16944
16945         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16946         * file-coding.c (Fcoding_system_alias_p): New function.
16947         * file-coding.c (Fcoding_system_aliasee): New function.
16948         * file-coding.c (append_suffix_to_symbol): New function.
16949         * file-coding.c (dangling_coding_system_alias_p): New function.
16950         * file-coding.c (Ffind_coding_system):
16951         * file-coding.c (Fcopy_coding_system):
16952         * file-coding.c (encode_coding_no_conversion):
16953         * file-coding.c (syms_of_file_coding):
16954         * file-coding.c (vars_of_file_coding):
16955         Rewrite coding system alias code.
16956         Allow nested aliases, like symbolic links.
16957         Allow redefinition of coding system aliases.
16958         Prevent existence of dangling coding system aliases.
16959
16960         * dired.c (Fuser_name_completion_1):
16961         * dired.c (Fuser_name_all_completions):
16962         A crash would happen if user did QUIT in the middle of building
16963         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16964
16965         * lisp.h:
16966         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16967
16968         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16969         an unsigned char *.  Update all callers.
16970
16971 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16972
16973         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16974
16975 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16976
16977         * elhash.c (hentry_description): Use more portable definition.
16978         (resize_hash_table): Initialize new hentries using
16979         xnew_array_and_zero, thereby simplifying the code.
16980
16981         * mule-charset.c (make_charset): Make sure entire object is
16982         initialized, to avoid Purify warnings.
16983
16984         * alloc.c (resize_string): Fix unlikely crash with big strings.
16985
16986 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16987
16988         * realpath.c (xrealpath):
16989         Don't call getwd().
16990
16991 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16992
16993         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16994
16995 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16996
16997         * unexelfsgi.c (unexec): Change the way we decide which segment
16998         should be extended.
16999
17000         Assumption that .bss section should be outside the PT_LOADable
17001         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17002         it's present) is inside the 'data' segment. This would fail the
17003         test which was used to find a segment to grow and cover new
17004         heap. Instead of this assumption, I created another one - on IRIX
17005         the segment to grow should start below .bss and it's address
17006         should extent above the end of .bss. Once this segment is
17007         identified, it's grown to accommodate the new heap and new
17008         zero-length .bss section is added at the end of .data2.
17009
17010 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17011
17012         * eval.c (Feval): Wrong number of arguments should use original
17013         function, not the indirect_function version of it.
17014
17015 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17016
17017         * glyphs-x.c (x_button_instantiate): Don't add image if
17018         it is not a pixmap.
17019         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17020         is relative.
17021
17022 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17023
17024         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17025         declaration.
17026         (DEFVAR_INT_MAGIC): Ditto.
17027         (DEFVAR_BOOL_MAGIC): Ditto.
17028         * glyphs.h: Reindent backslash.
17029
17030 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17031
17032         * glyphs-widget.c (layout_query_geometry):
17033         (layout_layout): Use correct types for gheight, gwidth.
17034
17035 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17036
17037         * EmacsManager.c (QueryGeometry): Purified.
17038
17039 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17040
17041         * alloc.c (make_float): Make sure entire object is initialized, to
17042         avoid Purify warnings.
17043         (pdump_register_sub): Remove useless assignment.
17044         (pdump): Use xmalloc, not malloc.
17045         (pdump_load): Use xmalloc, not malloc.
17046
17047 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17048
17049         * callproc.c:
17050         * dired-msw.c:
17051         * fileio.c:
17052         * process-nt.c:
17053         * redisplay-msw.c:
17054         * sysdep.c: Removed redundant #include <windows.h>
17055
17056 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17057
17058         * frame.c (delete_frame_internal): Do not delete device when its
17059         implementation so declares.
17060         (delete_frame_internal): Set device selected frame to nil when
17061         last frame goes away.
17062
17063         * device-msw.c (msprinter_device_system_metrics): Implemented.
17064         (mswindows_device_system_metrics): Added 'device-dpi property.
17065
17066         * device.c: (Fdevice_printer_p): Added.
17067         Added 'offset-workspace device metric.
17068
17069         * console.h (device_metrics): Declared DM_offset_workspace.
17070
17071 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17072
17073         * fileio.c (Ffile_truename): Remove pointless and confusing
17074         initialization of elen.
17075
17076         * glyphs-widget.c: Compiler warning fixes.
17077
17078 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17079
17080         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17081         instead of a Lisp_Object as argument to make it consistent with
17082         the other LIVE_P macros.
17083         (CHECK_LIVE_PROCESS): New macro.
17084
17085         * process.c: Declare Qprocess_live_p.
17086         (Fprocess_live_p): New function.
17087         (create_process): Use PROCESS_LIVE_P.
17088         (read_process_output): Ditto.
17089         (set_process_filter): Ditto.
17090         (Fdelete_process): Ditto.
17091         (kill_buffer_processes): Ditto
17092         (process_send_signal): Use CHECK_LIVE_PROCESS.
17093         (Fprocess_input_coding_system): Check whether process is still
17094         alive (fix PR#1061).
17095         (Fprocess_output_coding_system): Ditto.
17096         (Fprocess_coding_system): Ditto.
17097         (Fset_process_input_coding_system): Ditto.
17098         (Fset_process_output_coding_system): Ditto.
17099
17100 2000-01-23  Andy Piper  <andy@xemacs.org>
17101
17102         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17103         layout and widget.
17104
17105         * glyphs.c (mark_image_instance): take into account changed
17106         image_instance format.
17107         (image_instance_equal): ditto.
17108         (image_instance_hash): ditto.
17109
17110         * glyphs-widget.c (widget_instantiate): Incorporate layout
17111         instantiation here. Delay layout of the layout until later.
17112         (layout_instantiate): deleted.
17113         (layout_query_geometry): new function. get the geometry of a
17114         layout.
17115         (layout_layout): layout a layout dynamically.
17116         (image_instantiator_widget): New function - splitting up
17117         image_instantiator_format_create_glyphs_widget for netwinder
17118         compilation.
17119         (image_instantiator_buttons):
17120         (image_instantiator_edit_fields):
17121         (image_instantiator_combo_box):
17122         (image_instantiator_scrollbar):
17123         (image_instantiator_progress_guage):
17124         (image_instantiator_tree_view):
17125         (image_instantiator_tab_control):
17126         (image_instantiator_labels):
17127         (image_instantiator_layout): ditto.
17128         (image_instantiator_format_create_glyphs_widget): Call preceding
17129         functions.
17130
17131 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17132
17133         * process.c (Fset_process_coding_system):
17134         * device-x.c (Fx_keysym_hash_table):
17135         Docstring fixes.
17136
17137         * lstream.c (Lstream_write): Return documented value, not 0.
17138
17139         * fileio.c (directory_file_name):
17140         (Fsubstitute_in_file_name):
17141         (Fsubstitute_insert_file_contents_internal):
17142         (Fwrite_region_internal):
17143         * emacs.c:
17144         * sysdep.c:
17145         * getloadavg.c:
17146         * systty.h:
17147         Remove vestigial APOLLO-conditional code.
17148
17149 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17150
17151         * getpagesize.h: Add guard macros.
17152         * libsst.h: Add guard macros.
17153         * libst.h: Add guard macros.
17154         * line-number.h: Add guard macros.
17155         * ndir.h: Add guard macros.
17156         * sysfloat.h: Add guard macros.
17157         * sysfile.h: Add guard macros.
17158         * sysproc.h: Add guard macros.
17159         * syswait.h: Add guard macros.
17160         * xintrinsic.h: Add guard macros.
17161         * xintrinsicp.h: Add guard macros.
17162         * xmmanager.h: Add guard macros.
17163         * xmmanagerp.h: Add guard macros.
17164         * xmprimitive.h: Add guard macros.
17165         * xmu.h: Add guard macros.
17166         * gpmevent.h: Add copyright statement. Add guard macros.
17167         * miscplay.h: Add guard macros.
17168         * *.h: Use consistent C-standards-approved guard macro names.
17169
17170         * opaque.c (make_opaque): Switch parameter order.
17171         * opaque.h (make_opaque): Switch parameter order.
17172         Update all callers.
17173         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17174
17175         * config.h.in (type_checking_assert): Added.
17176         (bufpos_checking_assert): Added.
17177
17178 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17179
17180         * alloc.c: Harmless pdump changes.
17181         - Use countof().
17182         - spell alignment correctly.
17183         * sysdep.c: Use countof()
17184
17185 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17186
17187         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17188         initially_selected_for_input() console method, default to 0.
17189         (semi_canonicalize_console_connection): Try to delegate to
17190         canonicalize_console_connection if no such console method.
17191         (canonicalize_console_connection): Vice versa.
17192         (print_console): Do not print nil connection.
17193
17194         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17195         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17196         (XDEVIMPF_FRAMELESS_OK): Added.
17197         (CONSOLE_INHERITS_METHOD): Added.
17198
17199         * console-msw.c (mswindows_canonicalize_console_connection):
17200         Added.
17201         (mswindows_canonicalize_device_connection): Added.
17202
17203         * console-msw.h (struct msprinter_device): Added this struct and
17204         accessor macros.
17205         (mswindows_device): Made fontlist a lisp object.
17206
17207         * device.c (semi_canonicalize_device_connection):  Try to delegate
17208         to canonicalize_device_connection if no such console method.
17209         (canonicalize_device_connection): Vice versa.
17210         (print_device): Do not print nil connection.
17211
17212         * device-msw.c (mswindows_init_device): Call InitCommonControls
17213         when have widgets.
17214         (mswindows_delete_device): Removed fontlist deallocation.
17215         (mswindows_mark_device): Added.
17216
17217         * events.c (event_equal): Added abort() at unreached code.
17218         (event_hash): Ditto.
17219
17220         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17221         fallback tags of Windows devices.
17222
17223         * general.c (syms_of_general): Initialized Qmsprinter.
17224
17225         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17226         of fallback tags of Windows devices.
17227
17228         * lisp.h: Declared Qmsprinter.
17229
17230         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17231         of strings.
17232         (mswindows_list_fonts): Ditto.
17233         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17234         that it can be used by both mswindows and msprinter devices.
17235         (initialize_font_instance): Added.
17236         (mswindows_initialize_font_instance): Use it.
17237         (msprinter_initialize_font_instance): Added.
17238
17239         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17240         and implementation flags check.
17241         (redisplay_without_hooks): Changed the call to the above.
17242         (Fredraw_device): Ditto.
17243         (Fredisplay_device): Ditto.
17244
17245         * redisplay-msw.c (get_frame_dc): Implemented.
17246         (get_frame_compdc): Implemented.
17247         (many functions): Use the two functions above to get device
17248         contexts, ether for a window or a printer.
17249
17250 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17251
17252         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17253         initialization here.
17254         (init_symbols_once_early): Call it.
17255         * emacs.c (main_1): Call it.
17256         * symsinit.h: Declare it.
17257
17258 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17259
17260         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17261         Lisp_Object.
17262         (pdump_backtrace): Ditto.
17263         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17264         (pdump_get_entry): Abort if trying to register a null pointer.
17265         (pdump_dump_data): Cleanup types when relocating.
17266         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17267         (pdump_dump_rtables): Remove bad casts.
17268         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17269         Lisp_Object instead of a EMACS_INT for the hashtable
17270         reorganization.
17271
17272 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17273
17274         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17275
17276         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17277
17278         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17279
17280         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17281
17282 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17283
17284         * faces.h (FACE_STRIKETHRU_P): Added.
17285
17286         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17287         of font variants.
17288
17289         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17290         (mswindows_set_dc_font): New function, aware of font variants,
17291         separated from mswindows_update_dc.
17292
17293         * objects-msw.h (struct mswindows_font_instance_data): Added
17294         definition.
17295
17296         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17297         cached fonts and the data structure.
17298         (mswindows_initialize_font_instance): Added creation of font data
17299         structure.
17300         (mswindows_print_font_instance): Print at least something.
17301         (mswindows_create_font_variant): Implemented.
17302         (mswindows_get_hfont): Implemented.
17303
17304 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17305
17306         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17307         prototyping problem with msvc.
17308
17309         * emacs.c (main_1): added syms_of_gui_mswindows() call
17310
17311         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17312         syms_of_gui_mswindows() function
17313
17314         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17315
17316 2000-01-18  Martin Buchholz <martin@xemacs.org>
17317
17318         * XEmacs 21.2.27 is released.
17319
17320 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17321
17322         * glyphs-eimage.c (struct tiff_error_struct):
17323         (tiff_error_func):
17324         (tiff_warning_func):
17325         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17326
17327         * unexmips.c:
17328         * unexhp9k3.c:
17329         * unexfreebsd.c:
17330         * unexec.c: Remove vestigial Lucid C code.
17331         * unexalpha.c:
17332         * unexaix.c:
17333         * termcap.c:
17334         * libsst.c: Ansify.
17335         Remove declarations of errno and strerror().
17336
17337         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17338
17339         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17340
17341 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17342
17343         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17344         Optimize.
17345
17346 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17347
17348         * md5.c:
17349         * file-coding.c:
17350         * file-coding.h:
17351         Change enum eol_type to eol_type_t.
17352
17353 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17354
17355         * gui.c (get_gui_callback): Check cons before accessing car.
17356
17357 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17358
17359         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17360         (XSETSPECIFIER_TYPE): Ditto.
17361
17362 2000-01-17  Didier Verna  <didier@xemacs.org>
17363
17364         * redisplay.c (generate_fstring_runes): compute string size in
17365         characters, not bytes.
17366
17367 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17368
17369         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17370
17371 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17372
17373         * print.c (print_error_message): Call print_prepare().
17374
17375 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17376
17377         * .dbxrc: Renamed from dbxrc.
17378
17379         * events.c (event_to_character):
17380         Use `assert (foo)' instead of `if (!foo) abort()'
17381
17382         * .gdbinit (xtype): Add documentation.
17383         * .gdbinit (check-temacs): New function.
17384         * .gdbinit (check-xemacs): New function.
17385         * dbxrc (check-xemacs): New function.
17386         * dbxrc (check-xemacs): New function.
17387
17388 2000-01-14  Andy Piper  <andy@xemacs.org>
17389
17390         * glyphs-widget.c (widget_query_geometry): Make sure that we
17391         calculate default dimensions correctly.
17392
17393 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17394
17395         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17396
17397         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17398         pdump_wire'd variable.
17399
17400         * emacs.c: (main_1): Conditionalized calls to
17401         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17402
17403 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17404
17405         * window.c (Fset_window_configuration):
17406         * sysdep.c (_start):
17407         * input-method-motif.c (res):
17408         * event-Xt.c (Xt_process_to_emacs_event):
17409         Simple compiler warning fixes.
17410
17411         * bytecode.c (funcall_compiled_function): Use the original
17412         function symbol on the backtrace list in preference to the
17413         compiled_function object in error messages.
17414
17415 2000-01-13  Andy Piper  <andy@xemacs.org>
17416
17417         * glyphs-x.c (update_widget_face): Make sure we update the widget
17418         background as well as foreground.
17419
17420 2000-01-13  Andy Piper  <andy@xemacs.org>
17421
17422         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17423         fields to subwindow.
17424         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17425         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17426         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17427         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17428
17429         * glyphs-widget.c (check_valid_tab_orientation): new function.
17430         (initialize_widget_image_instance): zero orientation and
17431         justification.
17432         (widget_instantiate): pick up orientation.
17433         (tab_control_query_geometry): return appropriate values for
17434         vertical tabs.
17435
17436         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17437         appropriate creation flags for left, right and bottom tabs.
17438
17439         * s/cygwin32.h: add tab definitions.
17440
17441 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17442
17443         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17444         frame upon hiding a subwindow.
17445         (mswindows_button_instantiate): Changed the push button style to
17446         BS_PUSHBUTTON.
17447         (mswindows_button_instantiate): Removed button BS_NOTIFY
17448         style.
17449         (mswindows_button_instantiate): Removed redundant check for
17450         a disabled gui item.
17451         (mswindows_button_instantiate): Made use of WS_TABSTOP
17452         consistent: "operable" controls (edit, button, tree, scroll) have
17453         this style, "display-only" ones (static, progress gauge) do
17454         not. This style is currently ignored by XEmacs though. Also,
17455         removed the WS_EX_CONTROLPARENT style - it is not for children,
17456         it is for their parents!
17457         (mswindows_edit_field_instantiate): Ditto.
17458         (mswindows_progress_gauge_instantiate): Ditto.
17459         (mswindows_tree_view_instantiate): Ditto.
17460         (mswindows_tab_control_instantiate): Ditto.
17461         (mswindows_scrollbar_instantiate): Ditto.
17462         (mswindows_combo_box_instantiate): Ditto.
17463         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17464         style to the "clip" window.
17465         (mswindows_button_instantiate): Removed compilation warning by
17466         equally typing terms of the ?: operator.
17467
17468 2000-01-12  Didier Verna  <didier@xemacs.org>
17469
17470         * redisplay.c (generate_fstring_runes): new parameter holding the
17471         last modeline-format extent.
17472         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17473         extent, fill the glyph block with it.
17474         (generate_fstring_runes): handle these parameters.
17475         (generate_formatted_string_db): ditto.
17476
17477         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17478         glyphs'extents in the modeline.
17479
17480 1999-01-11  Mike Woolley  <mike@bulsara.com>
17481
17482         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17483         256Mb, as a workaround for the non-starting problem many people
17484         have experienced.
17485
17486 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17487
17488         * console-tty.c (Fset_console_tty_output_coding_system):
17489         Force redrawing tty frame.
17490
17491 2000-01-10  Didier Verna  <didier@xemacs.org>
17492
17493         * redisplay.c (generate_fstring_runes): fix size computation bug.
17494
17495 2000-01-09  William M. Perry <wmperry@aventail.com>
17496
17497         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17498
17499 2000-01-09  Andy Piper  <andy@xemacs.org>
17500
17501         * glyphs-msw.c: index -> i to avoid shadows.
17502         (xbm_create_bitmap_from_data): make static.
17503         (check_valid_string_or_int): deleted.
17504         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17505
17506         * glyphs-x.c (x_update_subwindow): remove unused args.
17507
17508         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17509         back pointer - this is done in allocate_image_instance.
17510         (query_string_font): return Qnil to make the compiler happy.
17511         (unmap_subwindow): set to ~0 to make the compiler happy.
17512         (glyph_query_geometry): comment out until used.
17513         (glyph_layout): ditto.
17514
17515 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17516
17517         * insdel.c (signal_after_change): Remove extraneous unbind_to().